diff options
| author | JMC47 <JMC4789@gmail.com> | 2026-04-03 13:38:04 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-03 13:38:04 -0400 |
| commit | 798f581c38acfbd9196ba4884cfb9dfd6ef85684 (patch) | |
| tree | 3421446055c78b54837f5d51372c3611fc65eebb /Source/Core/VideoCommon/Resources/CustomResourceManager.cpp | |
| parent | d3b89b4c39a312b52546c3604379b3f51ec3c876 (diff) | |
| parent | 306daff51728d71efa833dfaa5b32b3693178874 (diff) | |
Merge pull request #14140 from iwubcode/blurry_bloom
VideoCommon: add a graphics mod feature to modify EFBs with a custom material, enhance bloom
Diffstat (limited to 'Source/Core/VideoCommon/Resources/CustomResourceManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Resources/CustomResourceManager.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/Source/Core/VideoCommon/Resources/CustomResourceManager.cpp b/Source/Core/VideoCommon/Resources/CustomResourceManager.cpp index ffb16b055a..29e215b8ea 100644 --- a/Source/Core/VideoCommon/Resources/CustomResourceManager.cpp +++ b/Source/Core/VideoCommon/Resources/CustomResourceManager.cpp @@ -43,7 +43,8 @@ void CustomResourceManager::Shutdown() void CustomResourceManager::Reset() { - m_material_resources.clear(); + m_draw_material_resources.clear(); + m_postprocessing_material_resources.clear(); m_shader_resources.clear(); m_texture_data_resources.clear(); m_texture_sampler_resources.clear(); @@ -102,11 +103,11 @@ TextureDataResource* CustomResourceManager::GetTextureDataFromAsset( return resource.get(); } -MaterialResource* CustomResourceManager::GetMaterialFromAsset( +MaterialResource* CustomResourceManager::GetDrawMaterialFromAsset( const CustomAssetLibrary::AssetID& asset_id, const GXPipelineUid& pipeline_uid, std::shared_ptr<VideoCommon::CustomAssetLibrary> library) { - auto& resource = m_material_resources[asset_id][PipelineToHash(pipeline_uid)]; + auto& resource = m_draw_material_resources[asset_id][PipelineToHash(pipeline_uid)]; if (resource == nullptr) { resource = std::make_unique<MaterialResource>( @@ -116,11 +117,24 @@ MaterialResource* CustomResourceManager::GetMaterialFromAsset( return resource.get(); } -ShaderResource* -CustomResourceManager::GetShaderFromAsset(const CustomAssetLibrary::AssetID& asset_id, - std::size_t shader_key, const GXPipelineUid& pipeline_uid, - const std::string& preprocessor_settings, - std::shared_ptr<VideoCommon::CustomAssetLibrary> library) +MaterialResource* CustomResourceManager::GetPostProcessingMaterialFromAsset( + const CustomAssetLibrary::AssetID& asset_id, + std::shared_ptr<VideoCommon::CustomAssetLibrary> library) +{ + auto& resource = m_postprocessing_material_resources[asset_id]; + if (resource == nullptr) + { + resource = + std::make_unique<MaterialResource>(CreateResourceContext(asset_id, std::move(library))); + } + resource->Process(); + return resource.get(); +} + +ShaderResource* CustomResourceManager::GetShaderFromAsset( + const CustomAssetLibrary::AssetID& asset_id, std::size_t shader_key, + const std::optional<GXPipelineUid>& pipeline_uid, const std::string& preprocessor_settings, + std::shared_ptr<VideoCommon::CustomAssetLibrary> library) { auto& resource = m_shader_resources[asset_id][shader_key]; if (resource == nullptr) |
