glsl: fix regression in ubo cloning
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Fixes KHR-GL46.layout_binding.block_layout_binding_block_VertexShader
with radeonsi.

Fixes: 2b2132d2ac ("nir: fix uniform cloning helper")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34337>
This commit is contained in:
Timothy Arceri 2025-04-02 14:39:29 +11:00
parent 9845693912
commit d8782db3a4
2 changed files with 3 additions and 7 deletions

View file

@ -685,8 +685,3 @@ KHR-GL46.sparse_texture2_tests.StandardPageSizesTestCase_texture_1d_array_r32ui,
KHR-GL46.sparse_texture2_tests.SparseTexture2Allocation_texture_2d_multisample_r16_snorm,Fail
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess_texture_2d_array_rg16f,Fail
KHR-GL46.shader_image_load_store.basic-allTargets-atomic,Fail
# some point around 2025-03-27, after the fd.o infrastructure move
KHR-GLES31.core.layout_binding.block_layout_binding_block_VertexShader,Fail
KHR-GL46.layout_binding.block_layout_binding_block_VertexShader,Fail

View file

@ -1172,8 +1172,9 @@ nir_clone_uniform_variable(nir_shader *nir, nir_variable *uniform, bool spirv)
if ((spirv && uniform->data.mode & nir_var_mem_ubo &&
v->data.binding == uniform->data.binding) ||
(!spirv &&
((!strcmp(uniform->name, v->name) && !uniform->data.explicit_binding && !v->data.explicit_binding) ||
(uniform->data.explicit_binding && v->data.explicit_binding && v->data.binding == uniform->data.binding)))) {
(!strcmp(uniform->name, v->name) &&
uniform->data.explicit_binding == v->data.explicit_binding &&
uniform->data.binding == v->data.binding))) {
new_var = v;
break;
}