mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
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:
parent
9fd5561d77
commit
d891bd7c3a
2 changed files with 10 additions and 42 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue