From 6f6735eb5cd108a7576d3c90e003ec4974fdef9f Mon Sep 17 00:00:00 2001 From: korenkonder Date: Sun, 13 Apr 2025 03:34:48 +0300 Subject: [PATCH] Don't create shader cache file if it's said to ignore shader cache --- src/DivaGL/shader.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/DivaGL/shader.cpp b/src/DivaGL/shader.cpp index f7ca2b4..7a68e8f 100644 --- a/src/DivaGL/shader.cpp +++ b/src/DivaGL/shader.cpp @@ -581,8 +581,9 @@ void shader_set_data::load(farc* f, bool ignore_cache, programs[k] = shader_compile_binary(vert_succ ? temp_vert.c_str() : 0, frag_succ ? temp_frag.c_str() : 0, vert_buf, frag_buf, &program_data_binary.back(), &buffer_size, &binary); + + shader_cache_changed |= !!programs[k]; } - shader_cache_changed |= programs[k] ? true : false; } else { program_data_binary.push_back({}); @@ -621,8 +622,9 @@ void shader_set_data::load(farc* f, bool ignore_cache, programs[0] = shader_compile_binary(vert_succ ? temp_vert.c_str() : 0, frag_succ ? temp_frag.c_str() : 0, vert_buf, frag_buf, &program_data_binary.back(), &buffer_size, &binary); + + shader_cache_changed |= !!programs[0]; } - shader_cache_changed |= programs[0] ? true : false; } else { program_data_binary.push_back({}); @@ -690,7 +692,7 @@ void shader_set_data::load(farc* f, bool ignore_cache, } free_def(binary); - if (shader_cache_changed) + if (!ignore_cache && shader_cache_changed) shader_cache_farc.write(temp_buf, FARC_FArC, FARC_NONE, true, false); this->get_index_by_name_func = get_index_by_name;