diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-08-02 02:10:11 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-08-02 02:10:11 +0000 |
| commit | 1ae3410758258ba9fe2da4e775ae51a150a357b6 (patch) | |
| tree | f5eae25476f36663f1931b5cd743501febbdbee3 /Graphics/GraphicsEngineVulkan | |
| parent | Reworked upload heap in Vulkan to suballocate pages from the global resource ... (diff) | |
| download | DiligentCore-1ae3410758258ba9fe2da4e775ae51a150a357b6.tar.gz DiligentCore-1ae3410758258ba9fe2da4e775ae51a150a357b6.zip | |
Couple fixes to Vulkan upload heap
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/include/VulkanUploadHeap.h | 4 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/VulkanUploadHeap.cpp | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/Graphics/GraphicsEngineVulkan/include/VulkanUploadHeap.h b/Graphics/GraphicsEngineVulkan/include/VulkanUploadHeap.h index ed9c6707..51d8d995 100644 --- a/Graphics/GraphicsEngineVulkan/include/VulkanUploadHeap.h +++ b/Graphics/GraphicsEngineVulkan/include/VulkanUploadHeap.h @@ -90,12 +90,12 @@ private: Uint8* CPUAddress = nullptr; size_t CurrOffset = 0; size_t AvailableSize = 0; - void Reset(UploadPageInfo& NewPage) + void Reset(UploadPageInfo& NewPage, size_t PageSize) { vkBuffer = NewPage.Buffer; CPUAddress = NewPage.CPUAddress; CurrOffset = 0; - AvailableSize = NewPage.MemAllocation.Size; + AvailableSize = PageSize; } void Advance(size_t SizeInBytes) { diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanUploadHeap.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanUploadHeap.cpp index 685a3d13..c399dd88 100644 --- a/Graphics/GraphicsEngineVulkan/src/VulkanUploadHeap.cpp +++ b/Graphics/GraphicsEngineVulkan/src/VulkanUploadHeap.cpp @@ -98,8 +98,7 @@ VulkanUploadAllocation VulkanUploadHeap::Allocate(size_t SizeInBytes) if(m_CurrPage.AvailableSize < SizeInBytes) { auto NewPage = CreateNewPage(m_PageSize); - m_CurrPage.Reset(NewPage); - VERIFY_EXPR(m_CurrPage.AvailableSize == m_PageSize); + m_CurrPage.Reset(NewPage, m_PageSize); m_CurrAllocatedSize += NewPage.MemAllocation.Size; m_Pages.emplace_back(std::move(NewPage)); } |
