summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineVulkan
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-08-02 02:10:11 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-08-02 02:10:11 +0000
commit1ae3410758258ba9fe2da4e775ae51a150a357b6 (patch)
treef5eae25476f36663f1931b5cd743501febbdbee3 /Graphics/GraphicsEngineVulkan
parentReworked upload heap in Vulkan to suballocate pages from the global resource ... (diff)
downloadDiligentCore-1ae3410758258ba9fe2da4e775ae51a150a357b6.tar.gz
DiligentCore-1ae3410758258ba9fe2da4e775ae51a150a357b6.zip
Couple fixes to Vulkan upload heap
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
-rw-r--r--Graphics/GraphicsEngineVulkan/include/VulkanUploadHeap.h4
-rw-r--r--Graphics/GraphicsEngineVulkan/src/VulkanUploadHeap.cpp3
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));
}