diff --git a/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt b/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt index 29212e3a9f0..7d1d3b8e222 100644 --- a/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-lavapipe-fails.txt @@ -46,10 +46,6 @@ spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail spec@arb_point_sprite@arb_point_sprite-mipmap,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail spec@arb_sample_shading@samplemask 2,Fail spec@arb_sample_shading@samplemask 2@0.250000 mask_in_one,Fail spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail diff --git a/src/gallium/drivers/zink/ci/zink-radv-cezanne-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-cezanne-fails.txt index 1f66d093038..11d205f2aab 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-cezanne-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-cezanne-fails.txt @@ -241,14 +241,6 @@ spec@arb_sample_locations@test@MSAA: 8- X: 3- Y: 5- Grid: false,Fail spec@arb_sample_locations@test@MSAA: 8- X: 3- Y: 5- Grid: true,Fail spec@arb_sample_locations@test@MSAA: 8- X: 3- Y: 6- Grid: false,Fail spec@arb_sample_locations@test@MSAA: 8- X: 3- Y: 6- Grid: true,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 6,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 8,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 6,Fail -spec@arb_sample_shading@interpolate-at-sample-position 8,Fail spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail spec@arb_sample_shading@samplemask 2@1.000000 mask_in_one,Fail spec@arb_sample_shading@samplemask 2 all@0.500000 mask_in_one,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 3ad99556d8a..fef24557653 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt @@ -11,14 +11,6 @@ spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 6,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 8,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 6,Fail -spec@arb_sample_shading@interpolate-at-sample-position 8,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail spec@arb_shading_language_packing@execution@built-in-functions@fs-packhalf2x16,Fail diff --git a/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt index 3c29ac13b7f..6e181e4538f 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt @@ -11,14 +11,6 @@ spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 6,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 8,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 6,Fail -spec@arb_sample_shading@interpolate-at-sample-position 8,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,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 f32371bbff2..3d97af5ceb7 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt @@ -11,14 +11,6 @@ spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 6,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 8,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 6,Fail -spec@arb_sample_shading@interpolate-at-sample-position 8,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail spec@arb_shading_language_packing@execution@built-in-functions@fs-packhalf2x16,Fail diff --git a/src/gallium/drivers/zink/ci/zink-radv-polaris10-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-polaris10-fails.txt index b9ed47098d0..08fd95e13bd 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-polaris10-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-polaris10-fails.txt @@ -11,14 +11,6 @@ spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 6,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 8,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 6,Fail -spec@arb_sample_shading@interpolate-at-sample-position 8,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,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 738a8c9b641..3be71a049e3 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt @@ -9,14 +9,6 @@ glx@extension string sanity,Fail spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 6,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 8,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 6,Fail -spec@arb_sample_shading@interpolate-at-sample-position 8,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail spec@arb_shading_language_packing@execution@built-in-functions@fs-packhalf2x16,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 9315feb630b..79f86d614e7 100644 --- a/src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-tu-a750-fails.txt @@ -86,10 +86,6 @@ spec@arb_gpu_shader5@arb_gpu_shader5-interpolateatsample-dynamically-nonuniform, spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail spec@arb_gpu_shader_fp64@execution@glsl-fs-loop-unroll-mul-fp64,Crash spec@arb_gpu_shader_fp64@uniform_buffers@fs-ubo-load.indirect.3,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail spec@arb_sample_shading@samplemask 2 all,Fail spec@arb_sample_shading@samplemask 2 all@0.500000 mask_in_one,Fail spec@arb_sample_shading@samplemask 2 all@1.000000 mask_in_one,Fail diff --git a/src/gallium/drivers/zink/ci/zink-venus-lavapipe-fails.txt b/src/gallium/drivers/zink/ci/zink-venus-lavapipe-fails.txt index cb6616484d6..4a61d0c2547 100644 --- a/src/gallium/drivers/zink/ci/zink-venus-lavapipe-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-venus-lavapipe-fails.txt @@ -58,10 +58,6 @@ spec@arb_pipeline_statistics_query@arb_pipeline_statistics_query-frag,Fail spec@arb_point_sprite@arb_point_sprite-mipmap,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail -spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail -spec@arb_sample_shading@interpolate-at-sample-position 2,Fail -spec@arb_sample_shading@interpolate-at-sample-position 4,Fail spec@arb_sample_shading@samplemask 2,Fail spec@arb_sample_shading@samplemask 2@0.250000 mask_in_one,Fail spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 8086957e587..cd9b2a2d58e 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3915,6 +3915,11 @@ zink_shader_compile(struct zink_screen *screen, bool can_shobj, struct zink_shad bool need_optimize = true; bool inlined_uniforms = false; + if (nir->info.stage == MESA_SHADER_FRAGMENT && (zink_fs_key_base(key)->force_persample_interp || zink_fs_key_base(key)->fbfetch_ms)) { + nir->info.fs.uses_sample_shading = true; + NIR_PASS(_, nir, nir_lower_sample_shading); + } + NIR_PASS(_, nir, add_derefs); NIR_PASS(_, nir, nir_lower_fragcolor, nir->info.fs.color_is_dual_source ? 1 : 8); if (key) { @@ -4040,12 +4045,6 @@ zink_shader_compile(struct zink_screen *screen, bool can_shobj, struct zink_shad NIR_PASS(_, nir, nir_lower_texcoord_replace, zink_fs_key_base(key)->coord_replace_bits, true, false); if (zink_fs_key_base(key)->point_coord_yinvert) NIR_PASS(_, nir, invert_point_coord); - if (zink_fs_key_base(key)->force_persample_interp || zink_fs_key_base(key)->fbfetch_ms) { - nir_foreach_shader_in_variable(var, nir) - var->data.sample = true; - nir->info.fs.uses_sample_qualifier = true; - nir->info.fs.uses_sample_shading = true; - } if (zs->fs.legacy_shadow_mask && !key->base.needs_zs_shader_swizzle) NIR_PASS(need_optimize, nir, lower_zs_swizzle_tex, zink_fs_key_base(key)->shadow_needs_shader_swizzle ? extra_data : NULL, true); if (nir->info.fs.uses_fbfetch_output) {