From 2cbb8467c1913c40dafebb434e6aaae9a5e84120 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 22 Nov 2024 10:22:37 -0800 Subject: [PATCH] panvk: fix vs image support Since valhall, panvk_per_arch(nir_lower_descriptors) separates the driver set and the user sets, and does not need pan_lower_image_index. Fixes: 5db135f66ad ("panvk: Advertize v10 support") Signed-off-by: Chia-I Wu Reviewed-by: Lars-Ivar Hesselberg Simonsen Reviewed-by: Boris Brezillon Part-of: --- src/panfrost/ci/panfrost-g610-fails.txt | 5 ----- src/panfrost/vulkan/panvk_vX_shader.c | 5 ++++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/panfrost/ci/panfrost-g610-fails.txt b/src/panfrost/ci/panfrost-g610-fails.txt index 615937d28a2..b707a2dd311 100644 --- a/src/panfrost/ci/panfrost-g610-fails.txt +++ b/src/panfrost/ci/panfrost-g610-fails.txt @@ -496,11 +496,6 @@ dEQP-VK.glsl.limits.near_max.fragment_input.components_124,Fail dEQP-VK.info.device_mandatory_features,Fail -dEQP-VK.memory.pipeline_barrier.host_write_storage_texel_buffer.1024,Fail -dEQP-VK.memory.pipeline_barrier.host_write_storage_texel_buffer.65536,Fail -dEQP-VK.memory.pipeline_barrier.host_write_storage_texel_buffer.8192,Fail -dEQP-VK.memory.pipeline_barrier.transfer_dst_storage_texel_buffer.1024,Fail - dEQP-VK.pipeline.monolithic.max_varyings.test_vertex_io_between_vertex_fragment,Fail dEQP-VK.pipeline.monolithic.multisample.alpha_to_coverage.samples_4.alpha_invisible,Fail dEQP-VK.pipeline.monolithic.multisample.alpha_to_coverage.samples_4.alpha_invisible_check_depth,Fail diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c index 4ec003dbb0a..de29249cfd1 100644 --- a/src/panfrost/vulkan/panvk_vX_shader.c +++ b/src/panfrost/vulkan/panvk_vX_shader.c @@ -536,7 +536,10 @@ panvk_lower_nir(struct panvk_device *dev, nir_shader *nir, pan_shader_preprocess(nir, compile_input->gpu_id); - if (stage == MESA_SHADER_VERTEX) + /* since valhall, panvk_per_arch(nir_lower_descriptors) separates the + * driver set and the user sets, and does not need pan_lower_image_index + */ + if (PAN_ARCH < 9 && stage == MESA_SHADER_VERTEX) NIR_PASS_V(nir, pan_lower_image_index, MAX_VS_ATTRIBS); NIR_PASS_V(nir, nir_shader_instructions_pass, panvk_lower_sysvals,