mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 00:40:09 +01:00
nvk: Plumb the whole vk_pipeline_robustness_state through to nvk_ubo/ssbo_addr_format
Fixes: c9eac89da8 ("nvk: Advertise VK_EXT_robustness2")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30663>
This commit is contained in:
parent
6ae401aa86
commit
8445190663
3 changed files with 12 additions and 12 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue