suyu/src/video_core
echosys 7e27e6476d Add option to only optimize SPIRV during load (#13)
Adds a new option "On Load" to the "Optimize SPIRV output" option that turns on optimizations during the loading of the shader cache from disk, but turns it off after that.
The previous checkbox states have been named "Never" for unchecked and "Always" for checked.

The idea is that once the shader cache has most of the shaders in a game cached they can be optimized during initial game startup (where a performance hit matters less) and the few shaders that get compiled during runtime are not optimized to reduce performance hits.

Most of the commit is adding the setting to the Android app, the main logic is in the `gl_shader_cache.cpp` and `vk_pipeline_cache.cpp` files.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/13
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-07-19 19:14:19 +00:00
..
buffer_cache general: workarounds for SMMU syncing issues (#12749) 2024-02-27 15:42:15 +01:00
control video_core: make gpu context aware of rendering program 2024-02-26 11:16:14 -05:00
engines vk_rasterizer: flip scissor y on lower left origin mode (#13122) 2024-02-27 15:40:33 +01:00
host1x fix for amd video playback (green videos) 2024-04-05 01:58:29 +02:00
host_shaders Revert "Added abgr8 srgb to d24s8 conversion shader" 2024-07-06 22:39:54 +02:00
macro scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
query_cache Merge pull request #12499 from Kelebek1/time 2024-01-25 14:19:01 -05:00
renderer_null nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
renderer_opengl Add option to only optimize SPIRV during load (#13) 2024-07-19 19:14:19 +00:00
renderer_vulkan Add option to only optimize SPIRV during load (#13) 2024-07-19 19:14:19 +00:00
texture_cache Merge pull request #13171 from liamwhite/fake-address 2024-02-27 09:42:46 -05:00
textures Revert "HACK: Avoid swizzling and reuploading ASTC image every frame" 2023-08-06 14:55:05 -04:00
vulkan_common Vulkan validation error fix. 2024-04-05 01:58:30 +02:00
cache_types.h RasterizerMemory: Add filtering for flushing/invalidation operations. 2023-01-01 16:43:58 -05:00
capture.h nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
cdma_pusher.cpp Port changes from Early Access 2024-04-05 01:58:29 +02:00
cdma_pusher.h Port changes from Early Access 2024-04-05 01:58:29 +02:00
CMakeLists.txt Disabled problematic MSVC warning-to-errors 2024-05-07 18:57:50 +02:00
compatible_formats.cpp renderer_vulkan: Fix some missing view formats 2023-07-01 16:03:35 +03:00
compatible_formats.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
delayed_destruction_ring.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
dirty_flags.cpp Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong. 2022-10-10 20:59:57 +01:00
dirty_flags.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
dma_pusher.cpp Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
dma_pusher.h ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
fence_manager.h scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
framebuffer_config.cpp video_core: simplify accelerated surface fetch and crop handling between APIs 2024-01-31 11:27:20 -05:00
framebuffer_config.h nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
fsr.cpp video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
fsr.h video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
gpu_thread.cpp Port changes from Early Access 2024-04-05 01:58:29 +02:00
gpu_thread.h nvnflinger/gpu: implement layer stack composition 2024-01-31 11:27:21 -05:00
gpu.cpp Port changes from Early Access 2024-04-05 01:58:29 +02:00
gpu.h Port changes from Early Access 2024-04-05 01:58:29 +02:00
guest_memory.h Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
invalidation_accumulator.h BufferBase: Don't ignore GPU pages. 2023-01-05 14:00:10 -05:00
memory_manager.cpp MemoryManager: Reduce the page table size based on last big page address. 2024-02-01 13:00:36 +01:00
memory_manager.h Port changes from Early Access 2024-04-05 01:58:29 +02:00
precompiled_headers.h CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
present.h gpu: dependency-inject scaling/antialiasing filter state for capture layers 2024-02-09 09:20:53 -05:00
pte_kind.h video_core: Implement memory manager page kind 2022-10-17 15:33:29 +08:00
query_cache.h VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
rasterizer_download_area.h Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
rasterizer_interface.h video_core: simplify accelerated surface fetch and crop handling between APIs 2024-01-31 11:27:20 -05:00
renderer_base.cpp general: Silence -Wshadow{,-uncaptured-local} warnings 2023-07-18 19:31:35 -04:00
renderer_base.h nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
shader_cache.cpp Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
shader_cache.h Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
shader_environment.cpp Fix typos in video_core 2024-01-07 22:44:55 +00:00
shader_environment.h shader_recompiler: use float image operations on load/store when required 2023-12-21 14:34:46 -05:00
shader_notify.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
shader_notify.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
smaa_area_tex.h video_core: Integrate SMAA 2022-12-08 17:17:45 -05:00
smaa_search_tex.h video_core: Integrate SMAA 2022-12-08 17:17:45 -05:00
surface.cpp texture_cache: avoid overestimation of ASTC texture sizes 2024-02-11 13:41:13 -05:00
surface.h texture_cache: avoid overestimation of ASTC texture sizes 2024-02-11 13:41:13 -05:00
transform_feedback.cpp Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
transform_feedback.h Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
video_core.cpp Updated copyright headers 2024-04-05 01:58:30 +02:00
video_core.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00