radv/gfx10: make GDS idle when leaving the IB
NGG streamout uses GDS and we have to make sure that another process isn't going to overwrite GDS while our shaders are busy. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
2d89d8f333
commit
7314f6ef97
|
@ -3615,6 +3615,13 @@ VkResult radv_EndCommandBuffer(
|
|||
*/
|
||||
cmd_buffer->state.flush_bits |= cmd_buffer->active_query_flush_bits;
|
||||
|
||||
/* Since NGG streamout uses GDS, we need to make GDS idle when
|
||||
* we leave the IB, otherwise another process might overwrite
|
||||
* it while our shaders are busy.
|
||||
*/
|
||||
if (cmd_buffer->gds_needed)
|
||||
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_PS_PARTIAL_FLUSH;
|
||||
|
||||
si_emit_cache_flush(cmd_buffer);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue