iwubcode
a1147dae6e
VideoCommon: move factory names to be a static inside each action class, so that they can be reused in the future for serialization
2024-02-18 15:45:10 -06:00
Lioncash
7096f99f79
CustomPipeline: Mark arrays as constexpr
...
Ensures that these go into the ro section.
2024-02-01 23:02:45 -05:00
Lioncash
59211589b9
CustomPipeline: Make use of emplace_back() in GlobalConflicts()
...
We can use the string_view arguments to directly construct strings
inside of the global_result vector.
2024-02-01 23:02:45 -05:00
Lioncash
353ceedb50
CustomPipeline: Resolve unused variable warning
...
We can just use holds_alternative here instead.
2024-02-01 23:02:45 -05:00
Admiral H. Curtiss
da6b5dd38a
Merge pull request #12546 from lioncash/event
...
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
2024-01-31 21:16:21 +01:00
Lioncash
cac66317aa
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
...
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-31 13:12:09 -05:00
Lioncash
40b050fe37
GraphicsModGroup: std::move graphics_mod in Load()
...
The config object is quite heavyweight, so we should move this instead
of copying.
2024-01-31 12:27:43 -05:00
Lioncash
ccacda5e2c
GraphicsModGroup: Simplify try_add_mod()
...
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-31 12:23:21 -05:00
Lioncash
a1879ea099
GraphicsModGroup: Allow heterogenous lookup for GetMod()
...
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-31 12:05:17 -05:00
iwubcode
3e3967ff94
VideoCommon: refactor the custom pipeline logic in the graphics mod action into a separate class, so it is reusable
2024-01-27 00:12:49 -06:00
Admiral H. Curtiss
c3652a7129
Merge pull request #12532 from lioncash/json
...
GraphicsMod/ShaderAsset: Lessen object churn a little bit
2024-01-26 18:52:52 +01:00
Mai
a553308775
Merge pull request #12443 from iwubcode/custom_pipeline_action_material_cubemap
...
VideoCommon: update custom pipeline action to support a variety of texture samplers, support for materials, and more!
2024-01-26 12:39:37 -05:00
Lioncash
7a59ecc39d
GraphicsTarget: Reduce object churn a little
2024-01-24 23:00:01 -05:00
Lioncash
1b7da37114
GraphicsTargetGroup: Reduce object churn a little
2024-01-24 22:52:58 -05:00
Lioncash
24f952c12b
GraphicsModFeature: Reduce object churn a little
2024-01-24 22:48:53 -05:00
Lioncash
0385b40bd8
GraphicsModAsset: Reduce object churn a little
2024-01-24 22:47:22 -05:00
Lioncash
2253d9a95d
GraphicsModGroup: Mark move constructor and assignment as noexcept
...
Allows containers to optimize off of std::move_if_noexcept
2024-01-24 22:41:30 -05:00
Lioncash
0327b11e0b
GraphicsModGroup: Reduce object churn
...
We can emplace and move to avoid doing object copies.
2024-01-24 22:40:05 -05:00
Lioncash
e3e20df185
GraphicsMod: Avoid some object churn
...
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-24 22:34:50 -05:00
Mai
c76dee7807
Merge pull request #12285 from iwubcode/serialize_graphics_mods
...
VideoCommon: add ability to serialize graphics mod to json object
2024-01-13 14:15:14 -05:00
iwubcode
1073722cdf
Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android devices."
...
This reverts commit 79648e1c24
.
2024-01-03 18:43:44 -06:00
iwubcode
79648e1c24
VideoCommon: revert max pixel shader samplers back to 8 for Android devices.
...
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-21 00:36:44 -06:00
iwubcode
ae758f489a
VideoCommon: update custom pipeline action to support a variety of texture samplers (2D, 2D array, and cube maps)
2023-12-19 21:51:42 -06:00
iwubcode
b1d9e13d75
VideoCommon: prepare graphics mods for custom shader material data
2023-12-12 17:56:26 -06:00
Mai
ea3033731d
Merge pull request #12240 from iwubcode/material_asset_additional_properties
...
VideoCommon: add additional data types to material asset
2023-12-12 18:38:20 -05:00
Lioncash
2b2ee61e79
CustomShaderCache: Resolve -Wreorder warnings
...
Lays out the initializer lists to be in the same order that
initialization would occur in.
2023-12-11 16:59:03 -05:00
iwubcode
3658d3bffe
VideoCommon: add ability to serialize graphics mod to json object
2023-12-10 18:29:21 -06:00
iwubcode
e204b3c8ee
VideoCommon: add additional data types (int, int2, float, bool, etc) as properties of materials and some helper functions to support sending the data to the GPU
2023-12-04 00:12:31 -06:00
iwubcode
0e8f8ea930
VideoCommon: instead of using 'CustomTextureData' directly, use '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-10-10 09:58:14 -05:00
JMC47
82ea4f4c70
Merge pull request #12137 from iwubcode/custom_pipeline_more_error_checking
...
VideoCommon: additional error checking for CustomPipelineAction
2023-09-04 22:43:41 -04:00
iwubcode
62fee2f3b6
VideoCommon: add loading cube maps from DDS files and loading it into our custom texture object. Custom texture object now has the concept of slices in addition to levels. Traditional custom textures have a single slice
2023-09-02 20:20:09 -05:00
iwubcode
9223540bf4
VideoCommon: additional error checking for CustomPipelineAction and move the pixel shader asset cache time back to being calculated during texture creation
2023-08-24 00:47:48 -05:00
iwubcode
55fba7c0ed
VideoCommon/GraphicsModAsset: Error out if config key is not a string.
2023-08-22 02:40:08 +02:00
iwubcode
5506121685
VideoCommon: add support to graphics mod manager to load in assets and pass it to graphics actions
2023-08-20 18:53:27 -05:00
iwubcode
c7191382be
VideoCommon: add custom pipeline action
2023-08-20 18:53:27 -05:00
iwubcode
bedbf2b8c6
VideoCommon: add custom shader cache
2023-08-20 18:53:27 -05:00
iwubcode
dbaf24ef09
VideoCommon: add data needed to support custom pixel shaders to graphics mod actions
2023-08-20 18:53:27 -05:00
iwubcode
0539bb4a3e
VideoCommon: call into graphics mods create texture callback, providing additional asset dependencies that trigger the texture to be reloaded
2023-07-02 13:45:09 -05:00
iwubcode
1d767c3a5b
VideoCommon: add graphics mod callback interface for when a texture is created
2023-06-20 19:26:53 -05:00
iwubcode
e028d2ead0
VideoCommon: move custom texture data to assets
2023-06-02 14:07:42 -05:00
iwubcode
0afb8c247f
VideoCommon: check whether action was successfully created before adding targets for a graphics mod
2023-05-30 09:32:59 -05:00
iwubcode
bbf3efb17d
VideoCommon: fix bug in GraphicsModManager where a separate action was being created for each target
2023-05-29 23:08:35 -05:00
iwubcode
3e35255983
VideoCommon: add class to load custom texture data
2023-03-01 11:58:37 -06:00
iwubcode
20dc4401c5
VideoCommon: pass a graphics mod base path to the graphics mod, so it can lookup other relative files if necessary
2023-02-11 00:21:40 -06:00
Pokechu22
95bee485c9
GraphicsModManager: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Scott Mansell
60f2b5af7b
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com>
Co-authored-by: BhaaL <bhaalsen@gmail.com>
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
Scott Mansell
ca5ec13e13
Move GraphicsMod out of RenderBase
2023-01-31 19:41:24 +13:00
iwubcode
ea3e133200
VideoCommon: call texture load graphics mod hook when Dolphin loads a texture
2022-10-28 19:24:43 -05:00