Browse Source
Merge pull request #11734 from Kelebek1/device_local_buffer_alloc
Do not allocate DeviceLocal buffers as mapped
pull/15/merge
liamwhite
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
4 additions and
4 deletions
-
src/video_core/vulkan_common/vulkan_memory_allocator.cpp
|
|
|
@ -66,9 +66,10 @@ struct Range { |
|
|
|
switch (usage) { |
|
|
|
case MemoryUsage::Upload: |
|
|
|
case MemoryUsage::Stream: |
|
|
|
return VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT; |
|
|
|
return VMA_ALLOCATION_CREATE_MAPPED_BIT | |
|
|
|
VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT; |
|
|
|
case MemoryUsage::Download: |
|
|
|
return VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT; |
|
|
|
return VMA_ALLOCATION_CREATE_MAPPED_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT; |
|
|
|
case MemoryUsage::DeviceLocal: |
|
|
|
return {}; |
|
|
|
} |
|
|
|
@ -252,8 +253,7 @@ vk::Image MemoryAllocator::CreateImage(const VkImageCreateInfo& ci) const { |
|
|
|
|
|
|
|
vk::Buffer MemoryAllocator::CreateBuffer(const VkBufferCreateInfo& ci, MemoryUsage usage) const { |
|
|
|
const VmaAllocationCreateInfo alloc_ci = { |
|
|
|
.flags = VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT | |
|
|
|
MemoryUsageVmaFlags(usage), |
|
|
|
.flags = VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT | MemoryUsageVmaFlags(usage), |
|
|
|
.usage = MemoryUsageVma(usage), |
|
|
|
.requiredFlags = 0, |
|
|
|
.preferredFlags = MemoryUsagePreferedVmaFlags(usage), |
|
|
|
|