zink: Lower sample shading before we add_derefs().

Otherwise, you'll still get interp_at_centroid even when we had tried to
switch it to sample.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36496>
This commit is contained in:
Emma Anholt 2025-07-28 17:02:28 -07:00 committed by Marge Bot
parent 062a35b554
commit 3cd6728de4
10 changed files with 5 additions and 66 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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) {