From 2bd9b5c31831243c19df007c60d555cc817a374a Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 22 Apr 2022 10:13:56 +0200 Subject: [PATCH] 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 Reviewed-by: Timothy Arceri Part-of: (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 +- .../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@glsl-1.20@execution@tex-miplevel-selection gl2:texture() cube,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texture() cube,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texture() cubearray,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texture() cubearrayshadow,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texture() cubeshadow,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texture(bias) cubeshadow,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texturegrad cube,Fail +spec@glsl-1.30@execution@tex-miplevel-selection texturegrad cubearray,Fail +spec@glsl-1.30@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