mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 18:40:13 +01:00
radv: gather push constant size from shaders for pipelines
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
97dbf7b895
commit
2985322ed1
2 changed files with 12 additions and 2 deletions
|
|
@ -84,7 +84,7 @@ radv_compute_pipeline_init(struct radv_compute_pipeline *pipeline, const struct
|
|||
pipeline->base.need_indirect_descriptors |= radv_shader_need_indirect_descriptors(shader);
|
||||
pipeline->base.need_push_constants_upload |= radv_shader_need_push_constants_upload(shader);
|
||||
|
||||
pipeline->base.push_constant_size = layout->push_constant_size;
|
||||
pipeline->base.push_constant_size = align(shader->info.push_constant_size, 4);
|
||||
pipeline->base.dynamic_offset_count = layout->dynamic_offset_count;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3490,7 +3490,17 @@ radv_graphics_pipeline_init(struct radv_graphics_pipeline *pipeline, struct radv
|
|||
pipeline->uses_vrs_attachment = radv_pipeline_uses_vrs_attachment(pipeline, &gfx_state.vk);
|
||||
pipeline->uses_vrs_coarse_shading = !pipeline->uses_vrs && gfx103_pipeline_vrs_coarse_shading(device, pipeline);
|
||||
|
||||
pipeline->base.push_constant_size = gfx_state.layout.push_constant_size;
|
||||
uint32_t push_constant_size = 0;
|
||||
for (uint32_t i = 0; i < MESA_VULKAN_SHADER_STAGES; i++) {
|
||||
const struct radv_shader *shader = pipeline->base.shaders[i];
|
||||
|
||||
if (!shader)
|
||||
continue;
|
||||
|
||||
push_constant_size = MAX2(push_constant_size, shader->info.push_constant_size);
|
||||
}
|
||||
|
||||
pipeline->base.push_constant_size = align(push_constant_size, 4);
|
||||
pipeline->base.dynamic_offset_count = gfx_state.layout.dynamic_offset_count;
|
||||
|
||||
const VkGraphicsPipelineCreateInfoRADV *radv_info =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue