Add Deserialise support for object created with SerialiseBuffer.

This commit is contained in:
GregF
2016-02-07 18:43:21 +01:00
committed by baldurk
parent cf1b3a2aa5
commit 494af5a9f4
2 changed files with 22 additions and 2 deletions
+20
View File
@@ -2888,6 +2888,16 @@ void Serialiser::Serialise(const char *name, VkPipelineCacheCreateInfo &el)
el.maxSize = (size_t)maxSize;
}
template<>
Serialiser::Deserialise<VkPipelineCacheCreateInfo>::~Deserialise()
{
if(m_Mode == READING)
{
RDCASSERT(pNext == NULL); // otherwise delete
delete [] (byte *)initialData;
}
}
template<>
void Serialiser::Serialise(const char *name, VkPipelineLayoutCreateInfo &el)
{
@@ -2944,6 +2954,16 @@ void Serialiser::Serialise(const char *name, VkShaderModuleCreateInfo &el)
Serialise("flags", el.flags);
}
template<>
Serialiser::Deserialise<VkShaderModuleCreateInfo>::~Deserialise()
{
if(m_Mode == READING)
{
RDCASSERT(pNext == NULL); // otherwise delete
delete [] (byte *)pCode;
}
}
template<>
void Serialiser::Serialise(const char *name, VkShaderCreateInfo &el)
{
@@ -114,7 +114,7 @@ bool WrappedVulkan::Serialise_vkCreateShaderModule(
VkShaderModule* pShaderModule)
{
SERIALISE_ELEMENT(ResourceId, devId, GetResID(device));
SERIALISE_ELEMENT(VkShaderModuleCreateInfo, info, *pCreateInfo);
SERIALISE_ELEMENT_CLASS(VkShaderModuleCreateInfo, info, *pCreateInfo);
SERIALISE_ELEMENT(ResourceId, id, GetResID(*pShaderModule));
if(m_State == READING)
@@ -267,7 +267,7 @@ bool WrappedVulkan::Serialise_vkCreatePipelineCache(
VkPipelineCache* pPipelineCache)
{
SERIALISE_ELEMENT(ResourceId, devId, GetResID(device));
SERIALISE_ELEMENT(VkPipelineCacheCreateInfo, info, *pCreateInfo);
SERIALISE_ELEMENT_CLASS(VkPipelineCacheCreateInfo, info, *pCreateInfo);
SERIALISE_ELEMENT(ResourceId, id, GetResID(*pPipelineCache));
if(m_State == READING)