summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-07-10 18:15:32 -0300
committerGravatar ReinUsesLisp2020-07-10 18:15:32 -0300
commitfca26980a2bcf13ebac1249a9478201e2a74128e (patch)
tree88af4861a1d70e0192ae79fefa4920ddd6137863 /src
parentMerge pull request #4221 from jbeich/unused-qt-opengl (diff)
downloadyuzu-fca26980a2bcf13ebac1249a9478201e2a74128e.tar.gz
yuzu-fca26980a2bcf13ebac1249a9478201e2a74128e.tar.xz
yuzu-fca26980a2bcf13ebac1249a9478201e2a74128e.zip
vk_rasterizer: Pass <pSizes> to CmdBindVertexBuffers2EXT
This has been fixed in Nvidia's public beta driver 451.74. The previous beta driver will be broken, people using these will have to update.
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 380ed532b..7625871c2 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -332,23 +332,23 @@ private:
332 332
333 if constexpr (has_extended_dynamic_state) { 333 if constexpr (has_extended_dynamic_state) {
334 // With extended dynamic states we can specify the length and stride of a vertex buffer 334 // With extended dynamic states we can specify the length and stride of a vertex buffer
335 // std::array<VkDeviceSize, N> sizes; 335 std::array<VkDeviceSize, N> sizes;
336 std::array<u16, N> strides; 336 std::array<u16, N> strides;
337 // std::copy(vertex.sizes.begin(), vertex.sizes.begin() + N, sizes.begin()); 337 std::copy(vertex.sizes.begin(), vertex.sizes.begin() + N, sizes.begin());
338 std::copy(vertex.strides.begin(), vertex.strides.begin() + N, strides.begin()); 338 std::copy(vertex.strides.begin(), vertex.strides.begin() + N, strides.begin());
339 339
340 if constexpr (is_indexed) { 340 if constexpr (is_indexed) {
341 scheduler.Record( 341 scheduler.Record(
342 [buffers, offsets, strides, index = index](vk::CommandBuffer cmdbuf) { 342 [buffers, offsets, sizes, strides, index = index](vk::CommandBuffer cmdbuf) {
343 cmdbuf.BindIndexBuffer(index.buffer, index.offset, index.type); 343 cmdbuf.BindIndexBuffer(index.buffer, index.offset, index.type);
344 cmdbuf.BindVertexBuffers2EXT(0, static_cast<u32>(N), buffers.data(), 344 cmdbuf.BindVertexBuffers2EXT(0, static_cast<u32>(N), buffers.data(),
345 offsets.data(), nullptr, 345 offsets.data(), sizes.data(),
346 ExpandStrides(strides).data()); 346 ExpandStrides(strides).data());
347 }); 347 });
348 } else { 348 } else {
349 scheduler.Record([buffers, offsets, strides](vk::CommandBuffer cmdbuf) { 349 scheduler.Record([buffers, offsets, sizes, strides](vk::CommandBuffer cmdbuf) {
350 cmdbuf.BindVertexBuffers2EXT(0, static_cast<u32>(N), buffers.data(), 350 cmdbuf.BindVertexBuffers2EXT(0, static_cast<u32>(N), buffers.data(),
351 offsets.data(), nullptr, 351 offsets.data(), sizes.data(),
352 ExpandStrides(strides).data()); 352 ExpandStrides(strides).data());
353 }); 353 });
354 } 354 }