diff options
| author | Scott Mansell <phiren@gmail.com> | 2023-01-31 00:46:10 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2023-01-31 19:41:24 +1300 |
| commit | 0da69055d9f41d838bdf94b66805540c746eaa7d (patch) | |
| tree | 74363fda70c41594e6a24d64d8e62bc78d26685f /Source/Core/VideoCommon/VertexManagerBase.cpp | |
| parent | 2a18b34a73f4f1bc798dab0a5eec46c222ec7429 (diff) | |
Split out everying remaining from Swap
Diffstat (limited to 'Source/Core/VideoCommon/VertexManagerBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexManagerBase.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/VertexManagerBase.cpp b/Source/Core/VideoCommon/VertexManagerBase.cpp index 34fe374d25..895ddb1372 100644 --- a/Source/Core/VideoCommon/VertexManagerBase.cpp +++ b/Source/Core/VideoCommon/VertexManagerBase.cpp @@ -105,6 +105,7 @@ VertexManagerBase::~VertexManagerBase() = default; bool VertexManagerBase::Initialize() { + m_frame_end_event = AfterFrameEvent::Register([this] { OnEndFrame();}, "VertexManagerBase"); m_index_generator.Init(); m_cpu_cull.Init(); return true; @@ -996,4 +997,10 @@ void VertexManagerBase::OnEndFrame() #endif m_cpu_accesses_this_frame.clear(); + + // We invalidate the pipeline object at the start of the frame. + // This is for the rare case where only a single pipeline configuration is used, + // and hybrid ubershaders have compiled the specialized shader, but without any + // state changes the specialized shader will not take over. + InvalidatePipelineObject(); } |
