diff --git a/src/gallium/drivers/panfrost/pan_csf.c b/src/gallium/drivers/panfrost/pan_csf.c index df92ab4e49e..08402f0692e 100644 --- a/src/gallium/drivers/panfrost/pan_csf.c +++ b/src/gallium/drivers/panfrost/pan_csf.c @@ -167,7 +167,7 @@ csf_oom_handler_init(struct panfrost_context *ctx) cs_wait_slot(&b, 0); /* Run the fragment job and wait */ - cs_select_sb_entries_for_async_ops(&b, 3); + cs_select_endpoint_sb(&b, 3); cs_run_fragment(&b, MALI_TILE_RENDER_ORDER_Z_ORDER, false); cs_wait_slot(&b, 3); @@ -197,7 +197,7 @@ csf_oom_handler_init(struct panfrost_context *ctx) cs_wait_slot(&b, 0); - cs_select_sb_entries_for_async_ops(&b, 2); + cs_select_endpoint_sb(&b, 2); } assert(cs_is_valid(&b)); @@ -272,7 +272,7 @@ GENX(csf_init_batch)(struct panfrost_batch *batch) /* Set up entries */ struct cs_builder *b = batch->csf.cs.builder; - cs_select_sb_entries_for_async_ops(b, 2); + cs_select_endpoint_sb(b, 2); batch->framebuffer = alloc_fbd(batch); if (!batch->framebuffer.gpu) diff --git a/src/panfrost/genxml/cs_builder.h b/src/panfrost/genxml/cs_builder.h index 2c431d2ddcf..b52957e0147 100644 --- a/src/panfrost/genxml/cs_builder.h +++ b/src/panfrost/genxml/cs_builder.h @@ -1923,14 +1923,15 @@ cs_set_state_imm32(struct cs_builder *b, enum mali_cs_set_state_type state, /* * Select which scoreboard entry will track endpoint tasks. - * On v10, this also set other endpoint to SB0. + * On v10, this also set the "other" SB to the ls_sb_slot passed at config + * time, because there's no way to set those things independently. * Pass to cs_wait to wait later. */ static inline void -cs_select_sb_entries_for_async_ops(struct cs_builder *b, unsigned ep) +cs_select_endpoint_sb(struct cs_builder *b, unsigned ep) { #if PAN_ARCH == 10 - cs_set_scoreboard_entry(b, ep, 0); + cs_set_scoreboard_entry(b, ep, b->conf.ls_sb_slot); #else cs_set_state_imm32(b, MALI_CS_SET_STATE_TYPE_SB_SEL_ENDPOINT, ep); #endif diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c index 33996223be0..1d7d3ac461f 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c @@ -810,7 +810,7 @@ panvk_per_arch(cs_next_iter_sb)(struct panvk_cmd_buffer *cmdbuf, cs_match_iter_sb(b, x, iter_sb, cmp_scratch) { cs_wait_slot(b, SB_ITER(x)); - cs_select_sb_entries_for_async_ops(b, SB_ITER(x)); + cs_select_endpoint_sb(b, SB_ITER(x)); } cs_store32(b, iter_sb, cs_subqueue_ctx_reg(b),