diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 01f53188f9c..4d3b1b83b4e 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -12358,7 +12358,7 @@ radv_bind_graphics_shaders(struct radv_cmd_buffer *cmd_buffer) /* Compute push constants/indirect descriptors state. */ need_indirect_descriptors |= radv_shader_need_indirect_descriptors(shader); need_push_constants_upload |= radv_shader_need_push_constants_upload(shader); - push_constant_size += shader_obj->push_constant_size; + push_constant_size = MAX2(push_constant_size, shader->info.push_constant_size); dynamic_offset_count += shader_obj->dynamic_offset_count; } @@ -15274,7 +15274,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_obj->push_constant_size; + pc_state->size = shader->info.push_constant_size; assert(cs->b->cdw <= cdw_max); } diff --git a/src/amd/vulkan/radv_shader_object.c b/src/amd/vulkan/radv_shader_object.c index f4190d31420..81bd950272e 100644 --- a/src/amd/vulkan/radv_shader_object.c +++ b/src/amd/vulkan/radv_shader_object.c @@ -314,7 +314,6 @@ radv_shader_object_init(struct radv_shader_object *shader_obj, struct radv_devic shader_obj->stage = vk_to_mesa_shader_stage(pCreateInfo->stage); shader_obj->code_type = pCreateInfo->codeType; - shader_obj->push_constant_size = layout.push_constant_size; shader_obj->dynamic_offset_count = layout.dynamic_offset_count; if (pCreateInfo->codeType == VK_SHADER_CODE_TYPE_BINARY_EXT) { @@ -510,7 +509,6 @@ radv_shader_object_create_linked(VkDevice _device, uint32_t createInfoCount, con shader_obj->stage = s; shader_obj->code_type = pCreateInfo->codeType; - shader_obj->push_constant_size = stages[s].layout.push_constant_size; shader_obj->dynamic_offset_count = stages[s].layout.dynamic_offset_count; if (s == MESA_SHADER_VERTEX) { diff --git a/src/amd/vulkan/radv_shader_object.h b/src/amd/vulkan/radv_shader_object.h index f1718b36eb2..a1713cf5bb3 100644 --- a/src/amd/vulkan/radv_shader_object.h +++ b/src/amd/vulkan/radv_shader_object.h @@ -43,7 +43,6 @@ struct radv_shader_object { struct radv_shader_binary *copy_binary; } gs; - uint32_t push_constant_size; uint32_t dynamic_offset_count; };