From 43aae918034a396646e0dde3ca6a9ee3c88f4852 Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Thu, 10 Nov 2022 13:44:28 -0800 Subject: [PATCH] turnip: Make tu_emit_cache_flush_ccu manage flush bits like other paths. Everyone else sets the cache bits directly then calls tu6_emit_flushes on them. Part-of: --- src/freedreno/vulkan/tu_cmd_buffer.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index bfddb9b..f84c65b 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -205,8 +205,6 @@ tu_emit_cache_flush_ccu(struct tu_cmd_buffer *cmd_buffer, struct tu_cs *cs, enum tu_cmd_ccu_state ccu_state) { - enum tu_cmd_flush_bits flushes = cmd_buffer->state.cache.flush_bits; - assert(ccu_state != TU_CMD_CCU_UNKNOWN); /* It's unsafe to flush inside condition because we clear flush_bits */ assert(!cs->cond_stack_depth); @@ -218,14 +216,14 @@ tu_emit_cache_flush_ccu(struct tu_cmd_buffer *cmd_buffer, */ if (ccu_state != cmd_buffer->state.ccu_state) { if (cmd_buffer->state.ccu_state != TU_CMD_CCU_GMEM) { - flushes |= + cmd_buffer->state.cache.flush_bits |= TU_CMD_FLAG_CCU_FLUSH_COLOR | TU_CMD_FLAG_CCU_FLUSH_DEPTH; cmd_buffer->state.cache.pending_flush_bits &= ~( TU_CMD_FLAG_CCU_FLUSH_COLOR | TU_CMD_FLAG_CCU_FLUSH_DEPTH); } - flushes |= + cmd_buffer->state.cache.flush_bits |= TU_CMD_FLAG_CCU_INVALIDATE_COLOR | TU_CMD_FLAG_CCU_INVALIDATE_DEPTH | TU_CMD_FLAG_WAIT_FOR_IDLE; @@ -235,7 +233,7 @@ tu_emit_cache_flush_ccu(struct tu_cmd_buffer *cmd_buffer, TU_CMD_FLAG_WAIT_FOR_IDLE); } - tu6_emit_flushes(cmd_buffer, cs, flushes); + tu6_emit_flushes(cmd_buffer, cs, cmd_buffer->state.cache.flush_bits); cmd_buffer->state.cache.flush_bits = 0; if (ccu_state != cmd_buffer->state.ccu_state) { -- 2.7.4