From 3716bd704f8259545d34c73c2d065be7008f147f Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Wed, 24 Apr 2024 09:59:26 +0300 Subject: [PATCH] anv: fix push constant subgroup_id location Signed-off-by: Lionel Landwerlin Fixes: 7c76125db2 ("anv: use 2 different buffers for surfaces/samplers in descriptor sets") Reviewed-by: Ivan Briano Part-of: --- src/intel/vulkan/anv_private.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 23f739975ae..485315d88f3 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3423,6 +3423,12 @@ struct anv_push_constants { */ uint32_t surfaces_base_offset; + /* Robust access pushed registers. */ + uint64_t push_reg_mask[MESA_SHADER_STAGES]; + + /** Ray query globals (RT_DISPATCH_GLOBALS) */ + uint64_t ray_query_globals; + union { struct { /** Dynamic MSAA value */ @@ -3443,16 +3449,12 @@ struct anv_push_constants { * * This is never set by software but is implicitly filled out when * uploading the push constants for compute shaders. + * + * This *MUST* be the last field of the anv_push_constants structure. */ uint32_t subgroup_id; } cs; }; - - /* Robust access pushed registers. */ - uint64_t push_reg_mask[MESA_SHADER_STAGES]; - - /** Ray query globals (RT_DISPATCH_GLOBALS) */ - uint64_t ray_query_globals; }; struct anv_surface_state {