attachment bind info isn't POD, can't serialise as POD array

This commit is contained in:
baldurk
2016-02-07 18:37:57 +01:00
parent a27e319fac
commit 67432fbde6
2 changed files with 14 additions and 3 deletions
+13 -3
View File
@@ -1263,6 +1263,15 @@ void Serialiser::Serialise(const char *name, VkImageViewCreateInfo &el)
Serialise("subresourceRange", el.subresourceRange);
}
template<>
void Serialiser::Serialise(const char *name, VkAttachmentBindInfo &el)
{
ScopedContext scope(this, this, name, "VkAttachmentBindInfo", 0, true);
SerialiseObject(VkAttachmentView, "view", el.view);
Serialise("layout", el.layout);
}
template<>
void Serialiser::Serialise(const char *name, VkFramebufferCreateInfo &el)
{
@@ -1274,9 +1283,10 @@ void Serialiser::Serialise(const char *name, VkFramebufferCreateInfo &el)
SerialiseObject(VkRenderPass, "renderPass", el.renderPass);
Serialise("attachmentCount", el.attachmentCount);
size_t sz = el.attachmentCount;
if(m_Mode == READING) el.pAttachments = NULL;
Serialise("pAttachments", (VkAttachmentBindInfo *&)el.pAttachments, sz);
if(m_Mode == READING)
el.pAttachments = el.attachmentCount ? new VkAttachmentBindInfo[el.attachmentCount] : NULL;
for(uint32_t i=0; i < el.attachmentCount; i++)
Serialise("pAttachments[]", (VkAttachmentBindInfo &)el.pAttachments[i]);
Serialise("width", el.width);
Serialise("height", el.height);
Serialise("layers", el.layers);
+1
View File
@@ -53,6 +53,7 @@ template<> void Serialiser::Serialise(const char *name, VkBufferCreateInfo &el);
template<> void Serialiser::Serialise(const char *name, VkBufferViewCreateInfo &el);
template<> void Serialiser::Serialise(const char *name, VkImageCreateInfo &el);
template<> void Serialiser::Serialise(const char *name, VkImageViewCreateInfo &el);
template<> void Serialiser::Serialise(const char *name, VkAttachmentBindInfo &el);
template<> void Serialiser::Serialise(const char *name, VkFramebufferCreateInfo &el);
template<> void Serialiser::Serialise(const char *name, VkRenderPassCreateInfo &el);
template<> void Serialiser::Serialise(const char *name, VkRenderPassBeginInfo &el);