On 28/05/2014 04:40, Michel Dänzer wrote :
On 28.05.2014 09:55, Axel Davy wrote:
This improves GLX DRI3 Gpu offloading significantly on cpu
bound benchmarks particularly.
No performance impact for DRI2 Gpu offloading.

Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
  src/gallium/drivers/radeonsi/si_blit.c | 15 +++++++++++++++
  1 file changed, 15 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_blit.c 
b/src/gallium/drivers/radeonsi/si_blit.c
index 6bc89ab..0e327b5 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -712,6 +712,21 @@ static void si_blit(struct pipe_context *ctx,
                return;
        }
+ if (info->src.box.width == info->dst.box.width &&
You need to check info->src.box.height == info->dst.box.height as well.
Oh I missed that. Thanks for pointing out


+           info->src.format == info->dst.format &&
+           info->src.box.width >=0 &&
Missing space between operator and operand.


+           info->src.resource->nr_samples == 0 &&
+           info->dst.resource->nr_samples == 0 &&
+           info->src.box.depth == 1 &&
+           info->dst.box.depth == 1 &&
+           info->mask == PIPE_MASK_RGBA) {
+               sctx->b.dma_copy(ctx, info->dst.resource, info->dst.level,
+                                info->dst.box.x, info->dst.box.y,
+                                info->dst.box.z, info->src.resource,
+                                info->src.level, &(info->src.box));
+               return;
+       }
Even with that fixed, this change breaks a number of scissor related
piglit tests because it ignores info->scissor{_enable,}. You need to
either fall back or factor in info->scissor if info->scissor_enable is on.

Might be safer to fall back for info->render_condition_enable as well.


Thanks, I'll take a look at it.

Axel Davy
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to