Commit efa0c384 authored by Bas Nieuwenhuizen's avatar Bas Nieuwenhuizen Committed by Emil Velikov
Browse files

radv: Do a cache flush if needed before reading predicates.

This caused random failures for two conditional rendering tests:

dEQP-VK.conditional_rendering.draw_clear.draw.update_with_rendering_discard
dEQP-VK.conditional_rendering.draw_clear.draw.update_with_rendering_no_discard

These wrote the predicate with the vertex shader, did a barrier and then
started the conditional rendering. However the cache flushes for the barrier
only happen on first draw, so after the predicate has been read.

Fixes: e45ba51e

 "radv: add support for VK_EXT_conditional_rendering"
Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
(cherry picked from commit 8c93ef5d)
parent 99da650b
......@@ -4657,6 +4657,8 @@ void radv_CmdBeginConditionalRenderingEXT(
draw_visible = false;
}
si_emit_cache_flush(cmd_buffer);
/* Enable predication for this command buffer. */
si_emit_set_predication_state(cmd_buffer, draw_visible, va);
cmd_buffer->state.predicating = true;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment