diff --git a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c index a25df05c858..2f12cceaee9 100644 --- a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c +++ b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c @@ -1558,8 +1558,8 @@ nvk_nir_lower_descriptors(nir_shader *nir, rs->storage_buffers != VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT || rs->uniform_buffers != VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT || rs->images != VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT, - .ssbo_addr_format = nvk_ssbo_addr_format(pdev, rs->storage_buffers), - .ubo_addr_format = nvk_ubo_addr_format(pdev, rs->uniform_buffers), + .ssbo_addr_format = nvk_ssbo_addr_format(pdev, rs), + .ubo_addr_format = nvk_ubo_addr_format(pdev, rs), }; assert(set_layout_count <= NVK_MAX_SETS); diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index d9c7893b8a6..9aa684af07a 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -116,12 +116,12 @@ nvk_get_nir_options(struct vk_physical_device *vk_pdev, nir_address_format nvk_ubo_addr_format(const struct nvk_physical_device *pdev, - VkPipelineRobustnessBufferBehaviorEXT robustness) + const struct vk_pipeline_robustness_state *rs) { if (nvk_use_bindless_cbuf(&pdev->info)) { return nir_address_format_vec2_index_32bit_offset; } else { - switch (robustness) { + switch (rs->uniform_buffers) { case VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT: return nir_address_format_64bit_global_32bit_offset; case VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT: @@ -135,9 +135,9 @@ nvk_ubo_addr_format(const struct nvk_physical_device *pdev, nir_address_format nvk_ssbo_addr_format(const struct nvk_physical_device *pdev, - VkPipelineRobustnessBufferBehaviorEXT robustness) + const struct vk_pipeline_robustness_state *rs) { - switch (robustness) { + switch (rs->storage_buffers) { case VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT: return nir_address_format_64bit_global_32bit_offset; case VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT: @@ -157,9 +157,9 @@ nvk_get_spirv_options(struct vk_physical_device *vk_pdev, container_of(vk_pdev, struct nvk_physical_device, vk); return (struct spirv_to_nir_options) { - .ssbo_addr_format = nvk_ssbo_addr_format(pdev, rs->storage_buffers), + .ssbo_addr_format = nvk_ssbo_addr_format(pdev, rs), .phys_ssbo_addr_format = nir_address_format_64bit_global, - .ubo_addr_format = nvk_ubo_addr_format(pdev, rs->uniform_buffers), + .ubo_addr_format = nvk_ubo_addr_format(pdev, rs), .shared_addr_format = nir_address_format_32bit_offset, .min_ssbo_alignment = NVK_MIN_SSBO_ALIGNMENT, .min_ubo_alignment = nvk_min_cbuf_alignment(&pdev->info), @@ -465,9 +465,9 @@ nvk_lower_nir(struct nvk_device *dev, nir_shader *nir, NIR_PASS(_, nir, nir_lower_explicit_io, nir_var_mem_global, nir_address_format_64bit_global); NIR_PASS(_, nir, nir_lower_explicit_io, nir_var_mem_ssbo, - nvk_ssbo_addr_format(pdev, rs->storage_buffers)); + nvk_ssbo_addr_format(pdev, rs)); NIR_PASS(_, nir, nir_lower_explicit_io, nir_var_mem_ubo, - nvk_ubo_addr_format(pdev, rs->uniform_buffers)); + nvk_ubo_addr_format(pdev, rs)); NIR_PASS(_, nir, nir_shader_intrinsics_pass, lower_load_intrinsic, nir_metadata_none, NULL); diff --git a/src/nouveau/vulkan/nvk_shader.h b/src/nouveau/vulkan/nvk_shader.h index 2e11c5790f5..c5f667646b5 100644 --- a/src/nouveau/vulkan/nvk_shader.h +++ b/src/nouveau/vulkan/nvk_shader.h @@ -102,10 +102,10 @@ nvk_physical_device_compiler_flags(const struct nvk_physical_device *pdev); nir_address_format nvk_ubo_addr_format(const struct nvk_physical_device *pdev, - VkPipelineRobustnessBufferBehaviorEXT robustness); + const struct vk_pipeline_robustness_state *rs); nir_address_format nvk_ssbo_addr_format(const struct nvk_physical_device *pdev, - VkPipelineRobustnessBufferBehaviorEXT robustness); + const struct vk_pipeline_robustness_state *rs); bool nvk_nir_lower_descriptors(nir_shader *nir,