Merge pull request #11734 from Kelebek1/device_local_buffer_alloc
Do not allocate DeviceLocal buffers as mapped
This commit is contained in:
		| @@ -66,9 +66,10 @@ struct Range { | |||||||
|     switch (usage) { |     switch (usage) { | ||||||
|     case MemoryUsage::Upload: |     case MemoryUsage::Upload: | ||||||
|     case MemoryUsage::Stream: |     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: |     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: |     case MemoryUsage::DeviceLocal: | ||||||
|         return {}; |         return {}; | ||||||
|     } |     } | ||||||
| @@ -252,8 +253,7 @@ vk::Image MemoryAllocator::CreateImage(const VkImageCreateInfo& ci) const { | |||||||
|  |  | ||||||
| vk::Buffer MemoryAllocator::CreateBuffer(const VkBufferCreateInfo& ci, MemoryUsage usage) const { | vk::Buffer MemoryAllocator::CreateBuffer(const VkBufferCreateInfo& ci, MemoryUsage usage) const { | ||||||
|     const VmaAllocationCreateInfo alloc_ci = { |     const VmaAllocationCreateInfo alloc_ci = { | ||||||
|         .flags = VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT | |         .flags = VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT | MemoryUsageVmaFlags(usage), | ||||||
|                  MemoryUsageVmaFlags(usage), |  | ||||||
|         .usage = MemoryUsageVma(usage), |         .usage = MemoryUsageVma(usage), | ||||||
|         .requiredFlags = 0, |         .requiredFlags = 0, | ||||||
|         .preferredFlags = MemoryUsagePreferedVmaFlags(usage), |         .preferredFlags = MemoryUsagePreferedVmaFlags(usage), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user