From 17fb1deb8412a069dd6c522ceda5fb465d4ac660 Mon Sep 17 00:00:00 2001 From: GregF Date: Fri, 9 Oct 2015 13:38:12 -0600 Subject: [PATCH] Add Deserialise for VkDescriptorSetLayoutCreateInfo. --- renderdoc/driver/vulkan/vk_common.cpp | 30 ++++++++----------- .../vulkan/wrappers/vk_descriptor_funcs.cpp | 2 +- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_common.cpp b/renderdoc/driver/vulkan/vk_common.cpp index 9dbd2c0f1..c5f3f24b8 100644 --- a/renderdoc/driver/vulkan/vk_common.cpp +++ b/renderdoc/driver/vulkan/vk_common.cpp @@ -2218,16 +2218,6 @@ void Serialiser::Serialise(const char *name, VkDeviceCreateInfo &el) SerialiseOptionalObject(this, "pEnabledFeatures", (VkPhysicalDeviceFeatures *&)el.pEnabledFeatures); } -//template<> -//class Serialiser::Deserialize : VkDeviceCreateInfo { -// public: -// ~Deserialise() -// { -// delete ppEnabledExtensionNames; -// delete ppEnabledLayerNames; -// } -//} - //template <> class Serialiser::Deserialise; template<> @@ -3169,13 +3159,6 @@ void Serialiser::Serialise(const char *name, VkDescriptorSetLayoutBinding &el) } } -template<> -Serialiser::Deserialise::~Deserialise() -{ - if(m_Mode == READING) - delete pImmutableSamplers; -} - template<> void Serialiser::Serialise(const char *name, VkDescriptorSetLayoutCreateInfo &el) { @@ -3188,6 +3171,19 @@ void Serialiser::Serialise(const char *name, VkDescriptorSetLayoutCreateInfo &el SerialiseComplexArray("pBinding", (VkDescriptorSetLayoutBinding *&)el.pBinding, el.count); } +template<> +Serialiser::Deserialise::~Deserialise() +{ + if(m_Mode == READING) + { + for (uint32_t i=0; i void Serialiser::Serialise(const char *name, VkChannelMapping &el) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp index 95c3a3cb8..9a07b2690 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp @@ -99,7 +99,7 @@ bool WrappedVulkan::Serialise_vkCreateDescriptorSetLayout( VkDescriptorSetLayout* pSetLayout) { SERIALISE_ELEMENT(ResourceId, devId, GetResID(device)); - SERIALISE_ELEMENT(VkDescriptorSetLayoutCreateInfo, info, *pCreateInfo); + SERIALISE_ELEMENT_CLASS(VkDescriptorSetLayoutCreateInfo, info, *pCreateInfo); SERIALISE_ELEMENT(ResourceId, id, GetResID(*pSetLayout)); // this creation info is needed at capture time (for creating/updating descriptor set bindings)