diff options
author | Brian Paul <brianp@vmware.com> | 2016-06-08 14:41:48 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2016-06-30 14:32:06 -0600 |
commit | a029d9f074c510d86c487b249f4ca535e8782df7 (patch) | |
tree | 6584cdedebc686b4acdd95a4f03301c50104421a | |
parent | 5d31ea4b8faf011e855fa056186e1205bf5abcf1 (diff) |
gallium/util: simplify a few things in util_can_blit_via_copy_region()
Since only the src box can have negative dims for flipping, just
comparing the src/dst box sizes is enough to detect flips.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
-rw-r--r-- | src/gallium/auxiliary/util/u_surface.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/gallium/auxiliary/util/u_surface.c b/src/gallium/auxiliary/util/u_surface.c index 8d22bcfeb114..e2229bc7d13e 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; } |