radeonsi: fix RB+ and gfx11 issues with framebuffer state

This fixes most gfx11 test failures.

Fixes: 9fecac091f - radeonsi/gfx11: scattered register deltas

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687>
This commit is contained in:
Marek Olšák 2023-06-06 14:23:02 -04:00 committed by Marge Bot
parent 9fd5561d77
commit d891bd7c3a
2 changed files with 10 additions and 42 deletions

View file

@ -137,54 +137,12 @@ KHR-Single-GL46.enhanced_layouts.xfb_capture_inactive_output_component,Fail
# gfx11-only failures
spec@!opengl 1.1@line-smooth-stipple,Fail
spec@arb_framebuffer_no_attachments@arb_framebuffer_no_attachments-atomic,Fail
spec@arb_framebuffer_no_attachments@arb_framebuffer_no_attachments-atomic@Per-sample,Fail
spec@egl 1.4@egl-ext_egl_image_storage,Crash
KHR-GL46.gl_spirv.spirv_validation_builtin_variable_decorations_test,Fail
KHR-GL46.texture_view.view_sampling,Fail
KHR-GL46.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail
KHR-GL46.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs,Fail
KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Crash
KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Crash
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_2_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_2_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_4_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_4_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_8_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_8_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_2_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_2_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_4_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_4_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_8_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_8_discard,Fail
dEQP-GLES31.functional.separate_shader.random.113,Fail
dEQP-GLES31.functional.separate_shader.random.82,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_1,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_2,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_4,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_8,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_texture_1,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_rbo_1,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_rbo_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_rbo_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_rbo_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_rbo_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_1,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_1,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_8,Fail

1 # LLVM 16.0.0
137 spec@arb_framebuffer_no_attachments@arb_framebuffer_no_attachments-atomic@Per-sample,Fail KHR-GL46.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail
138 spec@egl 1.4@egl-ext_egl_image_storage,Crash KHR-GL46.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs,Fail
139 KHR-GL46.gl_spirv.spirv_validation_builtin_variable_decorations_test,Fail KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Crash
KHR-GL46.texture_view.view_sampling,Fail
KHR-GL46.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail
140 KHR-GL46.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs,Fail KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Crash
141 KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Crash dEQP-GLES31.functional.separate_shader.random.113,Fail
KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Crash
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_2_color,Fail
142 dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_2_discard,Fail dEQP-GLES31.functional.separate_shader.random.82,Fail
143
144
145
146
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_2_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_2_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_4_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_4_discard,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_8_color,Fail
dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_8_discard,Fail
dEQP-GLES31.functional.separate_shader.random.113,Fail
dEQP-GLES31.functional.separate_shader.random.82,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_1,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_2,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_4,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_rbo_8,Fail
147
148
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_rbo_1,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_rbo_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_rbo_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_rbo_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_rbo_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_1,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples.multisample_texture_8,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_1,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_2,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_4,Fail
dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_8,Fail

View file

@ -472,8 +472,18 @@ void si_begin_new_gfx_cs(struct si_context *ctx, bool first_cs)
ctx->framebuffer.dirty_zsbuf = true;
}
/* RB+ depth-only rendering needs to set CB_COLOR0_INFO differently from CLEAR_STATE. */
if (ctx->screen->info.rbplus_allowed)
ctx->framebuffer.dirty_cbufs |= 0x1;
/* GFX11+ needs to set NUM_SAMPLES differently from CLEAR_STATE. */
if (ctx->gfx_level >= GFX11)
ctx->framebuffer.dirty_zsbuf = true;
/* Even with shadowed registers, we have to add buffers to the buffer list.
* These atoms are the only ones that add buffers.
*
* The framebuffer state also needs to set PA_SC_WINDOW_SCISSOR_BR differently from CLEAR_STATE.
*/
si_mark_atom_dirty(ctx, &ctx->atoms.s.framebuffer);
si_mark_atom_dirty(ctx, &ctx->atoms.s.render_cond);