diff options
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp index 86b2e361ef..025fa2be29 100644 --- a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp +++ b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp @@ -222,17 +222,20 @@ void VertexManager::UpdateVertexShaderConstants() void VertexManager::UpdateGeometryShaderConstants() { - if (!GeometryShaderManager::dirty || !ReserveConstantStorage()) + auto& system = Core::System::GetInstance(); + auto& geometry_shader_manager = system.GetGeometryShaderManager(); + + if (!geometry_shader_manager.dirty || !ReserveConstantStorage()) return; StateTracker::GetInstance()->SetGXUniformBuffer( UBO_DESCRIPTOR_SET_BINDING_GS, m_uniform_stream_buffer->GetBuffer(), m_uniform_stream_buffer->GetCurrentOffset(), sizeof(GeometryShaderConstants)); - std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer(), &GeometryShaderManager::constants, + std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer(), &geometry_shader_manager.constants, sizeof(GeometryShaderConstants)); m_uniform_stream_buffer->CommitMemory(sizeof(GeometryShaderConstants)); ADDSTAT(g_stats.this_frame.bytes_uniform_streamed, sizeof(GeometryShaderConstants)); - GeometryShaderManager::dirty = false; + geometry_shader_manager.dirty = false; } void VertexManager::UpdatePixelShaderConstants() @@ -293,6 +296,7 @@ void VertexManager::UploadAllConstants() auto& system = Core::System::GetInstance(); auto& pixel_shader_manager = system.GetPixelShaderManager(); auto& vertex_shader_manager = system.GetVertexShaderManager(); + auto& geometry_shader_manager = system.GetGeometryShaderManager(); // Update bindings StateTracker::GetInstance()->SetGXUniformBuffer( @@ -314,7 +318,7 @@ void VertexManager::UploadAllConstants() std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer() + vertex_constants_offset, &vertex_shader_manager.constants, sizeof(VertexShaderConstants)); std::memcpy(m_uniform_stream_buffer->GetCurrentHostPointer() + geometry_constants_offset, - &GeometryShaderManager::constants, sizeof(GeometryShaderConstants)); + &geometry_shader_manager.constants, sizeof(GeometryShaderConstants)); // Finally, flush buffer memory after copying m_uniform_stream_buffer->CommitMemory(allocation_size); @@ -322,7 +326,7 @@ void VertexManager::UploadAllConstants() // Clear dirty flags vertex_shader_manager.dirty = false; - GeometryShaderManager::dirty = false; + geometry_shader_manager.dirty = false; pixel_shader_manager.dirty = false; } |
