citra-emu
/
citra
Archived
1
0
Fork 0
This repository has been archived on 2024-03-23. You can view files and clone it, but cannot push or open issues or pull requests.
citra/src/common
GPUCode 06f3c90cfb
Custom textures rewrite (#6452)
* common: Add thread pool from yuzu

* Is really useful for asynchronous operations like shader compilation and custom textures, will be used in following PRs

* core: Improve ImageInterface

* Provide a default implementation so frontends don't have to duplicate code registering the lodepng version

* Add a dds version too which we will use in the next commit

* rasterizer_cache: Rewrite custom textures

* There's just too much to talk about here, look at the PR description for more details

* rasterizer_cache: Implement basic pack configuration file

* custom_tex_manager: Flip dumped textures

* custom_tex_manager: Optimize custom texture hashing

* If no convertions are needed then we can hash the decoded data directly removing the needed for duplicate decode

* custom_tex_manager: Implement asynchronous texture loading

* The file loading and decoding is offloaded into worker threads, while the upload itself still occurs in the main thread to avoid having to manage shared contexts

* Address review comments

* custom_tex_manager: Introduce custom material support

* video_core: Move custom textures to separate directory

* Also split the files to make the code cleaner

* gl_texture_runtime: Generate mipmaps for material

* custom_tex_manager: Prevent memory overflow when preloading

* externals: Add dds-ktx as submodule

* string_util: Return vector from SplitString

* No code benefits from passing it as an argument

* custom_textures: Use json config file

* gl_rasterizer: Only bind material for unit 0

* Address review comments
2023-04-27 07:38:28 +03:00
..
aarch64 build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
logging common: Make TrimSourcePath constexpr (#6279) 2023-02-03 19:01:10 +01:00
serialization Fix memory region serialization (OSK crash) 2020-04-10 16:51:01 +01:00
x64 build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
CMakeLists.txt Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
alignment.h common: Resolve C4267 warning on MSVC 2022-05-18 00:05:40 -04:00
android_storage.cpp citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
android_storage.h citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
announce_multiplayer_room.h core, web_service: Check for error when registering rooms 2019-04-20 12:50:14 +08:00
arch.h build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
archives.h Code review actions (plus hopefully fix the linux CI) 2020-03-31 17:54:28 +01:00
assert.h assert.h: add [[unlikely]] (#6454) 2023-04-22 14:36:27 +05:30
atomic_ops.h Core: Port Exclusive memory impl from yuzu 2022-10-23 13:19:33 +05:30
bit_field.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
bit_set.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
cityhash.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
cityhash.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
color.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
common_funcs.h Remove unused includes (#6405) 2023-04-02 06:24:59 +05:30
common_paths.h citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
common_precompiled_headers.h Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213) 2022-12-17 16:06:38 +01:00
common_types.h Core: Port Exclusive memory impl from yuzu 2022-10-23 13:19:33 +05:30
construct.h Code review - general gardening 2020-03-29 16:14:36 +01:00
detached_tasks.cpp Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
detached_tasks.h Review comments - part 5 2018-10-20 10:35:55 -04:00
error.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
error.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
file_util.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
file_util.h citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
hash.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
linear_disk_cache.h added std::vector<V> instead of V* (#5902) 2021-12-18 12:01:09 +05:30
literals.h Address review comments 2022-11-15 11:20:35 +01:00
math_util.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
memory_detect.cpp Address review comments 2022-11-15 11:20:35 +01:00
memory_detect.h Address review comments 2022-11-15 11:20:35 +01:00
memory_ref.cpp Added copyright notices on new files 2020-03-28 15:21:10 +00:00
memory_ref.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
microprofile.cpp Integrate the MicroProfile profiling library 2015-08-24 22:16:28 -03:00
microprofile.h code: Cleanup and warning fixes from the Vulkan PR (#6163) 2022-11-04 23:32:57 +01:00
microprofileui.h Common: Remove section measurement from profiler (#1731) 2016-04-29 00:07:10 -07:00
misc.cpp core\file_sys\archive_sdmc.cpp: Log error message if file failed to open. (#6284) 2023-02-14 22:19:45 +01:00
param_package.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
param_package.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
polyfill_thread.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
precompiled_headers.h Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213) 2022-12-17 16:06:38 +01:00
quaternion.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
ring_buffer.h gcc 11 compatibility fix (suggestion) (#5778) 2021-05-10 22:10:29 -05:00
scm_rev.cpp.in Add shader cache version generation 2020-01-15 19:58:33 -07:00
scm_rev.h Add shader cache version generation 2020-01-15 19:58:33 -07:00
scope_exit.h common/scope_exit: Replace std::move with std::forward in ScopeExit() 2019-04-15 17:55:44 +02:00
settings.cpp Remove remnants of separable shader setting (#6403) 2023-04-26 00:19:02 +02:00
settings.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
string_literal.h common: Add StringLiteral 2022-11-22 22:52:37 +00:00
string_util.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
string_util.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
swap.h general: Fix various spelling errors 2021-01-03 02:39:41 +01:00
telemetry.cpp build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
telemetry.h common/telemetry: Migrate namespace into the Common namespace 2021-01-04 05:17:13 +01:00
texture.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
texture.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
thread.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
thread.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
thread_queue_list.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
thread_worker.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
threadsafe_queue.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
timer.cpp common: Resolve C4267 warning on MSVC 2022-05-18 00:05:40 -04:00
timer.h common: Resolve C4267 warning on MSVC 2022-05-18 00:05:40 -04:00
unique_function.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
vector_math.h src/CMakeLists: Enforce multiple warnings on MSVC (#5692) 2022-11-09 23:14:28 +01:00
web_result.h Put WebResult into a seperate file 2018-10-27 00:39:02 +02:00
zstd_compression.cpp Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
zstd_compression.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00