Mesa (staging/22.0): nir: mark XFB varyings as unmoveable to prevent them to be remapped

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 26 16:46:41 UTC 2022


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
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 <samuel.pitoiset at gmail.com>
Reviewed-by: Timothy Arceri  <tarceri at itsqueeze.com>
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
+spec at glsl-1.20@execution at tex-miplevel-selection gl2:texture() cube,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texture() cube,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texture() cubearray,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texture() cubearrayshadow,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texture() cubeshadow,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texture(bias) cubeshadow,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texturegrad cube,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texturegrad cubearray,Fail
+spec at glsl-1.30@execution at tex-miplevel-selection texturegrad cubeshadow,Fail
+spec at arb_shader_texture_lod@execution at tex-miplevel-selection *gradarb cube,Fail
+
+# kopper
+glx at glx-multi-window-single-context,Crash
+spec at ext_image_dma_buf_import@ext_image_dma_buf_import-export-tex,Crash
+spec at egl_chromium_sync_control@conformance at 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



More information about the mesa-commit mailing list