diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c index 19bcded5b13..b4e85d6effc 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.c +++ b/src/gallium/auxiliary/util/u_threaded_context.c @@ -3552,7 +3552,7 @@ tc_set_context_param(struct pipe_context *_pipe, { struct threaded_context *tc = threaded_context(_pipe); - if (param == PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE) { + if (param == PIPE_CONTEXT_PARAM_UPDATE_THREAD_SCHEDULING) { util_thread_sched_apply_policy(tc->queue.threads[0], UTIL_THREAD_THREADED_CONTEXT, value, NULL); diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index f922435a159..5ddc3266527 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -470,7 +470,7 @@ static void si_set_context_param(struct pipe_context *ctx, enum pipe_context_par struct radeon_winsys *ws = ((struct si_context *)ctx)->ws; switch (param) { - case PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE: + case PIPE_CONTEXT_PARAM_UPDATE_THREAD_SCHEDULING: ws->pin_threads_to_L3_cache(ws, value); break; default:; diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index cd30c4d3f9e..b5775216e69 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -329,7 +329,7 @@ zink_set_context_param(struct pipe_context *pctx, enum pipe_context_param param, struct zink_screen *screen = zink_screen(ctx->base.screen); switch (param) { - case PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE: + case PIPE_CONTEXT_PARAM_UPDATE_THREAD_SCHEDULING: if (screen->threaded_submit) util_thread_sched_apply_policy(screen->flush_queue.threads[0], UTIL_THREAD_DRIVER_SUBMIT, value, NULL); diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 11328563a54..1dea74ea2e0 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -1101,13 +1101,10 @@ enum pipe_resource_param */ enum pipe_context_param { - /* A hint for the driver that it should pin its execution threads to - * a group of cores sharing a specific L3 cache if the CPU has multiple - * L3 caches. This is needed for good multithreading performance on - * AMD Zen CPUs. "value" is the L3 cache index. Drivers that don't have - * any internal threads or don't run on affected CPUs can ignore this. + /* Call util_thread_sched_apply_policy() for each driver thread that + * benefits from it. */ - PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE, + PIPE_CONTEXT_PARAM_UPDATE_THREAD_SCHEDULING, }; /** diff --git a/src/mesa/main/glthread.c b/src/mesa/main/glthread.c index 8f3c15e1f22..76033e85b2a 100644 --- a/src/mesa/main/glthread.c +++ b/src/mesa/main/glthread.c @@ -334,7 +334,7 @@ _mesa_glthread_flush_batch(struct gl_context *ctx) &glthread->thread_sched_state)) { /* If it's successful, apply the policy to the driver threads too. */ ctx->pipe->set_context_param(ctx->pipe, - PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE, + PIPE_CONTEXT_PARAM_UPDATE_THREAD_SCHEDULING, cpu); } } diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 13672a8e934..f881153c3d9 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -104,7 +104,7 @@ st_prepare_draw(struct gl_context *ctx, uint64_t state_mask) if (L3_cache != U_CPU_INVALID_L3) { pipe->set_context_param(pipe, - PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE, + PIPE_CONTEXT_PARAM_UPDATE_THREAD_SCHEDULING, cpu); } }