From fd28c4bcf96b2ecfc3a8ef49a49f642abd56f564 Mon Sep 17 00:00:00 2001 From: korenkonder Date: Sat, 9 Dec 2023 09:41:28 +0300 Subject: [PATCH] Cache shaders --- src/DivaGL/shader_glsl.cpp | 3 ++- src/DivaGL/shader_table.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/DivaGL/shader_glsl.cpp b/src/DivaGL/shader_glsl.cpp index 67f32a3..6bbe7aa 100644 --- a/src/DivaGL/shader_glsl.cpp +++ b/src/DivaGL/shader_glsl.cpp @@ -659,6 +659,7 @@ void shader_glsl_set_data::load(farc* f, bool ignore_cache, bin_size += align_val(k.length, 0x04); shader_cache_file->data = force_malloc(bin_size); shader_cache_file->size = bin_size; + shader_cache_file->compressed = true; shader_cache_file->data_changed = true; ((uint64_t*)shader_cache_file->data)[0] = vert_data_hash; @@ -697,7 +698,7 @@ void shader_glsl_set_data::load(farc* f, bool ignore_cache, free_def(temp_vert); free_def(temp_frag); - if (shader_cache_changed) + if (!ignore_cache && shader_cache_changed) shader_cache_farc.write(temp_buf, FARC_FArC, FARC_NONE, false); this->get_index_by_name_func = get_index_by_name; diff --git a/src/DivaGL/shader_table.cpp b/src/DivaGL/shader_table.cpp index 7bd1fc2..41b7bc4 100644 --- a/src/DivaGL/shader_table.cpp +++ b/src/DivaGL/shader_table.cpp @@ -147,7 +147,7 @@ void FASTCALL shader_load_all_shaders() { { farc f; f.read("plugins\\divagl_ft_shaders.farc", true, false); - shaders_ft.load(&f, true, "ft", shader_ft_table, shader_ft_table_size, + shaders_ft.load(&f, false, "ft", shader_ft_table, shader_ft_table_size, shader_ft_bind_func_table, shader_ft_bind_func_table_size, shader_ft_get_index_by_name); }