zink: don't pin flush queue threads if no threads exist

Fixes: 270f9c0b06 ("zink: add ZINK_DEBUG=flushsync")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22611>
This commit is contained in:
Mike Blumenkrantz 2023-04-20 13:21:28 -04:00 committed by Marge Bot
parent a9cce40dab
commit e4c4fca16e

View file

@ -272,12 +272,14 @@ zink_set_context_param(struct pipe_context *pctx, enum pipe_context_param param,
unsigned value)
{
struct zink_context *ctx = zink_context(pctx);
struct zink_screen *screen = zink_screen(ctx->base.screen);
switch (param) {
case PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE:
util_set_thread_affinity(zink_screen(ctx->base.screen)->flush_queue.threads[0],
util_get_cpu_caps()->L3_affinity_mask[value],
NULL, util_get_cpu_caps()->num_cpu_mask_bits);
if (screen->threaded_submit)
util_set_thread_affinity(screen->flush_queue.threads[0],
util_get_cpu_caps()->L3_affinity_mask[value],
NULL, util_get_cpu_caps()->num_cpu_mask_bits);
break;
default:
break;