summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrChat <arkolbed@gmail.com>2018-02-15 17:05:54 -0600
committerDrChat <arkolbed@gmail.com>2018-02-15 17:05:54 -0600
commit30e0a258e4b4fca546691f92e8da5d7a104c65f8 (patch)
tree6bde9784a4b5cbe264655223e3cab76e812d4c08
parentabd21e5034f931ad6bdc58e8b58202bc2995995f (diff)
[Vulkan] Buffers typically aren't aligned.
-rw-r--r--src/xenia/gpu/vulkan/buffer_cache.cc16
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();
}