Mesa (master): zink: be more careful about the mask-check

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Feb 3 20:59:32 UTC 2020


Module: Mesa
Branch: master
Commit: 85d4b41f6830253b81b591fa401a9c5aea5e407a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=85d4b41f6830253b81b591fa401a9c5aea5e407a

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Fri Nov  1 13:21:59 2019 +0100

zink: be more careful about the mask-check

We currently disallow blits that we can support. Let's be more accurate
when checking the mask.

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3681>

---

 src/gallium/drivers/zink/zink_blit.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_blit.c b/src/gallium/drivers/zink/zink_blit.c
index bc788556bb8..fc16aab7629 100644
--- a/src/gallium/drivers/zink/zink_blit.c
+++ b/src/gallium/drivers/zink/zink_blit.c
@@ -9,7 +9,8 @@
 static bool
 blit_resolve(struct zink_context *ctx, const struct pipe_blit_info *info)
 {
-   if (info->mask != PIPE_MASK_RGBA ||
+   if (util_format_get_mask(info->dst.format) != info->mask ||
+       util_format_get_mask(info->src.format) != info->mask ||
        info->scissor_enable ||
        info->alpha_blend)
       return false;
@@ -66,7 +67,8 @@ blit_resolve(struct zink_context *ctx, const struct pipe_blit_info *info)
 static bool
 blit_native(struct zink_context *ctx, const struct pipe_blit_info *info)
 {
-   if (info->mask != PIPE_MASK_RGBA ||
+   if (util_format_get_mask(info->dst.format) != info->mask ||
+       util_format_get_mask(info->src.format) != info->mask ||
        info->scissor_enable ||
        info->alpha_blend)
       return false;



More information about the mesa-commit mailing list