From ebf2797da2aa17daa7e140e104280c8bc8acc9ad Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 17 Apr 2026 15:40:38 +0200 Subject: [PATCH] vulkan,treewide: stop passing vk_device to vk_pipeline_robustness_state_fill() This will be helpful for RADV. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_pipeline.c | 2 +- src/broadcom/vulkan/v3dv_pipeline.c | 6 +++--- src/freedreno/vulkan/tu_pipeline.cc | 7 ++----- src/gallium/frontends/lavapipe/lvp_pipeline.c | 2 +- src/vulkan/runtime/vk_pipeline.c | 13 ++++++------- src/vulkan/runtime/vk_pipeline.h | 2 +- 6 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index de01e106092..08ee61928c8 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -157,7 +157,7 @@ radv_pipeline_get_shader_key(const struct radv_device *device, const VkPipelineS key.version = instance->drirc.misc.override_compute_shader_version; } - vk_pipeline_robustness_state_fill(&device->vk, &rs, pNext, stage->pNext); + vk_pipeline_robustness_state_fill(&device->vk.robustness_state, &rs, pNext, stage->pNext); radv_set_stage_key_robustness(&rs, s, &key); diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c index 6799cb192be..800ce9c1dcb 100644 --- a/src/broadcom/vulkan/v3dv_pipeline.c +++ b/src/broadcom/vulkan/v3dv_pipeline.c @@ -2465,7 +2465,7 @@ pipeline_compile_graphics(struct v3dv_pipeline *pipeline, vk_find_struct_const(sinfo->pNext, SHADER_MODULE_CREATE_INFO); } - vk_pipeline_robustness_state_fill(&device->vk, &p_stage->robustness, + vk_pipeline_robustness_state_fill(&device->vk.robustness_state, &p_stage->robustness, pCreateInfo->pNext, sinfo->pNext); vk_pipeline_hash_shader_stage(pipeline->flags, @@ -2516,7 +2516,7 @@ pipeline_compile_graphics(struct v3dv_pipeline *pipeline, p_stage->module = NULL; p_stage->module_info = NULL; p_stage->nir = b.shader; - vk_pipeline_robustness_state_fill(&device->vk, &p_stage->robustness, + vk_pipeline_robustness_state_fill(&device->vk.robustness_state, &p_stage->robustness, NULL, NULL); pipeline_compute_blake3_from_nir(p_stage); p_stage->program_id = @@ -3179,7 +3179,7 @@ pipeline_compile_compute(struct v3dv_pipeline *pipeline, vk_find_struct_const(sinfo->pNext, SHADER_MODULE_CREATE_INFO); } - vk_pipeline_robustness_state_fill(&device->vk, &p_stage->robustness, + vk_pipeline_robustness_state_fill(&device->vk.robustness_state, &p_stage->robustness, info->pNext, sinfo->pNext); vk_pipeline_hash_shader_stage(pipeline->flags, diff --git a/src/freedreno/vulkan/tu_pipeline.cc b/src/freedreno/vulkan/tu_pipeline.cc index 633eb9e96ac..7114b4af1f1 100644 --- a/src/freedreno/vulkan/tu_pipeline.cc +++ b/src/freedreno/vulkan/tu_pipeline.cc @@ -1795,8 +1795,7 @@ tu_pipeline_builder_compile_shaders(struct tu_pipeline_builder *builder, if (stage_infos[stage]) { struct vk_pipeline_robustness_state rs; - vk_pipeline_robustness_state_fill(&builder->device->vk, &rs, - builder->create_info->pNext, + vk_pipeline_robustness_state_fill(&builder->device->vk.robustness_state, &rs, builder->create_info->pNext, stage_infos[stage]->pNext); tu_shader_key_robustness(&keys[stage], &rs); if (builder->create_flags & VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR) @@ -4929,9 +4928,7 @@ tu_compute_pipeline_create(VkDevice device, dev); struct vk_pipeline_robustness_state rs; - vk_pipeline_robustness_state_fill(&dev->vk, &rs, - pCreateInfo->pNext, - stage_info->pNext); + vk_pipeline_robustness_state_fill(&dev->vk.robustness_state, &rs, pCreateInfo->pNext, stage_info->pNext); tu_shader_key_robustness(&key, &rs); void *pipeline_mem_ctx = ralloc_context(NULL); diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c index 39b8822b1d2..f0f450113e1 100644 --- a/src/gallium/frontends/lavapipe/lvp_pipeline.c +++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c @@ -553,7 +553,7 @@ lvp_spirv_to_nir(struct lvp_pipeline *pipeline, const void *pipeline_pNext, lvp_lower_exec_graph(pipeline, *out_nir); struct vk_pipeline_robustness_state robustness; - vk_pipeline_robustness_state_fill(&device->vk, &robustness, pipeline_pNext, sinfo->pNext); + vk_pipeline_robustness_state_fill(&device->vk.robustness_state, &robustness, pipeline_pNext, sinfo->pNext); lvp_shader_lower(device, *out_nir, pipeline->layout, &robustness); } diff --git a/src/vulkan/runtime/vk_pipeline.c b/src/vulkan/runtime/vk_pipeline.c index d4ff9999281..d29043bf014 100644 --- a/src/vulkan/runtime/vk_pipeline.c +++ b/src/vulkan/runtime/vk_pipeline.c @@ -329,13 +329,13 @@ vk_pipeline_hash_shader_stage(VkPipelineCreateFlags2KHR pipeline_flags, } void -vk_pipeline_robustness_state_fill(const struct vk_device *device, +vk_pipeline_robustness_state_fill(const struct vk_pipeline_robustness_state *device_robustness_state, struct vk_pipeline_robustness_state *rs, const void *pipeline_pNext, const void *shader_stage_pNext) { /* Use the device robustness state by default. */ - *rs = device->robustness_state; + *rs = *device_robustness_state; const VkPipelineRobustnessCreateInfoEXT *shader_info = vk_find_struct_const(shader_stage_pNext, @@ -904,8 +904,8 @@ vk_pipeline_hash_precomp_shader_stage(struct vk_device *device, struct vk_pipeline_stage *stage) { struct vk_pipeline_robustness_state rs; - vk_pipeline_robustness_state_fill(device, &rs, pipeline_info_pNext, - info->pNext); + vk_pipeline_robustness_state_fill(&device->robustness_state, &rs, + pipeline_info_pNext, info->pNext); vk_pipeline_hash_shader_stage_blake3(pipeline_flags, info, &rs, stage->precomp_key); @@ -940,9 +940,8 @@ vk_pipeline_precompile_shader(struct vk_device *device, return VK_PIPELINE_COMPILE_REQUIRED; struct vk_pipeline_robustness_state rs; - vk_pipeline_robustness_state_fill(device, &rs, - pipeline_info_pNext, - info->pNext); + vk_pipeline_robustness_state_fill(&device->robustness_state, &rs, + pipeline_info_pNext, info->pNext); const struct nir_shader_compiler_options *nir_options = ops->get_nir_options(device->physical, stage->stage, &rs); diff --git a/src/vulkan/runtime/vk_pipeline.h b/src/vulkan/runtime/vk_pipeline.h index c47f8e91648..776b72a6074 100644 --- a/src/vulkan/runtime/vk_pipeline.h +++ b/src/vulkan/runtime/vk_pipeline.h @@ -98,7 +98,7 @@ vk_pipeline_hash_shader_stage(VkPipelineCreateFlags2KHR pipeline_flags, unsigned char *stage_blake3); void -vk_pipeline_robustness_state_fill(const struct vk_device *device, +vk_pipeline_robustness_state_fill(const struct vk_pipeline_robustness_state *device_robustness_state, struct vk_pipeline_robustness_state *rs, const void *pipeline_pNext, const void *shader_stage_pNext);