diff options
| author | 2021-04-11 10:34:32 +0100 | |
|---|---|---|
| committer | 2021-04-11 10:34:52 +0100 | |
| commit | 0ec6cb942d146723b87a30918c71ba58306b9885 (patch) | |
| tree | 5240db9ba4f52b21737cfcc99009cbacfcd23adf /src | |
| parent | Merge pull request #6180 from Joshua-Ashton/device_loss_fix (diff) | |
| download | yuzu-0ec6cb942d146723b87a30918c71ba58306b9885.tar.gz yuzu-0ec6cb942d146723b87a30918c71ba58306b9885.tar.xz yuzu-0ec6cb942d146723b87a30918c71ba58306b9885.zip | |
vk_buffer_cache: Fix offset for NULL vertex buffers
The Vulkan spec states:
If an element of pBuffers is VK_NULL_HANDLE, then the corresponding element of pOffsets must be zero.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBindVertexBuffers2EXT.html#VUID-vkCmdBindVertexBuffers2EXT-pBuffers-04112
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp index 668633e7b..8cb65e588 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp | |||
| @@ -176,7 +176,7 @@ void BufferCacheRuntime::BindVertexBuffer(u32 index, VkBuffer buffer, u32 offset | |||
| 176 | u32 stride) { | 176 | u32 stride) { |
| 177 | if (device.IsExtExtendedDynamicStateSupported()) { | 177 | if (device.IsExtExtendedDynamicStateSupported()) { |
| 178 | scheduler.Record([index, buffer, offset, size, stride](vk::CommandBuffer cmdbuf) { | 178 | scheduler.Record([index, buffer, offset, size, stride](vk::CommandBuffer cmdbuf) { |
| 179 | const VkDeviceSize vk_offset = offset; | 179 | const VkDeviceSize vk_offset = buffer != VK_NULL_HANDLE ? offset : 0; |
| 180 | const VkDeviceSize vk_size = buffer != VK_NULL_HANDLE ? size : VK_WHOLE_SIZE; | 180 | const VkDeviceSize vk_size = buffer != VK_NULL_HANDLE ? size : VK_WHOLE_SIZE; |
| 181 | const VkDeviceSize vk_stride = stride; | 181 | const VkDeviceSize vk_stride = stride; |
| 182 | cmdbuf.BindVertexBuffers2EXT(index, 1, &buffer, &vk_offset, &vk_size, &vk_stride); | 182 | cmdbuf.BindVertexBuffers2EXT(index, 1, &buffer, &vk_offset, &vk_size, &vk_stride); |