On 06/29/2016 06:02 PM, Roland Scheidegger wrote:
Am 29.06.2016 um 01:52 schrieb Brian Paul:
Since only the src box can have negative dims for flipping, just
comparing the src/dst box sizes is enough to detect flips.
---
  src/gallium/auxiliary/util/u_surface.c | 20 ++++++++------------
  1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_surface.c 
b/src/gallium/auxiliary/util/u_surface.c
index 8d22bcf..e2229bc 100644
--- a/src/gallium/auxiliary/util/u_surface.c
+++ b/src/gallium/auxiliary/util/u_surface.c
@@ -701,21 +701,20 @@ util_can_blit_via_copy_region(const struct pipe_blit_info 
*blit)
        return FALSE;
     }

-   /* No masks, no filtering, no scissor. */
+   /* No masks, no filtering, no scissor, no blending */
     if ((blit->mask & mask) != mask ||
         blit->filter != PIPE_TEX_FILTER_NEAREST ||
-       blit->scissor_enable) {
+       blit->scissor_enable ||
+       blit->alpha_blend) {
        return FALSE;
     }

-   /* No flipping. */
-   if (blit->src.box.width < 0 ||
-       blit->src.box.height < 0 ||
-       blit->src.box.depth < 0) {
-      return FALSE;
-   }
+   /* Only the src box can have negative dims for flipping */
+   assert(blit->dst.box.width >= 1);
+   assert(blit->dst.box.height >= 1);
+   assert(blit->dst.box.depth >= 1);

-   /* No scaling. */
+   /* No scaling or flipping */
     if (blit->src.box.width != blit->dst.box.width ||
         blit->src.box.height != blit->dst.box.height ||
         blit->src.box.depth != blit->dst.box.depth) {
@@ -736,9 +735,6 @@ util_can_blit_via_copy_region(const struct pipe_blit_info 
*blit)
        return FALSE;
     }

-   if (blit->alpha_blend)
-      return FALSE;
-
     return TRUE;
  }



Now that you've simplified this, it looks to me like it should also
check for the new num_window_rectangle blit property.

Yes, I'll do that in a follow-on commit.


But in any case
this isn't your fault, for 1-3:
Reviewed-by: Roland Scheidegger <srol...@vmware.com>

Thanks.

-Brian


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to