Module: Mesa
Branch: staging/22.0
Commit: 2bd9b5c31831243c19df007c60d555cc817a374a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bd9b5c31831243c19df007c60d555cc817a374a

Author: Samuel Pitoiset <[email protected]>
Date:   Fri Apr 22 10:13:56 2022 +0200

nir: mark XFB varyings as unmoveable to prevent them to be remapped

XFB varyings are considered as always active IO to prevent them to
be removed or compacted. Though, if the NIR linker doesn't mark XFB
varyings as unmoveable it still possible to remap other varyings to
the same location/component.

Fixes KHR-Single-GL46.enhanced_layouts.xfb_override_qualifiers_with_api
with Zink and a bunch of other dEQP XFB tests.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6301
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Timothy Arceri  <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16092>
(cherry picked from commit 4ebb5391acf1d0bcd24947af84ce8930a9429894)

Conflicts:
        src/gallium/drivers/zink/ci/zink-radv-fails.txt

---

 .pick_status.json                               |  2 +-
 src/compiler/nir/nir_linking_helpers.c          |  3 +-
 src/gallium/drivers/zink/ci/zink-radv-fails.txt | 46 +++++++++++++++++++++++++
 3 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 5b8697c247b..90f47358e7f 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -572,7 +572,7 @@
         "description": "nir: mark XFB varyings as unmoveable to prevent them 
to be remapped",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "because_sha": null
     },
     {
diff --git a/src/compiler/nir/nir_linking_helpers.c 
b/src/compiler/nir/nir_linking_helpers.c
index 50e1b372f60..7a6f82bea82 100644
--- a/src/compiler/nir/nir_linking_helpers.c
+++ b/src/compiler/nir/nir_linking_helpers.c
@@ -308,7 +308,8 @@ get_unmoveable_components_masks(nir_shader *shader,
          /* If we can pack this varying then don't mark the components as
           * used.
           */
-         if (is_packing_supported_for_type(type))
+         if (is_packing_supported_for_type(type) &&
+             !var->data.always_active_io)
             continue;
 
          unsigned location = var->data.location - VARYING_SLOT_VAR0;
diff --git a/src/gallium/drivers/zink/ci/zink-radv-fails.txt 
b/src/gallium/drivers/zink/ci/zink-radv-fails.txt
index e35710c3192..51f26bab466 100644
--- a/src/gallium/drivers/zink/ci/zink-radv-fails.txt
+++ b/src/gallium/drivers/zink/ci/zink-radv-fails.txt
@@ -441,6 +441,7 @@ 
dEQP-GLES31.functional.texture.border_clamp.unused_channels.depth24_stencil8_sam
 
dEQP-GLES31.functional.texture.border_clamp.unused_channels.depth24_stencil8_sample_stencil,Fail
 
dEQP-GLES31.functional.texture.border_clamp.unused_channels.depth32f_stencil8_sample_stencil,Fail
 dEQP-GLES31.functional.texture.border_clamp.unused_channels.stencil_index8,Fail
+<<<<<<< HEAD
 
dEQP-GLES31.functional.texture.format.sized.cube_array.depth24_stencil8_npot,Fail
 
dEQP-GLES31.functional.texture.format.sized.cube_array.depth24_stencil8_pot,Fail
 
dEQP-GLES31.functional.texture.format.sized.cube_array.depth_component24_npot,Fail
@@ -540,6 +541,51 @@ KHR-GL46.shader_image_load_store.non-layered_binding,Fail
 KHR-GL46.shader_storage_buffer_object.advanced-readWrite-case1-cs,Fail
 KHR-GL46.shader_storage_buffer_object.basic-operations-case1-cs,Fail
 KHR-GL46.shader_storage_buffer_object.basic-operations-case1-vs,Fail
+=======
+dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail
+dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
+dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail
+dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail
+dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail
+dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq,Fail
+dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq,Fail
+dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq,Fail
+dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq,Fail
+dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq,Fail
+dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq,Fail
+dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth24_stencil8,Fail
+dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth32f_stencil8,Fail
+dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component24,Fail
+dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component32f,Fail
+dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth24_stencil8,Fail
+dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth32f_stencil8,Fail
+dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component24,Fail
+dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component32f,Fail
+dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units,Fail
+dEQP-GLES3.functional.rasterization.primitives.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.primitives.line_strip_wide,Fail
+dEQP-GLES3.functional.shaders.metamorphic.bubblesort_flag.variant_1,Fail
+dEQP-GLES3.functional.shaders.metamorphic.bubblesort_flag.variant_2,Fail
+dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_vertex,Fail
+dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_vertex,Fail
+
+# cubes are hard #6270
[email protected]@execution@tex-miplevel-selection gl2:texture() cube,Fail
[email protected]@execution@tex-miplevel-selection texture() cube,Fail
[email protected]@execution@tex-miplevel-selection texture() cubearray,Fail
[email protected]@execution@tex-miplevel-selection texture() cubearrayshadow,Fail
[email protected]@execution@tex-miplevel-selection texture() cubeshadow,Fail
[email protected]@execution@tex-miplevel-selection texture(bias) cubeshadow,Fail
[email protected]@execution@tex-miplevel-selection texturegrad cube,Fail
[email protected]@execution@tex-miplevel-selection texturegrad cubearray,Fail
[email protected]@execution@tex-miplevel-selection texturegrad cubeshadow,Fail
+spec@arb_shader_texture_lod@execution@tex-miplevel-selection *gradarb cube,Fail
+
+# kopper
+glx@glx-multi-window-single-context,Crash
+spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export-tex,Crash
+spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_ust_test,Fail
+>>>>>>> 4ebb5391acf (nir: mark XFB varyings as unmoveable to prevent them to 
be remapped)
 
 # 3D isn't supported by radv yet
 KHR-GL46.sparse_texture_tests.InternalFormatQueries,Fail

Reply via email to