diff options
| author | 2020-07-10 18:15:32 -0300 | |
|---|---|---|
| committer | 2020-07-10 18:15:32 -0300 | |
| commit | fca26980a2bcf13ebac1249a9478201e2a74128e (patch) | |
| tree | 88af4861a1d70e0192ae79fefa4920ddd6137863 /src | |
| parent | Merge pull request #4221 from jbeich/unused-qt-opengl (diff) | |
| download | yuzu-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.cpp | 12 |
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 | } |