suyu/src/common
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
..
android android: Input mapping 2024-02-17 12:32:33 -05:00
arm64 Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
fs common: fs: Expand android macros 2024-02-08 14:13:46 -05:00
linux general: conditionally compile gamemode on linux only 2023-11-29 14:26:11 -05:00
logging Port changes from Early Access 2024-04-05 01:58:29 +02:00
windows timer_resolution: Set current process to High QoS 2023-03-05 02:36:31 -05:00
x64 Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
address_space.cpp general: Format licenses as per SPDX guidelines 2022-10-06 21:00:54 +02:00
address_space.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
address_space.inc Fix address space allocator slow path to avoid OOB 2023-05-07 15:11:16 +01:00
algorithm.h General: Fix compilation for GCC 2022-10-06 21:00:53 +02:00
alignment.h fssystem: rework for yuzu style 2023-08-15 17:47:40 -04:00
announce_multiplayer_room.h general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
assert.cpp assert/logging: Stop the logging thread and flush the backends before crashing 2023-12-26 10:35:14 +01:00
assert.h Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442) 2022-12-17 17:16:52 -08:00
atomic_helpers.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
atomic_ops.h atomic_ops: Fix MSVC 2024-01-27 21:42:16 +00:00
bit_cast.h common: make BitCast constexpr 2023-03-07 20:26:56 -05:00
bit_field.h externals: Update to fmt 10 and add format_as formatter for BitField 2023-05-28 15:05:55 -04:00
bit_set.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
bit_util.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
bounded_threadsafe_queue.h Reimplement HardwareOpus 2023-09-16 11:56:25 -04:00
cityhash.cpp chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
cityhash.h chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
CMakeLists.txt Removed custom fibers implementation due to issues caused on Windows 2024-05-08 07:58:20 +02:00
common_funcs.h Make system settings persistent across boots 2023-12-16 06:01:54 +00:00
common_precompiled_headers.h CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
common_types.h Core: Initial implementation of device memory mapping 2024-01-18 21:12:30 -05:00
concepts.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
container_hash.h container_hash: use climits 2023-03-26 10:24:33 -04:00
demangle.cpp scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
demangle.h Move demangle impl to cpp 2023-01-14 05:12:41 +00:00
detached_tasks.cpp general: Silence -Wshadow{,-uncaptured-local} warnings 2023-07-18 19:31:35 -04:00
detached_tasks.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
div_ceil.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
dynamic_library.cpp common: dynamic_library: Add ctor for existing handle. 2023-06-03 00:05:31 -07:00
dynamic_library.h common: dynamic_library: Add ctor for existing handle. 2023-06-03 00:05:31 -07:00
elf.h jit: add support for relr-type relocations 2023-10-11 11:13:19 -04:00
error.cpp common: error: Fix for Android. 2023-06-03 00:05:27 -07:00
error.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
expected.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
fiber.cpp Removed custom fibers implementation due to issues caused on Windows 2024-05-08 07:58:20 +02:00
fiber.h Removed custom fibers implementation due to issues caused on Windows 2024-05-08 07:58:20 +02:00
fixed_point.h general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
free_region_manager.h common: Add free region manager 2023-11-25 00:46:15 -05:00
hash.h Refactor VideoCore to use AS sepparate from Channel. 2022-10-06 21:00:52 +02:00
heap_tracker.cpp heap_tracker: use linear-time mapping eviction 2023-12-27 10:42:27 -05:00
heap_tracker.h heap_tracker: use linear-time mapping eviction 2023-12-27 10:42:27 -05:00
hex_util.cpp chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
hex_util.h service: fs: Skip non user id folders 2024-02-02 13:25:38 -06:00
host_memory.cpp scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
host_memory.h core: track separate heap allocation for linux 2023-12-25 23:30:56 -05:00
input.h input_common: Remove duplicated DriverResult enum 2023-06-28 09:49:47 -06:00
intrusive_list.h common: add intrusive list type 2023-04-29 17:46:26 -04:00
intrusive_red_black_tree.h general: fixes for gcc 13 2023-04-02 19:02:04 -04:00
literals.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
lru_cache.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
lz4_compression.cpp fssystem: rework for yuzu style 2023-08-15 17:47:40 -04:00
lz4_compression.h fssystem: rework for yuzu style 2023-08-15 17:47:40 -04:00
make_unique_for_overwrite.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
math_util.h chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
memory_detect.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
memory_detect.h Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
microprofile.cpp chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
microprofile.h code: dodge PAGE_SIZE #define 2022-08-19 16:08:40 -07:00
microprofileui.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
multi_level_page_table.cpp general: Format licenses as per SPDX guidelines 2022-10-06 21:00:54 +02:00
multi_level_page_table.h General: address feedback 2022-10-06 21:00:54 +02:00
multi_level_page_table.inc general: Format licenses as per SPDX guidelines 2022-10-06 21:00:54 +02:00
nvidia_flags.cpp nvidia_flags: Enable GL Threaded optimizations 2023-10-28 21:26:22 -04:00
nvidia_flags.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
overflow.h Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
page_table.cpp scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
page_table.h kernel: add KPageTableBase 2023-11-10 12:01:35 -05:00
param_package.cpp chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
param_package.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
parent_of_member.h Silence std::aligned_storage warnings as it's deprecated in C++23, 2022-09-01 16:50:41 +01:00
point.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
polyfill_ranges.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
polyfill_thread.h common/polyfill_thread: use std::forward where appropriate, qualify std::move calls 2023-10-13 18:51:11 +03:00
precompiled_headers.h CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
quaternion.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
range_map.h Fixes 'Continous' typo 2023-03-29 19:26:12 -07:00
range_mutex.h smmu: use new range mutex construction for protecting counters 2024-01-31 16:38:51 +01:00
range_sets.h Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
range_sets.inc Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
reader_writer_queue.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
ring_buffer.h common/ring_buffer: Include <limits> header 2024-02-24 02:34:09 +02:00
scm_rev.cpp.in Remove accidental use of standard format instead of libfmt format 2024-04-05 01:58:30 +02:00
scm_rev.h Updated copyright headers 2024-04-05 01:58:30 +02:00
scope_exit.h scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
scratch_buffer.h Fix ScratchBuffer moves 2023-07-04 16:02:58 +01:00
settings.cpp Add option to only optimize SPIRV during load (#13) 2024-07-19 19:14:19 +00:00
settings.h Add option to only optimize SPIRV during load (#13) 2024-07-19 19:14:19 +00:00
settings_common.cpp Fix more typos 2024-01-15 23:26:53 +00:00
settings_common.h general: add default configurations for applet mode 2024-02-09 09:20:53 -05:00
settings_enums.h Add option to only optimize SPIRV during load (#13) 2024-07-19 19:14:19 +00:00
settings_input.cpp core: hid: Split SL and SR buttons 2023-11-11 21:03:15 -06:00
settings_input.h android: Input mapping 2024-02-17 12:32:33 -05:00
settings_setting.h android: Refactor settings to expose more options 2023-12-12 17:25:36 -05:00
signal_chain.cpp android: Add cpu bakend gui toggle 2023-11-25 00:47:28 -05:00
signal_chain.h Address some review comments 2023-11-25 00:47:35 -05:00
slot_vector.h VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
socket_types.h ssl: Reorder inclusions 2023-07-17 15:46:24 -04:00
spin_lock.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
spin_lock.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
stb.cpp cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
stb.h cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
steady_clock.cpp (wall, native)_clock: Rework NativeClock 2023-06-07 21:44:42 -04:00
steady_clock.h steady_clock: Introduce a real time clock 2023-03-07 21:17:46 -05:00
stream.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
stream.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
string_util.cpp audio: rewrite IAudioDevice 2024-02-20 22:15:38 -05:00
string_util.h audio: rewrite IAudioDevice 2024-02-20 22:15:38 -05:00
swap.h Warnings cleanup for GCC 13 and Clang 16 2023-08-25 19:22:31 -04:00
thread.cpp common: use SetThreadDescription API for thread names 2023-10-20 11:41:29 -04:00
thread.h general: remove atomic signal and wait 2023-06-22 09:25:23 -04:00
thread_queue_list.h chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
thread_worker.h general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
threadsafe_queue.h general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
time_zone.cpp Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
time_zone.h common: Move system time zone string detection 2023-06-05 15:15:11 -04:00
tiny_mt.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
tree.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
typed_address.h typed_address: test values are unsigned 2024-02-05 12:47:10 -05:00
uint128.h common: remove unneeded x86-specific header 2022-08-16 15:19:57 -06:00
unique_function.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
uuid.cpp Fix potentially uninitialized local variable warning 2023-06-09 05:12:22 +05:00
uuid.h Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
vector_math.h input_common: Add property to invert an axis button 2023-05-05 17:18:35 -06:00
virtual_buffer.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
virtual_buffer.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
wall_clock.cpp Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
wall_clock.h Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
zstd_compression.cpp zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize 2023-03-23 22:16:20 -04:00
zstd_compression.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00