diff --git a/src/mesa/main/glthread.c b/src/mesa/main/glthread.c index edda1a54b34..2e2f2de9bcf 100644 --- a/src/mesa/main/glthread.c +++ b/src/mesa/main/glthread.c @@ -152,6 +152,9 @@ _mesa_glthread_init(struct gl_context *ctx) glthread->LastDListChangeBatchIndex = -1; + /* glthread takes over all L3 pinning */ + ctx->st->pin_thread_counter = ST_L3_PINNING_DISABLED; + /* Execute the thread initialization function in the thread. */ struct util_queue_fence fence; util_queue_fence_init(&fence); diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index bf198ad837a..167ef63e0b0 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -91,8 +91,6 @@ prepare_draw(struct st_context *st, struct gl_context *ctx, uint64_t state_mask) * running on. The main thread can move between CCXs. */ if (unlikely(st->pin_thread_counter != ST_L3_PINNING_DISABLED && - /* no glthread */ - !ctx->GLThread.enabled && /* do it occasionally */ ++st->pin_thread_counter % 512 == 0)) { st->pin_thread_counter = 0;