Mesa (main): zink: add a bits union for zink_render_pass_state comparisons

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 20 17:47:07 UTC 2022


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Jul 15 17:11:49 2022 -0400

zink: add a bits union for zink_render_pass_state comparisons

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

---

 src/gallium/drivers/zink/zink_render_pass.h | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_render_pass.h b/src/gallium/drivers/zink/zink_render_pass.h
index 6d52e83ee52..93888ed3957 100644
--- a/src/gallium/drivers/zink/zink_render_pass.h
+++ b/src/gallium/drivers/zink/zink_render_pass.h
@@ -48,11 +48,16 @@ struct zink_rt_attrib {
 };
 
 struct zink_render_pass_state {
-   uint8_t num_cbufs : 5; /* PIPE_MAX_COLOR_BUFS = 8 */
-   uint8_t have_zsbuf : 1;
-   uint8_t samples:1; //for fs samplemask
-   uint32_t num_zsresolves : 1;
-   uint32_t num_cresolves : 24; /* PIPE_MAX_COLOR_BUFS, but this is a struct hole */
+   union {
+      struct {
+         uint8_t num_cbufs : 5; /* PIPE_MAX_COLOR_BUFS = 8 */
+         uint8_t have_zsbuf : 1;
+         uint8_t samples:1; //for fs samplemask
+         uint32_t num_zsresolves : 1;
+         uint32_t num_cresolves : 24; /* PIPE_MAX_COLOR_BUFS, but this is a struct hole */
+      };
+      uint32_t val; //for comparison
+   };
    struct zink_rt_attrib rts[PIPE_MAX_COLOR_BUFS + 1];
    unsigned num_rts;
    uint32_t clears; //for extra verification and update flagging



More information about the mesa-commit mailing list