mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-13 05:20:45 +00:00
Add Deserialise support for objects created with SerialisePODArray.
This commit is contained in:
@@ -2250,6 +2250,16 @@ void Serialiser::Serialise(const char *name, VkBufferCreateInfo &el)
|
||||
SerialisePODArray("pQueueFamilyIndices", (uint32_t *&)el.pQueueFamilyIndices, el.queueFamilyCount);
|
||||
}
|
||||
|
||||
template<>
|
||||
Serialiser::Deserialise<VkBufferCreateInfo>::~Deserialise()
|
||||
{
|
||||
if(m_Mode == READING)
|
||||
{
|
||||
RDCASSERT(pNext == NULL); // otherwise delete
|
||||
delete [] pQueueFamilyIndices;
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkBufferViewCreateInfo &el)
|
||||
{
|
||||
@@ -2289,6 +2299,16 @@ void Serialiser::Serialise(const char *name, VkImageCreateInfo &el)
|
||||
Serialise("initialLayout", el.initialLayout);
|
||||
}
|
||||
|
||||
template<>
|
||||
Serialiser::Deserialise<VkImageCreateInfo>::~Deserialise()
|
||||
{
|
||||
if(m_Mode == READING)
|
||||
{
|
||||
RDCASSERT(pNext == NULL); // otherwise delete
|
||||
delete [] pQueueFamilyIndices;
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkImageViewCreateInfo &el)
|
||||
{
|
||||
@@ -2473,6 +2493,16 @@ void Serialiser::Serialise(const char *name, VkRenderPassBeginInfo &el)
|
||||
SerialisePODArray("pClearValues", (VkClearValue *&)el.pClearValues, el.clearValueCount);
|
||||
}
|
||||
|
||||
template<>
|
||||
Serialiser::Deserialise<VkRenderPassBeginInfo>::~Deserialise()
|
||||
{
|
||||
if(m_Mode == READING)
|
||||
{
|
||||
RDCASSERT(pNext == NULL); // otherwise delete
|
||||
delete [] pClearValues;
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkVertexInputBindingDescription &el)
|
||||
{
|
||||
|
||||
@@ -517,7 +517,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass(
|
||||
VkRenderPassContents contents)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, cmdid, GetResID(cmdBuffer));
|
||||
SERIALISE_ELEMENT(VkRenderPassBeginInfo, beginInfo, *pRenderPassBegin);
|
||||
SERIALISE_ELEMENT_CLASS(VkRenderPassBeginInfo, beginInfo, *pRenderPassBegin);
|
||||
SERIALISE_ELEMENT(VkRenderPassContents, cont, contents);
|
||||
|
||||
if(m_State < WRITING)
|
||||
|
||||
@@ -511,7 +511,7 @@ bool WrappedVulkan::Serialise_vkCreateBuffer(
|
||||
VkBuffer* pBuffer)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, devId, GetResID(device));
|
||||
SERIALISE_ELEMENT(VkBufferCreateInfo, info, *pCreateInfo);
|
||||
SERIALISE_ELEMENT_CLASS(VkBufferCreateInfo, info, *pCreateInfo);
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResID(*pBuffer));
|
||||
|
||||
if(m_State == READING)
|
||||
@@ -654,7 +654,7 @@ bool WrappedVulkan::Serialise_vkCreateImage(
|
||||
VkImage* pImage)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, devId, GetResID(device));
|
||||
SERIALISE_ELEMENT(VkImageCreateInfo, info, *pCreateInfo);
|
||||
SERIALISE_ELEMENT_CLASS(VkImageCreateInfo, info, *pCreateInfo);
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResID(*pImage));
|
||||
|
||||
if(m_State == READING)
|
||||
|
||||
Reference in New Issue
Block a user