From ab1409010a29c924578792cd6f8720f47af25fd5 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 11 Apr 2022 19:45:57 +0100 Subject: [PATCH] ac/nir: fix 64-bit NGG GS output stores MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I don't know why this was here. The DIV_ROUND_UP ensures that it's always at least 1 and the MIN2 ensures that it's never greater than 1. Fixes some KHR-Single-GL46.enhanced_layouts.varying_* tests with zink: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6301 Signed-off-by: Rhys Perry Reviewed-by: Timur Kristóf Part-of: --- src/amd/common/ac_nir_lower_ngg.c | 2 +- src/gallium/drivers/zink/ci/zink-radv-fails.txt | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/amd/common/ac_nir_lower_ngg.c b/src/amd/common/ac_nir_lower_ngg.c index 96a14cc1bb9..49abaa99b4f 100644 --- a/src/amd/common/ac_nir_lower_ngg.c +++ b/src/amd/common/ac_nir_lower_ngg.c @@ -1562,7 +1562,7 @@ lower_ngg_gs_store_output(nir_builder *b, nir_intrinsic_instr *intrin, lower_ngg /* Small bitsize components consume the same amount of space as 32-bit components, * but 64-bit ones consume twice as many. (Vulkan spec 15.1.5) */ - unsigned num_consumed_components = MIN2(1, DIV_ROUND_UP(store_val->bit_size, 32)); + unsigned num_consumed_components = DIV_ROUND_UP(store_val->bit_size, 32); nir_ssa_def *element = nir_channel(b, store_val, comp); if (num_consumed_components > 1) element = nir_extract_bits(b, &element, 1, 0, num_consumed_components, 32); diff --git a/src/gallium/drivers/zink/ci/zink-radv-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-fails.txt index f6e5a46cdb7..5ca89507b28 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-fails.txt @@ -50,11 +50,6 @@ KHR-GL46.shader_image_load_store.non-layered_binding,Fail KHR-GL46.shader_ballot_tests.ShaderBallotFunctionRead,Fail # radv issue #6301 -KHR-Single-GL46.enhanced_layouts.varying_array_components,Fail -KHR-Single-GL46.enhanced_layouts.varying_array_locations,Fail -KHR-Single-GL46.enhanced_layouts.varying_components,Fail -KHR-Single-GL46.enhanced_layouts.varying_locations,Fail -KHR-Single-GL46.enhanced_layouts.varying_structure_locations,Fail KHR-Single-GL46.enhanced_layouts.xfb_override_qualifiers_with_api,Fail