zink: flush pending clears for fb texture barriers
if a texture barrier occurs while clears are pending, these clears should show up if the fb attachments are read in shaders, so trigger a renderpass to flush out the clears cc: mesa-stable fixes #6766 fixes (radv): dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17363>
This commit is contained in:
parent
6517a2b926
commit
2f3a233b6f
|
@ -10,12 +10,6 @@ dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
|
|||
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
|
||||
dEQP-GLES2.functional.rasterization.primitives.line_loop_wide,Fail
|
||||
dEQP-GLES2.functional.rasterization.primitives.line_strip_wide,Fail
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq,Fail
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq,Fail
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq,Fail
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq,Fail
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq,Fail
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq,Fail
|
||||
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal,Fail
|
||||
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger,Fail
|
||||
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_tessellation_fragment.fbo_bbox_equal,Fail
|
||||
|
@ -31,12 +25,6 @@ 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.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
|
||||
|
|
|
@ -3362,6 +3362,10 @@ zink_texture_barrier(struct pipe_context *pctx, unsigned flags)
|
|||
if (!ctx->framebuffer || !ctx->framebuffer->state.num_attachments)
|
||||
return;
|
||||
|
||||
/* if this is a fb barrier, flush all pending clears */
|
||||
if (ctx->rp_clears_enabled && dst == VK_ACCESS_INPUT_ATTACHMENT_READ_BIT)
|
||||
zink_batch_rp(ctx);
|
||||
|
||||
/* this is not an in-renderpass barrier */
|
||||
if (!ctx->fbfetch_outputs)
|
||||
zink_batch_no_rp(ctx);
|
||||
|
|
Loading…
Reference in New Issue