summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends')
-rw-r--r--Source/Core/VideoBackends/D3D/D3DVertexManager.cpp3
-rw-r--r--Source/Core/VideoBackends/D3D/D3DVertexManager.h1
-rw-r--r--Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp3
-rw-r--r--Source/Core/VideoBackends/D3D12/D3D12VertexManager.h1
-rw-r--r--Source/Core/VideoBackends/OGL/OGLVertexManager.cpp6
-rw-r--r--Source/Core/VideoBackends/OGL/OGLVertexManager.h1
-rw-r--r--Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp3
-rw-r--r--Source/Core/VideoBackends/Vulkan/VKVertexManager.h1
8 files changed, 18 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/D3D/D3DVertexManager.cpp b/Source/Core/VideoBackends/D3D/D3DVertexManager.cpp
index c88fee33ee..d9be7faf2f 100644
--- a/Source/Core/VideoBackends/D3D/D3DVertexManager.cpp
+++ b/Source/Core/VideoBackends/D3D/D3DVertexManager.cpp
@@ -255,7 +255,10 @@ void VertexManager::CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_in
ADDSTAT(g_stats.this_frame.bytes_vertex_streamed, vertexBufferSize);
ADDSTAT(g_stats.this_frame.bytes_index_streamed, indexBufferSize);
+}
+void VertexManager::BindCommittedBuffer(u32 vertex_stride)
+{
D3D::stateman->SetVertexBuffer(m_buffers[m_current_buffer].Get(), vertex_stride, 0);
D3D::stateman->SetIndexBuffer(m_buffers[m_current_buffer].Get());
}
diff --git a/Source/Core/VideoBackends/D3D/D3DVertexManager.h b/Source/Core/VideoBackends/D3D/D3DVertexManager.h
index ef7c4a9191..37374f6ec3 100644
--- a/Source/Core/VideoBackends/D3D/D3DVertexManager.h
+++ b/Source/Core/VideoBackends/D3D/D3DVertexManager.h
@@ -51,6 +51,7 @@ protected:
void ResetBuffer(u32 vertex_stride) override;
void CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_indices, u32* out_base_vertex,
u32* out_base_index) override;
+ void BindCommittedBuffer(u32 vertex_stride) override;
void UploadUniforms() override;
private:
diff --git a/Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp b/Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp
index 4565db29bd..5366110ecc 100644
--- a/Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp
+++ b/Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp
@@ -128,7 +128,10 @@ void VertexManager::CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_in
ADDSTAT(g_stats.this_frame.bytes_vertex_streamed, static_cast<int>(vertex_data_size));
ADDSTAT(g_stats.this_frame.bytes_index_streamed, static_cast<int>(index_data_size));
+}
+void VertexManager::BindCommittedBuffer(u32 vertex_stride)
+{
Gfx::GetInstance()->SetVertexBuffer(m_vertex_stream_buffer.GetGPUPointer(),
m_vertex_srv.cpu_handle, vertex_stride,
m_vertex_stream_buffer.GetSize());
diff --git a/Source/Core/VideoBackends/D3D12/D3D12VertexManager.h b/Source/Core/VideoBackends/D3D12/D3D12VertexManager.h
index 76c0c6d7cb..d7479b0c56 100644
--- a/Source/Core/VideoBackends/D3D12/D3D12VertexManager.h
+++ b/Source/Core/VideoBackends/D3D12/D3D12VertexManager.h
@@ -30,6 +30,7 @@ protected:
void ResetBuffer(u32 vertex_stride) override;
void CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_indices, u32* out_base_vertex,
u32* out_base_index) override;
+ void BindCommittedBuffer(u32 vertex_stride) override;
void UploadUniforms() override;
void UpdateVertexShaderConstants();
diff --git a/Source/Core/VideoBackends/OGL/OGLVertexManager.cpp b/Source/Core/VideoBackends/OGL/OGLVertexManager.cpp
index c5382cf358..614d066a5b 100644
--- a/Source/Core/VideoBackends/OGL/OGLVertexManager.cpp
+++ b/Source/Core/VideoBackends/OGL/OGLVertexManager.cpp
@@ -177,7 +177,6 @@ void VertexManager::CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_in
*out_base_vertex = vertex_stride > 0 ? (m_vertex_buffer->GetCurrentOffset() / vertex_stride) : 0;
*out_base_index = m_index_buffer->GetCurrentOffset() / sizeof(u16);
- CheckBufferBinding();
m_vertex_buffer->Unmap(vertex_data_size);
m_index_buffer->Unmap(index_data_size);
@@ -185,6 +184,11 @@ void VertexManager::CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_in
ADDSTAT(g_stats.this_frame.bytes_index_streamed, index_data_size);
}
+void VertexManager::BindCommittedBuffer(u32 /*vertex_stride*/)
+{
+ CheckBufferBinding();
+}
+
void VertexManager::UploadUniforms()
{
ProgramShaderCache::UploadConstants();
diff --git a/Source/Core/VideoBackends/OGL/OGLVertexManager.h b/Source/Core/VideoBackends/OGL/OGLVertexManager.h
index 55a3ef14ad..14111693f4 100644
--- a/Source/Core/VideoBackends/OGL/OGLVertexManager.h
+++ b/Source/Core/VideoBackends/OGL/OGLVertexManager.h
@@ -47,6 +47,7 @@ protected:
void ResetBuffer(u32 vertex_stride) override;
void CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_indices, u32* out_base_vertex,
u32* out_base_index) override;
+ void BindCommittedBuffer(u32 vertex_stride) override;
void UploadUniforms() override;
private:
diff --git a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
index 18c5ad560c..ea8a1d090a 100644
--- a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
+++ b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
@@ -184,7 +184,10 @@ void VertexManager::CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_in
ADDSTAT(g_stats.this_frame.bytes_vertex_streamed, static_cast<int>(vertex_data_size));
ADDSTAT(g_stats.this_frame.bytes_index_streamed, static_cast<int>(index_data_size));
+}
+void VertexManager::BindCommittedBuffer(u32 /*vertex_stride*/)
+{
StateTracker::GetInstance()->SetVertexBuffer(m_vertex_stream_buffer->GetBuffer(), 0,
VERTEX_STREAM_BUFFER_SIZE);
StateTracker::GetInstance()->SetIndexBuffer(m_index_stream_buffer->GetBuffer(), 0,
diff --git a/Source/Core/VideoBackends/Vulkan/VKVertexManager.h b/Source/Core/VideoBackends/Vulkan/VKVertexManager.h
index 75d35c0d32..f00ac47e93 100644
--- a/Source/Core/VideoBackends/Vulkan/VKVertexManager.h
+++ b/Source/Core/VideoBackends/Vulkan/VKVertexManager.h
@@ -33,6 +33,7 @@ protected:
void ResetBuffer(u32 vertex_stride) override;
void CommitBuffer(u32 num_vertices, u32 vertex_stride, u32 num_indices, u32* out_base_vertex,
u32* out_base_index) override;
+ void BindCommittedBuffer(u32 vertex_stride) override;
void UploadUniforms() override;
void DestroyTexelBufferViews();