radv: fix gathering push constants from shaders with ESO
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Need to be 4-bytes aligned.

Fixes: aa44a5a4ae ("radv: gather push constant size from shaders for ESO")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14276
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38397>
This commit is contained in:
Samuel Pitoiset 2025-11-12 13:45:01 +01:00 committed by Marge Bot
parent 388875abe1
commit 9141696d32

View file

@ -12672,7 +12672,7 @@ radv_bind_graphics_shaders(struct radv_cmd_buffer *cmd_buffer)
descriptors_state->need_indirect_descriptors = need_indirect_descriptors;
descriptors_state->dynamic_offset_count = dynamic_offset_count;
pc_state->need_upload = need_push_constants_upload;
pc_state->size = push_constant_size;
pc_state->size = align(push_constant_size, 4);
if (pdev->info.gfx_level <= GFX9) {
cmd_buffer->state.ia_multi_vgt_param = radv_compute_ia_multi_vgt_param(device, cmd_buffer->state.shaders);
@ -15554,7 +15554,7 @@ radv_bind_compute_shader(struct radv_cmd_buffer *cmd_buffer, struct radv_shader_
descriptors_state->need_indirect_descriptors = radv_shader_need_indirect_descriptors(shader);
descriptors_state->dynamic_offset_count = shader_obj->dynamic_offset_count;
pc_state->need_upload = radv_shader_need_push_constants_upload(shader);
pc_state->size = shader->info.push_constant_size;
pc_state->size = align(shader->info.push_constant_size, 4);
assert(cs->b->cdw <= cdw_max);
}