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 {