From f78919d36d633d74584a5ecb00a1bc092901d2d8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 15 Jul 2022 17:11:49 -0400 Subject: [PATCH] zink: add a bits union for zink_render_pass_state comparisons Reviewed-by: Dave Airlie Part-of: --- 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