summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2022-09-20 17:14:07 -0400
committerGitHub <noreply@github.com>2022-09-20 17:14:07 -0400
commit22197c09a3cf2753c007d8ef8d75daa5fc2c44b9 (patch)
tree14d5aa4ae61d100f3bc7a394021963258fbf3dc1 /Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
parent4ea694a7e403c673b457643e52435b355c96fd87 (diff)
parentee692abbe1032e9eb888defedb1bb00f569f68a3 (diff)
Merge pull request #10781 from tellowkrinkle/UberVertexLoader
VideoCommon: Add dynamic vertex loader for ubershaders to reduce pipeline count
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
index 1c47ea0b8e..146eb2921e 100644
--- a/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
+++ b/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
@@ -62,7 +62,8 @@ bool VertexManager::Initialize()
return false;
m_vertex_stream_buffer =
- StreamBuffer::Create(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VERTEX_STREAM_BUFFER_SIZE);
+ StreamBuffer::Create(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
+ VERTEX_STREAM_BUFFER_SIZE);
m_index_stream_buffer =
StreamBuffer::Create(VK_BUFFER_USAGE_INDEX_BUFFER_BIT, INDEX_STREAM_BUFFER_SIZE);
m_uniform_stream_buffer =
@@ -186,7 +187,8 @@ 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));
- StateTracker::GetInstance()->SetVertexBuffer(m_vertex_stream_buffer->GetBuffer(), 0);
+ StateTracker::GetInstance()->SetVertexBuffer(m_vertex_stream_buffer->GetBuffer(), 0,
+ VERTEX_STREAM_BUFFER_SIZE);
StateTracker::GetInstance()->SetIndexBuffer(m_index_stream_buffer->GetBuffer(), 0,
VK_INDEX_TYPE_UINT16);
}