radv: Don't flush at the start of a command buffer.
The preamble flushes now and the rest is the responsibility of the app. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
5241fb0ffb
commit
8cff852ae2
|
@ -1693,26 +1693,11 @@ VkResult radv_BeginCommandBuffer(
|
||||||
if (cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY) {
|
if (cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY) {
|
||||||
switch (cmd_buffer->queue_family_index) {
|
switch (cmd_buffer->queue_family_index) {
|
||||||
case RADV_QUEUE_GENERAL:
|
case RADV_QUEUE_GENERAL:
|
||||||
/* Flush read caches at the beginning of CS not flushed by the kernel. */
|
|
||||||
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_INV_ICACHE |
|
|
||||||
RADV_CMD_FLAG_PS_PARTIAL_FLUSH |
|
|
||||||
RADV_CMD_FLAG_CS_PARTIAL_FLUSH |
|
|
||||||
RADV_CMD_FLAG_INV_VMEM_L1 |
|
|
||||||
RADV_CMD_FLAG_INV_SMEM_L1 |
|
|
||||||
RADV_CMD_FLUSH_AND_INV_FRAMEBUFFER |
|
|
||||||
RADV_CMD_FLAG_INV_GLOBAL_L2;
|
|
||||||
emit_gfx_buffer_state(cmd_buffer);
|
emit_gfx_buffer_state(cmd_buffer);
|
||||||
radv_set_db_count_control(cmd_buffer);
|
radv_set_db_count_control(cmd_buffer);
|
||||||
si_emit_cache_flush(cmd_buffer);
|
|
||||||
break;
|
break;
|
||||||
case RADV_QUEUE_COMPUTE:
|
case RADV_QUEUE_COMPUTE:
|
||||||
cmd_buffer->state.flush_bits = RADV_CMD_FLAG_INV_ICACHE |
|
|
||||||
RADV_CMD_FLAG_CS_PARTIAL_FLUSH |
|
|
||||||
RADV_CMD_FLAG_INV_VMEM_L1 |
|
|
||||||
RADV_CMD_FLAG_INV_SMEM_L1 |
|
|
||||||
RADV_CMD_FLAG_INV_GLOBAL_L2;
|
|
||||||
si_init_compute(cmd_buffer);
|
si_init_compute(cmd_buffer);
|
||||||
si_emit_cache_flush(cmd_buffer);
|
|
||||||
break;
|
break;
|
||||||
case RADV_QUEUE_TRANSFER:
|
case RADV_QUEUE_TRANSFER:
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue