summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/GraphicsModSystem
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: allow graphics mods to be added to sub foldersiwubcode
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-06VideoCommon: move AssetMap to a types header file, so it can be pulled in ↵iwubcode
without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
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-11GraphicsMod: Simplify `std::sort` using ranges and projectionsmitaclaw
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-06-15Merge pull request #12818 from iwubcode/json_file_operationsAdmiral H. Curtiss
Common: add Json helper utilities for loading or saving to a file
2024-05-31VideoCommon: update custom pipeline to use a a texture's sampler if the ↵iwubcode
texture is in use
2024-05-31InputCommon / VideoCommon: update to use new JsonFromFile functioniwubcode
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-31Merge pull request #12546 from lioncash/eventAdmiral H. Curtiss
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
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-31GraphicsModGroup: std::move graphics_mod in Load()Lioncash
The config object is quite heavyweight, so we should move this instead of copying.
2024-01-31GraphicsModGroup: Simplify try_add_mod()Lioncash
We can use contains() here, and also move the mod config if it's valid instead of copying it, since it contains quite a bit of allocated data.
2024-01-31GraphicsModGroup: Allow heterogenous lookup for GetMod()Lioncash
Allows using keys that aren't directly std::string as the key. This lets us use std::string_view for the incoming path name, making it more flexible with other string types.
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 #12532 from lioncash/jsonAdmiral H. Curtiss
GraphicsMod/ShaderAsset: Lessen object churn a little bit
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-24GraphicsTarget: Reduce object churn a littleLioncash
2024-01-24GraphicsTargetGroup: Reduce object churn a littleLioncash
2024-01-24GraphicsModFeature: Reduce object churn a littleLioncash
2024-01-24GraphicsModAsset: Reduce object churn a littleLioncash
2024-01-24GraphicsModGroup: Mark move constructor and assignment as noexceptLioncash
Allows containers to optimize off of std::move_if_noexcept
2024-01-24GraphicsModGroup: Reduce object churnLioncash
We can emplace and move to avoid doing object copies.
2024-01-24GraphicsMod: Avoid some object churnLioncash
We have quite a bit of allocation churn going on here, so we can emplace and move where appropriate to alleviate that a little.