diff options
author | spholz <44805808+spholz@users.noreply.github.com> | 2021-08-12 22:27:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-12 22:27:17 +0200 |
commit | 78a82495931e8c6b2161f79d2ac00ea88baea4f2 (patch) | |
tree | 94480efdcd09a71e676782434a44d124002f835a /src/video_core/vulkan_common/vulkan_memory_allocator.cpp | |
parent | network: correct formatting in network.cpp and network_interface.cpp (diff) | |
parent | Merge pull request #6838 from ameerj/sws-align (diff) | |
download | yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.tar yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.tar.gz yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.tar.bz2 yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.tar.lz yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.tar.xz yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.tar.zst yuzu-78a82495931e8c6b2161f79d2ac00ea88baea4f2.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/vulkan_common/vulkan_memory_allocator.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp index aa173d19e..300a61205 100644 --- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp +++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp @@ -228,7 +228,9 @@ void MemoryCommit::Release() { MemoryAllocator::MemoryAllocator(const Device& device_, bool export_allocations_) : device{device_}, properties{device_.GetPhysical().GetMemoryProperties()}, - export_allocations{export_allocations_} {} + export_allocations{export_allocations_}, + buffer_image_granularity{ + device_.GetPhysical().GetProperties().limits.bufferImageGranularity} {} MemoryAllocator::~MemoryAllocator() = default; @@ -258,7 +260,9 @@ MemoryCommit MemoryAllocator::Commit(const vk::Buffer& buffer, MemoryUsage usage } MemoryCommit MemoryAllocator::Commit(const vk::Image& image, MemoryUsage usage) { - auto commit = Commit(device.GetLogical().GetImageMemoryRequirements(*image), usage); + VkMemoryRequirements requirements = device.GetLogical().GetImageMemoryRequirements(*image); + requirements.size = Common::AlignUp(requirements.size, buffer_image_granularity); + auto commit = Commit(requirements, usage); image.BindMemory(commit.Memory(), commit.Offset()); return commit; } |