Add getRealSize to GEVulkanDynamicBuffer
This commit is contained in:
parent
0875db0db6
commit
defd58a465
@ -17,7 +17,7 @@ GEVulkanDynamicBuffer::GEVulkanDynamicBuffer(GEVulkanDynamicBufferType t,
|
|||||||
{
|
{
|
||||||
m_type = t;
|
m_type = t;
|
||||||
m_usage = usage;
|
m_usage = usage;
|
||||||
m_size = initial_size;
|
m_size = m_real_size = initial_size;
|
||||||
|
|
||||||
m_buffer = new VkBuffer[GEVulkanDriver::getMaxFrameInFlight()];
|
m_buffer = new VkBuffer[GEVulkanDriver::getMaxFrameInFlight()];
|
||||||
m_memory = new VkDeviceMemory[GEVulkanDriver::getMaxFrameInFlight()];
|
m_memory = new VkDeviceMemory[GEVulkanDriver::getMaxFrameInFlight()];
|
||||||
@ -206,6 +206,7 @@ void GEVulkanDynamicBuffer::setCurrentData(void* data, size_t size)
|
|||||||
for (unsigned i = 0; i < GEVulkanDriver::getMaxFrameInFlight(); i++)
|
for (unsigned i = 0; i < GEVulkanDriver::getMaxFrameInFlight(); i++)
|
||||||
initPerFrame(i);
|
initPerFrame(i);
|
||||||
}
|
}
|
||||||
|
m_real_size = size;
|
||||||
if (m_mapped_addr[cur_frame] == NULL)
|
if (m_mapped_addr[cur_frame] == NULL)
|
||||||
return;
|
return;
|
||||||
memcpy(m_mapped_addr[cur_frame], data, size);
|
memcpy(m_mapped_addr[cur_frame], data, size);
|
||||||
|
@ -31,7 +31,7 @@ private:
|
|||||||
|
|
||||||
static VkMemoryPropertyFlags m_host_flag;
|
static VkMemoryPropertyFlags m_host_flag;
|
||||||
|
|
||||||
size_t m_size;
|
size_t m_size, m_real_size;
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
void initPerFrame(unsigned frame);
|
void initPerFrame(unsigned frame);
|
||||||
@ -49,6 +49,8 @@ public:
|
|||||||
void setCurrentData(void* data, size_t size);
|
void setCurrentData(void* data, size_t size);
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
VkBuffer getCurrentBuffer() const;
|
VkBuffer getCurrentBuffer() const;
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
size_t getRealSize() const { return m_real_size; }
|
||||||
}; // GEVulkanDynamicBuffer
|
}; // GEVulkanDynamicBuffer
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user