From 37ac8f5e79c8883892e08183aa447d97fbaef6e7 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 2 Oct 2024 15:51:59 +1000 Subject: [PATCH] glsl: move shader cache lookup call to st MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The nir shader cache read call is just below this call now so the code is easier to follow. Reviewed-by: Alejandro Piñeiro Reviewed-by: Marek Olšák Part-of: --- src/compiler/glsl/linker.cpp | 5 ----- src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 ++++++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index e6ae176f3e6..15ae3c92002 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -115,9 +115,4 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) linker_error(prog, "no shaders attached to the program\n"); return; } - -#ifdef ENABLE_SHADER_CACHE - if (shader_cache_read_program_metadata(ctx, prog)) - return; -#endif } diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp index e873d17aeb5..d70aff22922 100644 --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp @@ -985,9 +985,13 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) prog->data->spirv = spirv; if (prog->data->LinkStatus) { - if (!spirv) + if (!spirv) { link_shaders(ctx, prog); - else + +#ifdef ENABLE_SHADER_CACHE + shader_cache_read_program_metadata(ctx, prog); +#endif + } else _mesa_spirv_link_shaders(ctx, prog); }