panvk/csf: add panvk_cache_flush_is_nop

Minor code cleanup.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32693>
This commit is contained in:
Chia-I Wu 2024-12-05 13:10:04 -08:00 committed by Marge Bot
parent a68dcc5de3
commit a74340d825
3 changed files with 10 additions and 6 deletions

View file

@ -437,6 +437,14 @@ panvk_cmd_get_desc_state(struct panvk_cmd_buffer *cmdbuf,
}
}
static bool
panvk_cache_flush_is_nop(const struct panvk_cache_flush_info *cache_flush)
{
return cache_flush->l2 == MALI_CS_FLUSH_MODE_NONE &&
cache_flush->lsc == MALI_CS_FLUSH_MODE_NONE &&
cache_flush->others == MALI_CS_OTHER_FLUSH_MODE_NONE;
}
extern const struct vk_command_buffer_ops panvk_per_arch(cmd_buffer_ops);
void panvk_per_arch(cmd_flush_draws)(struct panvk_cmd_buffer *cmdbuf);

View file

@ -603,9 +603,7 @@ panvk_per_arch(emit_barrier)(struct panvk_cmd_buffer *cmdbuf,
cs_wait_slots(b, deps.src[i].wait_sb_mask);
struct panvk_cache_flush_info cache_flush = deps.src[i].cache_flush;
if (cache_flush.l2 != MALI_CS_FLUSH_MODE_NONE ||
cache_flush.lsc != MALI_CS_FLUSH_MODE_NONE ||
cache_flush.others != MALI_CS_OTHER_FLUSH_MODE_NONE) {
if (!panvk_cache_flush_is_nop(&cache_flush)) {
struct cs_index flush_id = cs_scratch_reg32(b, 0);
cs_move32_to(b, flush_id, 0);

View file

@ -87,9 +87,7 @@ panvk_per_arch(CmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent _event,
cs_case(b, 0) {
struct panvk_cache_flush_info cache_flush = deps.src[i].cache_flush;
if (cache_flush.l2 != MALI_CS_FLUSH_MODE_NONE ||
cache_flush.lsc != MALI_CS_FLUSH_MODE_NONE ||
cache_flush.others != MALI_CS_OTHER_FLUSH_MODE_NONE) {
if (!panvk_cache_flush_is_nop(&cache_flush)) {
/* We rely on r88 being zero since we're in the if (r88 == 0)
* branch. */
cs_flush_caches(b, cache_flush.l2, cache_flush.lsc,