VideoCommon: add custom shader cache to VertexManagerBase, supporting custom pixel shaders by replacing the existing pipeline with a modified one

This commit is contained in:
iwubcode
2022-09-18 01:00:42 -05:00
parent bedbf2b8c6
commit d320366954
2 changed files with 92 additions and 4 deletions

View File

@ -15,6 +15,7 @@
#include "VideoCommon/ShaderCache.h"
#include "VideoCommon/VideoEvents.h"
class CustomShaderCache;
class DataReader;
class NativeVertexFormat;
class PointerWrap;
@ -128,6 +129,7 @@ public:
m_current_pipeline_object = nullptr;
m_pipeline_config_changed = true;
}
void NotifyCustomShaderCacheOfHostChange(const ShaderHostConfig& host_config);
// Utility pipeline drawing (e.g. EFB copies, post-processing, UI).
virtual void UploadUtilityUniforms(const void* uniforms, u32 uniforms_size);
@ -230,6 +232,8 @@ private:
std::vector<u32> m_scheduled_command_buffer_kicks;
bool m_allow_background_execution = true;
std::unique_ptr<CustomShaderCache> m_custom_shader_cache;
Common::EventHook m_frame_end_event;
};