summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
diff options
context:
space:
mode:
authorMai <mai.iam2048@gmail.com>2022-12-28 00:59:03 +0000
committerGitHub <noreply@github.com>2022-12-28 00:59:03 +0000
commit0900e68986a4fa2254fb3c459f73af4815979e45 (patch)
tree1c69cbfcc29dba6cb354823c23c75c546bb0b57a /Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
parent9e9910df8b0c965e1a496d479ad94bc78f918817 (diff)
parent4549fb4acb1ab520dc6481fe4443cdd3d46bd8c2 (diff)
Merge pull request #11384 from AdmiralCurtiss/globals-pixelshadermanager
VideoCommon: De-globalize PixelShaderManager class.
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
index be9e22d4d5..c01335d85a 100644
--- a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
+++ b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
@@ -10,6 +10,8 @@
#include "Common/Logging/Log.h"
#include "Common/MsgHandler.h"
+#include "Core/System.h"
+
#include "VideoBackends/Vulkan/CommandBufferManager.h"
#include "VideoBackends/Vulkan/StateTracker.h"
#include "VideoBackends/Vulkan/VKRenderer.h"
@@ -232,17 +234,20 @@ void VertexManager::UpdateGeometryShaderConstants()
void VertexManager::UpdatePixelShaderConstants()
{
- if (!PixelShaderManager::dirty || !ReserveConstantStorage())
+ auto& system = Core::System::GetInstance();
+ auto& pixel_shader_manager = system.GetPixelShaderManager();
+
+ if (!pixel_shader_manager.dirty || !ReserveConstantStorage())
return;
StateTracker::GetInstance()->SetGXUniformBuffer(
UBO_DESCRIPTOR_SET_BINDING_PS, m_uniform_stream_buffer->GetBuffer(),
m_uniform_stream_buffer->GetCurrentOffset(), sizeof(PixelShaderConstants));
- std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer(), &PixelShaderManager::constants,
+ std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer(), &pixel_shader_manager.constants,
sizeof(PixelShaderConstants));
m_uniform_stream_buffer->CommitMemory(sizeof(PixelShaderConstants));
ADDSTAT(g_stats.this_frame.bytes_uniform_streamed, sizeof(PixelShaderConstants));
- PixelShaderManager::dirty = false;
+ pixel_shader_manager.dirty = false;
}
bool VertexManager::ReserveConstantStorage()
@@ -282,6 +287,9 @@ void VertexManager::UploadAllConstants()
return;
}
+ auto& system = Core::System::GetInstance();
+ auto& pixel_shader_manager = system.GetPixelShaderManager();
+
// Update bindings
StateTracker::GetInstance()->SetGXUniformBuffer(
UBO_DESCRIPTOR_SET_BINDING_PS, m_uniform_stream_buffer->GetBuffer(),
@@ -298,7 +306,7 @@ void VertexManager::UploadAllConstants()
// Copy the actual data in
std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer() + pixel_constants_offset,
- &PixelShaderManager::constants, sizeof(PixelShaderConstants));
+ &pixel_shader_manager.constants, sizeof(PixelShaderConstants));
std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer() + vertex_constants_offset,
&VertexShaderManager::constants, sizeof(VertexShaderConstants));
std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer() + geometry_constants_offset,
@@ -311,7 +319,7 @@ void VertexManager::UploadAllConstants()
// Clear dirty flags
VertexShaderManager::dirty = false;
GeometryShaderManager::dirty = false;
- PixelShaderManager::dirty = false;
+ pixel_shader_manager.dirty = false;
}
void VertexManager::UploadUtilityUniforms(const void* data, u32 data_size)