Module: Mesa Branch: master Commit: abdf396cbeaec2bfe9da2fd773d42fa3022ca8b5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=abdf396cbeaec2bfe9da2fd773d42fa3022ca8b5
Author: Samuel Pitoiset <[email protected]> Date: Wed Sep 12 23:20:38 2018 +0200 radv: fix VK_EXT_conditional_rendering visibility It's actually just the opposite. This fixes the new Sascha conditionalrender demo. CC: 18.2 <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> --- src/amd/vulkan/radv_cmd_buffer.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 33b65b9e77..5b2a45f5ce 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -4468,19 +4468,27 @@ void radv_CmdBeginConditionalRenderingEXT( { RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); RADV_FROM_HANDLE(radv_buffer, buffer, pConditionalRenderingBegin->buffer); - bool inverted; + bool draw_visible = true; uint64_t va; va = radv_buffer_get_va(buffer->bo) + pConditionalRenderingBegin->offset; - inverted = pConditionalRenderingBegin->flags & VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT; + /* By default, if the 32-bit value at offset in buffer memory is zero, + * then the rendering commands are discarded, otherwise they are + * executed as normal. If the inverted flag is set, all commands are + * discarded if the value is non zero. + */ + if (pConditionalRenderingBegin->flags & + VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT) { + draw_visible = false; + } /* Enable predication for this command buffer. */ - si_emit_set_predication_state(cmd_buffer, inverted, va); + si_emit_set_predication_state(cmd_buffer, draw_visible, va); cmd_buffer->state.predicating = true; /* Store conditional rendering user info. */ - cmd_buffer->state.predication_type = inverted; + cmd_buffer->state.predication_type = draw_visible; cmd_buffer->state.predication_va = va; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
