mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 09:30:13 +01:00
radv: gather push constant size from shaders for ESO
Instead of using the shader layout which won't exist anymore with heap. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37769>
This commit is contained in:
parent
a25e88cd84
commit
aa44a5a4ae
3 changed files with 2 additions and 5 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue