diff --git a/.pick_status.json b/.pick_status.json index 554a5774091..7e97565b19b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1044,7 +1044,7 @@ "description": "panvk/csf: use DEFERRED_FLUSH for fragment job cache flush", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "443ddace70695bd490d959d783e22ad49c69ccb2", "notes": null diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c index 4bffba41e25..e99ca634837 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c @@ -3622,12 +3622,16 @@ issue_fragment_jobs(struct panvk_cmd_buffer *cmdbuf) * indirect mode */ cs_set_state_imm32(b, MALI_CS_SET_STATE_TYPE_SB_SEL_DEFERRED, SB_ID(DEFERRED_FLUSH)); +#else + async = cs_defer(SB_WAIT_ITER(sb_upd_ctx.cur_sb), SB_ID(DEFERRED_FLUSH)); #endif cs_flush_caches(b, MALI_CS_FLUSH_MODE_CLEAN, MALI_CS_FLUSH_MODE_CLEAN, MALI_CS_OTHER_FLUSH_MODE_NONE, flush_id, async); #if PAN_ARCH >= 11 cs_set_state_imm32(b, MALI_CS_SET_STATE_TYPE_SB_SEL_DEFERRED, SB_ID(DEFERRED_SYNC)); +#else + async = cs_defer(SB_WAIT_ITER(sb_upd_ctx.cur_sb), SB_ID(DEFERRED_SYNC)); #endif cs_load64_to(b, oq_chain, cs_subqueue_ctx_reg(b),