From caf2c32f421ef77c95fe4d001a8f5d6976b5f596 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 27 May 2026 12:39:10 -0400 Subject: [PATCH] zink: link up vs COLx vars -> fs BFCx this fixes some twoside tests cc: mesa-stable Part-of: --- src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt | 1 - .../drivers/zink/ci/zink-radv-gfx1201-fails.txt | 1 - src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt | 1 - .../drivers/zink/ci/zink-radv-vangogh-fails.txt | 1 - src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt | 1 - src/gallium/drivers/zink/zink_compiler.c | 10 ++++++++++ 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt b/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt index ac781b4a440..594d8796124 100644 --- a/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt @@ -149,7 +149,6 @@ spec@ext_transform_feedback@tessellation quad_strip wireframe,Fail # uprev Piglit in Mesa spec@!opengl 1.1@large-tex,Fail spec@!opengl 1.1@large-tex@test_clear_tex_sub_image,Fail -spec@glsl-1.30@execution@glsl-packed-back-color,Fail spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail diff --git a/src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt index 633a7811d76..4e49a0e7841 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt @@ -44,5 +44,4 @@ spec@arb_pipeline_statistics_query@arb_pipeline_statistics_query-clip,Fail # uprev Piglit in Mesa spec@!opengl 1.1@large-tex,Fail spec@!opengl 1.1@large-tex@test_clear_tex_sub_image,Fail -spec@glsl-1.30@execution@glsl-packed-back-color,Fail diff --git a/src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt index e305b9a84e0..5c7240bf42b 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt @@ -40,5 +40,4 @@ spec@ext_image_dma_buf_import@ext_image_dma_buf_import-transcode-nv12-as-r8-gr88 # uprev Piglit in Mesa spec@!opengl 1.1@large-tex,Fail spec@!opengl 1.1@large-tex@test_clear_tex_sub_image,Fail -spec@glsl-1.30@execution@glsl-packed-back-color,Fail diff --git a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt index c8cf10d92ef..b49333ae19c 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt @@ -11,4 +11,3 @@ spec@arb_query_buffer_object@qbo@query-GL_GEOMETRY_SHADER_INVOCATIONS-ASYNC-GL_U spec@arb_query_buffer_object@qbo@query-GL_GEOMETRY_SHADER_INVOCATIONS-SYNC-GL_INT,Fail spec@arb_query_buffer_object@qbo@query-GL_GEOMETRY_SHADER_INVOCATIONS-SYNC-GL_UNSIGNED_INT,Fail spec@arb_query_buffer_object@qbo@query-GL_GEOMETRY_SHADER_INVOCATIONS-SYNC-GL_UNSIGNED_INT64_ARB,Fail -spec@glsl-1.30@execution@glsl-packed-back-color,Fail diff --git a/src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt b/src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt index 91f7050ac80..384a05c7c3a 100644 --- a/src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt @@ -211,5 +211,4 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode ful spec@!opengl 1.1@large-tex,Fail spec@!opengl 1.1@large-tex@test_clear_tex_sub_image,Fail spec@!opengl 1.1@large-tex@test_image_load_store,Fail -spec@glsl-1.30@execution@glsl-packed-back-color,Fail diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 22ca7ecf1b1..fa7686ab808 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -2699,6 +2699,16 @@ assign_consumer_var_io(mesa_shader_stage stage, nir_variable *var, struct io_slo slot -= VARYING_SLOT_PATCH0; } uint8_t *slot_map = var->data.patch ? io->patch_slot_map : io->slot_map; + if (slot_map[slot] == (unsigned char)-1) { + switch (slot) { + case VARYING_SLOT_COL0: + case VARYING_SLOT_COL1: + slot += VARYING_SLOT_BFC0 - 1; + break; + default: + break; + } + } if (slot_map[slot] == (unsigned char)-1) { /* texcoords can't be eliminated in fs due to GL_COORD_REPLACE, * so keep for now and eliminate later