summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/GraphicsModSystem/Runtime
AgeCommit message (Collapse)Author
2026-04-17Improve usage of std::move and const references parametersMartino Fontana
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`. Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move. Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-03-26VideoCommon: watch the user and system graphics mods directories for ↵iwubcode
modified assets
2026-03-26VideoCommon: update CustomPipelineAction to get a Material when an EFB is ↵iwubcode
received
2026-03-26VideoCommon: update graphics mod action interfaceiwubcode
* Add a 'AfterEFB' function to graphics mod action that can return a Material * Rename previous EFB graphics mod function to 'BeforeEFB' to differentiate from 'AfterEFB' * Rename previous XFB graphics mod function to 'BeforeXFB' to mirror EFB
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2025-12-27CustomPipeline: Remove unused functionsJoshua Vandaële
2025-11-21VideoCommon: add method to async shader compiler to clear pending/completed ↵iwubcode
work (used on shutdown), this will in turn clear up any resources that the worker items may have held onto
2025-11-06Common: Remove the string parameters from the HookableEvent interface.Jordan Woyak
2025-11-02Common: Make HookableEvent use non-static data.Jordan Woyak
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2025-11-02Merge pull request #13975 from iwubcode/shader_includesJMC47
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-10-30CustomPipeline.cpp: Fix unused-function warningJoshua Vandaële
This whole file is apparently going away soon.
2025-10-26VideoBackends / VideoCommon: add support for specifying include files in ↵iwubcode
shader code
2025-08-22VideoCommon: further remove 'CustomPipeline' details, so we can fully remove ↵iwubcode
it in the very near future
2025-07-08Avoid map/set double lookupsSintendo
Fix some common anti-patterns with these data structures. - You can dereference the iterator returned by `find` to access the underlying value directly, without an extra `operator[]`/`at`. - Rather than checking for an element before insertion/deletion, you can just do the operation and if needed check the return value to determine if the insertion/deletion succeeded.
2025-06-14Source: Remove redundant lambda parameter listsDr. Dystopia
2025-06-06VideoCommon: rename GameTextureAsset into TextureAsset and make it only ↵iwubcode
contain CustomTextureData. Move validation and load logic to individual functions
2025-06-06Core / VideoCommon: Remove original custom asset loaderiwubcode
2025-03-23Merge pull request #13093 from mitaclaw/ranges-modernization-4-projectionJMC47
Ranges Algorithms Modernization - Projection
2025-03-22VideoCommon: move to a 'process_fragment()' function to simplify custom ↵iwubcode
shaders and provide a direct override of the tev stage logic
2025-03-09Modernize `std::sort` with ranges and projectionsmitaclaw
In PPCTables.cpp, the code is currently unused so I was unable to test it. In CustomPipeline.cpp, a pointer to member function cannot be used due to 16.4.5.2.1 of the C++ Standard regarding "addressable functions". https://eel.is/c++draft/namespace.std#6 In Fs.cpp and DirectoryBlob.cpp, these examples used projections in a previous iteration of this commit, but no longer do. Still, they remain in this commit because the PR they would actually belong to is already merged.
2025-03-09VideoCommon: Move backend_info out of VideoConfig struct.Jordan Woyak
2025-01-01Simplify `std::find` with `Common::Contains`mitaclaw
In NandPaths.cpp, the `std::initializer_list<char>` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp). The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
2024-10-10C++20: Synthesize `operator!=` From `operator==`mitaclaw
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-08-14Use 'contains' methodDr. Dystopia
2024-07-26Adjust order and spacing of various #includesDentomologist
Move some #includes around to match the Contributing guidelines.
2024-05-31VideoCommon: update custom pipeline to use a a texture's sampler if the ↵iwubcode
texture is in use
2024-02-18VideoCommon: move factory names to be a static inside each action class, so ↵iwubcode
that they can be reused in the future for serialization
2024-02-01CustomPipeline: Mark arrays as constexprLioncash
Ensures that these go into the ro section.
2024-02-01CustomPipeline: Make use of emplace_back() in GlobalConflicts()Lioncash
We can use the string_view arguments to directly construct strings inside of the global_result vector.
2024-02-01CustomPipeline: Resolve unused variable warningLioncash
We can just use holds_alternative here instead.
2024-01-31VideoCommon/Statistics: Remove global system accessor from s_after_frame_eventLioncash
Instead, we make the event take a reference to the system and then pass it in when the event is triggered. This does introduce two other accessors, but these are much easier to refactor out over time, and without modification to the existing event interface.
2024-01-27VideoCommon: refactor the custom pipeline logic in the graphics mod action ↵iwubcode
into a separate class, so it is reusable
2024-01-26Merge pull request #12443 from iwubcode/custom_pipeline_action_material_cubemapMai
VideoCommon: update custom pipeline action to support a variety of texture samplers, support for materials, and more!
2024-01-13Merge pull request #12285 from iwubcode/serialize_graphics_modsMai
VideoCommon: add ability to serialize graphics mod to json object
2024-01-03Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android ↵iwubcode
devices." This reverts commit 79648e1c24eac81f54365bbcb6dbc49ad6b16b1c.
2023-12-21VideoCommon: revert max pixel shader samplers back to 8 for Android devices.iwubcode
It was reported that some games (Zelda Wind Waker and Zelda Twilight Princess but others may also exhibit the issue) have graphical issues with the max pixel samplers set to 16 on some Android devices (ex: Pixel6); since this was increased for a performance heavy feature (custom shaders) just disable it for now. In the future, this could be handled more elegantly
2023-12-19VideoCommon: update custom pipeline action to support a variety of texture ↵iwubcode
samplers (2D, 2D array, and cube maps)
2023-12-12VideoCommon: prepare graphics mods for custom shader material dataiwubcode
2023-12-12Merge pull request #12240 from iwubcode/material_asset_additional_propertiesMai
VideoCommon: add additional data types to material asset
2023-12-11CustomShaderCache: Resolve -Wreorder warningsLioncash
Lays out the initializer lists to be in the same order that initialization would occur in.
2023-12-10VideoCommon: add ability to serialize graphics mod to json objectiwubcode
2023-12-04VideoCommon: add additional data types (int, int2, float, bool, etc) as ↵iwubcode
properties of materials and some helper functions to support sending the data to the GPU
2023-10-10VideoCommon: instead of using 'CustomTextureData' directly, use ↵iwubcode
'TextureData' for texture assets, this allows us to provide additional metadata for textures. Such as a sampler or type information (to distinguish cube maps)
2023-09-04Merge pull request #12137 from iwubcode/custom_pipeline_more_error_checkingJMC47
VideoCommon: additional error checking for CustomPipelineAction
2023-09-02VideoCommon: add loading cube maps from DDS files and loading it into our ↵iwubcode
custom texture object. Custom texture object now has the concept of slices in addition to levels. Traditional custom textures have a single slice
2023-08-24VideoCommon: additional error checking for CustomPipelineAction and move the ↵iwubcode
pixel shader asset cache time back to being calculated during texture creation
2023-08-20VideoCommon: add support to graphics mod manager to load in assets and pass ↵iwubcode
it to graphics actions
2023-08-20VideoCommon: add custom pipeline actioniwubcode
2023-08-20VideoCommon: add custom shader cacheiwubcode
2023-08-20VideoCommon: add data needed to support custom pixel shaders to graphics mod ↵iwubcode
actions