Mesa (master): zink: add another helper for checking whether one rect covers another

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 24 02:08:19 UTC 2021


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Sep 17 09:37:50 2020 -0400

zink: add another helper for checking whether one rect covers another

this is going to be used for no-oping writes

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

---

 src/gallium/drivers/zink/zink_blit.c    | 12 ++++++++++++
 src/gallium/drivers/zink/zink_context.h |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_blit.c b/src/gallium/drivers/zink/zink_blit.c
index 20fa51987d8..82dc303d246 100644
--- a/src/gallium/drivers/zink/zink_blit.c
+++ b/src/gallium/drivers/zink/zink_blit.c
@@ -278,3 +278,15 @@ zink_blit_region_fills(struct u_rect region, unsigned width, unsigned height)
 
    return false;
 }
+
+bool
+zink_blit_region_covers(struct u_rect region, struct u_rect covers)
+{
+   struct u_rect intersect;
+   if (!u_rect_test_intersection(&region, &covers))
+      return false;
+
+    u_rect_union(&intersect, &region, &covers);
+    return intersect.x0 == covers.x0 && intersect.y0 == covers.y0 &&
+           intersect.x1 == covers.x1 && intersect.y1 == covers.y1;
+}
diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h
index 347e613e171..13943f1afa6 100644
--- a/src/gallium/drivers/zink/zink_context.h
+++ b/src/gallium/drivers/zink/zink_context.h
@@ -284,6 +284,9 @@ zink_blit(struct pipe_context *pctx,
 bool
 zink_blit_region_fills(struct u_rect region, unsigned width, unsigned height);
 
+bool
+zink_blit_region_covers(struct u_rect region, struct u_rect covers);
+
 static inline struct u_rect
 zink_rect_from_box(const struct pipe_box *box)
 {



More information about the mesa-commit mailing list