diff options
| author | DrChat <arkolbed@gmail.com> | 2018-02-15 17:05:54 -0600 |
|---|---|---|
| committer | DrChat <arkolbed@gmail.com> | 2018-02-15 17:05:54 -0600 |
| commit | 30e0a258e4b4fca546691f92e8da5d7a104c65f8 (patch) | |
| tree | 6bde9784a4b5cbe264655223e3cab76e812d4c08 | |
| parent | abd21e5034f931ad6bdc58e8b58202bc2995995f (diff) | |
[Vulkan] Buffers typically aren't aligned.
| -rw-r--r-- | src/xenia/gpu/vulkan/buffer_cache.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/xenia/gpu/vulkan/buffer_cache.cc b/src/xenia/gpu/vulkan/buffer_cache.cc index 5050e7469..72b2f2d39 100644 --- a/src/xenia/gpu/vulkan/buffer_cache.cc +++ b/src/xenia/gpu/vulkan/buffer_cache.cc @@ -297,12 +297,12 @@ std::pair<VkBuffer, VkDeviceSize> BufferCache::UploadIndexBuffer( // TODO(benvanik): memcpy then use compute shaders to swap? if (format == IndexFormat::kInt16) { // Endian::k8in16, swap half-words. - xe::copy_and_swap_16_aligned(transient_buffer_->host_base() + offset, - source_ptr, source_length / 2); + xe::copy_and_swap_16_unaligned(transient_buffer_->host_base() + offset, + source_ptr, source_length / 2); } else if (format == IndexFormat::kInt32) { // Endian::k8in32, swap words. - xe::copy_and_swap_32_aligned(transient_buffer_->host_base() + offset, - source_ptr, source_length / 4); + xe::copy_and_swap_32_unaligned(transient_buffer_->host_base() + offset, + source_ptr, source_length / 4); } transient_buffer_->Flush(offset, source_length); @@ -348,11 +348,11 @@ std::pair<VkBuffer, VkDeviceSize> BufferCache::UploadVertexBuffer( // TODO(benvanik): memcpy then use compute shaders to swap? if (endian == Endian::k8in32) { // Endian::k8in32, swap words. - xe::copy_and_swap_32_aligned(transient_buffer_->host_base() + offset, - source_ptr, source_length / 4); + xe::copy_and_swap_32_unaligned(transient_buffer_->host_base() + offset, + source_ptr, source_length / 4); } else if (endian == Endian::k16in32) { - xe::copy_and_swap_16_in_32_aligned(transient_buffer_->host_base() + offset, - source_ptr, source_length / 4); + xe::copy_and_swap_16_in_32_unaligned( + transient_buffer_->host_base() + offset, source_ptr, source_length / 4); } else { assert_always(); } |
