summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/GraphicsModSystem
AgeCommit message (Collapse)Author
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
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-22VideoCommon/GraphicsModAsset: Error out if config key is not a string.iwubcode
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
2023-07-02VideoCommon: call into graphics mods create texture callback, providing ↵iwubcode
additional asset dependencies that trigger the texture to be reloaded
2023-06-20VideoCommon: add graphics mod callback interface for when a texture is creatediwubcode
2023-06-02VideoCommon: move custom texture data to assetsiwubcode
2023-05-30VideoCommon: check whether action was successfully created before adding ↵iwubcode
targets for a graphics mod
2023-05-29VideoCommon: fix bug in GraphicsModManager where a separate action was being ↵iwubcode
created for each target
2023-03-01VideoCommon: add class to load custom texture dataiwubcode