summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/GraphicsModSystem
AgeCommit message (Collapse)Author
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.
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