diff options
Diffstat (limited to 'Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h')
| -rw-r--r-- | Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h index 4760da3124..d609f065fb 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h @@ -4,6 +4,7 @@ #pragma once #include <memory> +#include <optional> #include <string> #include <string_view> #include <vector> @@ -33,7 +34,6 @@ public: std::vector<PipelinePassPassDescription> pass_descriptions); ~CustomPipelineAction(); void OnDrawStarted(GraphicsModActionData::DrawStarted*) override; - void OnTextureCreate(GraphicsModActionData::TextureCreate*) override; private: std::shared_ptr<VideoCommon::CustomAssetLibrary> m_library; @@ -42,13 +42,20 @@ private: { VideoCommon::CachedAsset<VideoCommon::MaterialAsset> m_pixel_material; VideoCommon::CachedAsset<VideoCommon::PixelShaderAsset> m_pixel_shader; - std::vector<VideoCommon::CachedAsset<VideoCommon::GameTextureAsset>> m_game_textures; + + struct CachedTextureAsset + { + VideoCommon::CachedAsset<VideoCommon::GameTextureAsset> m_cached_asset; + std::unique_ptr<AbstractTexture> m_texture; + std::string m_sampler_code; + std::string m_define_code; + }; + std::vector<std::optional<CachedTextureAsset>> m_game_textures; }; std::vector<PipelinePass> m_passes; ShaderCode m_last_generated_shader_code; + ShaderCode m_last_generated_material_code; - bool m_valid = true; - - std::vector<std::string> m_texture_code_names; + std::vector<u8> m_material_data; }; |
