diff options
Diffstat (limited to 'layers/generated/vk_safe_struct.cpp')
-rw-r--r-- | layers/generated/vk_safe_struct.cpp | 9388 |
1 files changed, 6782 insertions, 2606 deletions
diff --git a/layers/generated/vk_safe_struct.cpp b/layers/generated/vk_safe_struct.cpp index c7e602eb4..3ec4f4626 100644 --- a/layers/generated/vk_safe_struct.cpp +++ b/layers/generated/vk_safe_struct.cpp @@ -31,107 +31,141 @@ #include "vk_safe_struct.h" + #include <string.h> +#include <cassert> +#include <cstring> + +#include <vulkan/vk_layer.h> safe_VkApplicationInfo::safe_VkApplicationInfo(const VkApplicationInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), - pApplicationName(in_struct->pApplicationName), applicationVersion(in_struct->applicationVersion), - pEngineName(in_struct->pEngineName), engineVersion(in_struct->engineVersion), apiVersion(in_struct->apiVersion) { + pNext = SafePnextCopy(in_struct->pNext); + pApplicationName = SafeStringCopy(in_struct->pApplicationName); + pEngineName = SafeStringCopy(in_struct->pEngineName); } -safe_VkApplicationInfo::safe_VkApplicationInfo() +safe_VkApplicationInfo::safe_VkApplicationInfo() : + pNext(nullptr), + pApplicationName(nullptr), + pEngineName(nullptr) {} safe_VkApplicationInfo::safe_VkApplicationInfo(const safe_VkApplicationInfo& src) { sType = src.sType; - pNext = src.pNext; - pApplicationName = src.pApplicationName; applicationVersion = src.applicationVersion; - pEngineName = src.pEngineName; engineVersion = src.engineVersion; apiVersion = src.apiVersion; + pNext = SafePnextCopy(src.pNext); + pApplicationName = SafeStringCopy(src.pApplicationName); + pEngineName = SafeStringCopy(src.pEngineName); } safe_VkApplicationInfo& safe_VkApplicationInfo::operator=(const safe_VkApplicationInfo& src) { if (&src == this) return *this; + if (pApplicationName) delete [] pApplicationName; + if (pEngineName) delete [] pEngineName; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; - pApplicationName = src.pApplicationName; applicationVersion = src.applicationVersion; - pEngineName = src.pEngineName; engineVersion = src.engineVersion; apiVersion = src.apiVersion; + pNext = SafePnextCopy(src.pNext); + pApplicationName = SafeStringCopy(src.pApplicationName); + pEngineName = SafeStringCopy(src.pEngineName); return *this; } safe_VkApplicationInfo::~safe_VkApplicationInfo() { + if (pApplicationName) delete [] pApplicationName; + if (pEngineName) delete [] pEngineName; + if (pNext) + FreePnextChain(pNext); } void safe_VkApplicationInfo::initialize(const VkApplicationInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; - pApplicationName = in_struct->pApplicationName; applicationVersion = in_struct->applicationVersion; - pEngineName = in_struct->pEngineName; engineVersion = in_struct->engineVersion; apiVersion = in_struct->apiVersion; + pNext = SafePnextCopy(in_struct->pNext); + pApplicationName = SafeStringCopy(in_struct->pApplicationName); + pEngineName = SafeStringCopy(in_struct->pEngineName); } void safe_VkApplicationInfo::initialize(const safe_VkApplicationInfo* src) { sType = src->sType; - pNext = src->pNext; - pApplicationName = src->pApplicationName; applicationVersion = src->applicationVersion; - pEngineName = src->pEngineName; engineVersion = src->engineVersion; apiVersion = src->apiVersion; + pNext = SafePnextCopy(src->pNext); + pApplicationName = SafeStringCopy(src->pApplicationName); + pEngineName = SafeStringCopy(src->pEngineName); } safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo(const VkInstanceCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), + pApplicationInfo(nullptr), enabledLayerCount(in_struct->enabledLayerCount), - ppEnabledLayerNames(in_struct->ppEnabledLayerNames), - enabledExtensionCount(in_struct->enabledExtensionCount), - ppEnabledExtensionNames(in_struct->ppEnabledExtensionNames) + enabledExtensionCount(in_struct->enabledExtensionCount) { + pNext = SafePnextCopy(in_struct->pNext); + char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (in_struct->pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo); - else - pApplicationInfo = NULL; } -safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo() +safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo() : + pNext(nullptr), + pApplicationInfo(nullptr), + ppEnabledLayerNames(nullptr), + ppEnabledExtensionNames(nullptr) {} safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo(const safe_VkInstanceCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; + pApplicationInfo = nullptr; enabledLayerCount = src.enabledLayerCount; - ppEnabledLayerNames = src.ppEnabledLayerNames; enabledExtensionCount = src.enabledExtensionCount; - ppEnabledExtensionNames = src.ppEnabledExtensionNames; + pNext = SafePnextCopy(src.pNext); + char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (src.pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(*src.pApplicationInfo); - else - pApplicationInfo = NULL; } safe_VkInstanceCreateInfo& safe_VkInstanceCreateInfo::operator=(const safe_VkInstanceCreateInfo& src) @@ -140,18 +174,39 @@ safe_VkInstanceCreateInfo& safe_VkInstanceCreateInfo::operator=(const safe_VkIns if (pApplicationInfo) delete pApplicationInfo; + if (ppEnabledLayerNames) { + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + delete [] ppEnabledLayerNames[i]; + } + delete [] ppEnabledLayerNames; + } + if (ppEnabledExtensionNames) { + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + delete [] ppEnabledExtensionNames[i]; + } + delete [] ppEnabledExtensionNames; + } + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; + pApplicationInfo = nullptr; enabledLayerCount = src.enabledLayerCount; - ppEnabledLayerNames = src.ppEnabledLayerNames; enabledExtensionCount = src.enabledExtensionCount; - ppEnabledExtensionNames = src.ppEnabledExtensionNames; + pNext = SafePnextCopy(src.pNext); + char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (src.pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(*src.pApplicationInfo); - else - pApplicationInfo = NULL; return *this; } @@ -160,36 +215,64 @@ safe_VkInstanceCreateInfo::~safe_VkInstanceCreateInfo() { if (pApplicationInfo) delete pApplicationInfo; + if (ppEnabledLayerNames) { + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + delete [] ppEnabledLayerNames[i]; + } + delete [] ppEnabledLayerNames; + } + if (ppEnabledExtensionNames) { + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + delete [] ppEnabledExtensionNames[i]; + } + delete [] ppEnabledExtensionNames; + } + if (pNext) + FreePnextChain(pNext); } void safe_VkInstanceCreateInfo::initialize(const VkInstanceCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; + pApplicationInfo = nullptr; enabledLayerCount = in_struct->enabledLayerCount; - ppEnabledLayerNames = in_struct->ppEnabledLayerNames; enabledExtensionCount = in_struct->enabledExtensionCount; - ppEnabledExtensionNames = in_struct->ppEnabledExtensionNames; + pNext = SafePnextCopy(in_struct->pNext); + char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (in_struct->pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo); - else - pApplicationInfo = NULL; } void safe_VkInstanceCreateInfo::initialize(const safe_VkInstanceCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; + pApplicationInfo = nullptr; enabledLayerCount = src->enabledLayerCount; - ppEnabledLayerNames = src->ppEnabledLayerNames; enabledExtensionCount = src->enabledExtensionCount; - ppEnabledExtensionNames = src->ppEnabledExtensionNames; + pNext = SafePnextCopy(src->pNext); + char **tmp_ppEnabledLayerNames = new char *[src->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(src->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[src->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (src->pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(*src->pApplicationInfo); - else - pApplicationInfo = NULL; } safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const VkAllocationCallbacks* in_struct) : @@ -202,7 +285,8 @@ safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const VkAllocationCallbac { } -safe_VkAllocationCallbacks::safe_VkAllocationCallbacks() +safe_VkAllocationCallbacks::safe_VkAllocationCallbacks() : + pUserData(nullptr) {} safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const safe_VkAllocationCallbacks& src) @@ -256,12 +340,12 @@ void safe_VkAllocationCallbacks::initialize(const safe_VkAllocationCallbacks* sr safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), queueFamilyIndex(in_struct->queueFamilyIndex), queueCount(in_struct->queueCount), pQueuePriorities(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueuePriorities) { pQueuePriorities = new float[in_struct->queueCount]; memcpy ((void *)pQueuePriorities, (void *)in_struct->pQueuePriorities, sizeof(float)*in_struct->queueCount); @@ -269,17 +353,18 @@ safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const VkDeviceQueueCr } safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo() : + pNext(nullptr), pQueuePriorities(nullptr) {} safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const safe_VkDeviceQueueCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; queueFamilyIndex = src.queueFamilyIndex; queueCount = src.queueCount; pQueuePriorities = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pQueuePriorities) { pQueuePriorities = new float[src.queueCount]; memcpy ((void *)pQueuePriorities, (void *)src.pQueuePriorities, sizeof(float)*src.queueCount); @@ -292,13 +377,15 @@ safe_VkDeviceQueueCreateInfo& safe_VkDeviceQueueCreateInfo::operator=(const safe if (pQueuePriorities) delete[] pQueuePriorities; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; queueFamilyIndex = src.queueFamilyIndex; queueCount = src.queueCount; pQueuePriorities = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pQueuePriorities) { pQueuePriorities = new float[src.queueCount]; memcpy ((void *)pQueuePriorities, (void *)src.pQueuePriorities, sizeof(float)*src.queueCount); @@ -311,16 +398,18 @@ safe_VkDeviceQueueCreateInfo::~safe_VkDeviceQueueCreateInfo() { if (pQueuePriorities) delete[] pQueuePriorities; + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceQueueCreateInfo::initialize(const VkDeviceQueueCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; queueFamilyIndex = in_struct->queueFamilyIndex; queueCount = in_struct->queueCount; pQueuePriorities = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueuePriorities) { pQueuePriorities = new float[in_struct->queueCount]; memcpy ((void *)pQueuePriorities, (void *)in_struct->pQueuePriorities, sizeof(float)*in_struct->queueCount); @@ -330,11 +419,11 @@ void safe_VkDeviceQueueCreateInfo::initialize(const VkDeviceQueueCreateInfo* in_ void safe_VkDeviceQueueCreateInfo::initialize(const safe_VkDeviceQueueCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; queueFamilyIndex = src->queueFamilyIndex; queueCount = src->queueCount; pQueuePriorities = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pQueuePriorities) { pQueuePriorities = new float[src->queueCount]; memcpy ((void *)pQueuePriorities, (void *)src->pQueuePriorities, sizeof(float)*src->queueCount); @@ -343,19 +432,27 @@ void safe_VkDeviceQueueCreateInfo::initialize(const safe_VkDeviceQueueCreateInfo safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const VkDeviceCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), queueCreateInfoCount(in_struct->queueCreateInfoCount), pQueueCreateInfos(nullptr), enabledLayerCount(in_struct->enabledLayerCount), - ppEnabledLayerNames(in_struct->ppEnabledLayerNames), enabledExtensionCount(in_struct->enabledExtensionCount), - ppEnabledExtensionNames(in_struct->ppEnabledExtensionNames), pEnabledFeatures(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); + char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && in_struct->pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; - for (uint32_t i=0; i<queueCreateInfoCount; ++i) { + for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { pQueueCreateInfos[i].initialize(&in_struct->pQueueCreateInfos[i]); } } @@ -365,25 +462,36 @@ safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const VkDeviceCreateInfo* in_st } safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo() : + pNext(nullptr), pQueueCreateInfos(nullptr), + ppEnabledLayerNames(nullptr), + ppEnabledExtensionNames(nullptr), pEnabledFeatures(nullptr) {} safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const safe_VkDeviceCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; queueCreateInfoCount = src.queueCreateInfoCount; pQueueCreateInfos = nullptr; enabledLayerCount = src.enabledLayerCount; - ppEnabledLayerNames = src.ppEnabledLayerNames; enabledExtensionCount = src.enabledExtensionCount; - ppEnabledExtensionNames = src.ppEnabledExtensionNames; pEnabledFeatures = nullptr; + pNext = SafePnextCopy(src.pNext); + char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && src.pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; - for (uint32_t i=0; i<queueCreateInfoCount; ++i) { + for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { pQueueCreateInfos[i].initialize(&src.pQueueCreateInfos[i]); } } @@ -398,22 +506,44 @@ safe_VkDeviceCreateInfo& safe_VkDeviceCreateInfo::operator=(const safe_VkDeviceC if (pQueueCreateInfos) delete[] pQueueCreateInfos; + if (ppEnabledLayerNames) { + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + delete [] ppEnabledLayerNames[i]; + } + delete [] ppEnabledLayerNames; + } + if (ppEnabledExtensionNames) { + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + delete [] ppEnabledExtensionNames[i]; + } + delete [] ppEnabledExtensionNames; + } if (pEnabledFeatures) delete pEnabledFeatures; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; queueCreateInfoCount = src.queueCreateInfoCount; pQueueCreateInfos = nullptr; enabledLayerCount = src.enabledLayerCount; - ppEnabledLayerNames = src.ppEnabledLayerNames; enabledExtensionCount = src.enabledExtensionCount; - ppEnabledExtensionNames = src.ppEnabledExtensionNames; pEnabledFeatures = nullptr; + pNext = SafePnextCopy(src.pNext); + char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && src.pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; - for (uint32_t i=0; i<queueCreateInfoCount; ++i) { + for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { pQueueCreateInfos[i].initialize(&src.pQueueCreateInfos[i]); } } @@ -428,25 +558,47 @@ safe_VkDeviceCreateInfo::~safe_VkDeviceCreateInfo() { if (pQueueCreateInfos) delete[] pQueueCreateInfos; + if (ppEnabledLayerNames) { + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + delete [] ppEnabledLayerNames[i]; + } + delete [] ppEnabledLayerNames; + } + if (ppEnabledExtensionNames) { + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + delete [] ppEnabledExtensionNames[i]; + } + delete [] ppEnabledExtensionNames; + } if (pEnabledFeatures) delete pEnabledFeatures; + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceCreateInfo::initialize(const VkDeviceCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; queueCreateInfoCount = in_struct->queueCreateInfoCount; pQueueCreateInfos = nullptr; enabledLayerCount = in_struct->enabledLayerCount; - ppEnabledLayerNames = in_struct->ppEnabledLayerNames; enabledExtensionCount = in_struct->enabledExtensionCount; - ppEnabledExtensionNames = in_struct->ppEnabledExtensionNames; pEnabledFeatures = nullptr; + pNext = SafePnextCopy(in_struct->pNext); + char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && in_struct->pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; - for (uint32_t i=0; i<queueCreateInfoCount; ++i) { + for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { pQueueCreateInfos[i].initialize(&in_struct->pQueueCreateInfos[i]); } } @@ -458,18 +610,26 @@ void safe_VkDeviceCreateInfo::initialize(const VkDeviceCreateInfo* in_struct) void safe_VkDeviceCreateInfo::initialize(const safe_VkDeviceCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; queueCreateInfoCount = src->queueCreateInfoCount; pQueueCreateInfos = nullptr; enabledLayerCount = src->enabledLayerCount; - ppEnabledLayerNames = src->ppEnabledLayerNames; enabledExtensionCount = src->enabledExtensionCount; - ppEnabledExtensionNames = src->ppEnabledExtensionNames; pEnabledFeatures = nullptr; + pNext = SafePnextCopy(src->pNext); + char **tmp_ppEnabledLayerNames = new char *[src->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(src->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + char **tmp_ppEnabledExtensionNames = new char *[src->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && src->pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; - for (uint32_t i=0; i<queueCreateInfoCount; ++i) { + for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { pQueueCreateInfos[i].initialize(&src->pQueueCreateInfos[i]); } } @@ -480,7 +640,6 @@ void safe_VkDeviceCreateInfo::initialize(const safe_VkDeviceCreateInfo* src) safe_VkSubmitInfo::safe_VkSubmitInfo(const VkSubmitInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), waitSemaphoreCount(in_struct->waitSemaphoreCount), pWaitSemaphores(nullptr), pWaitDstStageMask(nullptr), @@ -489,9 +648,10 @@ safe_VkSubmitInfo::safe_VkSubmitInfo(const VkSubmitInfo* in_struct) : signalSemaphoreCount(in_struct->signalSemaphoreCount), pSignalSemaphores(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (waitSemaphoreCount && in_struct->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = in_struct->pWaitSemaphores[i]; } } @@ -505,13 +665,14 @@ safe_VkSubmitInfo::safe_VkSubmitInfo(const VkSubmitInfo* in_struct) : } if (signalSemaphoreCount && in_struct->pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = in_struct->pSignalSemaphores[i]; } } } safe_VkSubmitInfo::safe_VkSubmitInfo() : + pNext(nullptr), pWaitSemaphores(nullptr), pWaitDstStageMask(nullptr), pCommandBuffers(nullptr), @@ -521,7 +682,6 @@ safe_VkSubmitInfo::safe_VkSubmitInfo() : safe_VkSubmitInfo::safe_VkSubmitInfo(const safe_VkSubmitInfo& src) { sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphores = nullptr; pWaitDstStageMask = nullptr; @@ -529,9 +689,10 @@ safe_VkSubmitInfo::safe_VkSubmitInfo(const safe_VkSubmitInfo& src) pCommandBuffers = nullptr; signalSemaphoreCount = src.signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(src.pNext); if (waitSemaphoreCount && src.pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src.pWaitSemaphores[i]; } } @@ -545,7 +706,7 @@ safe_VkSubmitInfo::safe_VkSubmitInfo(const safe_VkSubmitInfo& src) } if (signalSemaphoreCount && src.pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = src.pSignalSemaphores[i]; } } @@ -563,9 +724,10 @@ safe_VkSubmitInfo& safe_VkSubmitInfo::operator=(const safe_VkSubmitInfo& src) delete[] pCommandBuffers; if (pSignalSemaphores) delete[] pSignalSemaphores; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphores = nullptr; pWaitDstStageMask = nullptr; @@ -573,9 +735,10 @@ safe_VkSubmitInfo& safe_VkSubmitInfo::operator=(const safe_VkSubmitInfo& src) pCommandBuffers = nullptr; signalSemaphoreCount = src.signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(src.pNext); if (waitSemaphoreCount && src.pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src.pWaitSemaphores[i]; } } @@ -589,7 +752,7 @@ safe_VkSubmitInfo& safe_VkSubmitInfo::operator=(const safe_VkSubmitInfo& src) } if (signalSemaphoreCount && src.pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = src.pSignalSemaphores[i]; } } @@ -607,12 +770,13 @@ safe_VkSubmitInfo::~safe_VkSubmitInfo() delete[] pCommandBuffers; if (pSignalSemaphores) delete[] pSignalSemaphores; + if (pNext) + FreePnextChain(pNext); } void safe_VkSubmitInfo::initialize(const VkSubmitInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; waitSemaphoreCount = in_struct->waitSemaphoreCount; pWaitSemaphores = nullptr; pWaitDstStageMask = nullptr; @@ -620,9 +784,10 @@ void safe_VkSubmitInfo::initialize(const VkSubmitInfo* in_struct) pCommandBuffers = nullptr; signalSemaphoreCount = in_struct->signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (waitSemaphoreCount && in_struct->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = in_struct->pWaitSemaphores[i]; } } @@ -636,7 +801,7 @@ void safe_VkSubmitInfo::initialize(const VkSubmitInfo* in_struct) } if (signalSemaphoreCount && in_struct->pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = in_struct->pSignalSemaphores[i]; } } @@ -645,7 +810,6 @@ void safe_VkSubmitInfo::initialize(const VkSubmitInfo* in_struct) void safe_VkSubmitInfo::initialize(const safe_VkSubmitInfo* src) { sType = src->sType; - pNext = src->pNext; waitSemaphoreCount = src->waitSemaphoreCount; pWaitSemaphores = nullptr; pWaitDstStageMask = nullptr; @@ -653,9 +817,10 @@ void safe_VkSubmitInfo::initialize(const safe_VkSubmitInfo* src) pCommandBuffers = nullptr; signalSemaphoreCount = src->signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(src->pNext); if (waitSemaphoreCount && src->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src->pWaitSemaphores[i]; } } @@ -669,7 +834,7 @@ void safe_VkSubmitInfo::initialize(const safe_VkSubmitInfo* src) } if (signalSemaphoreCount && src->pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = src->pSignalSemaphores[i]; } } @@ -677,111 +842,121 @@ void safe_VkSubmitInfo::initialize(const safe_VkSubmitInfo* src) safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo(const VkMemoryAllocateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), allocationSize(in_struct->allocationSize), memoryTypeIndex(in_struct->memoryTypeIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo() +safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo() : + pNext(nullptr) {} safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo(const safe_VkMemoryAllocateInfo& src) { sType = src.sType; - pNext = src.pNext; allocationSize = src.allocationSize; memoryTypeIndex = src.memoryTypeIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryAllocateInfo& safe_VkMemoryAllocateInfo::operator=(const safe_VkMemoryAllocateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; allocationSize = src.allocationSize; memoryTypeIndex = src.memoryTypeIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryAllocateInfo::~safe_VkMemoryAllocateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryAllocateInfo::initialize(const VkMemoryAllocateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; allocationSize = in_struct->allocationSize; memoryTypeIndex = in_struct->memoryTypeIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryAllocateInfo::initialize(const safe_VkMemoryAllocateInfo* src) { sType = src->sType; - pNext = src->pNext; allocationSize = src->allocationSize; memoryTypeIndex = src->memoryTypeIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkMappedMemoryRange::safe_VkMappedMemoryRange(const VkMappedMemoryRange* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memory(in_struct->memory), offset(in_struct->offset), size(in_struct->size) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMappedMemoryRange::safe_VkMappedMemoryRange() +safe_VkMappedMemoryRange::safe_VkMappedMemoryRange() : + pNext(nullptr) {} safe_VkMappedMemoryRange::safe_VkMappedMemoryRange(const safe_VkMappedMemoryRange& src) { sType = src.sType; - pNext = src.pNext; memory = src.memory; offset = src.offset; size = src.size; + pNext = SafePnextCopy(src.pNext); } safe_VkMappedMemoryRange& safe_VkMappedMemoryRange::operator=(const safe_VkMappedMemoryRange& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memory = src.memory; offset = src.offset; size = src.size; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMappedMemoryRange::~safe_VkMappedMemoryRange() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMappedMemoryRange::initialize(const VkMappedMemoryRange* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memory = in_struct->memory; offset = in_struct->offset; size = in_struct->size; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMappedMemoryRange::initialize(const safe_VkMappedMemoryRange* src) { sType = src->sType; - pNext = src->pNext; memory = src->memory; offset = src->offset; size = src->size; + pNext = SafePnextCopy(src->pNext); } safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo* in_struct) : @@ -791,7 +966,7 @@ safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const VkSpa { if (bindCount && in_struct->pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = in_struct->pBinds[i]; } } @@ -808,7 +983,7 @@ safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const safe_ pBinds = nullptr; if (bindCount && src.pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src.pBinds[i]; } } @@ -826,7 +1001,7 @@ safe_VkSparseBufferMemoryBindInfo& safe_VkSparseBufferMemoryBindInfo::operator=( pBinds = nullptr; if (bindCount && src.pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src.pBinds[i]; } } @@ -847,7 +1022,7 @@ void safe_VkSparseBufferMemoryBindInfo::initialize(const VkSparseBufferMemoryBin pBinds = nullptr; if (bindCount && in_struct->pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = in_struct->pBinds[i]; } } @@ -860,7 +1035,7 @@ void safe_VkSparseBufferMemoryBindInfo::initialize(const safe_VkSparseBufferMemo pBinds = nullptr; if (bindCount && src->pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src->pBinds[i]; } } @@ -873,7 +1048,7 @@ safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo(c { if (bindCount && in_struct->pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = in_struct->pBinds[i]; } } @@ -890,7 +1065,7 @@ safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo(c pBinds = nullptr; if (bindCount && src.pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src.pBinds[i]; } } @@ -908,7 +1083,7 @@ safe_VkSparseImageOpaqueMemoryBindInfo& safe_VkSparseImageOpaqueMemoryBindInfo:: pBinds = nullptr; if (bindCount && src.pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src.pBinds[i]; } } @@ -929,7 +1104,7 @@ void safe_VkSparseImageOpaqueMemoryBindInfo::initialize(const VkSparseImageOpaqu pBinds = nullptr; if (bindCount && in_struct->pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = in_struct->pBinds[i]; } } @@ -942,7 +1117,7 @@ void safe_VkSparseImageOpaqueMemoryBindInfo::initialize(const safe_VkSparseImage pBinds = nullptr; if (bindCount && src->pBinds) { pBinds = new VkSparseMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src->pBinds[i]; } } @@ -955,7 +1130,7 @@ safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const VkSpars { if (bindCount && in_struct->pBinds) { pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = in_struct->pBinds[i]; } } @@ -972,7 +1147,7 @@ safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const safe_Vk pBinds = nullptr; if (bindCount && src.pBinds) { pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src.pBinds[i]; } } @@ -990,7 +1165,7 @@ safe_VkSparseImageMemoryBindInfo& safe_VkSparseImageMemoryBindInfo::operator=(co pBinds = nullptr; if (bindCount && src.pBinds) { pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src.pBinds[i]; } } @@ -1011,7 +1186,7 @@ void safe_VkSparseImageMemoryBindInfo::initialize(const VkSparseImageMemoryBindI pBinds = nullptr; if (bindCount && in_struct->pBinds) { pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = in_struct->pBinds[i]; } } @@ -1024,7 +1199,7 @@ void safe_VkSparseImageMemoryBindInfo::initialize(const safe_VkSparseImageMemory pBinds = nullptr; if (bindCount && src->pBinds) { pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i=0; i<bindCount; ++i) { + for (uint32_t i = 0; i < bindCount; ++i) { pBinds[i] = src->pBinds[i]; } } @@ -1032,7 +1207,6 @@ void safe_VkSparseImageMemoryBindInfo::initialize(const safe_VkSparseImageMemory safe_VkBindSparseInfo::safe_VkBindSparseInfo(const VkBindSparseInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), waitSemaphoreCount(in_struct->waitSemaphoreCount), pWaitSemaphores(nullptr), bufferBindCount(in_struct->bufferBindCount), @@ -1044,39 +1218,41 @@ safe_VkBindSparseInfo::safe_VkBindSparseInfo(const VkBindSparseInfo* in_struct) signalSemaphoreCount(in_struct->signalSemaphoreCount), pSignalSemaphores(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (waitSemaphoreCount && in_struct->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = in_struct->pWaitSemaphores[i]; } } if (bufferBindCount && in_struct->pBufferBinds) { pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount]; - for (uint32_t i=0; i<bufferBindCount; ++i) { + for (uint32_t i = 0; i < bufferBindCount; ++i) { pBufferBinds[i].initialize(&in_struct->pBufferBinds[i]); } } if (imageOpaqueBindCount && in_struct->pImageOpaqueBinds) { pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount]; - for (uint32_t i=0; i<imageOpaqueBindCount; ++i) { + for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) { pImageOpaqueBinds[i].initialize(&in_struct->pImageOpaqueBinds[i]); } } if (imageBindCount && in_struct->pImageBinds) { pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount]; - for (uint32_t i=0; i<imageBindCount; ++i) { + for (uint32_t i = 0; i < imageBindCount; ++i) { pImageBinds[i].initialize(&in_struct->pImageBinds[i]); } } if (signalSemaphoreCount && in_struct->pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = in_struct->pSignalSemaphores[i]; } } } safe_VkBindSparseInfo::safe_VkBindSparseInfo() : + pNext(nullptr), pWaitSemaphores(nullptr), pBufferBinds(nullptr), pImageOpaqueBinds(nullptr), @@ -1087,7 +1263,6 @@ safe_VkBindSparseInfo::safe_VkBindSparseInfo() : safe_VkBindSparseInfo::safe_VkBindSparseInfo(const safe_VkBindSparseInfo& src) { sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphores = nullptr; bufferBindCount = src.bufferBindCount; @@ -1098,33 +1273,34 @@ safe_VkBindSparseInfo::safe_VkBindSparseInfo(const safe_VkBindSparseInfo& src) pImageBinds = nullptr; signalSemaphoreCount = src.signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(src.pNext); if (waitSemaphoreCount && src.pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src.pWaitSemaphores[i]; } } if (bufferBindCount && src.pBufferBinds) { pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount]; - for (uint32_t i=0; i<bufferBindCount; ++i) { + for (uint32_t i = 0; i < bufferBindCount; ++i) { pBufferBinds[i].initialize(&src.pBufferBinds[i]); } } if (imageOpaqueBindCount && src.pImageOpaqueBinds) { pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount]; - for (uint32_t i=0; i<imageOpaqueBindCount; ++i) { + for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) { pImageOpaqueBinds[i].initialize(&src.pImageOpaqueBinds[i]); } } if (imageBindCount && src.pImageBinds) { pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount]; - for (uint32_t i=0; i<imageBindCount; ++i) { + for (uint32_t i = 0; i < imageBindCount; ++i) { pImageBinds[i].initialize(&src.pImageBinds[i]); } } if (signalSemaphoreCount && src.pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = src.pSignalSemaphores[i]; } } @@ -1144,9 +1320,10 @@ safe_VkBindSparseInfo& safe_VkBindSparseInfo::operator=(const safe_VkBindSparseI delete[] pImageBinds; if (pSignalSemaphores) delete[] pSignalSemaphores; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphores = nullptr; bufferBindCount = src.bufferBindCount; @@ -1157,33 +1334,34 @@ safe_VkBindSparseInfo& safe_VkBindSparseInfo::operator=(const safe_VkBindSparseI pImageBinds = nullptr; signalSemaphoreCount = src.signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(src.pNext); if (waitSemaphoreCount && src.pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src.pWaitSemaphores[i]; } } if (bufferBindCount && src.pBufferBinds) { pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount]; - for (uint32_t i=0; i<bufferBindCount; ++i) { + for (uint32_t i = 0; i < bufferBindCount; ++i) { pBufferBinds[i].initialize(&src.pBufferBinds[i]); } } if (imageOpaqueBindCount && src.pImageOpaqueBinds) { pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount]; - for (uint32_t i=0; i<imageOpaqueBindCount; ++i) { + for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) { pImageOpaqueBinds[i].initialize(&src.pImageOpaqueBinds[i]); } } if (imageBindCount && src.pImageBinds) { pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount]; - for (uint32_t i=0; i<imageBindCount; ++i) { + for (uint32_t i = 0; i < imageBindCount; ++i) { pImageBinds[i].initialize(&src.pImageBinds[i]); } } if (signalSemaphoreCount && src.pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = src.pSignalSemaphores[i]; } } @@ -1203,12 +1381,13 @@ safe_VkBindSparseInfo::~safe_VkBindSparseInfo() delete[] pImageBinds; if (pSignalSemaphores) delete[] pSignalSemaphores; + if (pNext) + FreePnextChain(pNext); } void safe_VkBindSparseInfo::initialize(const VkBindSparseInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; waitSemaphoreCount = in_struct->waitSemaphoreCount; pWaitSemaphores = nullptr; bufferBindCount = in_struct->bufferBindCount; @@ -1219,33 +1398,34 @@ void safe_VkBindSparseInfo::initialize(const VkBindSparseInfo* in_struct) pImageBinds = nullptr; signalSemaphoreCount = in_struct->signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (waitSemaphoreCount && in_struct->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = in_struct->pWaitSemaphores[i]; } } if (bufferBindCount && in_struct->pBufferBinds) { pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount]; - for (uint32_t i=0; i<bufferBindCount; ++i) { + for (uint32_t i = 0; i < bufferBindCount; ++i) { pBufferBinds[i].initialize(&in_struct->pBufferBinds[i]); } } if (imageOpaqueBindCount && in_struct->pImageOpaqueBinds) { pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount]; - for (uint32_t i=0; i<imageOpaqueBindCount; ++i) { + for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) { pImageOpaqueBinds[i].initialize(&in_struct->pImageOpaqueBinds[i]); } } if (imageBindCount && in_struct->pImageBinds) { pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount]; - for (uint32_t i=0; i<imageBindCount; ++i) { + for (uint32_t i = 0; i < imageBindCount; ++i) { pImageBinds[i].initialize(&in_struct->pImageBinds[i]); } } if (signalSemaphoreCount && in_struct->pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = in_struct->pSignalSemaphores[i]; } } @@ -1254,7 +1434,6 @@ void safe_VkBindSparseInfo::initialize(const VkBindSparseInfo* in_struct) void safe_VkBindSparseInfo::initialize(const safe_VkBindSparseInfo* src) { sType = src->sType; - pNext = src->pNext; waitSemaphoreCount = src->waitSemaphoreCount; pWaitSemaphores = nullptr; bufferBindCount = src->bufferBindCount; @@ -1265,33 +1444,34 @@ void safe_VkBindSparseInfo::initialize(const safe_VkBindSparseInfo* src) pImageBinds = nullptr; signalSemaphoreCount = src->signalSemaphoreCount; pSignalSemaphores = nullptr; + pNext = SafePnextCopy(src->pNext); if (waitSemaphoreCount && src->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src->pWaitSemaphores[i]; } } if (bufferBindCount && src->pBufferBinds) { pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount]; - for (uint32_t i=0; i<bufferBindCount; ++i) { + for (uint32_t i = 0; i < bufferBindCount; ++i) { pBufferBinds[i].initialize(&src->pBufferBinds[i]); } } if (imageOpaqueBindCount && src->pImageOpaqueBinds) { pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount]; - for (uint32_t i=0; i<imageOpaqueBindCount; ++i) { + for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) { pImageOpaqueBinds[i].initialize(&src->pImageOpaqueBinds[i]); } } if (imageBindCount && src->pImageBinds) { pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount]; - for (uint32_t i=0; i<imageBindCount; ++i) { + for (uint32_t i = 0; i < imageBindCount; ++i) { pImageBinds[i].initialize(&src->pImageBinds[i]); } } if (signalSemaphoreCount && src->pSignalSemaphores) { pSignalSemaphores = new VkSemaphore[signalSemaphoreCount]; - for (uint32_t i=0; i<signalSemaphoreCount; ++i) { + for (uint32_t i = 0; i < signalSemaphoreCount; ++i) { pSignalSemaphores[i] = src->pSignalSemaphores[i]; } } @@ -1299,210 +1479,229 @@ void safe_VkBindSparseInfo::initialize(const safe_VkBindSparseInfo* src) safe_VkFenceCreateInfo::safe_VkFenceCreateInfo(const VkFenceCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkFenceCreateInfo::safe_VkFenceCreateInfo() +safe_VkFenceCreateInfo::safe_VkFenceCreateInfo() : + pNext(nullptr) {} safe_VkFenceCreateInfo::safe_VkFenceCreateInfo(const safe_VkFenceCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkFenceCreateInfo& safe_VkFenceCreateInfo::operator=(const safe_VkFenceCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkFenceCreateInfo::~safe_VkFenceCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkFenceCreateInfo::initialize(const VkFenceCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkFenceCreateInfo::initialize(const safe_VkFenceCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; + pNext = SafePnextCopy(src->pNext); } safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo() +safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo() : + pNext(nullptr) {} safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo(const safe_VkSemaphoreCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkSemaphoreCreateInfo& safe_VkSemaphoreCreateInfo::operator=(const safe_VkSemaphoreCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSemaphoreCreateInfo::~safe_VkSemaphoreCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSemaphoreCreateInfo::initialize(const VkSemaphoreCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSemaphoreCreateInfo::initialize(const safe_VkSemaphoreCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; + pNext = SafePnextCopy(src->pNext); } safe_VkEventCreateInfo::safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkEventCreateInfo::safe_VkEventCreateInfo() +safe_VkEventCreateInfo::safe_VkEventCreateInfo() : + pNext(nullptr) {} safe_VkEventCreateInfo::safe_VkEventCreateInfo(const safe_VkEventCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkEventCreateInfo& safe_VkEventCreateInfo::operator=(const safe_VkEventCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkEventCreateInfo::~safe_VkEventCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkEventCreateInfo::initialize(const VkEventCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkEventCreateInfo::initialize(const safe_VkEventCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; + pNext = SafePnextCopy(src->pNext); } safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), queryType(in_struct->queryType), queryCount(in_struct->queryCount), pipelineStatistics(in_struct->pipelineStatistics) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo() +safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo() : + pNext(nullptr) {} safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const safe_VkQueryPoolCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; queryType = src.queryType; queryCount = src.queryCount; pipelineStatistics = src.pipelineStatistics; + pNext = SafePnextCopy(src.pNext); } safe_VkQueryPoolCreateInfo& safe_VkQueryPoolCreateInfo::operator=(const safe_VkQueryPoolCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; queryType = src.queryType; queryCount = src.queryCount; pipelineStatistics = src.pipelineStatistics; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkQueryPoolCreateInfo::~safe_VkQueryPoolCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkQueryPoolCreateInfo::initialize(const VkQueryPoolCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; queryType = in_struct->queryType; queryCount = in_struct->queryCount; pipelineStatistics = in_struct->pipelineStatistics; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkQueryPoolCreateInfo::initialize(const safe_VkQueryPoolCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; queryType = src->queryType; queryCount = src->queryCount; pipelineStatistics = src->pipelineStatistics; + pNext = SafePnextCopy(src->pNext); } safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const VkBufferCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), size(in_struct->size), usage(in_struct->usage), @@ -1510,6 +1709,7 @@ safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const VkBufferCreateInfo* in_st queueFamilyIndexCount(in_struct->queueFamilyIndexCount), pQueueFamilyIndices(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -1517,19 +1717,20 @@ safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const VkBufferCreateInfo* in_st } safe_VkBufferCreateInfo::safe_VkBufferCreateInfo() : + pNext(nullptr), pQueueFamilyIndices(nullptr) {} safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const safe_VkBufferCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; size = src.size; usage = src.usage; sharingMode = src.sharingMode; queueFamilyIndexCount = src.queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -1542,15 +1743,17 @@ safe_VkBufferCreateInfo& safe_VkBufferCreateInfo::operator=(const safe_VkBufferC if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; size = src.size; usage = src.usage; sharingMode = src.sharingMode; queueFamilyIndexCount = src.queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -1563,18 +1766,20 @@ safe_VkBufferCreateInfo::~safe_VkBufferCreateInfo() { if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkBufferCreateInfo::initialize(const VkBufferCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; size = in_struct->size; usage = in_struct->usage; sharingMode = in_struct->sharingMode; queueFamilyIndexCount = in_struct->queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -1584,13 +1789,13 @@ void safe_VkBufferCreateInfo::initialize(const VkBufferCreateInfo* in_struct) void safe_VkBufferCreateInfo::initialize(const safe_VkBufferCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; size = src->size; usage = src->usage; sharingMode = src->sharingMode; queueFamilyIndexCount = src->queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount); @@ -1599,74 +1804,78 @@ void safe_VkBufferCreateInfo::initialize(const safe_VkBufferCreateInfo* src) safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), buffer(in_struct->buffer), format(in_struct->format), offset(in_struct->offset), range(in_struct->range) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo() +safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo() : + pNext(nullptr) {} safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; buffer = src.buffer; format = src.format; offset = src.offset; range = src.range; + pNext = SafePnextCopy(src.pNext); } safe_VkBufferViewCreateInfo& safe_VkBufferViewCreateInfo::operator=(const safe_VkBufferViewCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; buffer = src.buffer; format = src.format; offset = src.offset; range = src.range; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBufferViewCreateInfo::~safe_VkBufferViewCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBufferViewCreateInfo::initialize(const VkBufferViewCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; buffer = in_struct->buffer; format = in_struct->format; offset = in_struct->offset; range = in_struct->range; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBufferViewCreateInfo::initialize(const safe_VkBufferViewCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; buffer = src->buffer; format = src->format; offset = src->offset; range = src->range; + pNext = SafePnextCopy(src->pNext); } safe_VkImageCreateInfo::safe_VkImageCreateInfo(const VkImageCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), imageType(in_struct->imageType), format(in_struct->format), @@ -1681,6 +1890,7 @@ safe_VkImageCreateInfo::safe_VkImageCreateInfo(const VkImageCreateInfo* in_struc pQueueFamilyIndices(nullptr), initialLayout(in_struct->initialLayout) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -1688,13 +1898,13 @@ safe_VkImageCreateInfo::safe_VkImageCreateInfo(const VkImageCreateInfo* in_struc } safe_VkImageCreateInfo::safe_VkImageCreateInfo() : + pNext(nullptr), pQueueFamilyIndices(nullptr) {} safe_VkImageCreateInfo::safe_VkImageCreateInfo(const safe_VkImageCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; imageType = src.imageType; format = src.format; @@ -1708,6 +1918,7 @@ safe_VkImageCreateInfo::safe_VkImageCreateInfo(const safe_VkImageCreateInfo& src queueFamilyIndexCount = src.queueFamilyIndexCount; pQueueFamilyIndices = nullptr; initialLayout = src.initialLayout; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -1720,9 +1931,10 @@ safe_VkImageCreateInfo& safe_VkImageCreateInfo::operator=(const safe_VkImageCrea if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; imageType = src.imageType; format = src.format; @@ -1736,6 +1948,7 @@ safe_VkImageCreateInfo& safe_VkImageCreateInfo::operator=(const safe_VkImageCrea queueFamilyIndexCount = src.queueFamilyIndexCount; pQueueFamilyIndices = nullptr; initialLayout = src.initialLayout; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -1748,12 +1961,13 @@ safe_VkImageCreateInfo::~safe_VkImageCreateInfo() { if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkImageCreateInfo::initialize(const VkImageCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; imageType = in_struct->imageType; format = in_struct->format; @@ -1767,6 +1981,7 @@ void safe_VkImageCreateInfo::initialize(const VkImageCreateInfo* in_struct) queueFamilyIndexCount = in_struct->queueFamilyIndexCount; pQueueFamilyIndices = nullptr; initialLayout = in_struct->initialLayout; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -1776,7 +1991,6 @@ void safe_VkImageCreateInfo::initialize(const VkImageCreateInfo* in_struct) void safe_VkImageCreateInfo::initialize(const safe_VkImageCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; imageType = src->imageType; format = src->format; @@ -1790,6 +2004,7 @@ void safe_VkImageCreateInfo::initialize(const safe_VkImageCreateInfo* src) queueFamilyIndexCount = src->queueFamilyIndexCount; pQueueFamilyIndices = nullptr; initialLayout = src->initialLayout; + pNext = SafePnextCopy(src->pNext); if (src->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount); @@ -1798,7 +2013,6 @@ void safe_VkImageCreateInfo::initialize(const safe_VkImageCreateInfo* src) safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const VkImageViewCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), image(in_struct->image), viewType(in_struct->viewType), @@ -1806,75 +2020,81 @@ safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const VkImageViewCreateIn components(in_struct->components), subresourceRange(in_struct->subresourceRange) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo() +safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo() : + pNext(nullptr) {} safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const safe_VkImageViewCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; image = src.image; viewType = src.viewType; format = src.format; components = src.components; subresourceRange = src.subresourceRange; + pNext = SafePnextCopy(src.pNext); } safe_VkImageViewCreateInfo& safe_VkImageViewCreateInfo::operator=(const safe_VkImageViewCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; image = src.image; viewType = src.viewType; format = src.format; components = src.components; subresourceRange = src.subresourceRange; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageViewCreateInfo::~safe_VkImageViewCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageViewCreateInfo::initialize(const VkImageViewCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; image = in_struct->image; viewType = in_struct->viewType; format = in_struct->format; components = in_struct->components; subresourceRange = in_struct->subresourceRange; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageViewCreateInfo::initialize(const safe_VkImageViewCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; image = src->image; viewType = src->viewType; format = src->format; components = src->components; subresourceRange = src->subresourceRange; + pNext = SafePnextCopy(src->pNext); } safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), codeSize(in_struct->codeSize), pCode(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pCode) { pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]); memcpy((void *)pCode, (void *)in_struct->pCode, codeSize); @@ -1882,16 +2102,17 @@ safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const VkShaderModul } safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo() : + pNext(nullptr), pCode(nullptr) {} safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const safe_VkShaderModuleCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; codeSize = src.codeSize; pCode = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pCode) { pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]); memcpy((void *)pCode, (void *)src.pCode, codeSize); @@ -1904,12 +2125,14 @@ safe_VkShaderModuleCreateInfo& safe_VkShaderModuleCreateInfo::operator=(const sa if (pCode) delete[] reinterpret_cast<const uint8_t *>(pCode); + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; codeSize = src.codeSize; pCode = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pCode) { pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]); memcpy((void *)pCode, (void *)src.pCode, codeSize); @@ -1922,15 +2145,17 @@ safe_VkShaderModuleCreateInfo::~safe_VkShaderModuleCreateInfo() { if (pCode) delete[] reinterpret_cast<const uint8_t *>(pCode); + if (pNext) + FreePnextChain(pNext); } void safe_VkShaderModuleCreateInfo::initialize(const VkShaderModuleCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; codeSize = in_struct->codeSize; pCode = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pCode) { pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]); memcpy((void *)pCode, (void *)in_struct->pCode, codeSize); @@ -1940,10 +2165,10 @@ void safe_VkShaderModuleCreateInfo::initialize(const VkShaderModuleCreateInfo* i void safe_VkShaderModuleCreateInfo::initialize(const safe_VkShaderModuleCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; codeSize = src->codeSize; pCode = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pCode) { pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]); memcpy((void *)pCode, (void *)src->pCode, codeSize); @@ -1952,59 +2177,65 @@ void safe_VkShaderModuleCreateInfo::initialize(const safe_VkShaderModuleCreateIn safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), initialDataSize(in_struct->initialDataSize), pInitialData(in_struct->pInitialData) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo() +safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo() : + pNext(nullptr), + pInitialData(nullptr) {} safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo(const safe_VkPipelineCacheCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; initialDataSize = src.initialDataSize; pInitialData = src.pInitialData; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineCacheCreateInfo& safe_VkPipelineCacheCreateInfo::operator=(const safe_VkPipelineCacheCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; initialDataSize = src.initialDataSize; pInitialData = src.pInitialData; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineCacheCreateInfo::~safe_VkPipelineCacheCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineCacheCreateInfo::initialize(const VkPipelineCacheCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; initialDataSize = in_struct->initialDataSize; pInitialData = in_struct->pInitialData; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineCacheCreateInfo::initialize(const safe_VkPipelineCacheCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; initialDataSize = src->initialDataSize; pInitialData = src->pInitialData; + pNext = SafePnextCopy(src->pNext); } safe_VkSpecializationInfo::safe_VkSpecializationInfo(const VkSpecializationInfo* in_struct) : @@ -2020,7 +2251,8 @@ safe_VkSpecializationInfo::safe_VkSpecializationInfo(const VkSpecializationInfo* } safe_VkSpecializationInfo::safe_VkSpecializationInfo() : - pMapEntries(nullptr) + pMapEntries(nullptr), + pData(nullptr) {} safe_VkSpecializationInfo::safe_VkSpecializationInfo(const safe_VkSpecializationInfo& src) @@ -2086,99 +2318,103 @@ void safe_VkSpecializationInfo::initialize(const safe_VkSpecializationInfo* src) safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), stage(in_struct->stage), module(in_struct->module), - pName(in_struct->pName) + pSpecializationInfo(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); + pName = SafeStringCopy(in_struct->pName); if (in_struct->pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo); - else - pSpecializationInfo = NULL; } -safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo() +safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo() : + pNext(nullptr), + pName(nullptr), + pSpecializationInfo(nullptr) {} safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo(const safe_VkPipelineShaderStageCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; stage = src.stage; module = src.module; - pName = src.pName; + pSpecializationInfo = nullptr; + pNext = SafePnextCopy(src.pNext); + pName = SafeStringCopy(src.pName); if (src.pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(*src.pSpecializationInfo); - else - pSpecializationInfo = NULL; } safe_VkPipelineShaderStageCreateInfo& safe_VkPipelineShaderStageCreateInfo::operator=(const safe_VkPipelineShaderStageCreateInfo& src) { if (&src == this) return *this; + if (pName) delete [] pName; if (pSpecializationInfo) delete pSpecializationInfo; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; stage = src.stage; module = src.module; - pName = src.pName; + pSpecializationInfo = nullptr; + pNext = SafePnextCopy(src.pNext); + pName = SafeStringCopy(src.pName); if (src.pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(*src.pSpecializationInfo); - else - pSpecializationInfo = NULL; return *this; } safe_VkPipelineShaderStageCreateInfo::~safe_VkPipelineShaderStageCreateInfo() { + if (pName) delete [] pName; if (pSpecializationInfo) delete pSpecializationInfo; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineShaderStageCreateInfo::initialize(const VkPipelineShaderStageCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; stage = in_struct->stage; module = in_struct->module; - pName = in_struct->pName; + pSpecializationInfo = nullptr; + pNext = SafePnextCopy(in_struct->pNext); + pName = SafeStringCopy(in_struct->pName); if (in_struct->pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo); - else - pSpecializationInfo = NULL; } void safe_VkPipelineShaderStageCreateInfo::initialize(const safe_VkPipelineShaderStageCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; stage = src->stage; module = src->module; - pName = src->pName; + pSpecializationInfo = nullptr; + pNext = SafePnextCopy(src->pNext); + pName = SafeStringCopy(src->pName); if (src->pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(*src->pSpecializationInfo); - else - pSpecializationInfo = NULL; } safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), vertexBindingDescriptionCount(in_struct->vertexBindingDescriptionCount), pVertexBindingDescriptions(nullptr), vertexAttributeDescriptionCount(in_struct->vertexAttributeDescriptionCount), pVertexAttributeDescriptions(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pVertexBindingDescriptions) { pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount]; memcpy ((void *)pVertexBindingDescriptions, (void *)in_struct->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*in_struct->vertexBindingDescriptionCount); @@ -2190,6 +2426,7 @@ safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreate } safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo() : + pNext(nullptr), pVertexBindingDescriptions(nullptr), pVertexAttributeDescriptions(nullptr) {} @@ -2197,12 +2434,12 @@ safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreate safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo(const safe_VkPipelineVertexInputStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; vertexBindingDescriptionCount = src.vertexBindingDescriptionCount; pVertexBindingDescriptions = nullptr; vertexAttributeDescriptionCount = src.vertexAttributeDescriptionCount; pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pVertexBindingDescriptions) { pVertexBindingDescriptions = new VkVertexInputBindingDescription[src.vertexBindingDescriptionCount]; memcpy ((void *)pVertexBindingDescriptions, (void *)src.pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src.vertexBindingDescriptionCount); @@ -2221,14 +2458,16 @@ safe_VkPipelineVertexInputStateCreateInfo& safe_VkPipelineVertexInputStateCreate delete[] pVertexBindingDescriptions; if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; vertexBindingDescriptionCount = src.vertexBindingDescriptionCount; pVertexBindingDescriptions = nullptr; vertexAttributeDescriptionCount = src.vertexAttributeDescriptionCount; pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pVertexBindingDescriptions) { pVertexBindingDescriptions = new VkVertexInputBindingDescription[src.vertexBindingDescriptionCount]; memcpy ((void *)pVertexBindingDescriptions, (void *)src.pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src.vertexBindingDescriptionCount); @@ -2247,17 +2486,19 @@ safe_VkPipelineVertexInputStateCreateInfo::~safe_VkPipelineVertexInputStateCreat delete[] pVertexBindingDescriptions; if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineVertexInputStateCreateInfo::initialize(const VkPipelineVertexInputStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; vertexBindingDescriptionCount = in_struct->vertexBindingDescriptionCount; pVertexBindingDescriptions = nullptr; vertexAttributeDescriptionCount = in_struct->vertexAttributeDescriptionCount; pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pVertexBindingDescriptions) { pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount]; memcpy ((void *)pVertexBindingDescriptions, (void *)in_struct->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*in_struct->vertexBindingDescriptionCount); @@ -2271,12 +2512,12 @@ void safe_VkPipelineVertexInputStateCreateInfo::initialize(const VkPipelineVerte void safe_VkPipelineVertexInputStateCreateInfo::initialize(const safe_VkPipelineVertexInputStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; vertexBindingDescriptionCount = src->vertexBindingDescriptionCount; pVertexBindingDescriptions = nullptr; vertexAttributeDescriptionCount = src->vertexAttributeDescriptionCount; pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pVertexBindingDescriptions) { pVertexBindingDescriptions = new VkVertexInputBindingDescription[src->vertexBindingDescriptionCount]; memcpy ((void *)pVertexBindingDescriptions, (void *)src->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src->vertexBindingDescriptionCount); @@ -2289,122 +2530,132 @@ void safe_VkPipelineVertexInputStateCreateInfo::initialize(const safe_VkPipeline safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), topology(in_struct->topology), primitiveRestartEnable(in_struct->primitiveRestartEnable) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo() +safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo() : + pNext(nullptr) {} safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo(const safe_VkPipelineInputAssemblyStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; topology = src.topology; primitiveRestartEnable = src.primitiveRestartEnable; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineInputAssemblyStateCreateInfo& safe_VkPipelineInputAssemblyStateCreateInfo::operator=(const safe_VkPipelineInputAssemblyStateCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; topology = src.topology; primitiveRestartEnable = src.primitiveRestartEnable; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineInputAssemblyStateCreateInfo::~safe_VkPipelineInputAssemblyStateCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; topology = in_struct->topology; primitiveRestartEnable = in_struct->primitiveRestartEnable; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; topology = src->topology; primitiveRestartEnable = src->primitiveRestartEnable; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), patchControlPoints(in_struct->patchControlPoints) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo() +safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo() : + pNext(nullptr) {} safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo(const safe_VkPipelineTessellationStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; patchControlPoints = src.patchControlPoints; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineTessellationStateCreateInfo& safe_VkPipelineTessellationStateCreateInfo::operator=(const safe_VkPipelineTessellationStateCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; patchControlPoints = src.patchControlPoints; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineTessellationStateCreateInfo::~safe_VkPipelineTessellationStateCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineTessellationStateCreateInfo::initialize(const VkPipelineTessellationStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; patchControlPoints = in_struct->patchControlPoints; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineTessellationStateCreateInfo::initialize(const safe_VkPipelineTessellationStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; patchControlPoints = src->patchControlPoints; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, const bool is_dynamic_scissors) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), viewportCount(in_struct->viewportCount), pViewports(nullptr), scissorCount(in_struct->scissorCount), pScissors(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewports && !is_dynamic_viewports) { pViewports = new VkViewport[in_struct->viewportCount]; memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount); @@ -2420,6 +2671,7 @@ safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(c } safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo() : + pNext(nullptr), pViewports(nullptr), pScissors(nullptr) {} @@ -2427,12 +2679,12 @@ safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo() safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(const safe_VkPipelineViewportStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; viewportCount = src.viewportCount; pViewports = nullptr; scissorCount = src.scissorCount; pScissors = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewports) { pViewports = new VkViewport[src.viewportCount]; memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount); @@ -2455,14 +2707,16 @@ safe_VkPipelineViewportStateCreateInfo& safe_VkPipelineViewportStateCreateInfo:: delete[] pViewports; if (pScissors) delete[] pScissors; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; viewportCount = src.viewportCount; pViewports = nullptr; scissorCount = src.scissorCount; pScissors = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewports) { pViewports = new VkViewport[src.viewportCount]; memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount); @@ -2485,17 +2739,19 @@ safe_VkPipelineViewportStateCreateInfo::~safe_VkPipelineViewportStateCreateInfo( delete[] pViewports; if (pScissors) delete[] pScissors; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineViewportStateCreateInfo::initialize(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, const bool is_dynamic_scissors) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; viewportCount = in_struct->viewportCount; pViewports = nullptr; scissorCount = in_struct->scissorCount; pScissors = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewports && !is_dynamic_viewports) { pViewports = new VkViewport[in_struct->viewportCount]; memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount); @@ -2513,12 +2769,12 @@ void safe_VkPipelineViewportStateCreateInfo::initialize(const VkPipelineViewport void safe_VkPipelineViewportStateCreateInfo::initialize(const safe_VkPipelineViewportStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; viewportCount = src->viewportCount; pViewports = nullptr; scissorCount = src->scissorCount; pScissors = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pViewports) { pViewports = new VkViewport[src->viewportCount]; memcpy ((void *)pViewports, (void *)src->pViewports, sizeof(VkViewport)*src->viewportCount); @@ -2535,7 +2791,6 @@ void safe_VkPipelineViewportStateCreateInfo::initialize(const safe_VkPipelineVie safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), depthClampEnable(in_struct->depthClampEnable), rasterizerDiscardEnable(in_struct->rasterizerDiscardEnable), @@ -2548,15 +2803,16 @@ safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCr depthBiasSlopeFactor(in_struct->depthBiasSlopeFactor), lineWidth(in_struct->lineWidth) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo() +safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo() : + pNext(nullptr) {} safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo(const safe_VkPipelineRasterizationStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; depthClampEnable = src.depthClampEnable; rasterizerDiscardEnable = src.rasterizerDiscardEnable; @@ -2568,15 +2824,17 @@ safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCr depthBiasClamp = src.depthBiasClamp; depthBiasSlopeFactor = src.depthBiasSlopeFactor; lineWidth = src.lineWidth; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineRasterizationStateCreateInfo& safe_VkPipelineRasterizationStateCreateInfo::operator=(const safe_VkPipelineRasterizationStateCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; depthClampEnable = src.depthClampEnable; rasterizerDiscardEnable = src.rasterizerDiscardEnable; @@ -2588,18 +2846,20 @@ safe_VkPipelineRasterizationStateCreateInfo& safe_VkPipelineRasterizationStateCr depthBiasClamp = src.depthBiasClamp; depthBiasSlopeFactor = src.depthBiasSlopeFactor; lineWidth = src.lineWidth; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineRasterizationStateCreateInfo::~safe_VkPipelineRasterizationStateCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineRasterizationStateCreateInfo::initialize(const VkPipelineRasterizationStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; depthClampEnable = in_struct->depthClampEnable; rasterizerDiscardEnable = in_struct->rasterizerDiscardEnable; @@ -2611,12 +2871,12 @@ void safe_VkPipelineRasterizationStateCreateInfo::initialize(const VkPipelineRas depthBiasClamp = in_struct->depthBiasClamp; depthBiasSlopeFactor = in_struct->depthBiasSlopeFactor; lineWidth = in_struct->lineWidth; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineRasterizationStateCreateInfo::initialize(const safe_VkPipelineRasterizationStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; depthClampEnable = src->depthClampEnable; rasterizerDiscardEnable = src->rasterizerDiscardEnable; @@ -2628,11 +2888,11 @@ void safe_VkPipelineRasterizationStateCreateInfo::initialize(const safe_VkPipeli depthBiasClamp = src->depthBiasClamp; depthBiasSlopeFactor = src->depthBiasSlopeFactor; lineWidth = src->lineWidth; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), rasterizationSamples(in_struct->rasterizationSamples), sampleShadingEnable(in_struct->sampleShadingEnable), @@ -2641,19 +2901,20 @@ safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreate alphaToCoverageEnable(in_struct->alphaToCoverageEnable), alphaToOneEnable(in_struct->alphaToOneEnable) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pSampleMask) { pSampleMask = new VkSampleMask(*in_struct->pSampleMask); } } safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo() : + pNext(nullptr), pSampleMask(nullptr) {} safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo(const safe_VkPipelineMultisampleStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; rasterizationSamples = src.rasterizationSamples; sampleShadingEnable = src.sampleShadingEnable; @@ -2661,6 +2922,7 @@ safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreate pSampleMask = nullptr; alphaToCoverageEnable = src.alphaToCoverageEnable; alphaToOneEnable = src.alphaToOneEnable; + pNext = SafePnextCopy(src.pNext); if (src.pSampleMask) { pSampleMask = new VkSampleMask(*src.pSampleMask); } @@ -2672,9 +2934,10 @@ safe_VkPipelineMultisampleStateCreateInfo& safe_VkPipelineMultisampleStateCreate if (pSampleMask) delete pSampleMask; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; rasterizationSamples = src.rasterizationSamples; sampleShadingEnable = src.sampleShadingEnable; @@ -2682,6 +2945,7 @@ safe_VkPipelineMultisampleStateCreateInfo& safe_VkPipelineMultisampleStateCreate pSampleMask = nullptr; alphaToCoverageEnable = src.alphaToCoverageEnable; alphaToOneEnable = src.alphaToOneEnable; + pNext = SafePnextCopy(src.pNext); if (src.pSampleMask) { pSampleMask = new VkSampleMask(*src.pSampleMask); } @@ -2693,12 +2957,13 @@ safe_VkPipelineMultisampleStateCreateInfo::~safe_VkPipelineMultisampleStateCreat { if (pSampleMask) delete pSampleMask; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMultisampleStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; rasterizationSamples = in_struct->rasterizationSamples; sampleShadingEnable = in_struct->sampleShadingEnable; @@ -2706,6 +2971,7 @@ void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMulti pSampleMask = nullptr; alphaToCoverageEnable = in_struct->alphaToCoverageEnable; alphaToOneEnable = in_struct->alphaToOneEnable; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pSampleMask) { pSampleMask = new VkSampleMask(*in_struct->pSampleMask); } @@ -2714,7 +2980,6 @@ void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMulti void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipelineMultisampleStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; rasterizationSamples = src->rasterizationSamples; sampleShadingEnable = src->sampleShadingEnable; @@ -2722,6 +2987,7 @@ void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipeline pSampleMask = nullptr; alphaToCoverageEnable = src->alphaToCoverageEnable; alphaToOneEnable = src->alphaToOneEnable; + pNext = SafePnextCopy(src->pNext); if (src->pSampleMask) { pSampleMask = new VkSampleMask(*src->pSampleMask); } @@ -2729,7 +2995,6 @@ void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipeline safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), depthTestEnable(in_struct->depthTestEnable), depthWriteEnable(in_struct->depthWriteEnable), @@ -2741,15 +3006,16 @@ safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCrea minDepthBounds(in_struct->minDepthBounds), maxDepthBounds(in_struct->maxDepthBounds) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo() +safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo() : + pNext(nullptr) {} safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo(const safe_VkPipelineDepthStencilStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; depthTestEnable = src.depthTestEnable; depthWriteEnable = src.depthWriteEnable; @@ -2760,15 +3026,17 @@ safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCrea back = src.back; minDepthBounds = src.minDepthBounds; maxDepthBounds = src.maxDepthBounds; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineDepthStencilStateCreateInfo& safe_VkPipelineDepthStencilStateCreateInfo::operator=(const safe_VkPipelineDepthStencilStateCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; depthTestEnable = src.depthTestEnable; depthWriteEnable = src.depthWriteEnable; @@ -2779,18 +3047,20 @@ safe_VkPipelineDepthStencilStateCreateInfo& safe_VkPipelineDepthStencilStateCrea back = src.back; minDepthBounds = src.minDepthBounds; maxDepthBounds = src.maxDepthBounds; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineDepthStencilStateCreateInfo::~safe_VkPipelineDepthStencilStateCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; depthTestEnable = in_struct->depthTestEnable; depthWriteEnable = in_struct->depthWriteEnable; @@ -2801,12 +3071,12 @@ void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const VkPipelineDept back = in_struct->back; minDepthBounds = in_struct->minDepthBounds; maxDepthBounds = in_struct->maxDepthBounds; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const safe_VkPipelineDepthStencilStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; depthTestEnable = src->depthTestEnable; depthWriteEnable = src->depthWriteEnable; @@ -2817,44 +3087,46 @@ void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const safe_VkPipelin back = src->back; minDepthBounds = src->minDepthBounds; maxDepthBounds = src->maxDepthBounds; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), logicOpEnable(in_struct->logicOpEnable), logicOp(in_struct->logicOp), attachmentCount(in_struct->attachmentCount), pAttachments(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttachments) { pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount]; memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*in_struct->attachmentCount); } - for (uint32_t i=0; i<4; ++i) { + for (uint32_t i = 0; i < 4; ++i) { blendConstants[i] = in_struct->blendConstants[i]; } } safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo() : + pNext(nullptr), pAttachments(nullptr) {} safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo(const safe_VkPipelineColorBlendStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; logicOpEnable = src.logicOpEnable; logicOp = src.logicOp; attachmentCount = src.attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAttachments) { pAttachments = new VkPipelineColorBlendAttachmentState[src.attachmentCount]; memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src.attachmentCount); } - for (uint32_t i=0; i<4; ++i) { + for (uint32_t i = 0; i < 4; ++i) { blendConstants[i] = src.blendConstants[i]; } } @@ -2865,19 +3137,21 @@ safe_VkPipelineColorBlendStateCreateInfo& safe_VkPipelineColorBlendStateCreateIn if (pAttachments) delete[] pAttachments; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; logicOpEnable = src.logicOpEnable; logicOp = src.logicOp; attachmentCount = src.attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAttachments) { pAttachments = new VkPipelineColorBlendAttachmentState[src.attachmentCount]; memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src.attachmentCount); } - for (uint32_t i=0; i<4; ++i) { + for (uint32_t i = 0; i < 4; ++i) { blendConstants[i] = src.blendConstants[i]; } @@ -2888,22 +3162,24 @@ safe_VkPipelineColorBlendStateCreateInfo::~safe_VkPipelineColorBlendStateCreateI { if (pAttachments) delete[] pAttachments; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineColorBlendStateCreateInfo::initialize(const VkPipelineColorBlendStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; logicOpEnable = in_struct->logicOpEnable; logicOp = in_struct->logicOp; attachmentCount = in_struct->attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttachments) { pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount]; memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*in_struct->attachmentCount); } - for (uint32_t i=0; i<4; ++i) { + for (uint32_t i = 0; i < 4; ++i) { blendConstants[i] = in_struct->blendConstants[i]; } } @@ -2911,28 +3187,28 @@ void safe_VkPipelineColorBlendStateCreateInfo::initialize(const VkPipelineColorB void safe_VkPipelineColorBlendStateCreateInfo::initialize(const safe_VkPipelineColorBlendStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; logicOpEnable = src->logicOpEnable; logicOp = src->logicOp; attachmentCount = src->attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pAttachments) { pAttachments = new VkPipelineColorBlendAttachmentState[src->attachmentCount]; memcpy ((void *)pAttachments, (void *)src->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src->attachmentCount); } - for (uint32_t i=0; i<4; ++i) { + for (uint32_t i = 0; i < 4; ++i) { blendConstants[i] = src->blendConstants[i]; } } safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), dynamicStateCount(in_struct->dynamicStateCount), pDynamicStates(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDynamicStates) { pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount]; memcpy ((void *)pDynamicStates, (void *)in_struct->pDynamicStates, sizeof(VkDynamicState)*in_struct->dynamicStateCount); @@ -2940,16 +3216,17 @@ safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(con } safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo() : + pNext(nullptr), pDynamicStates(nullptr) {} safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const safe_VkPipelineDynamicStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; dynamicStateCount = src.dynamicStateCount; pDynamicStates = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDynamicStates) { pDynamicStates = new VkDynamicState[src.dynamicStateCount]; memcpy ((void *)pDynamicStates, (void *)src.pDynamicStates, sizeof(VkDynamicState)*src.dynamicStateCount); @@ -2962,12 +3239,14 @@ safe_VkPipelineDynamicStateCreateInfo& safe_VkPipelineDynamicStateCreateInfo::op if (pDynamicStates) delete[] pDynamicStates; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; dynamicStateCount = src.dynamicStateCount; pDynamicStates = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDynamicStates) { pDynamicStates = new VkDynamicState[src.dynamicStateCount]; memcpy ((void *)pDynamicStates, (void *)src.pDynamicStates, sizeof(VkDynamicState)*src.dynamicStateCount); @@ -2980,15 +3259,17 @@ safe_VkPipelineDynamicStateCreateInfo::~safe_VkPipelineDynamicStateCreateInfo() { if (pDynamicStates) delete[] pDynamicStates; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineDynamicStateCreateInfo::initialize(const VkPipelineDynamicStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; dynamicStateCount = in_struct->dynamicStateCount; pDynamicStates = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDynamicStates) { pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount]; memcpy ((void *)pDynamicStates, (void *)in_struct->pDynamicStates, sizeof(VkDynamicState)*in_struct->dynamicStateCount); @@ -2998,10 +3279,10 @@ void safe_VkPipelineDynamicStateCreateInfo::initialize(const VkPipelineDynamicSt void safe_VkPipelineDynamicStateCreateInfo::initialize(const safe_VkPipelineDynamicStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; dynamicStateCount = src->dynamicStateCount; pDynamicStates = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDynamicStates) { pDynamicStates = new VkDynamicState[src->dynamicStateCount]; memcpy ((void *)pDynamicStates, (void *)src->pDynamicStates, sizeof(VkDynamicState)*src->dynamicStateCount); @@ -3010,19 +3291,28 @@ void safe_VkPipelineDynamicStateCreateInfo::initialize(const safe_VkPipelineDyna safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, const bool uses_depthstencil_attachment) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), stageCount(in_struct->stageCount), pStages(nullptr), + pVertexInputState(nullptr), + pInputAssemblyState(nullptr), + pTessellationState(nullptr), + pViewportState(nullptr), + pRasterizationState(nullptr), + pMultisampleState(nullptr), + pDepthStencilState(nullptr), + pColorBlendState(nullptr), + pDynamicState(nullptr), layout(in_struct->layout), renderPass(in_struct->renderPass), subpass(in_struct->subpass), basePipelineHandle(in_struct->basePipelineHandle), basePipelineIndex(in_struct->basePipelineIndex) { + pNext = SafePnextCopy(in_struct->pNext); if (stageCount && in_struct->pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&in_struct->pStages[i]); } } @@ -3036,7 +3326,7 @@ safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const VkGra pInputAssemblyState = NULL; bool has_tessellation_stage = false; if (stageCount && pStages) - for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i) + for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i) if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) has_tessellation_stage = true; if (in_struct->pTessellationState && has_tessellation_stage) @@ -3083,24 +3373,43 @@ safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const VkGra } safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo() : - pStages(nullptr) + pNext(nullptr), + pStages(nullptr), + pVertexInputState(nullptr), + pInputAssemblyState(nullptr), + pTessellationState(nullptr), + pViewportState(nullptr), + pRasterizationState(nullptr), + pMultisampleState(nullptr), + pDepthStencilState(nullptr), + pColorBlendState(nullptr), + pDynamicState(nullptr) {} safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const safe_VkGraphicsPipelineCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; stageCount = src.stageCount; pStages = nullptr; + pVertexInputState = nullptr; + pInputAssemblyState = nullptr; + pTessellationState = nullptr; + pViewportState = nullptr; + pRasterizationState = nullptr; + pMultisampleState = nullptr; + pDepthStencilState = nullptr; + pColorBlendState = nullptr; + pDynamicState = nullptr; layout = src.layout; renderPass = src.renderPass; subpass = src.subpass; basePipelineHandle = src.basePipelineHandle; basePipelineIndex = src.basePipelineIndex; + pNext = SafePnextCopy(src.pNext); if (stageCount && src.pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&src.pStages[i]); } } @@ -3114,7 +3423,7 @@ safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const safe_ pInputAssemblyState = NULL; bool has_tessellation_stage = false; if (stageCount && pStages) - for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i) + for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i) if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) has_tessellation_stage = true; if (src.pTessellationState && has_tessellation_stage) @@ -3172,20 +3481,31 @@ safe_VkGraphicsPipelineCreateInfo& safe_VkGraphicsPipelineCreateInfo::operator=( delete pColorBlendState; if (pDynamicState) delete pDynamicState; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; stageCount = src.stageCount; pStages = nullptr; + pVertexInputState = nullptr; + pInputAssemblyState = nullptr; + pTessellationState = nullptr; + pViewportState = nullptr; + pRasterizationState = nullptr; + pMultisampleState = nullptr; + pDepthStencilState = nullptr; + pColorBlendState = nullptr; + pDynamicState = nullptr; layout = src.layout; renderPass = src.renderPass; subpass = src.subpass; basePipelineHandle = src.basePipelineHandle; basePipelineIndex = src.basePipelineIndex; + pNext = SafePnextCopy(src.pNext); if (stageCount && src.pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&src.pStages[i]); } } @@ -3199,7 +3519,7 @@ safe_VkGraphicsPipelineCreateInfo& safe_VkGraphicsPipelineCreateInfo::operator=( pInputAssemblyState = NULL; bool has_tessellation_stage = false; if (stageCount && pStages) - for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i) + for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i) if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) has_tessellation_stage = true; if (src.pTessellationState && has_tessellation_stage) @@ -3257,23 +3577,34 @@ safe_VkGraphicsPipelineCreateInfo::~safe_VkGraphicsPipelineCreateInfo() delete pColorBlendState; if (pDynamicState) delete pDynamicState; + if (pNext) + FreePnextChain(pNext); } void safe_VkGraphicsPipelineCreateInfo::initialize(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, const bool uses_depthstencil_attachment) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; stageCount = in_struct->stageCount; pStages = nullptr; + pVertexInputState = nullptr; + pInputAssemblyState = nullptr; + pTessellationState = nullptr; + pViewportState = nullptr; + pRasterizationState = nullptr; + pMultisampleState = nullptr; + pDepthStencilState = nullptr; + pColorBlendState = nullptr; + pDynamicState = nullptr; layout = in_struct->layout; renderPass = in_struct->renderPass; subpass = in_struct->subpass; basePipelineHandle = in_struct->basePipelineHandle; basePipelineIndex = in_struct->basePipelineIndex; + pNext = SafePnextCopy(in_struct->pNext); if (stageCount && in_struct->pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&in_struct->pStages[i]); } } @@ -3287,7 +3618,7 @@ void safe_VkGraphicsPipelineCreateInfo::initialize(const VkGraphicsPipelineCreat pInputAssemblyState = NULL; bool has_tessellation_stage = false; if (stageCount && pStages) - for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i) + for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i) if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) has_tessellation_stage = true; if (in_struct->pTessellationState && has_tessellation_stage) @@ -3336,18 +3667,27 @@ void safe_VkGraphicsPipelineCreateInfo::initialize(const VkGraphicsPipelineCreat void safe_VkGraphicsPipelineCreateInfo::initialize(const safe_VkGraphicsPipelineCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; stageCount = src->stageCount; pStages = nullptr; + pVertexInputState = nullptr; + pInputAssemblyState = nullptr; + pTessellationState = nullptr; + pViewportState = nullptr; + pRasterizationState = nullptr; + pMultisampleState = nullptr; + pDepthStencilState = nullptr; + pColorBlendState = nullptr; + pDynamicState = nullptr; layout = src->layout; renderPass = src->renderPass; subpass = src->subpass; basePipelineHandle = src->basePipelineHandle; basePipelineIndex = src->basePipelineIndex; + pNext = SafePnextCopy(src->pNext); if (stageCount && src->pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&src->pStages[i]); } } @@ -3361,7 +3701,7 @@ void safe_VkGraphicsPipelineCreateInfo::initialize(const safe_VkGraphicsPipeline pInputAssemblyState = NULL; bool has_tessellation_stage = false; if (stageCount && pStages) - for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i) + for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i) if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) has_tessellation_stage = true; if (src->pTessellationState && has_tessellation_stage) @@ -3397,83 +3737,88 @@ void safe_VkGraphicsPipelineCreateInfo::initialize(const safe_VkGraphicsPipeline safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), stage(&in_struct->stage), layout(in_struct->layout), basePipelineHandle(in_struct->basePipelineHandle), basePipelineIndex(in_struct->basePipelineIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo() +safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo() : + pNext(nullptr) {} safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo(const safe_VkComputePipelineCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; stage.initialize(&src.stage); layout = src.layout; basePipelineHandle = src.basePipelineHandle; basePipelineIndex = src.basePipelineIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkComputePipelineCreateInfo& safe_VkComputePipelineCreateInfo::operator=(const safe_VkComputePipelineCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; stage.initialize(&src.stage); layout = src.layout; basePipelineHandle = src.basePipelineHandle; basePipelineIndex = src.basePipelineIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkComputePipelineCreateInfo::~safe_VkComputePipelineCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkComputePipelineCreateInfo::initialize(const VkComputePipelineCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; stage.initialize(&in_struct->stage); layout = in_struct->layout; basePipelineHandle = in_struct->basePipelineHandle; basePipelineIndex = in_struct->basePipelineIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkComputePipelineCreateInfo::initialize(const safe_VkComputePipelineCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; stage.initialize(&src->stage); layout = src->layout; basePipelineHandle = src->basePipelineHandle; basePipelineIndex = src->basePipelineIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), setLayoutCount(in_struct->setLayoutCount), pSetLayouts(nullptr), pushConstantRangeCount(in_struct->pushConstantRangeCount), pPushConstantRanges(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (setLayoutCount && in_struct->pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[setLayoutCount]; - for (uint32_t i=0; i<setLayoutCount; ++i) { + for (uint32_t i = 0; i < setLayoutCount; ++i) { pSetLayouts[i] = in_struct->pSetLayouts[i]; } } @@ -3484,6 +3829,7 @@ safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const VkPipelin } safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo() : + pNext(nullptr), pSetLayouts(nullptr), pPushConstantRanges(nullptr) {} @@ -3491,15 +3837,15 @@ safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo() : safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const safe_VkPipelineLayoutCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; setLayoutCount = src.setLayoutCount; pSetLayouts = nullptr; pushConstantRangeCount = src.pushConstantRangeCount; pPushConstantRanges = nullptr; + pNext = SafePnextCopy(src.pNext); if (setLayoutCount && src.pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[setLayoutCount]; - for (uint32_t i=0; i<setLayoutCount; ++i) { + for (uint32_t i = 0; i < setLayoutCount; ++i) { pSetLayouts[i] = src.pSetLayouts[i]; } } @@ -3517,17 +3863,19 @@ safe_VkPipelineLayoutCreateInfo& safe_VkPipelineLayoutCreateInfo::operator=(cons delete[] pSetLayouts; if (pPushConstantRanges) delete[] pPushConstantRanges; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; setLayoutCount = src.setLayoutCount; pSetLayouts = nullptr; pushConstantRangeCount = src.pushConstantRangeCount; pPushConstantRanges = nullptr; + pNext = SafePnextCopy(src.pNext); if (setLayoutCount && src.pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[setLayoutCount]; - for (uint32_t i=0; i<setLayoutCount; ++i) { + for (uint32_t i = 0; i < setLayoutCount; ++i) { pSetLayouts[i] = src.pSetLayouts[i]; } } @@ -3545,20 +3893,22 @@ safe_VkPipelineLayoutCreateInfo::~safe_VkPipelineLayoutCreateInfo() delete[] pSetLayouts; if (pPushConstantRanges) delete[] pPushConstantRanges; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineLayoutCreateInfo::initialize(const VkPipelineLayoutCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; setLayoutCount = in_struct->setLayoutCount; pSetLayouts = nullptr; pushConstantRangeCount = in_struct->pushConstantRangeCount; pPushConstantRanges = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (setLayoutCount && in_struct->pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[setLayoutCount]; - for (uint32_t i=0; i<setLayoutCount; ++i) { + for (uint32_t i = 0; i < setLayoutCount; ++i) { pSetLayouts[i] = in_struct->pSetLayouts[i]; } } @@ -3571,15 +3921,15 @@ void safe_VkPipelineLayoutCreateInfo::initialize(const VkPipelineLayoutCreateInf void safe_VkPipelineLayoutCreateInfo::initialize(const safe_VkPipelineLayoutCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; setLayoutCount = src->setLayoutCount; pSetLayouts = nullptr; pushConstantRangeCount = src->pushConstantRangeCount; pPushConstantRanges = nullptr; + pNext = SafePnextCopy(src->pNext); if (setLayoutCount && src->pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[setLayoutCount]; - for (uint32_t i=0; i<setLayoutCount; ++i) { + for (uint32_t i = 0; i < setLayoutCount; ++i) { pSetLayouts[i] = src->pSetLayouts[i]; } } @@ -3591,7 +3941,6 @@ void safe_VkPipelineLayoutCreateInfo::initialize(const safe_VkPipelineLayoutCrea safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const VkSamplerCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), magFilter(in_struct->magFilter), minFilter(in_struct->minFilter), @@ -3609,15 +3958,16 @@ safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const VkSamplerCreateInfo* in borderColor(in_struct->borderColor), unnormalizedCoordinates(in_struct->unnormalizedCoordinates) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo() +safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo() : + pNext(nullptr) {} safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const safe_VkSamplerCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; magFilter = src.magFilter; minFilter = src.minFilter; @@ -3634,15 +3984,17 @@ safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const safe_VkSamplerCreateInf maxLod = src.maxLod; borderColor = src.borderColor; unnormalizedCoordinates = src.unnormalizedCoordinates; + pNext = SafePnextCopy(src.pNext); } safe_VkSamplerCreateInfo& safe_VkSamplerCreateInfo::operator=(const safe_VkSamplerCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; magFilter = src.magFilter; minFilter = src.minFilter; @@ -3659,18 +4011,20 @@ safe_VkSamplerCreateInfo& safe_VkSamplerCreateInfo::operator=(const safe_VkSampl maxLod = src.maxLod; borderColor = src.borderColor; unnormalizedCoordinates = src.unnormalizedCoordinates; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSamplerCreateInfo::~safe_VkSamplerCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSamplerCreateInfo::initialize(const VkSamplerCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; magFilter = in_struct->magFilter; minFilter = in_struct->minFilter; @@ -3687,12 +4041,12 @@ void safe_VkSamplerCreateInfo::initialize(const VkSamplerCreateInfo* in_struct) maxLod = in_struct->maxLod; borderColor = in_struct->borderColor; unnormalizedCoordinates = in_struct->unnormalizedCoordinates; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSamplerCreateInfo::initialize(const safe_VkSamplerCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; magFilter = src->magFilter; minFilter = src->minFilter; @@ -3709,6 +4063,7 @@ void safe_VkSamplerCreateInfo::initialize(const safe_VkSamplerCreateInfo* src) maxLod = src->maxLod; borderColor = src->borderColor; unnormalizedCoordinates = src->unnormalizedCoordinates; + pNext = SafePnextCopy(src->pNext); } safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding* in_struct) : @@ -3721,7 +4076,7 @@ safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const VkDes const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) { pImmutableSamplers = new VkSampler[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImmutableSamplers[i] = in_struct->pImmutableSamplers[i]; } } @@ -3741,7 +4096,7 @@ safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const safe_ const bool sampler_type = src.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; if (descriptorCount && src.pImmutableSamplers && sampler_type) { pImmutableSamplers = new VkSampler[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImmutableSamplers[i] = src.pImmutableSamplers[i]; } } @@ -3762,7 +4117,7 @@ safe_VkDescriptorSetLayoutBinding& safe_VkDescriptorSetLayoutBinding::operator=( const bool sampler_type = src.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; if (descriptorCount && src.pImmutableSamplers && sampler_type) { pImmutableSamplers = new VkSampler[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImmutableSamplers[i] = src.pImmutableSamplers[i]; } } @@ -3786,7 +4141,7 @@ void safe_VkDescriptorSetLayoutBinding::initialize(const VkDescriptorSetLayoutBi const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) { pImmutableSamplers = new VkSampler[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImmutableSamplers[i] = in_struct->pImmutableSamplers[i]; } } @@ -3802,7 +4157,7 @@ void safe_VkDescriptorSetLayoutBinding::initialize(const safe_VkDescriptorSetLay const bool sampler_type = src->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; if (descriptorCount && src->pImmutableSamplers && sampler_type) { pImmutableSamplers = new VkSampler[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImmutableSamplers[i] = src->pImmutableSamplers[i]; } } @@ -3810,33 +4165,34 @@ void safe_VkDescriptorSetLayoutBinding::initialize(const safe_VkDescriptorSetLay safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), bindingCount(in_struct->bindingCount), pBindings(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (bindingCount && in_struct->pBindings) { pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount]; - for (uint32_t i=0; i<bindingCount; ++i) { + for (uint32_t i = 0; i < bindingCount; ++i) { pBindings[i].initialize(&in_struct->pBindings[i]); } } } safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo() : + pNext(nullptr), pBindings(nullptr) {} safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo(const safe_VkDescriptorSetLayoutCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; bindingCount = src.bindingCount; pBindings = nullptr; + pNext = SafePnextCopy(src.pNext); if (bindingCount && src.pBindings) { pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount]; - for (uint32_t i=0; i<bindingCount; ++i) { + for (uint32_t i = 0; i < bindingCount; ++i) { pBindings[i].initialize(&src.pBindings[i]); } } @@ -3848,15 +4204,17 @@ safe_VkDescriptorSetLayoutCreateInfo& safe_VkDescriptorSetLayoutCreateInfo::oper if (pBindings) delete[] pBindings; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; bindingCount = src.bindingCount; pBindings = nullptr; + pNext = SafePnextCopy(src.pNext); if (bindingCount && src.pBindings) { pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount]; - for (uint32_t i=0; i<bindingCount; ++i) { + for (uint32_t i = 0; i < bindingCount; ++i) { pBindings[i].initialize(&src.pBindings[i]); } } @@ -3868,18 +4226,20 @@ safe_VkDescriptorSetLayoutCreateInfo::~safe_VkDescriptorSetLayoutCreateInfo() { if (pBindings) delete[] pBindings; + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorSetLayoutCreateInfo::initialize(const VkDescriptorSetLayoutCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; bindingCount = in_struct->bindingCount; pBindings = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (bindingCount && in_struct->pBindings) { pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount]; - for (uint32_t i=0; i<bindingCount; ++i) { + for (uint32_t i = 0; i < bindingCount; ++i) { pBindings[i].initialize(&in_struct->pBindings[i]); } } @@ -3888,13 +4248,13 @@ void safe_VkDescriptorSetLayoutCreateInfo::initialize(const VkDescriptorSetLayou void safe_VkDescriptorSetLayoutCreateInfo::initialize(const safe_VkDescriptorSetLayoutCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; bindingCount = src->bindingCount; pBindings = nullptr; + pNext = SafePnextCopy(src->pNext); if (bindingCount && src->pBindings) { pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount]; - for (uint32_t i=0; i<bindingCount; ++i) { + for (uint32_t i = 0; i < bindingCount; ++i) { pBindings[i].initialize(&src->pBindings[i]); } } @@ -3902,12 +4262,12 @@ void safe_VkDescriptorSetLayoutCreateInfo::initialize(const safe_VkDescriptorSet safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), maxSets(in_struct->maxSets), poolSizeCount(in_struct->poolSizeCount), pPoolSizes(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPoolSizes) { pPoolSizes = new VkDescriptorPoolSize[in_struct->poolSizeCount]; memcpy ((void *)pPoolSizes, (void *)in_struct->pPoolSizes, sizeof(VkDescriptorPoolSize)*in_struct->poolSizeCount); @@ -3915,17 +4275,18 @@ safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const VkDescrip } safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo() : + pNext(nullptr), pPoolSizes(nullptr) {} safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const safe_VkDescriptorPoolCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; maxSets = src.maxSets; poolSizeCount = src.poolSizeCount; pPoolSizes = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPoolSizes) { pPoolSizes = new VkDescriptorPoolSize[src.poolSizeCount]; memcpy ((void *)pPoolSizes, (void *)src.pPoolSizes, sizeof(VkDescriptorPoolSize)*src.poolSizeCount); @@ -3938,13 +4299,15 @@ safe_VkDescriptorPoolCreateInfo& safe_VkDescriptorPoolCreateInfo::operator=(cons if (pPoolSizes) delete[] pPoolSizes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; maxSets = src.maxSets; poolSizeCount = src.poolSizeCount; pPoolSizes = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPoolSizes) { pPoolSizes = new VkDescriptorPoolSize[src.poolSizeCount]; memcpy ((void *)pPoolSizes, (void *)src.pPoolSizes, sizeof(VkDescriptorPoolSize)*src.poolSizeCount); @@ -3957,16 +4320,18 @@ safe_VkDescriptorPoolCreateInfo::~safe_VkDescriptorPoolCreateInfo() { if (pPoolSizes) delete[] pPoolSizes; + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorPoolCreateInfo::initialize(const VkDescriptorPoolCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; maxSets = in_struct->maxSets; poolSizeCount = in_struct->poolSizeCount; pPoolSizes = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPoolSizes) { pPoolSizes = new VkDescriptorPoolSize[in_struct->poolSizeCount]; memcpy ((void *)pPoolSizes, (void *)in_struct->pPoolSizes, sizeof(VkDescriptorPoolSize)*in_struct->poolSizeCount); @@ -3976,11 +4341,11 @@ void safe_VkDescriptorPoolCreateInfo::initialize(const VkDescriptorPoolCreateInf void safe_VkDescriptorPoolCreateInfo::initialize(const safe_VkDescriptorPoolCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; maxSets = src->maxSets; poolSizeCount = src->poolSizeCount; pPoolSizes = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pPoolSizes) { pPoolSizes = new VkDescriptorPoolSize[src->poolSizeCount]; memcpy ((void *)pPoolSizes, (void *)src->pPoolSizes, sizeof(VkDescriptorPoolSize)*src->poolSizeCount); @@ -3989,33 +4354,34 @@ void safe_VkDescriptorPoolCreateInfo::initialize(const safe_VkDescriptorPoolCrea safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), descriptorPool(in_struct->descriptorPool), descriptorSetCount(in_struct->descriptorSetCount), pSetLayouts(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (descriptorSetCount && in_struct->pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount]; - for (uint32_t i=0; i<descriptorSetCount; ++i) { + for (uint32_t i = 0; i < descriptorSetCount; ++i) { pSetLayouts[i] = in_struct->pSetLayouts[i]; } } } safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo() : + pNext(nullptr), pSetLayouts(nullptr) {} safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo(const safe_VkDescriptorSetAllocateInfo& src) { sType = src.sType; - pNext = src.pNext; descriptorPool = src.descriptorPool; descriptorSetCount = src.descriptorSetCount; pSetLayouts = nullptr; + pNext = SafePnextCopy(src.pNext); if (descriptorSetCount && src.pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount]; - for (uint32_t i=0; i<descriptorSetCount; ++i) { + for (uint32_t i = 0; i < descriptorSetCount; ++i) { pSetLayouts[i] = src.pSetLayouts[i]; } } @@ -4027,15 +4393,17 @@ safe_VkDescriptorSetAllocateInfo& safe_VkDescriptorSetAllocateInfo::operator=(co if (pSetLayouts) delete[] pSetLayouts; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; descriptorPool = src.descriptorPool; descriptorSetCount = src.descriptorSetCount; pSetLayouts = nullptr; + pNext = SafePnextCopy(src.pNext); if (descriptorSetCount && src.pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount]; - for (uint32_t i=0; i<descriptorSetCount; ++i) { + for (uint32_t i = 0; i < descriptorSetCount; ++i) { pSetLayouts[i] = src.pSetLayouts[i]; } } @@ -4047,18 +4415,20 @@ safe_VkDescriptorSetAllocateInfo::~safe_VkDescriptorSetAllocateInfo() { if (pSetLayouts) delete[] pSetLayouts; + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorSetAllocateInfo::initialize(const VkDescriptorSetAllocateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; descriptorPool = in_struct->descriptorPool; descriptorSetCount = in_struct->descriptorSetCount; pSetLayouts = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (descriptorSetCount && in_struct->pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount]; - for (uint32_t i=0; i<descriptorSetCount; ++i) { + for (uint32_t i = 0; i < descriptorSetCount; ++i) { pSetLayouts[i] = in_struct->pSetLayouts[i]; } } @@ -4067,13 +4437,13 @@ void safe_VkDescriptorSetAllocateInfo::initialize(const VkDescriptorSetAllocateI void safe_VkDescriptorSetAllocateInfo::initialize(const safe_VkDescriptorSetAllocateInfo* src) { sType = src->sType; - pNext = src->pNext; descriptorPool = src->descriptorPool; descriptorSetCount = src->descriptorSetCount; pSetLayouts = nullptr; + pNext = SafePnextCopy(src->pNext); if (descriptorSetCount && src->pSetLayouts) { pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount]; - for (uint32_t i=0; i<descriptorSetCount; ++i) { + for (uint32_t i = 0; i < descriptorSetCount; ++i) { pSetLayouts[i] = src->pSetLayouts[i]; } } @@ -4081,7 +4451,6 @@ void safe_VkDescriptorSetAllocateInfo::initialize(const safe_VkDescriptorSetAllo safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), dstSet(in_struct->dstSet), dstBinding(in_struct->dstBinding), dstArrayElement(in_struct->dstArrayElement), @@ -4091,6 +4460,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* pBufferInfo(nullptr), pTexelBufferView(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); switch (descriptorType) { case VK_DESCRIPTOR_TYPE_SAMPLER: case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: @@ -4099,7 +4469,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: if (descriptorCount && in_struct->pImageInfo) { pImageInfo = new VkDescriptorImageInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImageInfo[i] = in_struct->pImageInfo[i]; } } @@ -4110,7 +4480,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: if (descriptorCount && in_struct->pBufferInfo) { pBufferInfo = new VkDescriptorBufferInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pBufferInfo[i] = in_struct->pBufferInfo[i]; } } @@ -4119,7 +4489,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: if (descriptorCount && in_struct->pTexelBufferView) { pTexelBufferView = new VkBufferView[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pTexelBufferView[i] = in_struct->pTexelBufferView[i]; } } @@ -4130,6 +4500,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* } safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet() : + pNext(nullptr), pImageInfo(nullptr), pBufferInfo(nullptr), pTexelBufferView(nullptr) @@ -4138,7 +4509,6 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet() : safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescriptorSet& src) { sType = src.sType; - pNext = src.pNext; dstSet = src.dstSet; dstBinding = src.dstBinding; dstArrayElement = src.dstArrayElement; @@ -4147,6 +4517,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescripto pImageInfo = nullptr; pBufferInfo = nullptr; pTexelBufferView = nullptr; + pNext = SafePnextCopy(src.pNext); switch (descriptorType) { case VK_DESCRIPTOR_TYPE_SAMPLER: case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: @@ -4155,7 +4526,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescripto case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: if (descriptorCount && src.pImageInfo) { pImageInfo = new VkDescriptorImageInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImageInfo[i] = src.pImageInfo[i]; } } @@ -4166,7 +4537,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescripto case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: if (descriptorCount && src.pBufferInfo) { pBufferInfo = new VkDescriptorBufferInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pBufferInfo[i] = src.pBufferInfo[i]; } } @@ -4175,7 +4546,7 @@ safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescripto case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: if (descriptorCount && src.pTexelBufferView) { pTexelBufferView = new VkBufferView[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pTexelBufferView[i] = src.pTexelBufferView[i]; } } @@ -4195,9 +4566,10 @@ safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWri delete[] pBufferInfo; if (pTexelBufferView) delete[] pTexelBufferView; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; dstSet = src.dstSet; dstBinding = src.dstBinding; dstArrayElement = src.dstArrayElement; @@ -4206,6 +4578,7 @@ safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWri pImageInfo = nullptr; pBufferInfo = nullptr; pTexelBufferView = nullptr; + pNext = SafePnextCopy(src.pNext); switch (descriptorType) { case VK_DESCRIPTOR_TYPE_SAMPLER: case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: @@ -4214,7 +4587,7 @@ safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWri case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: if (descriptorCount && src.pImageInfo) { pImageInfo = new VkDescriptorImageInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImageInfo[i] = src.pImageInfo[i]; } } @@ -4225,7 +4598,7 @@ safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWri case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: if (descriptorCount && src.pBufferInfo) { pBufferInfo = new VkDescriptorBufferInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pBufferInfo[i] = src.pBufferInfo[i]; } } @@ -4234,7 +4607,7 @@ safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWri case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: if (descriptorCount && src.pTexelBufferView) { pTexelBufferView = new VkBufferView[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pTexelBufferView[i] = src.pTexelBufferView[i]; } } @@ -4254,12 +4627,13 @@ safe_VkWriteDescriptorSet::~safe_VkWriteDescriptorSet() delete[] pBufferInfo; if (pTexelBufferView) delete[] pTexelBufferView; + if (pNext) + FreePnextChain(pNext); } void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; dstSet = in_struct->dstSet; dstBinding = in_struct->dstBinding; dstArrayElement = in_struct->dstArrayElement; @@ -4268,6 +4642,7 @@ void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct pImageInfo = nullptr; pBufferInfo = nullptr; pTexelBufferView = nullptr; + pNext = SafePnextCopy(in_struct->pNext); switch (descriptorType) { case VK_DESCRIPTOR_TYPE_SAMPLER: case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: @@ -4276,7 +4651,7 @@ void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: if (descriptorCount && in_struct->pImageInfo) { pImageInfo = new VkDescriptorImageInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImageInfo[i] = in_struct->pImageInfo[i]; } } @@ -4287,7 +4662,7 @@ void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: if (descriptorCount && in_struct->pBufferInfo) { pBufferInfo = new VkDescriptorBufferInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pBufferInfo[i] = in_struct->pBufferInfo[i]; } } @@ -4296,7 +4671,7 @@ void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: if (descriptorCount && in_struct->pTexelBufferView) { pTexelBufferView = new VkBufferView[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pTexelBufferView[i] = in_struct->pTexelBufferView[i]; } } @@ -4309,7 +4684,6 @@ void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src) { sType = src->sType; - pNext = src->pNext; dstSet = src->dstSet; dstBinding = src->dstBinding; dstArrayElement = src->dstArrayElement; @@ -4318,6 +4692,7 @@ void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src) pImageInfo = nullptr; pBufferInfo = nullptr; pTexelBufferView = nullptr; + pNext = SafePnextCopy(src->pNext); switch (descriptorType) { case VK_DESCRIPTOR_TYPE_SAMPLER: case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: @@ -4326,7 +4701,7 @@ void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src) case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: if (descriptorCount && src->pImageInfo) { pImageInfo = new VkDescriptorImageInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pImageInfo[i] = src->pImageInfo[i]; } } @@ -4337,7 +4712,7 @@ void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src) case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: if (descriptorCount && src->pBufferInfo) { pBufferInfo = new VkDescriptorBufferInfo[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pBufferInfo[i] = src->pBufferInfo[i]; } } @@ -4346,7 +4721,7 @@ void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src) case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: if (descriptorCount && src->pTexelBufferView) { pTexelBufferView = new VkBufferView[descriptorCount]; - for (uint32_t i=0; i<descriptorCount; ++i) { + for (uint32_t i = 0; i < descriptorCount; ++i) { pTexelBufferView[i] = src->pTexelBufferView[i]; } } @@ -4358,7 +4733,6 @@ void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src) safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const VkCopyDescriptorSet* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcSet(in_struct->srcSet), srcBinding(in_struct->srcBinding), srcArrayElement(in_struct->srcArrayElement), @@ -4367,15 +4741,16 @@ safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const VkCopyDescriptorSet* in dstArrayElement(in_struct->dstArrayElement), descriptorCount(in_struct->descriptorCount) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet() +safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet() : + pNext(nullptr) {} safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const safe_VkCopyDescriptorSet& src) { sType = src.sType; - pNext = src.pNext; srcSet = src.srcSet; srcBinding = src.srcBinding; srcArrayElement = src.srcArrayElement; @@ -4383,15 +4758,17 @@ safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const safe_VkCopyDescriptorSe dstBinding = src.dstBinding; dstArrayElement = src.dstArrayElement; descriptorCount = src.descriptorCount; + pNext = SafePnextCopy(src.pNext); } safe_VkCopyDescriptorSet& safe_VkCopyDescriptorSet::operator=(const safe_VkCopyDescriptorSet& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcSet = src.srcSet; srcBinding = src.srcBinding; srcArrayElement = src.srcArrayElement; @@ -4399,18 +4776,20 @@ safe_VkCopyDescriptorSet& safe_VkCopyDescriptorSet::operator=(const safe_VkCopyD dstBinding = src.dstBinding; dstArrayElement = src.dstArrayElement; descriptorCount = src.descriptorCount; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCopyDescriptorSet::~safe_VkCopyDescriptorSet() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCopyDescriptorSet::initialize(const VkCopyDescriptorSet* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcSet = in_struct->srcSet; srcBinding = in_struct->srcBinding; srcArrayElement = in_struct->srcArrayElement; @@ -4418,12 +4797,12 @@ void safe_VkCopyDescriptorSet::initialize(const VkCopyDescriptorSet* in_struct) dstBinding = in_struct->dstBinding; dstArrayElement = in_struct->dstArrayElement; descriptorCount = in_struct->descriptorCount; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCopyDescriptorSet::initialize(const safe_VkCopyDescriptorSet* src) { sType = src->sType; - pNext = src->pNext; srcSet = src->srcSet; srcBinding = src->srcBinding; srcArrayElement = src->srcArrayElement; @@ -4431,11 +4810,11 @@ void safe_VkCopyDescriptorSet::initialize(const safe_VkCopyDescriptorSet* src) dstBinding = src->dstBinding; dstArrayElement = src->dstArrayElement; descriptorCount = src->descriptorCount; + pNext = SafePnextCopy(src->pNext); } safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const VkFramebufferCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), renderPass(in_struct->renderPass), attachmentCount(in_struct->attachmentCount), @@ -4444,22 +4823,23 @@ safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const VkFramebufferCr height(in_struct->height), layers(in_struct->layers) { + pNext = SafePnextCopy(in_struct->pNext); if (attachmentCount && in_struct->pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = in_struct->pAttachments[i]; } } } safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo() : + pNext(nullptr), pAttachments(nullptr) {} safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const safe_VkFramebufferCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; renderPass = src.renderPass; attachmentCount = src.attachmentCount; @@ -4467,9 +4847,10 @@ safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const safe_VkFramebuf width = src.width; height = src.height; layers = src.layers; + pNext = SafePnextCopy(src.pNext); if (attachmentCount && src.pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = src.pAttachments[i]; } } @@ -4481,9 +4862,10 @@ safe_VkFramebufferCreateInfo& safe_VkFramebufferCreateInfo::operator=(const safe if (pAttachments) delete[] pAttachments; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; renderPass = src.renderPass; attachmentCount = src.attachmentCount; @@ -4491,9 +4873,10 @@ safe_VkFramebufferCreateInfo& safe_VkFramebufferCreateInfo::operator=(const safe width = src.width; height = src.height; layers = src.layers; + pNext = SafePnextCopy(src.pNext); if (attachmentCount && src.pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = src.pAttachments[i]; } } @@ -4505,12 +4888,13 @@ safe_VkFramebufferCreateInfo::~safe_VkFramebufferCreateInfo() { if (pAttachments) delete[] pAttachments; + if (pNext) + FreePnextChain(pNext); } void safe_VkFramebufferCreateInfo::initialize(const VkFramebufferCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; renderPass = in_struct->renderPass; attachmentCount = in_struct->attachmentCount; @@ -4518,9 +4902,10 @@ void safe_VkFramebufferCreateInfo::initialize(const VkFramebufferCreateInfo* in_ width = in_struct->width; height = in_struct->height; layers = in_struct->layers; + pNext = SafePnextCopy(in_struct->pNext); if (attachmentCount && in_struct->pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = in_struct->pAttachments[i]; } } @@ -4529,7 +4914,6 @@ void safe_VkFramebufferCreateInfo::initialize(const VkFramebufferCreateInfo* in_ void safe_VkFramebufferCreateInfo::initialize(const safe_VkFramebufferCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; renderPass = src->renderPass; attachmentCount = src->attachmentCount; @@ -4537,9 +4921,10 @@ void safe_VkFramebufferCreateInfo::initialize(const safe_VkFramebufferCreateInfo width = src->width; height = src->height; layers = src->layers; + pNext = SafePnextCopy(src->pNext); if (attachmentCount && src->pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = src->pAttachments[i]; } } @@ -4749,7 +5134,6 @@ void safe_VkSubpassDescription::initialize(const safe_VkSubpassDescription* src) safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const VkRenderPassCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), attachmentCount(in_struct->attachmentCount), pAttachments(nullptr), @@ -4758,13 +5142,14 @@ safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const VkRenderPassCreat dependencyCount(in_struct->dependencyCount), pDependencies(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttachments) { pAttachments = new VkAttachmentDescription[in_struct->attachmentCount]; memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkAttachmentDescription)*in_struct->attachmentCount); } if (subpassCount && in_struct->pSubpasses) { pSubpasses = new safe_VkSubpassDescription[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&in_struct->pSubpasses[i]); } } @@ -4775,6 +5160,7 @@ safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const VkRenderPassCreat } safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo() : + pNext(nullptr), pAttachments(nullptr), pSubpasses(nullptr), pDependencies(nullptr) @@ -4783,7 +5169,6 @@ safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo() : safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const safe_VkRenderPassCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; attachmentCount = src.attachmentCount; pAttachments = nullptr; @@ -4791,13 +5176,14 @@ safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const safe_VkRenderPass pSubpasses = nullptr; dependencyCount = src.dependencyCount; pDependencies = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAttachments) { pAttachments = new VkAttachmentDescription[src.attachmentCount]; memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkAttachmentDescription)*src.attachmentCount); } if (subpassCount && src.pSubpasses) { pSubpasses = new safe_VkSubpassDescription[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&src.pSubpasses[i]); } } @@ -4817,9 +5203,10 @@ safe_VkRenderPassCreateInfo& safe_VkRenderPassCreateInfo::operator=(const safe_V delete[] pSubpasses; if (pDependencies) delete[] pDependencies; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; attachmentCount = src.attachmentCount; pAttachments = nullptr; @@ -4827,13 +5214,14 @@ safe_VkRenderPassCreateInfo& safe_VkRenderPassCreateInfo::operator=(const safe_V pSubpasses = nullptr; dependencyCount = src.dependencyCount; pDependencies = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAttachments) { pAttachments = new VkAttachmentDescription[src.attachmentCount]; memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkAttachmentDescription)*src.attachmentCount); } if (subpassCount && src.pSubpasses) { pSubpasses = new safe_VkSubpassDescription[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&src.pSubpasses[i]); } } @@ -4853,12 +5241,13 @@ safe_VkRenderPassCreateInfo::~safe_VkRenderPassCreateInfo() delete[] pSubpasses; if (pDependencies) delete[] pDependencies; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassCreateInfo::initialize(const VkRenderPassCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; attachmentCount = in_struct->attachmentCount; pAttachments = nullptr; @@ -4866,13 +5255,14 @@ void safe_VkRenderPassCreateInfo::initialize(const VkRenderPassCreateInfo* in_st pSubpasses = nullptr; dependencyCount = in_struct->dependencyCount; pDependencies = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttachments) { pAttachments = new VkAttachmentDescription[in_struct->attachmentCount]; memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkAttachmentDescription)*in_struct->attachmentCount); } if (subpassCount && in_struct->pSubpasses) { pSubpasses = new safe_VkSubpassDescription[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&in_struct->pSubpasses[i]); } } @@ -4885,7 +5275,6 @@ void safe_VkRenderPassCreateInfo::initialize(const VkRenderPassCreateInfo* in_st void safe_VkRenderPassCreateInfo::initialize(const safe_VkRenderPassCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; attachmentCount = src->attachmentCount; pAttachments = nullptr; @@ -4893,13 +5282,14 @@ void safe_VkRenderPassCreateInfo::initialize(const safe_VkRenderPassCreateInfo* pSubpasses = nullptr; dependencyCount = src->dependencyCount; pDependencies = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pAttachments) { pAttachments = new VkAttachmentDescription[src->attachmentCount]; memcpy ((void *)pAttachments, (void *)src->pAttachments, sizeof(VkAttachmentDescription)*src->attachmentCount); } if (subpassCount && src->pSubpasses) { pSubpasses = new safe_VkSubpassDescription[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&src->pSubpasses[i]); } } @@ -4911,116 +5301,125 @@ void safe_VkRenderPassCreateInfo::initialize(const safe_VkRenderPassCreateInfo* safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), queueFamilyIndex(in_struct->queueFamilyIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo() +safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo() : + pNext(nullptr) {} safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; queueFamilyIndex = src.queueFamilyIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkCommandPoolCreateInfo& safe_VkCommandPoolCreateInfo::operator=(const safe_VkCommandPoolCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; queueFamilyIndex = src.queueFamilyIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCommandPoolCreateInfo::~safe_VkCommandPoolCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCommandPoolCreateInfo::initialize(const VkCommandPoolCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; queueFamilyIndex = in_struct->queueFamilyIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCommandPoolCreateInfo::initialize(const safe_VkCommandPoolCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; queueFamilyIndex = src->queueFamilyIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), commandPool(in_struct->commandPool), level(in_struct->level), commandBufferCount(in_struct->commandBufferCount) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo() +safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo() : + pNext(nullptr) {} safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& src) { sType = src.sType; - pNext = src.pNext; commandPool = src.commandPool; level = src.level; commandBufferCount = src.commandBufferCount; + pNext = SafePnextCopy(src.pNext); } safe_VkCommandBufferAllocateInfo& safe_VkCommandBufferAllocateInfo::operator=(const safe_VkCommandBufferAllocateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; commandPool = src.commandPool; level = src.level; commandBufferCount = src.commandBufferCount; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCommandBufferAllocateInfo::~safe_VkCommandBufferAllocateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCommandBufferAllocateInfo::initialize(const VkCommandBufferAllocateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; commandPool = in_struct->commandPool; level = in_struct->level; commandBufferCount = in_struct->commandBufferCount; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCommandBufferAllocateInfo::initialize(const safe_VkCommandBufferAllocateInfo* src) { sType = src->sType; - pNext = src->pNext; commandPool = src->commandPool; level = src->level; commandBufferCount = src->commandBufferCount; + pNext = SafePnextCopy(src->pNext); } safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), renderPass(in_struct->renderPass), subpass(in_struct->subpass), framebuffer(in_struct->framebuffer), @@ -5028,91 +5427,97 @@ safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const V queryFlags(in_struct->queryFlags), pipelineStatistics(in_struct->pipelineStatistics) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo() +safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo() : + pNext(nullptr) {} safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& src) { sType = src.sType; - pNext = src.pNext; renderPass = src.renderPass; subpass = src.subpass; framebuffer = src.framebuffer; occlusionQueryEnable = src.occlusionQueryEnable; queryFlags = src.queryFlags; pipelineStatistics = src.pipelineStatistics; + pNext = SafePnextCopy(src.pNext); } safe_VkCommandBufferInheritanceInfo& safe_VkCommandBufferInheritanceInfo::operator=(const safe_VkCommandBufferInheritanceInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; renderPass = src.renderPass; subpass = src.subpass; framebuffer = src.framebuffer; occlusionQueryEnable = src.occlusionQueryEnable; queryFlags = src.queryFlags; pipelineStatistics = src.pipelineStatistics; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCommandBufferInheritanceInfo::~safe_VkCommandBufferInheritanceInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCommandBufferInheritanceInfo::initialize(const VkCommandBufferInheritanceInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; renderPass = in_struct->renderPass; subpass = in_struct->subpass; framebuffer = in_struct->framebuffer; occlusionQueryEnable = in_struct->occlusionQueryEnable; queryFlags = in_struct->queryFlags; pipelineStatistics = in_struct->pipelineStatistics; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCommandBufferInheritanceInfo::initialize(const safe_VkCommandBufferInheritanceInfo* src) { sType = src->sType; - pNext = src->pNext; renderPass = src->renderPass; subpass = src->subpass; framebuffer = src->framebuffer; occlusionQueryEnable = src->occlusionQueryEnable; queryFlags = src->queryFlags; pipelineStatistics = src->pipelineStatistics; + pNext = SafePnextCopy(src->pNext); } safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), - flags(in_struct->flags) + flags(in_struct->flags), + pInheritanceInfo(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo); - else - pInheritanceInfo = NULL; } -safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo() +safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo() : + pNext(nullptr), + pInheritanceInfo(nullptr) {} safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src.pInheritanceInfo); - else - pInheritanceInfo = NULL; } safe_VkCommandBufferBeginInfo& safe_VkCommandBufferBeginInfo::operator=(const safe_VkCommandBufferBeginInfo& src) @@ -5121,14 +5526,15 @@ safe_VkCommandBufferBeginInfo& safe_VkCommandBufferBeginInfo::operator=(const sa if (pInheritanceInfo) delete pInheritanceInfo; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src.pInheritanceInfo); - else - pInheritanceInfo = NULL; return *this; } @@ -5137,85 +5543,89 @@ safe_VkCommandBufferBeginInfo::~safe_VkCommandBufferBeginInfo() { if (pInheritanceInfo) delete pInheritanceInfo; + if (pNext) + FreePnextChain(pNext); } void safe_VkCommandBufferBeginInfo::initialize(const VkCommandBufferBeginInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo); - else - pInheritanceInfo = NULL; } void safe_VkCommandBufferBeginInfo::initialize(const safe_VkCommandBufferBeginInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src->pInheritanceInfo); - else - pInheritanceInfo = NULL; } safe_VkMemoryBarrier::safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcAccessMask(in_struct->srcAccessMask), dstAccessMask(in_struct->dstAccessMask) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryBarrier::safe_VkMemoryBarrier() +safe_VkMemoryBarrier::safe_VkMemoryBarrier() : + pNext(nullptr) {} safe_VkMemoryBarrier::safe_VkMemoryBarrier(const safe_VkMemoryBarrier& src) { sType = src.sType; - pNext = src.pNext; srcAccessMask = src.srcAccessMask; dstAccessMask = src.dstAccessMask; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryBarrier& safe_VkMemoryBarrier::operator=(const safe_VkMemoryBarrier& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcAccessMask = src.srcAccessMask; dstAccessMask = src.dstAccessMask; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryBarrier::~safe_VkMemoryBarrier() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryBarrier::initialize(const VkMemoryBarrier* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcAccessMask = in_struct->srcAccessMask; dstAccessMask = in_struct->dstAccessMask; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryBarrier::initialize(const safe_VkMemoryBarrier* src) { sType = src->sType; - pNext = src->pNext; srcAccessMask = src->srcAccessMask; dstAccessMask = src->dstAccessMask; + pNext = SafePnextCopy(src->pNext); } safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcAccessMask(in_struct->srcAccessMask), dstAccessMask(in_struct->dstAccessMask), srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), @@ -5224,15 +5634,16 @@ safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const VkBufferMemoryBarri offset(in_struct->offset), size(in_struct->size) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier() +safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier() : + pNext(nullptr) {} safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& src) { sType = src.sType; - pNext = src.pNext; srcAccessMask = src.srcAccessMask; dstAccessMask = src.dstAccessMask; srcQueueFamilyIndex = src.srcQueueFamilyIndex; @@ -5240,15 +5651,17 @@ safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const safe_VkBufferMemory buffer = src.buffer; offset = src.offset; size = src.size; + pNext = SafePnextCopy(src.pNext); } safe_VkBufferMemoryBarrier& safe_VkBufferMemoryBarrier::operator=(const safe_VkBufferMemoryBarrier& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcAccessMask = src.srcAccessMask; dstAccessMask = src.dstAccessMask; srcQueueFamilyIndex = src.srcQueueFamilyIndex; @@ -5256,18 +5669,20 @@ safe_VkBufferMemoryBarrier& safe_VkBufferMemoryBarrier::operator=(const safe_VkB buffer = src.buffer; offset = src.offset; size = src.size; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBufferMemoryBarrier::~safe_VkBufferMemoryBarrier() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBufferMemoryBarrier::initialize(const VkBufferMemoryBarrier* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcAccessMask = in_struct->srcAccessMask; dstAccessMask = in_struct->dstAccessMask; srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; @@ -5275,12 +5690,12 @@ void safe_VkBufferMemoryBarrier::initialize(const VkBufferMemoryBarrier* in_stru buffer = in_struct->buffer; offset = in_struct->offset; size = in_struct->size; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBufferMemoryBarrier::initialize(const safe_VkBufferMemoryBarrier* src) { sType = src->sType; - pNext = src->pNext; srcAccessMask = src->srcAccessMask; dstAccessMask = src->dstAccessMask; srcQueueFamilyIndex = src->srcQueueFamilyIndex; @@ -5288,11 +5703,11 @@ void safe_VkBufferMemoryBarrier::initialize(const safe_VkBufferMemoryBarrier* sr buffer = src->buffer; offset = src->offset; size = src->size; + pNext = SafePnextCopy(src->pNext); } safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcAccessMask(in_struct->srcAccessMask), dstAccessMask(in_struct->dstAccessMask), oldLayout(in_struct->oldLayout), @@ -5302,15 +5717,16 @@ safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* image(in_struct->image), subresourceRange(in_struct->subresourceRange) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier() +safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier() : + pNext(nullptr) {} safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& src) { sType = src.sType; - pNext = src.pNext; srcAccessMask = src.srcAccessMask; dstAccessMask = src.dstAccessMask; oldLayout = src.oldLayout; @@ -5319,15 +5735,17 @@ safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const safe_VkImageMemoryBar dstQueueFamilyIndex = src.dstQueueFamilyIndex; image = src.image; subresourceRange = src.subresourceRange; + pNext = SafePnextCopy(src.pNext); } safe_VkImageMemoryBarrier& safe_VkImageMemoryBarrier::operator=(const safe_VkImageMemoryBarrier& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcAccessMask = src.srcAccessMask; dstAccessMask = src.dstAccessMask; oldLayout = src.oldLayout; @@ -5336,18 +5754,20 @@ safe_VkImageMemoryBarrier& safe_VkImageMemoryBarrier::operator=(const safe_VkIma dstQueueFamilyIndex = src.dstQueueFamilyIndex; image = src.image; subresourceRange = src.subresourceRange; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageMemoryBarrier::~safe_VkImageMemoryBarrier() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageMemoryBarrier::initialize(const VkImageMemoryBarrier* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcAccessMask = in_struct->srcAccessMask; dstAccessMask = in_struct->dstAccessMask; oldLayout = in_struct->oldLayout; @@ -5356,12 +5776,12 @@ void safe_VkImageMemoryBarrier::initialize(const VkImageMemoryBarrier* in_struct dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; image = in_struct->image; subresourceRange = in_struct->subresourceRange; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageMemoryBarrier::initialize(const safe_VkImageMemoryBarrier* src) { sType = src->sType; - pNext = src->pNext; srcAccessMask = src->srcAccessMask; dstAccessMask = src->dstAccessMask; oldLayout = src->oldLayout; @@ -5370,17 +5790,18 @@ void safe_VkImageMemoryBarrier::initialize(const safe_VkImageMemoryBarrier* src) dstQueueFamilyIndex = src->dstQueueFamilyIndex; image = src->image; subresourceRange = src->subresourceRange; + pNext = SafePnextCopy(src->pNext); } safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const VkRenderPassBeginInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), renderPass(in_struct->renderPass), framebuffer(in_struct->framebuffer), renderArea(in_struct->renderArea), clearValueCount(in_struct->clearValueCount), pClearValues(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pClearValues) { pClearValues = new VkClearValue[in_struct->clearValueCount]; memcpy ((void *)pClearValues, (void *)in_struct->pClearValues, sizeof(VkClearValue)*in_struct->clearValueCount); @@ -5388,18 +5809,19 @@ safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const VkRenderPassBeginIn } safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo() : + pNext(nullptr), pClearValues(nullptr) {} safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const safe_VkRenderPassBeginInfo& src) { sType = src.sType; - pNext = src.pNext; renderPass = src.renderPass; framebuffer = src.framebuffer; renderArea = src.renderArea; clearValueCount = src.clearValueCount; pClearValues = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pClearValues) { pClearValues = new VkClearValue[src.clearValueCount]; memcpy ((void *)pClearValues, (void *)src.pClearValues, sizeof(VkClearValue)*src.clearValueCount); @@ -5412,14 +5834,16 @@ safe_VkRenderPassBeginInfo& safe_VkRenderPassBeginInfo::operator=(const safe_VkR if (pClearValues) delete[] pClearValues; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; renderPass = src.renderPass; framebuffer = src.framebuffer; renderArea = src.renderArea; clearValueCount = src.clearValueCount; pClearValues = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pClearValues) { pClearValues = new VkClearValue[src.clearValueCount]; memcpy ((void *)pClearValues, (void *)src.pClearValues, sizeof(VkClearValue)*src.clearValueCount); @@ -5432,17 +5856,19 @@ safe_VkRenderPassBeginInfo::~safe_VkRenderPassBeginInfo() { if (pClearValues) delete[] pClearValues; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassBeginInfo::initialize(const VkRenderPassBeginInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; renderPass = in_struct->renderPass; framebuffer = in_struct->framebuffer; renderArea = in_struct->renderArea; clearValueCount = in_struct->clearValueCount; pClearValues = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pClearValues) { pClearValues = new VkClearValue[in_struct->clearValueCount]; memcpy ((void *)pClearValues, (void *)in_struct->pClearValues, sizeof(VkClearValue)*in_struct->clearValueCount); @@ -5452,541 +5878,454 @@ void safe_VkRenderPassBeginInfo::initialize(const VkRenderPassBeginInfo* in_stru void safe_VkRenderPassBeginInfo::initialize(const safe_VkRenderPassBeginInfo* src) { sType = src->sType; - pNext = src->pNext; renderPass = src->renderPass; framebuffer = src->framebuffer; renderArea = src->renderArea; clearValueCount = src->clearValueCount; pClearValues = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pClearValues) { pClearValues = new VkClearValue[src->clearValueCount]; memcpy ((void *)pClearValues, (void *)src->pClearValues, sizeof(VkClearValue)*src->clearValueCount); } } -safe_VkBaseOutStructure::safe_VkBaseOutStructure(const VkBaseOutStructure* in_struct) : - sType(in_struct->sType) -{ - if (in_struct->pNext) - pNext = new safe_VkBaseOutStructure(in_struct->pNext); - else - pNext = NULL; -} - -safe_VkBaseOutStructure::safe_VkBaseOutStructure() -{} - -safe_VkBaseOutStructure::safe_VkBaseOutStructure(const safe_VkBaseOutStructure& src) -{ - sType = src.sType; - if (src.pNext) - pNext = new safe_VkBaseOutStructure(*src.pNext); - else - pNext = NULL; -} - -safe_VkBaseOutStructure& safe_VkBaseOutStructure::operator=(const safe_VkBaseOutStructure& src) -{ - if (&src == this) return *this; - - if (pNext) - delete pNext; - - sType = src.sType; - if (src.pNext) - pNext = new safe_VkBaseOutStructure(*src.pNext); - else - pNext = NULL; - - return *this; -} - -safe_VkBaseOutStructure::~safe_VkBaseOutStructure() -{ - if (pNext) - delete pNext; -} - -void safe_VkBaseOutStructure::initialize(const VkBaseOutStructure* in_struct) -{ - sType = in_struct->sType; - if (in_struct->pNext) - pNext = new safe_VkBaseOutStructure(in_struct->pNext); - else - pNext = NULL; -} - -void safe_VkBaseOutStructure::initialize(const safe_VkBaseOutStructure* src) -{ - sType = src->sType; - if (src->pNext) - pNext = new safe_VkBaseOutStructure(*src->pNext); - else - pNext = NULL; -} - -safe_VkBaseInStructure::safe_VkBaseInStructure(const VkBaseInStructure* in_struct) : - sType(in_struct->sType) -{ - if (in_struct->pNext) - pNext = new safe_VkBaseInStructure(in_struct->pNext); - else - pNext = NULL; -} - -safe_VkBaseInStructure::safe_VkBaseInStructure() -{} - -safe_VkBaseInStructure::safe_VkBaseInStructure(const safe_VkBaseInStructure& src) -{ - sType = src.sType; - if (src.pNext) - pNext = new safe_VkBaseInStructure(*src.pNext); - else - pNext = NULL; -} - -safe_VkBaseInStructure& safe_VkBaseInStructure::operator=(const safe_VkBaseInStructure& src) -{ - if (&src == this) return *this; - - if (pNext) - delete pNext; - - sType = src.sType; - if (src.pNext) - pNext = new safe_VkBaseInStructure(*src.pNext); - else - pNext = NULL; - - return *this; -} - -safe_VkBaseInStructure::~safe_VkBaseInStructure() -{ - if (pNext) - delete pNext; -} - -void safe_VkBaseInStructure::initialize(const VkBaseInStructure* in_struct) -{ - sType = in_struct->sType; - if (in_struct->pNext) - pNext = new safe_VkBaseInStructure(in_struct->pNext); - else - pNext = NULL; -} - -void safe_VkBaseInStructure::initialize(const safe_VkBaseInStructure* src) -{ - sType = src->sType; - if (src->pNext) - pNext = new safe_VkBaseInStructure(*src->pNext); - else - pNext = NULL; -} - safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), subgroupSize(in_struct->subgroupSize), supportedStages(in_struct->supportedStages), supportedOperations(in_struct->supportedOperations), quadOperationsInAllStages(in_struct->quadOperationsInAllStages) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties() +safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties() : + pNext(nullptr) {} safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties(const safe_VkPhysicalDeviceSubgroupProperties& src) { sType = src.sType; - pNext = src.pNext; subgroupSize = src.subgroupSize; supportedStages = src.supportedStages; supportedOperations = src.supportedOperations; quadOperationsInAllStages = src.quadOperationsInAllStages; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceSubgroupProperties& safe_VkPhysicalDeviceSubgroupProperties::operator=(const safe_VkPhysicalDeviceSubgroupProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; subgroupSize = src.subgroupSize; supportedStages = src.supportedStages; supportedOperations = src.supportedOperations; quadOperationsInAllStages = src.quadOperationsInAllStages; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceSubgroupProperties::~safe_VkPhysicalDeviceSubgroupProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceSubgroupProperties::initialize(const VkPhysicalDeviceSubgroupProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; subgroupSize = in_struct->subgroupSize; supportedStages = in_struct->supportedStages; supportedOperations = in_struct->supportedOperations; quadOperationsInAllStages = in_struct->quadOperationsInAllStages; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceSubgroupProperties::initialize(const safe_VkPhysicalDeviceSubgroupProperties* src) { sType = src->sType; - pNext = src->pNext; subgroupSize = src->subgroupSize; supportedStages = src->supportedStages; supportedOperations = src->supportedOperations; quadOperationsInAllStages = src->quadOperationsInAllStages; + pNext = SafePnextCopy(src->pNext); } safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), buffer(in_struct->buffer), memory(in_struct->memory), memoryOffset(in_struct->memoryOffset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo() +safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo() : + pNext(nullptr) {} safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const safe_VkBindBufferMemoryInfo& src) { sType = src.sType; - pNext = src.pNext; buffer = src.buffer; memory = src.memory; memoryOffset = src.memoryOffset; + pNext = SafePnextCopy(src.pNext); } safe_VkBindBufferMemoryInfo& safe_VkBindBufferMemoryInfo::operator=(const safe_VkBindBufferMemoryInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; buffer = src.buffer; memory = src.memory; memoryOffset = src.memoryOffset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBindBufferMemoryInfo::~safe_VkBindBufferMemoryInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBindBufferMemoryInfo::initialize(const VkBindBufferMemoryInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; buffer = in_struct->buffer; memory = in_struct->memory; memoryOffset = in_struct->memoryOffset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBindBufferMemoryInfo::initialize(const safe_VkBindBufferMemoryInfo* src) { sType = src->sType; - pNext = src->pNext; buffer = src->buffer; memory = src->memory; memoryOffset = src->memoryOffset; + pNext = SafePnextCopy(src->pNext); } safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo(const VkBindImageMemoryInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), image(in_struct->image), memory(in_struct->memory), memoryOffset(in_struct->memoryOffset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo() +safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo() : + pNext(nullptr) {} safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo(const safe_VkBindImageMemoryInfo& src) { sType = src.sType; - pNext = src.pNext; image = src.image; memory = src.memory; memoryOffset = src.memoryOffset; + pNext = SafePnextCopy(src.pNext); } safe_VkBindImageMemoryInfo& safe_VkBindImageMemoryInfo::operator=(const safe_VkBindImageMemoryInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; image = src.image; memory = src.memory; memoryOffset = src.memoryOffset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBindImageMemoryInfo::~safe_VkBindImageMemoryInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBindImageMemoryInfo::initialize(const VkBindImageMemoryInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; image = in_struct->image; memory = in_struct->memory; memoryOffset = in_struct->memoryOffset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBindImageMemoryInfo::initialize(const safe_VkBindImageMemoryInfo* src) { sType = src->sType; - pNext = src->pNext; image = src->image; memory = src->memory; memoryOffset = src->memoryOffset; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), storageBuffer16BitAccess(in_struct->storageBuffer16BitAccess), uniformAndStorageBuffer16BitAccess(in_struct->uniformAndStorageBuffer16BitAccess), storagePushConstant16(in_struct->storagePushConstant16), storageInputOutput16(in_struct->storageInputOutput16) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures() +safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures() : + pNext(nullptr) {} safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures(const safe_VkPhysicalDevice16BitStorageFeatures& src) { sType = src.sType; - pNext = src.pNext; storageBuffer16BitAccess = src.storageBuffer16BitAccess; uniformAndStorageBuffer16BitAccess = src.uniformAndStorageBuffer16BitAccess; storagePushConstant16 = src.storagePushConstant16; storageInputOutput16 = src.storageInputOutput16; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDevice16BitStorageFeatures& safe_VkPhysicalDevice16BitStorageFeatures::operator=(const safe_VkPhysicalDevice16BitStorageFeatures& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; storageBuffer16BitAccess = src.storageBuffer16BitAccess; uniformAndStorageBuffer16BitAccess = src.uniformAndStorageBuffer16BitAccess; storagePushConstant16 = src.storagePushConstant16; storageInputOutput16 = src.storageInputOutput16; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDevice16BitStorageFeatures::~safe_VkPhysicalDevice16BitStorageFeatures() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; storageBuffer16BitAccess = in_struct->storageBuffer16BitAccess; uniformAndStorageBuffer16BitAccess = in_struct->uniformAndStorageBuffer16BitAccess; storagePushConstant16 = in_struct->storagePushConstant16; storageInputOutput16 = in_struct->storageInputOutput16; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const safe_VkPhysicalDevice16BitStorageFeatures* src) { sType = src->sType; - pNext = src->pNext; storageBuffer16BitAccess = src->storageBuffer16BitAccess; uniformAndStorageBuffer16BitAccess = src->uniformAndStorageBuffer16BitAccess; storagePushConstant16 = src->storagePushConstant16; storageInputOutput16 = src->storageInputOutput16; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), prefersDedicatedAllocation(in_struct->prefersDedicatedAllocation), requiresDedicatedAllocation(in_struct->requiresDedicatedAllocation) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements() +safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements() : + pNext(nullptr) {} safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const safe_VkMemoryDedicatedRequirements& src) { sType = src.sType; - pNext = src.pNext; prefersDedicatedAllocation = src.prefersDedicatedAllocation; requiresDedicatedAllocation = src.requiresDedicatedAllocation; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryDedicatedRequirements& safe_VkMemoryDedicatedRequirements::operator=(const safe_VkMemoryDedicatedRequirements& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; prefersDedicatedAllocation = src.prefersDedicatedAllocation; requiresDedicatedAllocation = src.requiresDedicatedAllocation; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryDedicatedRequirements::~safe_VkMemoryDedicatedRequirements() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryDedicatedRequirements::initialize(const VkMemoryDedicatedRequirements* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; prefersDedicatedAllocation = in_struct->prefersDedicatedAllocation; requiresDedicatedAllocation = in_struct->requiresDedicatedAllocation; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryDedicatedRequirements::initialize(const safe_VkMemoryDedicatedRequirements* src) { sType = src->sType; - pNext = src->pNext; prefersDedicatedAllocation = src->prefersDedicatedAllocation; requiresDedicatedAllocation = src->requiresDedicatedAllocation; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), image(in_struct->image), buffer(in_struct->buffer) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo() +safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo() : + pNext(nullptr) {} safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo(const safe_VkMemoryDedicatedAllocateInfo& src) { sType = src.sType; - pNext = src.pNext; image = src.image; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryDedicatedAllocateInfo& safe_VkMemoryDedicatedAllocateInfo::operator=(const safe_VkMemoryDedicatedAllocateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; image = src.image; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryDedicatedAllocateInfo::~safe_VkMemoryDedicatedAllocateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryDedicatedAllocateInfo::initialize(const VkMemoryDedicatedAllocateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; image = in_struct->image; buffer = in_struct->buffer; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryDedicatedAllocateInfo::initialize(const safe_VkMemoryDedicatedAllocateInfo* src) { sType = src->sType; - pNext = src->pNext; image = src->image; buffer = src->buffer; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), deviceMask(in_struct->deviceMask) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo() +safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo() : + pNext(nullptr) {} safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo(const safe_VkMemoryAllocateFlagsInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; deviceMask = src.deviceMask; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryAllocateFlagsInfo& safe_VkMemoryAllocateFlagsInfo::operator=(const safe_VkMemoryAllocateFlagsInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; deviceMask = src.deviceMask; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryAllocateFlagsInfo::~safe_VkMemoryAllocateFlagsInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryAllocateFlagsInfo::initialize(const VkMemoryAllocateFlagsInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; deviceMask = in_struct->deviceMask; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryAllocateFlagsInfo::initialize(const safe_VkMemoryAllocateFlagsInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; deviceMask = src->deviceMask; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceMask(in_struct->deviceMask), deviceRenderAreaCount(in_struct->deviceRenderAreaCount), pDeviceRenderAreas(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceRenderAreas) { pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount]; memcpy ((void *)pDeviceRenderAreas, (void *)in_struct->pDeviceRenderAreas, sizeof(VkRect2D)*in_struct->deviceRenderAreaCount); @@ -5994,16 +6333,17 @@ safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(con } safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo() : + pNext(nullptr), pDeviceRenderAreas(nullptr) {} safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const safe_VkDeviceGroupRenderPassBeginInfo& src) { sType = src.sType; - pNext = src.pNext; deviceMask = src.deviceMask; deviceRenderAreaCount = src.deviceRenderAreaCount; pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceRenderAreas) { pDeviceRenderAreas = new VkRect2D[src.deviceRenderAreaCount]; memcpy ((void *)pDeviceRenderAreas, (void *)src.pDeviceRenderAreas, sizeof(VkRect2D)*src.deviceRenderAreaCount); @@ -6016,12 +6356,14 @@ safe_VkDeviceGroupRenderPassBeginInfo& safe_VkDeviceGroupRenderPassBeginInfo::op if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceMask = src.deviceMask; deviceRenderAreaCount = src.deviceRenderAreaCount; pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceRenderAreas) { pDeviceRenderAreas = new VkRect2D[src.deviceRenderAreaCount]; memcpy ((void *)pDeviceRenderAreas, (void *)src.pDeviceRenderAreas, sizeof(VkRect2D)*src.deviceRenderAreaCount); @@ -6034,15 +6376,17 @@ safe_VkDeviceGroupRenderPassBeginInfo::~safe_VkDeviceGroupRenderPassBeginInfo() { if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceMask = in_struct->deviceMask; deviceRenderAreaCount = in_struct->deviceRenderAreaCount; pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceRenderAreas) { pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount]; memcpy ((void *)pDeviceRenderAreas, (void *)in_struct->pDeviceRenderAreas, sizeof(VkRect2D)*in_struct->deviceRenderAreaCount); @@ -6052,10 +6396,10 @@ void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const VkDeviceGroupRender void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const safe_VkDeviceGroupRenderPassBeginInfo* src) { sType = src->sType; - pNext = src->pNext; deviceMask = src->deviceMask; deviceRenderAreaCount = src->deviceRenderAreaCount; pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDeviceRenderAreas) { pDeviceRenderAreas = new VkRect2D[src->deviceRenderAreaCount]; memcpy ((void *)pDeviceRenderAreas, (void *)src->pDeviceRenderAreas, sizeof(VkRect2D)*src->deviceRenderAreaCount); @@ -6064,54 +6408,58 @@ void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const safe_VkDeviceGroupR safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceMask(in_struct->deviceMask) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo() +safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo() : + pNext(nullptr) {} safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo(const safe_VkDeviceGroupCommandBufferBeginInfo& src) { sType = src.sType; - pNext = src.pNext; deviceMask = src.deviceMask; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceGroupCommandBufferBeginInfo& safe_VkDeviceGroupCommandBufferBeginInfo::operator=(const safe_VkDeviceGroupCommandBufferBeginInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceMask = src.deviceMask; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceGroupCommandBufferBeginInfo::~safe_VkDeviceGroupCommandBufferBeginInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupCommandBufferBeginInfo::initialize(const VkDeviceGroupCommandBufferBeginInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceMask = in_struct->deviceMask; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceGroupCommandBufferBeginInfo::initialize(const safe_VkDeviceGroupCommandBufferBeginInfo* src) { sType = src->sType; - pNext = src->pNext; deviceMask = src->deviceMask; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), waitSemaphoreCount(in_struct->waitSemaphoreCount), pWaitSemaphoreDeviceIndices(nullptr), commandBufferCount(in_struct->commandBufferCount), @@ -6119,6 +6467,7 @@ safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const VkDeviceGroupSu signalSemaphoreCount(in_struct->signalSemaphoreCount), pSignalSemaphoreDeviceIndices(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pWaitSemaphoreDeviceIndices) { pWaitSemaphoreDeviceIndices = new uint32_t[in_struct->waitSemaphoreCount]; memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)in_struct->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->waitSemaphoreCount); @@ -6134,6 +6483,7 @@ safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const VkDeviceGroupSu } safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo() : + pNext(nullptr), pWaitSemaphoreDeviceIndices(nullptr), pCommandBufferDeviceMasks(nullptr), pSignalSemaphoreDeviceIndices(nullptr) @@ -6142,13 +6492,13 @@ safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo() : safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const safe_VkDeviceGroupSubmitInfo& src) { sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphoreDeviceIndices = nullptr; commandBufferCount = src.commandBufferCount; pCommandBufferDeviceMasks = nullptr; signalSemaphoreCount = src.signalSemaphoreCount; pSignalSemaphoreDeviceIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pWaitSemaphoreDeviceIndices) { pWaitSemaphoreDeviceIndices = new uint32_t[src.waitSemaphoreCount]; memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src.pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src.waitSemaphoreCount); @@ -6173,15 +6523,17 @@ safe_VkDeviceGroupSubmitInfo& safe_VkDeviceGroupSubmitInfo::operator=(const safe delete[] pCommandBufferDeviceMasks; if (pSignalSemaphoreDeviceIndices) delete[] pSignalSemaphoreDeviceIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphoreDeviceIndices = nullptr; commandBufferCount = src.commandBufferCount; pCommandBufferDeviceMasks = nullptr; signalSemaphoreCount = src.signalSemaphoreCount; pSignalSemaphoreDeviceIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pWaitSemaphoreDeviceIndices) { pWaitSemaphoreDeviceIndices = new uint32_t[src.waitSemaphoreCount]; memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src.pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src.waitSemaphoreCount); @@ -6206,18 +6558,20 @@ safe_VkDeviceGroupSubmitInfo::~safe_VkDeviceGroupSubmitInfo() delete[] pCommandBufferDeviceMasks; if (pSignalSemaphoreDeviceIndices) delete[] pSignalSemaphoreDeviceIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupSubmitInfo::initialize(const VkDeviceGroupSubmitInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; waitSemaphoreCount = in_struct->waitSemaphoreCount; pWaitSemaphoreDeviceIndices = nullptr; commandBufferCount = in_struct->commandBufferCount; pCommandBufferDeviceMasks = nullptr; signalSemaphoreCount = in_struct->signalSemaphoreCount; pSignalSemaphoreDeviceIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pWaitSemaphoreDeviceIndices) { pWaitSemaphoreDeviceIndices = new uint32_t[in_struct->waitSemaphoreCount]; memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)in_struct->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->waitSemaphoreCount); @@ -6235,13 +6589,13 @@ void safe_VkDeviceGroupSubmitInfo::initialize(const VkDeviceGroupSubmitInfo* in_ void safe_VkDeviceGroupSubmitInfo::initialize(const safe_VkDeviceGroupSubmitInfo* src) { sType = src->sType; - pNext = src->pNext; waitSemaphoreCount = src->waitSemaphoreCount; pWaitSemaphoreDeviceIndices = nullptr; commandBufferCount = src->commandBufferCount; pCommandBufferDeviceMasks = nullptr; signalSemaphoreCount = src->signalSemaphoreCount; pSignalSemaphoreDeviceIndices = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pWaitSemaphoreDeviceIndices) { pWaitSemaphoreDeviceIndices = new uint32_t[src->waitSemaphoreCount]; memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src->waitSemaphoreCount); @@ -6258,62 +6612,67 @@ void safe_VkDeviceGroupSubmitInfo::initialize(const safe_VkDeviceGroupSubmitInfo safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), resourceDeviceIndex(in_struct->resourceDeviceIndex), memoryDeviceIndex(in_struct->memoryDeviceIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo() +safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo() : + pNext(nullptr) {} safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo(const safe_VkDeviceGroupBindSparseInfo& src) { sType = src.sType; - pNext = src.pNext; resourceDeviceIndex = src.resourceDeviceIndex; memoryDeviceIndex = src.memoryDeviceIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceGroupBindSparseInfo& safe_VkDeviceGroupBindSparseInfo::operator=(const safe_VkDeviceGroupBindSparseInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; resourceDeviceIndex = src.resourceDeviceIndex; memoryDeviceIndex = src.memoryDeviceIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceGroupBindSparseInfo::~safe_VkDeviceGroupBindSparseInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupBindSparseInfo::initialize(const VkDeviceGroupBindSparseInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; resourceDeviceIndex = in_struct->resourceDeviceIndex; memoryDeviceIndex = in_struct->memoryDeviceIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceGroupBindSparseInfo::initialize(const safe_VkDeviceGroupBindSparseInfo* src) { sType = src->sType; - pNext = src->pNext; resourceDeviceIndex = src->resourceDeviceIndex; memoryDeviceIndex = src->memoryDeviceIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceIndexCount(in_struct->deviceIndexCount), pDeviceIndices(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceIndices) { pDeviceIndices = new uint32_t[in_struct->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount); @@ -6321,15 +6680,16 @@ safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(c } safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo() : + pNext(nullptr), pDeviceIndices(nullptr) {} safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(const safe_VkBindBufferMemoryDeviceGroupInfo& src) { sType = src.sType; - pNext = src.pNext; deviceIndexCount = src.deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceIndices) { pDeviceIndices = new uint32_t[src.deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount); @@ -6342,11 +6702,13 @@ safe_VkBindBufferMemoryDeviceGroupInfo& safe_VkBindBufferMemoryDeviceGroupInfo:: if (pDeviceIndices) delete[] pDeviceIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceIndexCount = src.deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceIndices) { pDeviceIndices = new uint32_t[src.deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount); @@ -6359,14 +6721,16 @@ safe_VkBindBufferMemoryDeviceGroupInfo::~safe_VkBindBufferMemoryDeviceGroupInfo( { if (pDeviceIndices) delete[] pDeviceIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const VkBindBufferMemoryDeviceGroupInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceIndexCount = in_struct->deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceIndices) { pDeviceIndices = new uint32_t[in_struct->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount); @@ -6376,9 +6740,9 @@ void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const VkBindBufferMemory void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const safe_VkBindBufferMemoryDeviceGroupInfo* src) { sType = src->sType; - pNext = src->pNext; deviceIndexCount = src->deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDeviceIndices) { pDeviceIndices = new uint32_t[src->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount); @@ -6387,12 +6751,12 @@ void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const safe_VkBindBufferM safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceIndexCount(in_struct->deviceIndexCount), pDeviceIndices(nullptr), splitInstanceBindRegionCount(in_struct->splitInstanceBindRegionCount), pSplitInstanceBindRegions(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceIndices) { pDeviceIndices = new uint32_t[in_struct->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount); @@ -6404,6 +6768,7 @@ safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(con } safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo() : + pNext(nullptr), pDeviceIndices(nullptr), pSplitInstanceBindRegions(nullptr) {} @@ -6411,11 +6776,11 @@ safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo() : safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(const safe_VkBindImageMemoryDeviceGroupInfo& src) { sType = src.sType; - pNext = src.pNext; deviceIndexCount = src.deviceIndexCount; pDeviceIndices = nullptr; splitInstanceBindRegionCount = src.splitInstanceBindRegionCount; pSplitInstanceBindRegions = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceIndices) { pDeviceIndices = new uint32_t[src.deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount); @@ -6434,13 +6799,15 @@ safe_VkBindImageMemoryDeviceGroupInfo& safe_VkBindImageMemoryDeviceGroupInfo::op delete[] pDeviceIndices; if (pSplitInstanceBindRegions) delete[] pSplitInstanceBindRegions; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceIndexCount = src.deviceIndexCount; pDeviceIndices = nullptr; splitInstanceBindRegionCount = src.splitInstanceBindRegionCount; pSplitInstanceBindRegions = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceIndices) { pDeviceIndices = new uint32_t[src.deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount); @@ -6459,16 +6826,18 @@ safe_VkBindImageMemoryDeviceGroupInfo::~safe_VkBindImageMemoryDeviceGroupInfo() delete[] pDeviceIndices; if (pSplitInstanceBindRegions) delete[] pSplitInstanceBindRegions; + if (pNext) + FreePnextChain(pNext); } void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const VkBindImageMemoryDeviceGroupInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceIndexCount = in_struct->deviceIndexCount; pDeviceIndices = nullptr; splitInstanceBindRegionCount = in_struct->splitInstanceBindRegionCount; pSplitInstanceBindRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceIndices) { pDeviceIndices = new uint32_t[in_struct->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount); @@ -6482,11 +6851,11 @@ void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const VkBindImageMemoryDe void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const safe_VkBindImageMemoryDeviceGroupInfo* src) { sType = src->sType; - pNext = src->pNext; deviceIndexCount = src->deviceIndexCount; pDeviceIndices = nullptr; splitInstanceBindRegionCount = src->splitInstanceBindRegionCount; pSplitInstanceBindRegions = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDeviceIndices) { pDeviceIndices = new uint32_t[src->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount); @@ -6499,25 +6868,26 @@ void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const safe_VkBindImageMem safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), physicalDeviceCount(in_struct->physicalDeviceCount), subsetAllocation(in_struct->subsetAllocation) { - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { physicalDevices[i] = in_struct->physicalDevices[i]; } } -safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties() +safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties() : + pNext(nullptr) {} safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties(const safe_VkPhysicalDeviceGroupProperties& src) { sType = src.sType; - pNext = src.pNext; physicalDeviceCount = src.physicalDeviceCount; subsetAllocation = src.subsetAllocation; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { physicalDevices[i] = src.physicalDevices[i]; } } @@ -6526,12 +6896,14 @@ safe_VkPhysicalDeviceGroupProperties& safe_VkPhysicalDeviceGroupProperties::oper { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; physicalDeviceCount = src.physicalDeviceCount; subsetAllocation = src.subsetAllocation; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { physicalDevices[i] = src.physicalDevices[i]; } @@ -6540,15 +6912,17 @@ safe_VkPhysicalDeviceGroupProperties& safe_VkPhysicalDeviceGroupProperties::oper safe_VkPhysicalDeviceGroupProperties::~safe_VkPhysicalDeviceGroupProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceGroupProperties::initialize(const VkPhysicalDeviceGroupProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; physicalDeviceCount = in_struct->physicalDeviceCount; subsetAllocation = in_struct->subsetAllocation; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { physicalDevices[i] = in_struct->physicalDevices[i]; } } @@ -6556,20 +6930,20 @@ void safe_VkPhysicalDeviceGroupProperties::initialize(const VkPhysicalDeviceGrou void safe_VkPhysicalDeviceGroupProperties::initialize(const safe_VkPhysicalDeviceGroupProperties* src) { sType = src->sType; - pNext = src->pNext; physicalDeviceCount = src->physicalDeviceCount; subsetAllocation = src->subsetAllocation; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { physicalDevices[i] = src->physicalDevices[i]; } } safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), physicalDeviceCount(in_struct->physicalDeviceCount), pPhysicalDevices(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPhysicalDevices) { pPhysicalDevices = new VkPhysicalDevice[in_struct->physicalDeviceCount]; memcpy ((void *)pPhysicalDevices, (void *)in_struct->pPhysicalDevices, sizeof(VkPhysicalDevice)*in_struct->physicalDeviceCount); @@ -6577,15 +6951,16 @@ safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const VkD } safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo() : + pNext(nullptr), pPhysicalDevices(nullptr) {} safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const safe_VkDeviceGroupDeviceCreateInfo& src) { sType = src.sType; - pNext = src.pNext; physicalDeviceCount = src.physicalDeviceCount; pPhysicalDevices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPhysicalDevices) { pPhysicalDevices = new VkPhysicalDevice[src.physicalDeviceCount]; memcpy ((void *)pPhysicalDevices, (void *)src.pPhysicalDevices, sizeof(VkPhysicalDevice)*src.physicalDeviceCount); @@ -6598,11 +6973,13 @@ safe_VkDeviceGroupDeviceCreateInfo& safe_VkDeviceGroupDeviceCreateInfo::operator if (pPhysicalDevices) delete[] pPhysicalDevices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; physicalDeviceCount = src.physicalDeviceCount; pPhysicalDevices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPhysicalDevices) { pPhysicalDevices = new VkPhysicalDevice[src.physicalDeviceCount]; memcpy ((void *)pPhysicalDevices, (void *)src.pPhysicalDevices, sizeof(VkPhysicalDevice)*src.physicalDeviceCount); @@ -6615,14 +6992,16 @@ safe_VkDeviceGroupDeviceCreateInfo::~safe_VkDeviceGroupDeviceCreateInfo() { if (pPhysicalDevices) delete[] pPhysicalDevices; + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupDeviceCreateInfo::initialize(const VkDeviceGroupDeviceCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; physicalDeviceCount = in_struct->physicalDeviceCount; pPhysicalDevices = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPhysicalDevices) { pPhysicalDevices = new VkPhysicalDevice[in_struct->physicalDeviceCount]; memcpy ((void *)pPhysicalDevices, (void *)in_struct->pPhysicalDevices, sizeof(VkPhysicalDevice)*in_struct->physicalDeviceCount); @@ -6632,9 +7011,9 @@ void safe_VkDeviceGroupDeviceCreateInfo::initialize(const VkDeviceGroupDeviceCre void safe_VkDeviceGroupDeviceCreateInfo::initialize(const safe_VkDeviceGroupDeviceCreateInfo* src) { sType = src->sType; - pNext = src->pNext; physicalDeviceCount = src->physicalDeviceCount; pPhysicalDevices = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pPhysicalDevices) { pPhysicalDevices = new VkPhysicalDevice[src->physicalDeviceCount]; memcpy ((void *)pPhysicalDevices, (void *)src->pPhysicalDevices, sizeof(VkPhysicalDevice)*src->physicalDeviceCount); @@ -6643,755 +7022,830 @@ void safe_VkDeviceGroupDeviceCreateInfo::initialize(const safe_VkDeviceGroupDevi safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), buffer(in_struct->buffer) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2() +safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2() : + pNext(nullptr) {} safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2(const safe_VkBufferMemoryRequirementsInfo2& src) { sType = src.sType; - pNext = src.pNext; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); } safe_VkBufferMemoryRequirementsInfo2& safe_VkBufferMemoryRequirementsInfo2::operator=(const safe_VkBufferMemoryRequirementsInfo2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBufferMemoryRequirementsInfo2::~safe_VkBufferMemoryRequirementsInfo2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBufferMemoryRequirementsInfo2::initialize(const VkBufferMemoryRequirementsInfo2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; buffer = in_struct->buffer; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBufferMemoryRequirementsInfo2::initialize(const safe_VkBufferMemoryRequirementsInfo2* src) { sType = src->sType; - pNext = src->pNext; buffer = src->buffer; + pNext = SafePnextCopy(src->pNext); } safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), image(in_struct->image) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2() +safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2() : + pNext(nullptr) {} safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2(const safe_VkImageMemoryRequirementsInfo2& src) { sType = src.sType; - pNext = src.pNext; image = src.image; + pNext = SafePnextCopy(src.pNext); } safe_VkImageMemoryRequirementsInfo2& safe_VkImageMemoryRequirementsInfo2::operator=(const safe_VkImageMemoryRequirementsInfo2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; image = src.image; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageMemoryRequirementsInfo2::~safe_VkImageMemoryRequirementsInfo2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageMemoryRequirementsInfo2::initialize(const VkImageMemoryRequirementsInfo2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; image = in_struct->image; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageMemoryRequirementsInfo2::initialize(const safe_VkImageMemoryRequirementsInfo2* src) { sType = src->sType; - pNext = src->pNext; image = src->image; + pNext = SafePnextCopy(src->pNext); } safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), image(in_struct->image) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2() +safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2() : + pNext(nullptr) {} safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2(const safe_VkImageSparseMemoryRequirementsInfo2& src) { sType = src.sType; - pNext = src.pNext; image = src.image; + pNext = SafePnextCopy(src.pNext); } safe_VkImageSparseMemoryRequirementsInfo2& safe_VkImageSparseMemoryRequirementsInfo2::operator=(const safe_VkImageSparseMemoryRequirementsInfo2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; image = src.image; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageSparseMemoryRequirementsInfo2::~safe_VkImageSparseMemoryRequirementsInfo2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageSparseMemoryRequirementsInfo2::initialize(const VkImageSparseMemoryRequirementsInfo2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; image = in_struct->image; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageSparseMemoryRequirementsInfo2::initialize(const safe_VkImageSparseMemoryRequirementsInfo2* src) { sType = src->sType; - pNext = src->pNext; image = src->image; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryRequirements2::safe_VkMemoryRequirements2(const VkMemoryRequirements2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryRequirements(in_struct->memoryRequirements) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryRequirements2::safe_VkMemoryRequirements2() +safe_VkMemoryRequirements2::safe_VkMemoryRequirements2() : + pNext(nullptr) {} safe_VkMemoryRequirements2::safe_VkMemoryRequirements2(const safe_VkMemoryRequirements2& src) { sType = src.sType; - pNext = src.pNext; memoryRequirements = src.memoryRequirements; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryRequirements2& safe_VkMemoryRequirements2::operator=(const safe_VkMemoryRequirements2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryRequirements = src.memoryRequirements; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryRequirements2::~safe_VkMemoryRequirements2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryRequirements2::initialize(const VkMemoryRequirements2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryRequirements = in_struct->memoryRequirements; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryRequirements2::initialize(const safe_VkMemoryRequirements2* src) { sType = src->sType; - pNext = src->pNext; memoryRequirements = src->memoryRequirements; + pNext = SafePnextCopy(src->pNext); } safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryRequirements(in_struct->memoryRequirements) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2() +safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2() : + pNext(nullptr) {} safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2(const safe_VkSparseImageMemoryRequirements2& src) { sType = src.sType; - pNext = src.pNext; memoryRequirements = src.memoryRequirements; + pNext = SafePnextCopy(src.pNext); } safe_VkSparseImageMemoryRequirements2& safe_VkSparseImageMemoryRequirements2::operator=(const safe_VkSparseImageMemoryRequirements2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryRequirements = src.memoryRequirements; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSparseImageMemoryRequirements2::~safe_VkSparseImageMemoryRequirements2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSparseImageMemoryRequirements2::initialize(const VkSparseImageMemoryRequirements2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryRequirements = in_struct->memoryRequirements; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSparseImageMemoryRequirements2::initialize(const safe_VkSparseImageMemoryRequirements2* src) { sType = src->sType; - pNext = src->pNext; memoryRequirements = src->memoryRequirements; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), features(in_struct->features) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2() +safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2() : + pNext(nullptr) {} safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2(const safe_VkPhysicalDeviceFeatures2& src) { sType = src.sType; - pNext = src.pNext; features = src.features; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceFeatures2& safe_VkPhysicalDeviceFeatures2::operator=(const safe_VkPhysicalDeviceFeatures2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; features = src.features; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceFeatures2::~safe_VkPhysicalDeviceFeatures2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceFeatures2::initialize(const VkPhysicalDeviceFeatures2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; features = in_struct->features; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceFeatures2::initialize(const safe_VkPhysicalDeviceFeatures2* src) { sType = src->sType; - pNext = src->pNext; features = src->features; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), properties(in_struct->properties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2() +safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2() : + pNext(nullptr) {} safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2(const safe_VkPhysicalDeviceProperties2& src) { sType = src.sType; - pNext = src.pNext; properties = src.properties; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceProperties2& safe_VkPhysicalDeviceProperties2::operator=(const safe_VkPhysicalDeviceProperties2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; properties = src.properties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceProperties2::~safe_VkPhysicalDeviceProperties2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceProperties2::initialize(const VkPhysicalDeviceProperties2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; properties = in_struct->properties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceProperties2::initialize(const safe_VkPhysicalDeviceProperties2* src) { sType = src->sType; - pNext = src->pNext; properties = src->properties; + pNext = SafePnextCopy(src->pNext); } safe_VkFormatProperties2::safe_VkFormatProperties2(const VkFormatProperties2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), formatProperties(in_struct->formatProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkFormatProperties2::safe_VkFormatProperties2() +safe_VkFormatProperties2::safe_VkFormatProperties2() : + pNext(nullptr) {} safe_VkFormatProperties2::safe_VkFormatProperties2(const safe_VkFormatProperties2& src) { sType = src.sType; - pNext = src.pNext; formatProperties = src.formatProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkFormatProperties2& safe_VkFormatProperties2::operator=(const safe_VkFormatProperties2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; formatProperties = src.formatProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkFormatProperties2::~safe_VkFormatProperties2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkFormatProperties2::initialize(const VkFormatProperties2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; formatProperties = in_struct->formatProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkFormatProperties2::initialize(const safe_VkFormatProperties2* src) { sType = src->sType; - pNext = src->pNext; formatProperties = src->formatProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkImageFormatProperties2::safe_VkImageFormatProperties2(const VkImageFormatProperties2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), imageFormatProperties(in_struct->imageFormatProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageFormatProperties2::safe_VkImageFormatProperties2() +safe_VkImageFormatProperties2::safe_VkImageFormatProperties2() : + pNext(nullptr) {} safe_VkImageFormatProperties2::safe_VkImageFormatProperties2(const safe_VkImageFormatProperties2& src) { sType = src.sType; - pNext = src.pNext; imageFormatProperties = src.imageFormatProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkImageFormatProperties2& safe_VkImageFormatProperties2::operator=(const safe_VkImageFormatProperties2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; imageFormatProperties = src.imageFormatProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageFormatProperties2::~safe_VkImageFormatProperties2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageFormatProperties2::initialize(const VkImageFormatProperties2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; imageFormatProperties = in_struct->imageFormatProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageFormatProperties2::initialize(const safe_VkImageFormatProperties2* src) { sType = src->sType; - pNext = src->pNext; imageFormatProperties = src->imageFormatProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), format(in_struct->format), type(in_struct->type), tiling(in_struct->tiling), usage(in_struct->usage), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2() +safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2() : + pNext(nullptr) {} safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2(const safe_VkPhysicalDeviceImageFormatInfo2& src) { sType = src.sType; - pNext = src.pNext; format = src.format; type = src.type; tiling = src.tiling; usage = src.usage; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceImageFormatInfo2& safe_VkPhysicalDeviceImageFormatInfo2::operator=(const safe_VkPhysicalDeviceImageFormatInfo2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; format = src.format; type = src.type; tiling = src.tiling; usage = src.usage; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceImageFormatInfo2::~safe_VkPhysicalDeviceImageFormatInfo2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceImageFormatInfo2::initialize(const VkPhysicalDeviceImageFormatInfo2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; format = in_struct->format; type = in_struct->type; tiling = in_struct->tiling; usage = in_struct->usage; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceImageFormatInfo2::initialize(const safe_VkPhysicalDeviceImageFormatInfo2* src) { sType = src->sType; - pNext = src->pNext; format = src->format; type = src->type; tiling = src->tiling; usage = src->usage; flags = src->flags; + pNext = SafePnextCopy(src->pNext); } safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2(const VkQueueFamilyProperties2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), queueFamilyProperties(in_struct->queueFamilyProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2() +safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2() : + pNext(nullptr) {} safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2(const safe_VkQueueFamilyProperties2& src) { sType = src.sType; - pNext = src.pNext; queueFamilyProperties = src.queueFamilyProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkQueueFamilyProperties2& safe_VkQueueFamilyProperties2::operator=(const safe_VkQueueFamilyProperties2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; queueFamilyProperties = src.queueFamilyProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkQueueFamilyProperties2::~safe_VkQueueFamilyProperties2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkQueueFamilyProperties2::initialize(const VkQueueFamilyProperties2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; queueFamilyProperties = in_struct->queueFamilyProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkQueueFamilyProperties2::initialize(const safe_VkQueueFamilyProperties2* src) { sType = src->sType; - pNext = src->pNext; queueFamilyProperties = src->queueFamilyProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryProperties(in_struct->memoryProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2() +safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2() : + pNext(nullptr) {} safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2(const safe_VkPhysicalDeviceMemoryProperties2& src) { sType = src.sType; - pNext = src.pNext; memoryProperties = src.memoryProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMemoryProperties2& safe_VkPhysicalDeviceMemoryProperties2::operator=(const safe_VkPhysicalDeviceMemoryProperties2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryProperties = src.memoryProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMemoryProperties2::~safe_VkPhysicalDeviceMemoryProperties2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMemoryProperties2::initialize(const VkPhysicalDeviceMemoryProperties2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryProperties = in_struct->memoryProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMemoryProperties2::initialize(const safe_VkPhysicalDeviceMemoryProperties2* src) { sType = src->sType; - pNext = src->pNext; memoryProperties = src->memoryProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), properties(in_struct->properties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2() +safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2() : + pNext(nullptr) {} safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2(const safe_VkSparseImageFormatProperties2& src) { sType = src.sType; - pNext = src.pNext; properties = src.properties; + pNext = SafePnextCopy(src.pNext); } safe_VkSparseImageFormatProperties2& safe_VkSparseImageFormatProperties2::operator=(const safe_VkSparseImageFormatProperties2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; properties = src.properties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSparseImageFormatProperties2::~safe_VkSparseImageFormatProperties2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSparseImageFormatProperties2::initialize(const VkSparseImageFormatProperties2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; properties = in_struct->properties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSparseImageFormatProperties2::initialize(const safe_VkSparseImageFormatProperties2* src) { sType = src->sType; - pNext = src->pNext; properties = src->properties; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), format(in_struct->format), type(in_struct->type), samples(in_struct->samples), usage(in_struct->usage), tiling(in_struct->tiling) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2() +safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2() : + pNext(nullptr) {} safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2(const safe_VkPhysicalDeviceSparseImageFormatInfo2& src) { sType = src.sType; - pNext = src.pNext; format = src.format; type = src.type; samples = src.samples; usage = src.usage; tiling = src.tiling; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceSparseImageFormatInfo2& safe_VkPhysicalDeviceSparseImageFormatInfo2::operator=(const safe_VkPhysicalDeviceSparseImageFormatInfo2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; format = src.format; type = src.type; samples = src.samples; usage = src.usage; tiling = src.tiling; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceSparseImageFormatInfo2::~safe_VkPhysicalDeviceSparseImageFormatInfo2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceSparseImageFormatInfo2::initialize(const VkPhysicalDeviceSparseImageFormatInfo2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; format = in_struct->format; type = in_struct->type; samples = in_struct->samples; usage = in_struct->usage; tiling = in_struct->tiling; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceSparseImageFormatInfo2::initialize(const safe_VkPhysicalDeviceSparseImageFormatInfo2* src) { sType = src->sType; - pNext = src->pNext; format = src->format; type = src->type; samples = src->samples; usage = src->usage; tiling = src->tiling; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pointClippingBehavior(in_struct->pointClippingBehavior) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties() +safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties() : + pNext(nullptr) {} safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties(const safe_VkPhysicalDevicePointClippingProperties& src) { sType = src.sType; - pNext = src.pNext; pointClippingBehavior = src.pointClippingBehavior; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDevicePointClippingProperties& safe_VkPhysicalDevicePointClippingProperties::operator=(const safe_VkPhysicalDevicePointClippingProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pointClippingBehavior = src.pointClippingBehavior; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDevicePointClippingProperties::~safe_VkPhysicalDevicePointClippingProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDevicePointClippingProperties::initialize(const VkPhysicalDevicePointClippingProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pointClippingBehavior = in_struct->pointClippingBehavior; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDevicePointClippingProperties::initialize(const safe_VkPhysicalDevicePointClippingProperties* src) { sType = src->sType; - pNext = src->pNext; pointClippingBehavior = src->pointClippingBehavior; + pNext = SafePnextCopy(src->pNext); } safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), aspectReferenceCount(in_struct->aspectReferenceCount), pAspectReferences(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAspectReferences) { pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount]; memcpy ((void *)pAspectReferences, (void *)in_struct->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*in_struct->aspectReferenceCount); @@ -7399,15 +7853,16 @@ safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachme } safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo() : + pNext(nullptr), pAspectReferences(nullptr) {} safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo(const safe_VkRenderPassInputAttachmentAspectCreateInfo& src) { sType = src.sType; - pNext = src.pNext; aspectReferenceCount = src.aspectReferenceCount; pAspectReferences = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAspectReferences) { pAspectReferences = new VkInputAttachmentAspectReference[src.aspectReferenceCount]; memcpy ((void *)pAspectReferences, (void *)src.pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src.aspectReferenceCount); @@ -7420,11 +7875,13 @@ safe_VkRenderPassInputAttachmentAspectCreateInfo& safe_VkRenderPassInputAttachme if (pAspectReferences) delete[] pAspectReferences; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; aspectReferenceCount = src.aspectReferenceCount; pAspectReferences = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAspectReferences) { pAspectReferences = new VkInputAttachmentAspectReference[src.aspectReferenceCount]; memcpy ((void *)pAspectReferences, (void *)src.pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src.aspectReferenceCount); @@ -7437,14 +7894,16 @@ safe_VkRenderPassInputAttachmentAspectCreateInfo::~safe_VkRenderPassInputAttachm { if (pAspectReferences) delete[] pAspectReferences; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; aspectReferenceCount = in_struct->aspectReferenceCount; pAspectReferences = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAspectReferences) { pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount]; memcpy ((void *)pAspectReferences, (void *)in_struct->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*in_struct->aspectReferenceCount); @@ -7454,9 +7913,9 @@ void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const VkRender void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* src) { sType = src->sType; - pNext = src->pNext; aspectReferenceCount = src->aspectReferenceCount; pAspectReferences = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pAspectReferences) { pAspectReferences = new VkInputAttachmentAspectReference[src->aspectReferenceCount]; memcpy ((void *)pAspectReferences, (void *)src->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src->aspectReferenceCount); @@ -7465,101 +7924,110 @@ void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const safe_VkR safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), usage(in_struct->usage) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo() +safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo() : + pNext(nullptr) {} safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const safe_VkImageViewUsageCreateInfo& src) { sType = src.sType; - pNext = src.pNext; usage = src.usage; + pNext = SafePnextCopy(src.pNext); } safe_VkImageViewUsageCreateInfo& safe_VkImageViewUsageCreateInfo::operator=(const safe_VkImageViewUsageCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; usage = src.usage; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageViewUsageCreateInfo::~safe_VkImageViewUsageCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageViewUsageCreateInfo::initialize(const VkImageViewUsageCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; usage = in_struct->usage; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageViewUsageCreateInfo::initialize(const safe_VkImageViewUsageCreateInfo* src) { sType = src->sType; - pNext = src->pNext; usage = src->usage; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), domainOrigin(in_struct->domainOrigin) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo() +safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo() : + pNext(nullptr) {} safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; domainOrigin = src.domainOrigin; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineTessellationDomainOriginStateCreateInfo& safe_VkPipelineTessellationDomainOriginStateCreateInfo::operator=(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; domainOrigin = src.domainOrigin; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineTessellationDomainOriginStateCreateInfo::~safe_VkPipelineTessellationDomainOriginStateCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; domainOrigin = in_struct->domainOrigin; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize(const safe_VkPipelineTessellationDomainOriginStateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; domainOrigin = src->domainOrigin; + pNext = SafePnextCopy(src->pNext); } safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), subpassCount(in_struct->subpassCount), pViewMasks(nullptr), dependencyCount(in_struct->dependencyCount), @@ -7567,6 +8035,7 @@ safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const correlationMaskCount(in_struct->correlationMaskCount), pCorrelationMasks(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewMasks) { pViewMasks = new uint32_t[in_struct->subpassCount]; memcpy ((void *)pViewMasks, (void *)in_struct->pViewMasks, sizeof(uint32_t)*in_struct->subpassCount); @@ -7582,6 +8051,7 @@ safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const } safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo() : + pNext(nullptr), pViewMasks(nullptr), pViewOffsets(nullptr), pCorrelationMasks(nullptr) @@ -7590,13 +8060,13 @@ safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo() : safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& src) { sType = src.sType; - pNext = src.pNext; subpassCount = src.subpassCount; pViewMasks = nullptr; dependencyCount = src.dependencyCount; pViewOffsets = nullptr; correlationMaskCount = src.correlationMaskCount; pCorrelationMasks = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewMasks) { pViewMasks = new uint32_t[src.subpassCount]; memcpy ((void *)pViewMasks, (void *)src.pViewMasks, sizeof(uint32_t)*src.subpassCount); @@ -7621,15 +8091,17 @@ safe_VkRenderPassMultiviewCreateInfo& safe_VkRenderPassMultiviewCreateInfo::oper delete[] pViewOffsets; if (pCorrelationMasks) delete[] pCorrelationMasks; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; subpassCount = src.subpassCount; pViewMasks = nullptr; dependencyCount = src.dependencyCount; pViewOffsets = nullptr; correlationMaskCount = src.correlationMaskCount; pCorrelationMasks = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewMasks) { pViewMasks = new uint32_t[src.subpassCount]; memcpy ((void *)pViewMasks, (void *)src.pViewMasks, sizeof(uint32_t)*src.subpassCount); @@ -7654,18 +8126,20 @@ safe_VkRenderPassMultiviewCreateInfo::~safe_VkRenderPassMultiviewCreateInfo() delete[] pViewOffsets; if (pCorrelationMasks) delete[] pCorrelationMasks; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassMultiviewCreateInfo::initialize(const VkRenderPassMultiviewCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; subpassCount = in_struct->subpassCount; pViewMasks = nullptr; dependencyCount = in_struct->dependencyCount; pViewOffsets = nullptr; correlationMaskCount = in_struct->correlationMaskCount; pCorrelationMasks = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewMasks) { pViewMasks = new uint32_t[in_struct->subpassCount]; memcpy ((void *)pViewMasks, (void *)in_struct->pViewMasks, sizeof(uint32_t)*in_struct->subpassCount); @@ -7683,13 +8157,13 @@ void safe_VkRenderPassMultiviewCreateInfo::initialize(const VkRenderPassMultivie void safe_VkRenderPassMultiviewCreateInfo::initialize(const safe_VkRenderPassMultiviewCreateInfo* src) { sType = src->sType; - pNext = src->pNext; subpassCount = src->subpassCount; pViewMasks = nullptr; dependencyCount = src->dependencyCount; pViewOffsets = nullptr; correlationMaskCount = src->correlationMaskCount; pCorrelationMasks = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pViewMasks) { pViewMasks = new uint32_t[src->subpassCount]; memcpy ((void *)pViewMasks, (void *)src->pViewMasks, sizeof(uint32_t)*src->subpassCount); @@ -7706,366 +8180,400 @@ void safe_VkRenderPassMultiviewCreateInfo::initialize(const safe_VkRenderPassMul safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), multiview(in_struct->multiview), multiviewGeometryShader(in_struct->multiviewGeometryShader), multiviewTessellationShader(in_struct->multiviewTessellationShader) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures() +safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures() : + pNext(nullptr) {} safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const safe_VkPhysicalDeviceMultiviewFeatures& src) { sType = src.sType; - pNext = src.pNext; multiview = src.multiview; multiviewGeometryShader = src.multiviewGeometryShader; multiviewTessellationShader = src.multiviewTessellationShader; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMultiviewFeatures& safe_VkPhysicalDeviceMultiviewFeatures::operator=(const safe_VkPhysicalDeviceMultiviewFeatures& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; multiview = src.multiview; multiviewGeometryShader = src.multiviewGeometryShader; multiviewTessellationShader = src.multiviewTessellationShader; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMultiviewFeatures::~safe_VkPhysicalDeviceMultiviewFeatures() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; multiview = in_struct->multiview; multiviewGeometryShader = in_struct->multiviewGeometryShader; multiviewTessellationShader = in_struct->multiviewTessellationShader; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const safe_VkPhysicalDeviceMultiviewFeatures* src) { sType = src->sType; - pNext = src->pNext; multiview = src->multiview; multiviewGeometryShader = src->multiviewGeometryShader; multiviewTessellationShader = src->multiviewTessellationShader; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxMultiviewViewCount(in_struct->maxMultiviewViewCount), maxMultiviewInstanceIndex(in_struct->maxMultiviewInstanceIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties() +safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties() : + pNext(nullptr) {} safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties(const safe_VkPhysicalDeviceMultiviewProperties& src) { sType = src.sType; - pNext = src.pNext; maxMultiviewViewCount = src.maxMultiviewViewCount; maxMultiviewInstanceIndex = src.maxMultiviewInstanceIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMultiviewProperties& safe_VkPhysicalDeviceMultiviewProperties::operator=(const safe_VkPhysicalDeviceMultiviewProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxMultiviewViewCount = src.maxMultiviewViewCount; maxMultiviewInstanceIndex = src.maxMultiviewInstanceIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMultiviewProperties::~safe_VkPhysicalDeviceMultiviewProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMultiviewProperties::initialize(const VkPhysicalDeviceMultiviewProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxMultiviewViewCount = in_struct->maxMultiviewViewCount; maxMultiviewInstanceIndex = in_struct->maxMultiviewInstanceIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMultiviewProperties::initialize(const safe_VkPhysicalDeviceMultiviewProperties* src) { sType = src->sType; - pNext = src->pNext; maxMultiviewViewCount = src->maxMultiviewViewCount; maxMultiviewInstanceIndex = src->maxMultiviewInstanceIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), variablePointersStorageBuffer(in_struct->variablePointersStorageBuffer), variablePointers(in_struct->variablePointers) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures() +safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures() : + pNext(nullptr) {} safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures(const safe_VkPhysicalDeviceVariablePointersFeatures& src) { sType = src.sType; - pNext = src.pNext; variablePointersStorageBuffer = src.variablePointersStorageBuffer; variablePointers = src.variablePointers; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceVariablePointersFeatures& safe_VkPhysicalDeviceVariablePointersFeatures::operator=(const safe_VkPhysicalDeviceVariablePointersFeatures& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; variablePointersStorageBuffer = src.variablePointersStorageBuffer; variablePointers = src.variablePointers; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceVariablePointersFeatures::~safe_VkPhysicalDeviceVariablePointersFeatures() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; variablePointersStorageBuffer = in_struct->variablePointersStorageBuffer; variablePointers = in_struct->variablePointers; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* src) { sType = src->sType; - pNext = src->pNext; variablePointersStorageBuffer = src->variablePointersStorageBuffer; variablePointers = src->variablePointers; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), protectedMemory(in_struct->protectedMemory) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures() +safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures() : + pNext(nullptr) {} safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures(const safe_VkPhysicalDeviceProtectedMemoryFeatures& src) { sType = src.sType; - pNext = src.pNext; protectedMemory = src.protectedMemory; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceProtectedMemoryFeatures& safe_VkPhysicalDeviceProtectedMemoryFeatures::operator=(const safe_VkPhysicalDeviceProtectedMemoryFeatures& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; protectedMemory = src.protectedMemory; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceProtectedMemoryFeatures::~safe_VkPhysicalDeviceProtectedMemoryFeatures() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceProtectedMemoryFeatures::initialize(const VkPhysicalDeviceProtectedMemoryFeatures* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; protectedMemory = in_struct->protectedMemory; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceProtectedMemoryFeatures::initialize(const safe_VkPhysicalDeviceProtectedMemoryFeatures* src) { sType = src->sType; - pNext = src->pNext; protectedMemory = src->protectedMemory; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), protectedNoFault(in_struct->protectedNoFault) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties() +safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties() : + pNext(nullptr) {} safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties(const safe_VkPhysicalDeviceProtectedMemoryProperties& src) { sType = src.sType; - pNext = src.pNext; protectedNoFault = src.protectedNoFault; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceProtectedMemoryProperties& safe_VkPhysicalDeviceProtectedMemoryProperties::operator=(const safe_VkPhysicalDeviceProtectedMemoryProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; protectedNoFault = src.protectedNoFault; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceProtectedMemoryProperties::~safe_VkPhysicalDeviceProtectedMemoryProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceProtectedMemoryProperties::initialize(const VkPhysicalDeviceProtectedMemoryProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; protectedNoFault = in_struct->protectedNoFault; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceProtectedMemoryProperties::initialize(const safe_VkPhysicalDeviceProtectedMemoryProperties* src) { sType = src->sType; - pNext = src->pNext; protectedNoFault = src->protectedNoFault; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2(const VkDeviceQueueInfo2* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), queueFamilyIndex(in_struct->queueFamilyIndex), queueIndex(in_struct->queueIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2() +safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2() : + pNext(nullptr) {} safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2(const safe_VkDeviceQueueInfo2& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; queueFamilyIndex = src.queueFamilyIndex; queueIndex = src.queueIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceQueueInfo2& safe_VkDeviceQueueInfo2::operator=(const safe_VkDeviceQueueInfo2& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; queueFamilyIndex = src.queueFamilyIndex; queueIndex = src.queueIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceQueueInfo2::~safe_VkDeviceQueueInfo2() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceQueueInfo2::initialize(const VkDeviceQueueInfo2* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; queueFamilyIndex = in_struct->queueFamilyIndex; queueIndex = in_struct->queueIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceQueueInfo2::initialize(const safe_VkDeviceQueueInfo2* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; queueFamilyIndex = src->queueFamilyIndex; queueIndex = src->queueIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo(const VkProtectedSubmitInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), protectedSubmit(in_struct->protectedSubmit) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo() +safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo() : + pNext(nullptr) {} safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo(const safe_VkProtectedSubmitInfo& src) { sType = src.sType; - pNext = src.pNext; protectedSubmit = src.protectedSubmit; + pNext = SafePnextCopy(src.pNext); } safe_VkProtectedSubmitInfo& safe_VkProtectedSubmitInfo::operator=(const safe_VkProtectedSubmitInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; protectedSubmit = src.protectedSubmit; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkProtectedSubmitInfo::~safe_VkProtectedSubmitInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkProtectedSubmitInfo::initialize(const VkProtectedSubmitInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; protectedSubmit = in_struct->protectedSubmit; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkProtectedSubmitInfo::initialize(const safe_VkProtectedSubmitInfo* src) { sType = src->sType; - pNext = src->pNext; protectedSubmit = src->protectedSubmit; + pNext = SafePnextCopy(src->pNext); } safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), format(in_struct->format), ycbcrModel(in_struct->ycbcrModel), ycbcrRange(in_struct->ycbcrRange), @@ -8075,15 +8583,16 @@ safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo chromaFilter(in_struct->chromaFilter), forceExplicitReconstruction(in_struct->forceExplicitReconstruction) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo() +safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo() : + pNext(nullptr) {} safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo(const safe_VkSamplerYcbcrConversionCreateInfo& src) { sType = src.sType; - pNext = src.pNext; format = src.format; ycbcrModel = src.ycbcrModel; ycbcrRange = src.ycbcrRange; @@ -8092,15 +8601,17 @@ safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo yChromaOffset = src.yChromaOffset; chromaFilter = src.chromaFilter; forceExplicitReconstruction = src.forceExplicitReconstruction; + pNext = SafePnextCopy(src.pNext); } safe_VkSamplerYcbcrConversionCreateInfo& safe_VkSamplerYcbcrConversionCreateInfo::operator=(const safe_VkSamplerYcbcrConversionCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; format = src.format; ycbcrModel = src.ycbcrModel; ycbcrRange = src.ycbcrRange; @@ -8109,18 +8620,20 @@ safe_VkSamplerYcbcrConversionCreateInfo& safe_VkSamplerYcbcrConversionCreateInfo yChromaOffset = src.yChromaOffset; chromaFilter = src.chromaFilter; forceExplicitReconstruction = src.forceExplicitReconstruction; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSamplerYcbcrConversionCreateInfo::~safe_VkSamplerYcbcrConversionCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; format = in_struct->format; ycbcrModel = in_struct->ycbcrModel; ycbcrRange = in_struct->ycbcrRange; @@ -8129,12 +8642,12 @@ void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const VkSamplerYcbcrCon yChromaOffset = in_struct->yChromaOffset; chromaFilter = in_struct->chromaFilter; forceExplicitReconstruction = in_struct->forceExplicitReconstruction; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const safe_VkSamplerYcbcrConversionCreateInfo* src) { sType = src->sType; - pNext = src->pNext; format = src->format; ycbcrModel = src->ycbcrModel; ycbcrRange = src->ycbcrRange; @@ -8143,246 +8656,271 @@ void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const safe_VkSamplerYcb yChromaOffset = src->yChromaOffset; chromaFilter = src->chromaFilter; forceExplicitReconstruction = src->forceExplicitReconstruction; + pNext = SafePnextCopy(src->pNext); } safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), conversion(in_struct->conversion) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo() +safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo() : + pNext(nullptr) {} safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& src) { sType = src.sType; - pNext = src.pNext; conversion = src.conversion; + pNext = SafePnextCopy(src.pNext); } safe_VkSamplerYcbcrConversionInfo& safe_VkSamplerYcbcrConversionInfo::operator=(const safe_VkSamplerYcbcrConversionInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; conversion = src.conversion; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSamplerYcbcrConversionInfo::~safe_VkSamplerYcbcrConversionInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSamplerYcbcrConversionInfo::initialize(const VkSamplerYcbcrConversionInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; conversion = in_struct->conversion; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSamplerYcbcrConversionInfo::initialize(const safe_VkSamplerYcbcrConversionInfo* src) { sType = src->sType; - pNext = src->pNext; conversion = src->conversion; + pNext = SafePnextCopy(src->pNext); } safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), planeAspect(in_struct->planeAspect) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo() +safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo() : + pNext(nullptr) {} safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const safe_VkBindImagePlaneMemoryInfo& src) { sType = src.sType; - pNext = src.pNext; planeAspect = src.planeAspect; + pNext = SafePnextCopy(src.pNext); } safe_VkBindImagePlaneMemoryInfo& safe_VkBindImagePlaneMemoryInfo::operator=(const safe_VkBindImagePlaneMemoryInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; planeAspect = src.planeAspect; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBindImagePlaneMemoryInfo::~safe_VkBindImagePlaneMemoryInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBindImagePlaneMemoryInfo::initialize(const VkBindImagePlaneMemoryInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; planeAspect = in_struct->planeAspect; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBindImagePlaneMemoryInfo::initialize(const safe_VkBindImagePlaneMemoryInfo* src) { sType = src->sType; - pNext = src->pNext; planeAspect = src->planeAspect; + pNext = SafePnextCopy(src->pNext); } safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), planeAspect(in_struct->planeAspect) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo() +safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo() : + pNext(nullptr) {} safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo(const safe_VkImagePlaneMemoryRequirementsInfo& src) { sType = src.sType; - pNext = src.pNext; planeAspect = src.planeAspect; + pNext = SafePnextCopy(src.pNext); } safe_VkImagePlaneMemoryRequirementsInfo& safe_VkImagePlaneMemoryRequirementsInfo::operator=(const safe_VkImagePlaneMemoryRequirementsInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; planeAspect = src.planeAspect; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImagePlaneMemoryRequirementsInfo::~safe_VkImagePlaneMemoryRequirementsInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImagePlaneMemoryRequirementsInfo::initialize(const VkImagePlaneMemoryRequirementsInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; planeAspect = in_struct->planeAspect; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImagePlaneMemoryRequirementsInfo::initialize(const safe_VkImagePlaneMemoryRequirementsInfo* src) { sType = src->sType; - pNext = src->pNext; planeAspect = src->planeAspect; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), samplerYcbcrConversion(in_struct->samplerYcbcrConversion) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() +safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() : + pNext(nullptr) {} safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& src) { sType = src.sType; - pNext = src.pNext; samplerYcbcrConversion = src.samplerYcbcrConversion; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::operator=(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; samplerYcbcrConversion = src.samplerYcbcrConversion; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; samplerYcbcrConversion = in_struct->samplerYcbcrConversion; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* src) { sType = src->sType; - pNext = src->pNext; samplerYcbcrConversion = src->samplerYcbcrConversion; + pNext = SafePnextCopy(src->pNext); } safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), combinedImageSamplerDescriptorCount(in_struct->combinedImageSamplerDescriptorCount) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties() +safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties() : + pNext(nullptr) {} safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties(const safe_VkSamplerYcbcrConversionImageFormatProperties& src) { sType = src.sType; - pNext = src.pNext; combinedImageSamplerDescriptorCount = src.combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(src.pNext); } safe_VkSamplerYcbcrConversionImageFormatProperties& safe_VkSamplerYcbcrConversionImageFormatProperties::operator=(const safe_VkSamplerYcbcrConversionImageFormatProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; combinedImageSamplerDescriptorCount = src.combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSamplerYcbcrConversionImageFormatProperties::~safe_VkSamplerYcbcrConversionImageFormatProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; combinedImageSamplerDescriptorCount = in_struct->combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const safe_VkSamplerYcbcrConversionImageFormatProperties* src) { sType = src->sType; - pNext = src->pNext; combinedImageSamplerDescriptorCount = src->combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(src->pNext); } safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), descriptorUpdateEntryCount(in_struct->descriptorUpdateEntryCount), pDescriptorUpdateEntries(nullptr), @@ -8392,6 +8930,7 @@ safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreate pipelineLayout(in_struct->pipelineLayout), set(in_struct->set) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDescriptorUpdateEntries) { pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount]; memcpy ((void *)pDescriptorUpdateEntries, (void *)in_struct->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*in_struct->descriptorUpdateEntryCount); @@ -8399,13 +8938,13 @@ safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreate } safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo() : + pNext(nullptr), pDescriptorUpdateEntries(nullptr) {} safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo(const safe_VkDescriptorUpdateTemplateCreateInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; descriptorUpdateEntryCount = src.descriptorUpdateEntryCount; pDescriptorUpdateEntries = nullptr; @@ -8414,6 +8953,7 @@ safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreate pipelineBindPoint = src.pipelineBindPoint; pipelineLayout = src.pipelineLayout; set = src.set; + pNext = SafePnextCopy(src.pNext); if (src.pDescriptorUpdateEntries) { pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src.descriptorUpdateEntryCount]; memcpy ((void *)pDescriptorUpdateEntries, (void *)src.pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src.descriptorUpdateEntryCount); @@ -8426,9 +8966,10 @@ safe_VkDescriptorUpdateTemplateCreateInfo& safe_VkDescriptorUpdateTemplateCreate if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; descriptorUpdateEntryCount = src.descriptorUpdateEntryCount; pDescriptorUpdateEntries = nullptr; @@ -8437,6 +8978,7 @@ safe_VkDescriptorUpdateTemplateCreateInfo& safe_VkDescriptorUpdateTemplateCreate pipelineBindPoint = src.pipelineBindPoint; pipelineLayout = src.pipelineLayout; set = src.set; + pNext = SafePnextCopy(src.pNext); if (src.pDescriptorUpdateEntries) { pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src.descriptorUpdateEntryCount]; memcpy ((void *)pDescriptorUpdateEntries, (void *)src.pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src.descriptorUpdateEntryCount); @@ -8449,12 +8991,13 @@ safe_VkDescriptorUpdateTemplateCreateInfo::~safe_VkDescriptorUpdateTemplateCreat { if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; descriptorUpdateEntryCount = in_struct->descriptorUpdateEntryCount; pDescriptorUpdateEntries = nullptr; @@ -8463,6 +9006,7 @@ void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpd pipelineBindPoint = in_struct->pipelineBindPoint; pipelineLayout = in_struct->pipelineLayout; set = in_struct->set; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDescriptorUpdateEntries) { pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount]; memcpy ((void *)pDescriptorUpdateEntries, (void *)in_struct->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*in_struct->descriptorUpdateEntryCount); @@ -8472,7 +9016,6 @@ void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpd void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; descriptorUpdateEntryCount = src->descriptorUpdateEntryCount; pDescriptorUpdateEntries = nullptr; @@ -8481,6 +9024,7 @@ void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescript pipelineBindPoint = src->pipelineBindPoint; pipelineLayout = src->pipelineLayout; set = src->set; + pNext = SafePnextCopy(src->pNext); if (src->pDescriptorUpdateEntries) { pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src->descriptorUpdateEntryCount]; memcpy ((void *)pDescriptorUpdateEntries, (void *)src->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src->descriptorUpdateEntryCount); @@ -8489,235 +9033,256 @@ void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescript safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo() +safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo() : + pNext(nullptr) {} safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo(const safe_VkPhysicalDeviceExternalImageFormatInfo& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceExternalImageFormatInfo& safe_VkPhysicalDeviceExternalImageFormatInfo::operator=(const safe_VkPhysicalDeviceExternalImageFormatInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceExternalImageFormatInfo::~safe_VkPhysicalDeviceExternalImageFormatInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceExternalImageFormatInfo::initialize(const VkPhysicalDeviceExternalImageFormatInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceExternalImageFormatInfo::initialize(const safe_VkPhysicalDeviceExternalImageFormatInfo* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties(const VkExternalImageFormatProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), externalMemoryProperties(in_struct->externalMemoryProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties() +safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties() : + pNext(nullptr) {} safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties(const safe_VkExternalImageFormatProperties& src) { sType = src.sType; - pNext = src.pNext; externalMemoryProperties = src.externalMemoryProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalImageFormatProperties& safe_VkExternalImageFormatProperties::operator=(const safe_VkExternalImageFormatProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; externalMemoryProperties = src.externalMemoryProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalImageFormatProperties::~safe_VkExternalImageFormatProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalImageFormatProperties::initialize(const VkExternalImageFormatProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; externalMemoryProperties = in_struct->externalMemoryProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalImageFormatProperties::initialize(const safe_VkExternalImageFormatProperties* src) { sType = src->sType; - pNext = src->pNext; externalMemoryProperties = src->externalMemoryProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), usage(in_struct->usage), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo() +safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo() : + pNext(nullptr) {} safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo(const safe_VkPhysicalDeviceExternalBufferInfo& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; usage = src.usage; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceExternalBufferInfo& safe_VkPhysicalDeviceExternalBufferInfo::operator=(const safe_VkPhysicalDeviceExternalBufferInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; usage = src.usage; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceExternalBufferInfo::~safe_VkPhysicalDeviceExternalBufferInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceExternalBufferInfo::initialize(const VkPhysicalDeviceExternalBufferInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; usage = in_struct->usage; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceExternalBufferInfo::initialize(const safe_VkPhysicalDeviceExternalBufferInfo* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; usage = src->usage; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } safe_VkExternalBufferProperties::safe_VkExternalBufferProperties(const VkExternalBufferProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), externalMemoryProperties(in_struct->externalMemoryProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalBufferProperties::safe_VkExternalBufferProperties() +safe_VkExternalBufferProperties::safe_VkExternalBufferProperties() : + pNext(nullptr) {} safe_VkExternalBufferProperties::safe_VkExternalBufferProperties(const safe_VkExternalBufferProperties& src) { sType = src.sType; - pNext = src.pNext; externalMemoryProperties = src.externalMemoryProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalBufferProperties& safe_VkExternalBufferProperties::operator=(const safe_VkExternalBufferProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; externalMemoryProperties = src.externalMemoryProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalBufferProperties::~safe_VkExternalBufferProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalBufferProperties::initialize(const VkExternalBufferProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; externalMemoryProperties = in_struct->externalMemoryProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalBufferProperties::initialize(const safe_VkExternalBufferProperties* src) { sType = src->sType; - pNext = src->pNext; externalMemoryProperties = src->externalMemoryProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceNodeMask(in_struct->deviceNodeMask), deviceLUIDValid(in_struct->deviceLUIDValid) { - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { deviceUUID[i] = in_struct->deviceUUID[i]; } - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { driverUUID[i] = in_struct->driverUUID[i]; } - for (uint32_t i=0; i<VK_LUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) { deviceLUID[i] = in_struct->deviceLUID[i]; } } -safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties() +safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties() : + pNext(nullptr) {} safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties(const safe_VkPhysicalDeviceIDProperties& src) { sType = src.sType; - pNext = src.pNext; deviceNodeMask = src.deviceNodeMask; deviceLUIDValid = src.deviceLUIDValid; - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { deviceUUID[i] = src.deviceUUID[i]; } - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { driverUUID[i] = src.driverUUID[i]; } - for (uint32_t i=0; i<VK_LUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) { deviceLUID[i] = src.deviceLUID[i]; } } @@ -8726,18 +9291,20 @@ safe_VkPhysicalDeviceIDProperties& safe_VkPhysicalDeviceIDProperties::operator=( { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceNodeMask = src.deviceNodeMask; deviceLUIDValid = src.deviceLUIDValid; - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { deviceUUID[i] = src.deviceUUID[i]; } - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { driverUUID[i] = src.driverUUID[i]; } - for (uint32_t i=0; i<VK_LUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) { deviceLUID[i] = src.deviceLUID[i]; } @@ -8746,21 +9313,23 @@ safe_VkPhysicalDeviceIDProperties& safe_VkPhysicalDeviceIDProperties::operator=( safe_VkPhysicalDeviceIDProperties::~safe_VkPhysicalDeviceIDProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceIDProperties::initialize(const VkPhysicalDeviceIDProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceNodeMask = in_struct->deviceNodeMask; deviceLUIDValid = in_struct->deviceLUIDValid; - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { deviceUUID[i] = in_struct->deviceUUID[i]; } - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { driverUUID[i] = in_struct->driverUUID[i]; } - for (uint32_t i=0; i<VK_LUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) { deviceLUID[i] = in_struct->deviceLUID[i]; } } @@ -8768,612 +9337,671 @@ void safe_VkPhysicalDeviceIDProperties::initialize(const VkPhysicalDeviceIDPrope void safe_VkPhysicalDeviceIDProperties::initialize(const safe_VkPhysicalDeviceIDProperties* src) { sType = src->sType; - pNext = src->pNext; deviceNodeMask = src->deviceNodeMask; deviceLUIDValid = src->deviceLUIDValid; - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { deviceUUID[i] = src->deviceUUID[i]; } - for (uint32_t i=0; i<VK_UUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) { driverUUID[i] = src->driverUUID[i]; } - for (uint32_t i=0; i<VK_LUID_SIZE; ++i) { + for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) { deviceLUID[i] = src->deviceLUID[i]; } } safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo() +safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo() : + pNext(nullptr) {} safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo(const safe_VkExternalMemoryImageCreateInfo& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalMemoryImageCreateInfo& safe_VkExternalMemoryImageCreateInfo::operator=(const safe_VkExternalMemoryImageCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalMemoryImageCreateInfo::~safe_VkExternalMemoryImageCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalMemoryImageCreateInfo::initialize(const VkExternalMemoryImageCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalMemoryImageCreateInfo::initialize(const safe_VkExternalMemoryImageCreateInfo* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo() +safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo() : + pNext(nullptr) {} safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo(const safe_VkExternalMemoryBufferCreateInfo& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalMemoryBufferCreateInfo& safe_VkExternalMemoryBufferCreateInfo::operator=(const safe_VkExternalMemoryBufferCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalMemoryBufferCreateInfo::~safe_VkExternalMemoryBufferCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalMemoryBufferCreateInfo::initialize(const VkExternalMemoryBufferCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalMemoryBufferCreateInfo::initialize(const safe_VkExternalMemoryBufferCreateInfo* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo() +safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo() : + pNext(nullptr) {} safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo(const safe_VkExportMemoryAllocateInfo& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExportMemoryAllocateInfo& safe_VkExportMemoryAllocateInfo::operator=(const safe_VkExportMemoryAllocateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExportMemoryAllocateInfo::~safe_VkExportMemoryAllocateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExportMemoryAllocateInfo::initialize(const VkExportMemoryAllocateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExportMemoryAllocateInfo::initialize(const safe_VkExportMemoryAllocateInfo* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo() +safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo() : + pNext(nullptr) {} safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo(const safe_VkPhysicalDeviceExternalFenceInfo& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceExternalFenceInfo& safe_VkPhysicalDeviceExternalFenceInfo::operator=(const safe_VkPhysicalDeviceExternalFenceInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceExternalFenceInfo::~safe_VkPhysicalDeviceExternalFenceInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceExternalFenceInfo::initialize(const VkPhysicalDeviceExternalFenceInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceExternalFenceInfo::initialize(const safe_VkPhysicalDeviceExternalFenceInfo* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } safe_VkExternalFenceProperties::safe_VkExternalFenceProperties(const VkExternalFenceProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), exportFromImportedHandleTypes(in_struct->exportFromImportedHandleTypes), compatibleHandleTypes(in_struct->compatibleHandleTypes), externalFenceFeatures(in_struct->externalFenceFeatures) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalFenceProperties::safe_VkExternalFenceProperties() +safe_VkExternalFenceProperties::safe_VkExternalFenceProperties() : + pNext(nullptr) {} safe_VkExternalFenceProperties::safe_VkExternalFenceProperties(const safe_VkExternalFenceProperties& src) { sType = src.sType; - pNext = src.pNext; exportFromImportedHandleTypes = src.exportFromImportedHandleTypes; compatibleHandleTypes = src.compatibleHandleTypes; externalFenceFeatures = src.externalFenceFeatures; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalFenceProperties& safe_VkExternalFenceProperties::operator=(const safe_VkExternalFenceProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; exportFromImportedHandleTypes = src.exportFromImportedHandleTypes; compatibleHandleTypes = src.compatibleHandleTypes; externalFenceFeatures = src.externalFenceFeatures; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalFenceProperties::~safe_VkExternalFenceProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalFenceProperties::initialize(const VkExternalFenceProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; exportFromImportedHandleTypes = in_struct->exportFromImportedHandleTypes; compatibleHandleTypes = in_struct->compatibleHandleTypes; externalFenceFeatures = in_struct->externalFenceFeatures; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalFenceProperties::initialize(const safe_VkExternalFenceProperties* src) { sType = src->sType; - pNext = src->pNext; exportFromImportedHandleTypes = src->exportFromImportedHandleTypes; compatibleHandleTypes = src->compatibleHandleTypes; externalFenceFeatures = src->externalFenceFeatures; + pNext = SafePnextCopy(src->pNext); } safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo(const VkExportFenceCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo() +safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo() : + pNext(nullptr) {} safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo(const safe_VkExportFenceCreateInfo& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExportFenceCreateInfo& safe_VkExportFenceCreateInfo::operator=(const safe_VkExportFenceCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExportFenceCreateInfo::~safe_VkExportFenceCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExportFenceCreateInfo::initialize(const VkExportFenceCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExportFenceCreateInfo::initialize(const safe_VkExportFenceCreateInfo* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo() +safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo() : + pNext(nullptr) {} safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo(const safe_VkExportSemaphoreCreateInfo& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExportSemaphoreCreateInfo& safe_VkExportSemaphoreCreateInfo::operator=(const safe_VkExportSemaphoreCreateInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExportSemaphoreCreateInfo::~safe_VkExportSemaphoreCreateInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExportSemaphoreCreateInfo::initialize(const VkExportSemaphoreCreateInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExportSemaphoreCreateInfo::initialize(const safe_VkExportSemaphoreCreateInfo* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo() +safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo() : + pNext(nullptr) {} safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo(const safe_VkPhysicalDeviceExternalSemaphoreInfo& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceExternalSemaphoreInfo& safe_VkPhysicalDeviceExternalSemaphoreInfo::operator=(const safe_VkPhysicalDeviceExternalSemaphoreInfo& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceExternalSemaphoreInfo::~safe_VkPhysicalDeviceExternalSemaphoreInfo() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceExternalSemaphoreInfo::initialize(const VkPhysicalDeviceExternalSemaphoreInfo* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceExternalSemaphoreInfo::initialize(const safe_VkPhysicalDeviceExternalSemaphoreInfo* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), exportFromImportedHandleTypes(in_struct->exportFromImportedHandleTypes), compatibleHandleTypes(in_struct->compatibleHandleTypes), externalSemaphoreFeatures(in_struct->externalSemaphoreFeatures) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties() +safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties() : + pNext(nullptr) {} safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties(const safe_VkExternalSemaphoreProperties& src) { sType = src.sType; - pNext = src.pNext; exportFromImportedHandleTypes = src.exportFromImportedHandleTypes; compatibleHandleTypes = src.compatibleHandleTypes; externalSemaphoreFeatures = src.externalSemaphoreFeatures; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalSemaphoreProperties& safe_VkExternalSemaphoreProperties::operator=(const safe_VkExternalSemaphoreProperties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; exportFromImportedHandleTypes = src.exportFromImportedHandleTypes; compatibleHandleTypes = src.compatibleHandleTypes; externalSemaphoreFeatures = src.externalSemaphoreFeatures; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalSemaphoreProperties::~safe_VkExternalSemaphoreProperties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalSemaphoreProperties::initialize(const VkExternalSemaphoreProperties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; exportFromImportedHandleTypes = in_struct->exportFromImportedHandleTypes; compatibleHandleTypes = in_struct->compatibleHandleTypes; externalSemaphoreFeatures = in_struct->externalSemaphoreFeatures; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalSemaphoreProperties::initialize(const safe_VkExternalSemaphoreProperties* src) { sType = src->sType; - pNext = src->pNext; exportFromImportedHandleTypes = src->exportFromImportedHandleTypes; compatibleHandleTypes = src->compatibleHandleTypes; externalSemaphoreFeatures = src->externalSemaphoreFeatures; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxPerSetDescriptors(in_struct->maxPerSetDescriptors), maxMemoryAllocationSize(in_struct->maxMemoryAllocationSize) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties() +safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties() : + pNext(nullptr) {} safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties(const safe_VkPhysicalDeviceMaintenance3Properties& src) { sType = src.sType; - pNext = src.pNext; maxPerSetDescriptors = src.maxPerSetDescriptors; maxMemoryAllocationSize = src.maxMemoryAllocationSize; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMaintenance3Properties& safe_VkPhysicalDeviceMaintenance3Properties::operator=(const safe_VkPhysicalDeviceMaintenance3Properties& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxPerSetDescriptors = src.maxPerSetDescriptors; maxMemoryAllocationSize = src.maxMemoryAllocationSize; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMaintenance3Properties::~safe_VkPhysicalDeviceMaintenance3Properties() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMaintenance3Properties::initialize(const VkPhysicalDeviceMaintenance3Properties* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxPerSetDescriptors = in_struct->maxPerSetDescriptors; maxMemoryAllocationSize = in_struct->maxMemoryAllocationSize; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMaintenance3Properties::initialize(const safe_VkPhysicalDeviceMaintenance3Properties* src) { sType = src->sType; - pNext = src->pNext; maxPerSetDescriptors = src->maxPerSetDescriptors; maxMemoryAllocationSize = src->maxMemoryAllocationSize; + pNext = SafePnextCopy(src->pNext); } safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), supported(in_struct->supported) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport() +safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport() : + pNext(nullptr) {} safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport(const safe_VkDescriptorSetLayoutSupport& src) { sType = src.sType; - pNext = src.pNext; supported = src.supported; + pNext = SafePnextCopy(src.pNext); } safe_VkDescriptorSetLayoutSupport& safe_VkDescriptorSetLayoutSupport::operator=(const safe_VkDescriptorSetLayoutSupport& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; supported = src.supported; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDescriptorSetLayoutSupport::~safe_VkDescriptorSetLayoutSupport() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorSetLayoutSupport::initialize(const VkDescriptorSetLayoutSupport* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; supported = in_struct->supported; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDescriptorSetLayoutSupport::initialize(const safe_VkDescriptorSetLayoutSupport* src) { sType = src->sType; - pNext = src->pNext; supported = src->supported; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderDrawParameters(in_struct->shaderDrawParameters) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures() +safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures(const safe_VkPhysicalDeviceShaderDrawParametersFeatures& src) { sType = src.sType; - pNext = src.pNext; shaderDrawParameters = src.shaderDrawParameters; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderDrawParametersFeatures& safe_VkPhysicalDeviceShaderDrawParametersFeatures::operator=(const safe_VkPhysicalDeviceShaderDrawParametersFeatures& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderDrawParameters = src.shaderDrawParameters; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderDrawParametersFeatures::~safe_VkPhysicalDeviceShaderDrawParametersFeatures() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderDrawParametersFeatures::initialize(const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderDrawParameters = in_struct->shaderDrawParameters; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderDrawParametersFeatures::initialize(const safe_VkPhysicalDeviceShaderDrawParametersFeatures* src) { sType = src->sType; - pNext = src->pNext; shaderDrawParameters = src->shaderDrawParameters; + pNext = SafePnextCopy(src->pNext); } safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const VkSwapchainCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), surface(in_struct->surface), minImageCount(in_struct->minImageCount), @@ -9391,6 +10019,7 @@ safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const VkSwapchainCr clipped(in_struct->clipped), oldSwapchain(in_struct->oldSwapchain) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -9398,13 +10027,13 @@ safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const VkSwapchainCr } safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR() : + pNext(nullptr), pQueueFamilyIndices(nullptr) {} safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const safe_VkSwapchainCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; surface = src.surface; minImageCount = src.minImageCount; @@ -9421,6 +10050,7 @@ safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const safe_VkSwapch presentMode = src.presentMode; clipped = src.clipped; oldSwapchain = src.oldSwapchain; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -9433,9 +10063,10 @@ safe_VkSwapchainCreateInfoKHR& safe_VkSwapchainCreateInfoKHR::operator=(const sa if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; surface = src.surface; minImageCount = src.minImageCount; @@ -9452,6 +10083,7 @@ safe_VkSwapchainCreateInfoKHR& safe_VkSwapchainCreateInfoKHR::operator=(const sa presentMode = src.presentMode; clipped = src.clipped; oldSwapchain = src.oldSwapchain; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -9464,12 +10096,13 @@ safe_VkSwapchainCreateInfoKHR::~safe_VkSwapchainCreateInfoKHR() { if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkSwapchainCreateInfoKHR::initialize(const VkSwapchainCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; surface = in_struct->surface; minImageCount = in_struct->minImageCount; @@ -9486,6 +10119,7 @@ void safe_VkSwapchainCreateInfoKHR::initialize(const VkSwapchainCreateInfoKHR* i presentMode = in_struct->presentMode; clipped = in_struct->clipped; oldSwapchain = in_struct->oldSwapchain; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -9495,7 +10129,6 @@ void safe_VkSwapchainCreateInfoKHR::initialize(const VkSwapchainCreateInfoKHR* i void safe_VkSwapchainCreateInfoKHR::initialize(const safe_VkSwapchainCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; surface = src->surface; minImageCount = src->minImageCount; @@ -9512,6 +10145,7 @@ void safe_VkSwapchainCreateInfoKHR::initialize(const safe_VkSwapchainCreateInfoK presentMode = src->presentMode; clipped = src->clipped; oldSwapchain = src->oldSwapchain; + pNext = SafePnextCopy(src->pNext); if (src->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount); @@ -9520,7 +10154,6 @@ void safe_VkSwapchainCreateInfoKHR::initialize(const safe_VkSwapchainCreateInfoK safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const VkPresentInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), waitSemaphoreCount(in_struct->waitSemaphoreCount), pWaitSemaphores(nullptr), swapchainCount(in_struct->swapchainCount), @@ -9528,15 +10161,16 @@ safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const VkPresentInfoKHR* in_struct) pImageIndices(nullptr), pResults(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (waitSemaphoreCount && in_struct->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = in_struct->pWaitSemaphores[i]; } } if (swapchainCount && in_struct->pSwapchains) { pSwapchains = new VkSwapchainKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pSwapchains[i] = in_struct->pSwapchains[i]; } } @@ -9551,6 +10185,7 @@ safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const VkPresentInfoKHR* in_struct) } safe_VkPresentInfoKHR::safe_VkPresentInfoKHR() : + pNext(nullptr), pWaitSemaphores(nullptr), pSwapchains(nullptr), pImageIndices(nullptr), @@ -9560,22 +10195,22 @@ safe_VkPresentInfoKHR::safe_VkPresentInfoKHR() : safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const safe_VkPresentInfoKHR& src) { sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphores = nullptr; swapchainCount = src.swapchainCount; pSwapchains = nullptr; pImageIndices = nullptr; pResults = nullptr; + pNext = SafePnextCopy(src.pNext); if (waitSemaphoreCount && src.pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src.pWaitSemaphores[i]; } } if (swapchainCount && src.pSwapchains) { pSwapchains = new VkSwapchainKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pSwapchains[i] = src.pSwapchains[i]; } } @@ -9601,24 +10236,26 @@ safe_VkPresentInfoKHR& safe_VkPresentInfoKHR::operator=(const safe_VkPresentInfo delete[] pImageIndices; if (pResults) delete[] pResults; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; waitSemaphoreCount = src.waitSemaphoreCount; pWaitSemaphores = nullptr; swapchainCount = src.swapchainCount; pSwapchains = nullptr; pImageIndices = nullptr; pResults = nullptr; + pNext = SafePnextCopy(src.pNext); if (waitSemaphoreCount && src.pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src.pWaitSemaphores[i]; } } if (swapchainCount && src.pSwapchains) { pSwapchains = new VkSwapchainKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pSwapchains[i] = src.pSwapchains[i]; } } @@ -9644,27 +10281,29 @@ safe_VkPresentInfoKHR::~safe_VkPresentInfoKHR() delete[] pImageIndices; if (pResults) delete[] pResults; + if (pNext) + FreePnextChain(pNext); } void safe_VkPresentInfoKHR::initialize(const VkPresentInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; waitSemaphoreCount = in_struct->waitSemaphoreCount; pWaitSemaphores = nullptr; swapchainCount = in_struct->swapchainCount; pSwapchains = nullptr; pImageIndices = nullptr; pResults = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (waitSemaphoreCount && in_struct->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = in_struct->pWaitSemaphores[i]; } } if (swapchainCount && in_struct->pSwapchains) { pSwapchains = new VkSwapchainKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pSwapchains[i] = in_struct->pSwapchains[i]; } } @@ -9681,22 +10320,22 @@ void safe_VkPresentInfoKHR::initialize(const VkPresentInfoKHR* in_struct) void safe_VkPresentInfoKHR::initialize(const safe_VkPresentInfoKHR* src) { sType = src->sType; - pNext = src->pNext; waitSemaphoreCount = src->waitSemaphoreCount; pWaitSemaphores = nullptr; swapchainCount = src->swapchainCount; pSwapchains = nullptr; pImageIndices = nullptr; pResults = nullptr; + pNext = SafePnextCopy(src->pNext); if (waitSemaphoreCount && src->pWaitSemaphores) { pWaitSemaphores = new VkSemaphore[waitSemaphoreCount]; - for (uint32_t i=0; i<waitSemaphoreCount; ++i) { + for (uint32_t i = 0; i < waitSemaphoreCount; ++i) { pWaitSemaphores[i] = src->pWaitSemaphores[i]; } } if (swapchainCount && src->pSwapchains) { pSwapchains = new VkSwapchainKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pSwapchains[i] = src->pSwapchains[i]; } } @@ -9712,189 +10351,205 @@ void safe_VkPresentInfoKHR::initialize(const safe_VkPresentInfoKHR* src) safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR(const VkImageSwapchainCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), swapchain(in_struct->swapchain) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR() +safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR() : + pNext(nullptr) {} safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR(const safe_VkImageSwapchainCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; swapchain = src.swapchain; + pNext = SafePnextCopy(src.pNext); } safe_VkImageSwapchainCreateInfoKHR& safe_VkImageSwapchainCreateInfoKHR::operator=(const safe_VkImageSwapchainCreateInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; swapchain = src.swapchain; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageSwapchainCreateInfoKHR::~safe_VkImageSwapchainCreateInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageSwapchainCreateInfoKHR::initialize(const VkImageSwapchainCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; swapchain = in_struct->swapchain; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageSwapchainCreateInfoKHR::initialize(const safe_VkImageSwapchainCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; swapchain = src->swapchain; + pNext = SafePnextCopy(src->pNext); } safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR(const VkBindImageMemorySwapchainInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), swapchain(in_struct->swapchain), imageIndex(in_struct->imageIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR() +safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR() : + pNext(nullptr) {} safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR(const safe_VkBindImageMemorySwapchainInfoKHR& src) { sType = src.sType; - pNext = src.pNext; swapchain = src.swapchain; imageIndex = src.imageIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkBindImageMemorySwapchainInfoKHR& safe_VkBindImageMemorySwapchainInfoKHR::operator=(const safe_VkBindImageMemorySwapchainInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; swapchain = src.swapchain; imageIndex = src.imageIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBindImageMemorySwapchainInfoKHR::~safe_VkBindImageMemorySwapchainInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBindImageMemorySwapchainInfoKHR::initialize(const VkBindImageMemorySwapchainInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; swapchain = in_struct->swapchain; imageIndex = in_struct->imageIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBindImageMemorySwapchainInfoKHR::initialize(const safe_VkBindImageMemorySwapchainInfoKHR* src) { sType = src->sType; - pNext = src->pNext; swapchain = src->swapchain; imageIndex = src->imageIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR(const VkAcquireNextImageInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), swapchain(in_struct->swapchain), timeout(in_struct->timeout), semaphore(in_struct->semaphore), fence(in_struct->fence), deviceMask(in_struct->deviceMask) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR() +safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR() : + pNext(nullptr) {} safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR(const safe_VkAcquireNextImageInfoKHR& src) { sType = src.sType; - pNext = src.pNext; swapchain = src.swapchain; timeout = src.timeout; semaphore = src.semaphore; fence = src.fence; deviceMask = src.deviceMask; + pNext = SafePnextCopy(src.pNext); } safe_VkAcquireNextImageInfoKHR& safe_VkAcquireNextImageInfoKHR::operator=(const safe_VkAcquireNextImageInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; swapchain = src.swapchain; timeout = src.timeout; semaphore = src.semaphore; fence = src.fence; deviceMask = src.deviceMask; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAcquireNextImageInfoKHR::~safe_VkAcquireNextImageInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAcquireNextImageInfoKHR::initialize(const VkAcquireNextImageInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; swapchain = in_struct->swapchain; timeout = in_struct->timeout; semaphore = in_struct->semaphore; fence = in_struct->fence; deviceMask = in_struct->deviceMask; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAcquireNextImageInfoKHR::initialize(const safe_VkAcquireNextImageInfoKHR* src) { sType = src->sType; - pNext = src->pNext; swapchain = src->swapchain; timeout = src->timeout; semaphore = src->semaphore; fence = src->fence; deviceMask = src->deviceMask; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR(const VkDeviceGroupPresentCapabilitiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), modes(in_struct->modes) { - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { presentMask[i] = in_struct->presentMask[i]; } } -safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR() +safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR() : + pNext(nullptr) {} safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR(const safe_VkDeviceGroupPresentCapabilitiesKHR& src) { sType = src.sType; - pNext = src.pNext; modes = src.modes; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { presentMask[i] = src.presentMask[i]; } } @@ -9903,11 +10558,13 @@ safe_VkDeviceGroupPresentCapabilitiesKHR& safe_VkDeviceGroupPresentCapabilitiesK { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; modes = src.modes; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { presentMask[i] = src.presentMask[i]; } @@ -9916,14 +10573,16 @@ safe_VkDeviceGroupPresentCapabilitiesKHR& safe_VkDeviceGroupPresentCapabilitiesK safe_VkDeviceGroupPresentCapabilitiesKHR::~safe_VkDeviceGroupPresentCapabilitiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const VkDeviceGroupPresentCapabilitiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; modes = in_struct->modes; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { presentMask[i] = in_struct->presentMask[i]; } } @@ -9931,20 +10590,20 @@ void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const VkDeviceGroupPre void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const safe_VkDeviceGroupPresentCapabilitiesKHR* src) { sType = src->sType; - pNext = src->pNext; modes = src->modes; - for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) { presentMask[i] = src->presentMask[i]; } } safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const VkDeviceGroupPresentInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), swapchainCount(in_struct->swapchainCount), pDeviceMasks(nullptr), mode(in_struct->mode) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceMasks) { pDeviceMasks = new uint32_t[in_struct->swapchainCount]; memcpy ((void *)pDeviceMasks, (void *)in_struct->pDeviceMasks, sizeof(uint32_t)*in_struct->swapchainCount); @@ -9952,16 +10611,17 @@ safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const VkDevic } safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR() : + pNext(nullptr), pDeviceMasks(nullptr) {} safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const safe_VkDeviceGroupPresentInfoKHR& src) { sType = src.sType; - pNext = src.pNext; swapchainCount = src.swapchainCount; pDeviceMasks = nullptr; mode = src.mode; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceMasks) { pDeviceMasks = new uint32_t[src.swapchainCount]; memcpy ((void *)pDeviceMasks, (void *)src.pDeviceMasks, sizeof(uint32_t)*src.swapchainCount); @@ -9974,12 +10634,14 @@ safe_VkDeviceGroupPresentInfoKHR& safe_VkDeviceGroupPresentInfoKHR::operator=(co if (pDeviceMasks) delete[] pDeviceMasks; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; swapchainCount = src.swapchainCount; pDeviceMasks = nullptr; mode = src.mode; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceMasks) { pDeviceMasks = new uint32_t[src.swapchainCount]; memcpy ((void *)pDeviceMasks, (void *)src.pDeviceMasks, sizeof(uint32_t)*src.swapchainCount); @@ -9992,15 +10654,17 @@ safe_VkDeviceGroupPresentInfoKHR::~safe_VkDeviceGroupPresentInfoKHR() { if (pDeviceMasks) delete[] pDeviceMasks; + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupPresentInfoKHR::initialize(const VkDeviceGroupPresentInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; swapchainCount = in_struct->swapchainCount; pDeviceMasks = nullptr; mode = in_struct->mode; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceMasks) { pDeviceMasks = new uint32_t[in_struct->swapchainCount]; memcpy ((void *)pDeviceMasks, (void *)in_struct->pDeviceMasks, sizeof(uint32_t)*in_struct->swapchainCount); @@ -10010,10 +10674,10 @@ void safe_VkDeviceGroupPresentInfoKHR::initialize(const VkDeviceGroupPresentInfo void safe_VkDeviceGroupPresentInfoKHR::initialize(const safe_VkDeviceGroupPresentInfoKHR* src) { sType = src->sType; - pNext = src->pNext; swapchainCount = src->swapchainCount; pDeviceMasks = nullptr; mode = src->mode; + pNext = SafePnextCopy(src->pNext); if (src->pDeviceMasks) { pDeviceMasks = new uint32_t[src->swapchainCount]; memcpy ((void *)pDeviceMasks, (void *)src->pDeviceMasks, sizeof(uint32_t)*src->swapchainCount); @@ -10022,173 +10686,185 @@ void safe_VkDeviceGroupPresentInfoKHR::initialize(const safe_VkDeviceGroupPresen safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR(const VkDeviceGroupSwapchainCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), modes(in_struct->modes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR() +safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR() : + pNext(nullptr) {} safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR(const safe_VkDeviceGroupSwapchainCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; modes = src.modes; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceGroupSwapchainCreateInfoKHR& safe_VkDeviceGroupSwapchainCreateInfoKHR::operator=(const safe_VkDeviceGroupSwapchainCreateInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; modes = src.modes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceGroupSwapchainCreateInfoKHR::~safe_VkDeviceGroupSwapchainCreateInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGroupSwapchainCreateInfoKHR::initialize(const VkDeviceGroupSwapchainCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; modes = in_struct->modes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceGroupSwapchainCreateInfoKHR::initialize(const safe_VkDeviceGroupSwapchainCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; modes = src->modes; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR(const VkDisplayPropertiesKHR* in_struct) : display(in_struct->display), - displayName(in_struct->displayName), physicalDimensions(in_struct->physicalDimensions), physicalResolution(in_struct->physicalResolution), supportedTransforms(in_struct->supportedTransforms), planeReorderPossible(in_struct->planeReorderPossible), persistentContent(in_struct->persistentContent) { + displayName = SafeStringCopy(in_struct->displayName); } -safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR() +safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR() : + displayName(nullptr) {} safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR(const safe_VkDisplayPropertiesKHR& src) { display = src.display; - displayName = src.displayName; physicalDimensions = src.physicalDimensions; physicalResolution = src.physicalResolution; supportedTransforms = src.supportedTransforms; planeReorderPossible = src.planeReorderPossible; persistentContent = src.persistentContent; + displayName = SafeStringCopy(src.displayName); } safe_VkDisplayPropertiesKHR& safe_VkDisplayPropertiesKHR::operator=(const safe_VkDisplayPropertiesKHR& src) { if (&src == this) return *this; + if (displayName) delete [] displayName; display = src.display; - displayName = src.displayName; physicalDimensions = src.physicalDimensions; physicalResolution = src.physicalResolution; supportedTransforms = src.supportedTransforms; planeReorderPossible = src.planeReorderPossible; persistentContent = src.persistentContent; + displayName = SafeStringCopy(src.displayName); return *this; } safe_VkDisplayPropertiesKHR::~safe_VkDisplayPropertiesKHR() { + if (displayName) delete [] displayName; } void safe_VkDisplayPropertiesKHR::initialize(const VkDisplayPropertiesKHR* in_struct) { display = in_struct->display; - displayName = in_struct->displayName; physicalDimensions = in_struct->physicalDimensions; physicalResolution = in_struct->physicalResolution; supportedTransforms = in_struct->supportedTransforms; planeReorderPossible = in_struct->planeReorderPossible; persistentContent = in_struct->persistentContent; + displayName = SafeStringCopy(in_struct->displayName); } void safe_VkDisplayPropertiesKHR::initialize(const safe_VkDisplayPropertiesKHR* src) { display = src->display; - displayName = src->displayName; physicalDimensions = src->physicalDimensions; physicalResolution = src->physicalResolution; supportedTransforms = src->supportedTransforms; planeReorderPossible = src->planeReorderPossible; persistentContent = src->persistentContent; + displayName = SafeStringCopy(src->displayName); } safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR(const VkDisplayModeCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), parameters(in_struct->parameters) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR() +safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR() : + pNext(nullptr) {} safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR(const safe_VkDisplayModeCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; parameters = src.parameters; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayModeCreateInfoKHR& safe_VkDisplayModeCreateInfoKHR::operator=(const safe_VkDisplayModeCreateInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; parameters = src.parameters; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayModeCreateInfoKHR::~safe_VkDisplayModeCreateInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayModeCreateInfoKHR::initialize(const VkDisplayModeCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; parameters = in_struct->parameters; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayModeCreateInfoKHR::initialize(const safe_VkDisplayModeCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; parameters = src->parameters; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const VkDisplaySurfaceCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), displayMode(in_struct->displayMode), planeIndex(in_struct->planeIndex), @@ -10198,15 +10874,16 @@ safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const VkD alphaMode(in_struct->alphaMode), imageExtent(in_struct->imageExtent) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR() +safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR() : + pNext(nullptr) {} safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const safe_VkDisplaySurfaceCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; displayMode = src.displayMode; planeIndex = src.planeIndex; @@ -10215,15 +10892,17 @@ safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const saf globalAlpha = src.globalAlpha; alphaMode = src.alphaMode; imageExtent = src.imageExtent; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplaySurfaceCreateInfoKHR& safe_VkDisplaySurfaceCreateInfoKHR::operator=(const safe_VkDisplaySurfaceCreateInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; displayMode = src.displayMode; planeIndex = src.planeIndex; @@ -10232,18 +10911,20 @@ safe_VkDisplaySurfaceCreateInfoKHR& safe_VkDisplaySurfaceCreateInfoKHR::operator globalAlpha = src.globalAlpha; alphaMode = src.alphaMode; imageExtent = src.imageExtent; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplaySurfaceCreateInfoKHR::~safe_VkDisplaySurfaceCreateInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const VkDisplaySurfaceCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; displayMode = in_struct->displayMode; planeIndex = in_struct->planeIndex; @@ -10252,12 +10933,12 @@ void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const VkDisplaySurfaceCreate globalAlpha = in_struct->globalAlpha; alphaMode = in_struct->alphaMode; imageExtent = in_struct->imageExtent; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const safe_VkDisplaySurfaceCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; displayMode = src->displayMode; planeIndex = src->planeIndex; @@ -10266,122 +10947,133 @@ void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const safe_VkDisplaySurfaceC globalAlpha = src->globalAlpha; alphaMode = src->alphaMode; imageExtent = src->imageExtent; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR(const VkDisplayPresentInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcRect(in_struct->srcRect), dstRect(in_struct->dstRect), persistent(in_struct->persistent) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR() +safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR() : + pNext(nullptr) {} safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR(const safe_VkDisplayPresentInfoKHR& src) { sType = src.sType; - pNext = src.pNext; srcRect = src.srcRect; dstRect = src.dstRect; persistent = src.persistent; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayPresentInfoKHR& safe_VkDisplayPresentInfoKHR::operator=(const safe_VkDisplayPresentInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcRect = src.srcRect; dstRect = src.dstRect; persistent = src.persistent; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayPresentInfoKHR::~safe_VkDisplayPresentInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayPresentInfoKHR::initialize(const VkDisplayPresentInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcRect = in_struct->srcRect; dstRect = in_struct->dstRect; persistent = in_struct->persistent; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayPresentInfoKHR::initialize(const safe_VkDisplayPresentInfoKHR* src) { sType = src->sType; - pNext = src->pNext; srcRect = src->srcRect; dstRect = src->dstRect; persistent = src->persistent; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_WIN32_KHR safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR(const VkImportMemoryWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType), handle(in_struct->handle), name(in_struct->name) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR() +safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR() : + pNext(nullptr) {} safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR(const safe_VkImportMemoryWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; handle = src.handle; name = src.name; + pNext = SafePnextCopy(src.pNext); } safe_VkImportMemoryWin32HandleInfoKHR& safe_VkImportMemoryWin32HandleInfoKHR::operator=(const safe_VkImportMemoryWin32HandleInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; handle = src.handle; name = src.name; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportMemoryWin32HandleInfoKHR::~safe_VkImportMemoryWin32HandleInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const VkImportMemoryWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; handle = in_struct->handle; name = in_struct->name; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const safe_VkImportMemoryWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; handle = src->handle; name = src->name; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -10390,27 +11082,28 @@ void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const safe_VkImportMemory safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR(const VkExportMemoryWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pAttributes(nullptr), dwAccess(in_struct->dwAccess), name(in_struct->name) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } } safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR() : + pNext(nullptr), pAttributes(nullptr) {} safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR(const safe_VkExportMemoryWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; name = src.name; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -10422,12 +11115,14 @@ safe_VkExportMemoryWin32HandleInfoKHR& safe_VkExportMemoryWin32HandleInfoKHR::op if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; name = src.name; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -10439,15 +11134,17 @@ safe_VkExportMemoryWin32HandleInfoKHR::~safe_VkExportMemoryWin32HandleInfoKHR() { if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); } void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const VkExportMemoryWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pAttributes = nullptr; dwAccess = in_struct->dwAccess; name = in_struct->name; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } @@ -10456,10 +11153,10 @@ void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const VkExportMemoryWin32 void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const safe_VkExportMemoryWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; pAttributes = nullptr; dwAccess = src->dwAccess; name = src->name; + pNext = SafePnextCopy(src->pNext); if (src->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes); } @@ -10471,49 +11168,54 @@ void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const safe_VkExportMemory safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR(const VkMemoryWin32HandlePropertiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryTypeBits(in_struct->memoryTypeBits) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR() +safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR() : + pNext(nullptr) {} safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR(const safe_VkMemoryWin32HandlePropertiesKHR& src) { sType = src.sType; - pNext = src.pNext; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryWin32HandlePropertiesKHR& safe_VkMemoryWin32HandlePropertiesKHR::operator=(const safe_VkMemoryWin32HandlePropertiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryWin32HandlePropertiesKHR::~safe_VkMemoryWin32HandlePropertiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const VkMemoryWin32HandlePropertiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryTypeBits = in_struct->memoryTypeBits; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const safe_VkMemoryWin32HandlePropertiesKHR* src) { sType = src->sType; - pNext = src->pNext; memoryTypeBits = src->memoryTypeBits; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -10522,214 +11224,233 @@ void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const safe_VkMemoryWin32H safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR(const VkMemoryGetWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memory(in_struct->memory), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR() +safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR() : + pNext(nullptr) {} safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR(const safe_VkMemoryGetWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; memory = src.memory; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryGetWin32HandleInfoKHR& safe_VkMemoryGetWin32HandleInfoKHR::operator=(const safe_VkMemoryGetWin32HandleInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memory = src.memory; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryGetWin32HandleInfoKHR::~safe_VkMemoryGetWin32HandleInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryGetWin32HandleInfoKHR::initialize(const VkMemoryGetWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memory = in_struct->memory; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryGetWin32HandleInfoKHR::initialize(const safe_VkMemoryGetWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; memory = src->memory; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR(const VkImportMemoryFdInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType), fd(in_struct->fd) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR() +safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR() : + pNext(nullptr) {} safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR(const safe_VkImportMemoryFdInfoKHR& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; fd = src.fd; + pNext = SafePnextCopy(src.pNext); } safe_VkImportMemoryFdInfoKHR& safe_VkImportMemoryFdInfoKHR::operator=(const safe_VkImportMemoryFdInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; fd = src.fd; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportMemoryFdInfoKHR::~safe_VkImportMemoryFdInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportMemoryFdInfoKHR::initialize(const VkImportMemoryFdInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; fd = in_struct->fd; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportMemoryFdInfoKHR::initialize(const safe_VkImportMemoryFdInfoKHR* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; fd = src->fd; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR(const VkMemoryFdPropertiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryTypeBits(in_struct->memoryTypeBits) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR() +safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR() : + pNext(nullptr) {} safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR(const safe_VkMemoryFdPropertiesKHR& src) { sType = src.sType; - pNext = src.pNext; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryFdPropertiesKHR& safe_VkMemoryFdPropertiesKHR::operator=(const safe_VkMemoryFdPropertiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryFdPropertiesKHR::~safe_VkMemoryFdPropertiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryFdPropertiesKHR::initialize(const VkMemoryFdPropertiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryTypeBits = in_struct->memoryTypeBits; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryFdPropertiesKHR::initialize(const safe_VkMemoryFdPropertiesKHR* src) { sType = src->sType; - pNext = src->pNext; memoryTypeBits = src->memoryTypeBits; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR(const VkMemoryGetFdInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memory(in_struct->memory), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR() +safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR() : + pNext(nullptr) {} safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR(const safe_VkMemoryGetFdInfoKHR& src) { sType = src.sType; - pNext = src.pNext; memory = src.memory; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryGetFdInfoKHR& safe_VkMemoryGetFdInfoKHR::operator=(const safe_VkMemoryGetFdInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memory = src.memory; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryGetFdInfoKHR::~safe_VkMemoryGetFdInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryGetFdInfoKHR::initialize(const VkMemoryGetFdInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memory = in_struct->memory; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryGetFdInfoKHR::initialize(const safe_VkMemoryGetFdInfoKHR* src) { sType = src->sType; - pNext = src->pNext; memory = src->memory; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_WIN32_KHR safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const VkWin32KeyedMutexAcquireReleaseInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), acquireCount(in_struct->acquireCount), pAcquireSyncs(nullptr), pAcquireKeys(nullptr), @@ -10738,9 +11459,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleas pReleaseSyncs(nullptr), pReleaseKeys(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (acquireCount && in_struct->pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = in_struct->pAcquireSyncs[i]; } } @@ -10754,7 +11476,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleas } if (releaseCount && in_struct->pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = in_struct->pReleaseSyncs[i]; } } @@ -10765,6 +11487,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleas } safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR() : + pNext(nullptr), pAcquireSyncs(nullptr), pAcquireKeys(nullptr), pAcquireTimeouts(nullptr), @@ -10775,7 +11498,6 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleas safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& src) { sType = src.sType; - pNext = src.pNext; acquireCount = src.acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -10783,9 +11505,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleas releaseCount = src.releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(src.pNext); if (acquireCount && src.pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = src.pAcquireSyncs[i]; } } @@ -10799,7 +11522,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleas } if (releaseCount && src.pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = src.pReleaseSyncs[i]; } } @@ -10823,9 +11546,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& safe_VkWin32KeyedMutexAcquireReleas delete[] pReleaseSyncs; if (pReleaseKeys) delete[] pReleaseKeys; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; acquireCount = src.acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -10833,9 +11557,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& safe_VkWin32KeyedMutexAcquireReleas releaseCount = src.releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(src.pNext); if (acquireCount && src.pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = src.pAcquireSyncs[i]; } } @@ -10849,7 +11574,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& safe_VkWin32KeyedMutexAcquireReleas } if (releaseCount && src.pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = src.pReleaseSyncs[i]; } } @@ -10873,12 +11598,13 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::~safe_VkWin32KeyedMutexAcquireRelea delete[] pReleaseSyncs; if (pReleaseKeys) delete[] pReleaseKeys; + if (pNext) + FreePnextChain(pNext); } void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const VkWin32KeyedMutexAcquireReleaseInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; acquireCount = in_struct->acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -10886,9 +11612,10 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const VkWin32KeyedM releaseCount = in_struct->releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (acquireCount && in_struct->pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = in_struct->pAcquireSyncs[i]; } } @@ -10902,7 +11629,7 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const VkWin32KeyedM } if (releaseCount && in_struct->pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = in_struct->pReleaseSyncs[i]; } } @@ -10915,7 +11642,6 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const VkWin32KeyedM void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR* src) { sType = src->sType; - pNext = src->pNext; acquireCount = src->acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -10923,9 +11649,10 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const safe_VkWin32K releaseCount = src->releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(src->pNext); if (acquireCount && src->pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = src->pAcquireSyncs[i]; } } @@ -10939,7 +11666,7 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const safe_VkWin32K } if (releaseCount && src->pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = src->pReleaseSyncs[i]; } } @@ -10955,69 +11682,74 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const safe_VkWin32K safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR(const VkImportSemaphoreWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), semaphore(in_struct->semaphore), flags(in_struct->flags), handleType(in_struct->handleType), handle(in_struct->handle), name(in_struct->name) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR() +safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR() : + pNext(nullptr) {} safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR(const safe_VkImportSemaphoreWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; flags = src.flags; handleType = src.handleType; handle = src.handle; name = src.name; + pNext = SafePnextCopy(src.pNext); } safe_VkImportSemaphoreWin32HandleInfoKHR& safe_VkImportSemaphoreWin32HandleInfoKHR::operator=(const safe_VkImportSemaphoreWin32HandleInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; flags = src.flags; handleType = src.handleType; handle = src.handle; name = src.name; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportSemaphoreWin32HandleInfoKHR::~safe_VkImportSemaphoreWin32HandleInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const VkImportSemaphoreWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; semaphore = in_struct->semaphore; flags = in_struct->flags; handleType = in_struct->handleType; handle = in_struct->handle; name = in_struct->name; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkImportSemaphoreWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; semaphore = src->semaphore; flags = src->flags; handleType = src->handleType; handle = src->handle; name = src->name; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -11026,27 +11758,28 @@ void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkImportSem safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR(const VkExportSemaphoreWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pAttributes(nullptr), dwAccess(in_struct->dwAccess), name(in_struct->name) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } } safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR() : + pNext(nullptr), pAttributes(nullptr) {} safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR(const safe_VkExportSemaphoreWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; name = src.name; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -11058,12 +11791,14 @@ safe_VkExportSemaphoreWin32HandleInfoKHR& safe_VkExportSemaphoreWin32HandleInfoK if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; name = src.name; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -11075,15 +11810,17 @@ safe_VkExportSemaphoreWin32HandleInfoKHR::~safe_VkExportSemaphoreWin32HandleInfo { if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); } void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const VkExportSemaphoreWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pAttributes = nullptr; dwAccess = in_struct->dwAccess; name = in_struct->name; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } @@ -11092,10 +11829,10 @@ void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const VkExportSemaphor void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkExportSemaphoreWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; pAttributes = nullptr; dwAccess = src->dwAccess; name = src->name; + pNext = SafePnextCopy(src->pNext); if (src->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes); } @@ -11107,12 +11844,12 @@ void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkExportSem safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const VkD3D12FenceSubmitInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), waitSemaphoreValuesCount(in_struct->waitSemaphoreValuesCount), pWaitSemaphoreValues(nullptr), signalSemaphoreValuesCount(in_struct->signalSemaphoreValuesCount), pSignalSemaphoreValues(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pWaitSemaphoreValues) { pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValuesCount]; memcpy ((void *)pWaitSemaphoreValues, (void *)in_struct->pWaitSemaphoreValues, sizeof(uint64_t)*in_struct->waitSemaphoreValuesCount); @@ -11124,6 +11861,7 @@ safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const VkD3D12Fenc } safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR() : + pNext(nullptr), pWaitSemaphoreValues(nullptr), pSignalSemaphoreValues(nullptr) {} @@ -11131,11 +11869,11 @@ safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR() : safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const safe_VkD3D12FenceSubmitInfoKHR& src) { sType = src.sType; - pNext = src.pNext; waitSemaphoreValuesCount = src.waitSemaphoreValuesCount; pWaitSemaphoreValues = nullptr; signalSemaphoreValuesCount = src.signalSemaphoreValuesCount; pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pWaitSemaphoreValues) { pWaitSemaphoreValues = new uint64_t[src.waitSemaphoreValuesCount]; memcpy ((void *)pWaitSemaphoreValues, (void *)src.pWaitSemaphoreValues, sizeof(uint64_t)*src.waitSemaphoreValuesCount); @@ -11154,13 +11892,15 @@ safe_VkD3D12FenceSubmitInfoKHR& safe_VkD3D12FenceSubmitInfoKHR::operator=(const delete[] pWaitSemaphoreValues; if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; waitSemaphoreValuesCount = src.waitSemaphoreValuesCount; pWaitSemaphoreValues = nullptr; signalSemaphoreValuesCount = src.signalSemaphoreValuesCount; pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pWaitSemaphoreValues) { pWaitSemaphoreValues = new uint64_t[src.waitSemaphoreValuesCount]; memcpy ((void *)pWaitSemaphoreValues, (void *)src.pWaitSemaphoreValues, sizeof(uint64_t)*src.waitSemaphoreValuesCount); @@ -11179,16 +11919,18 @@ safe_VkD3D12FenceSubmitInfoKHR::~safe_VkD3D12FenceSubmitInfoKHR() delete[] pWaitSemaphoreValues; if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; + if (pNext) + FreePnextChain(pNext); } void safe_VkD3D12FenceSubmitInfoKHR::initialize(const VkD3D12FenceSubmitInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; waitSemaphoreValuesCount = in_struct->waitSemaphoreValuesCount; pWaitSemaphoreValues = nullptr; signalSemaphoreValuesCount = in_struct->signalSemaphoreValuesCount; pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pWaitSemaphoreValues) { pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValuesCount]; memcpy ((void *)pWaitSemaphoreValues, (void *)in_struct->pWaitSemaphoreValues, sizeof(uint64_t)*in_struct->waitSemaphoreValuesCount); @@ -11202,11 +11944,11 @@ void safe_VkD3D12FenceSubmitInfoKHR::initialize(const VkD3D12FenceSubmitInfoKHR* void safe_VkD3D12FenceSubmitInfoKHR::initialize(const safe_VkD3D12FenceSubmitInfoKHR* src) { sType = src->sType; - pNext = src->pNext; waitSemaphoreValuesCount = src->waitSemaphoreValuesCount; pWaitSemaphoreValues = nullptr; signalSemaphoreValuesCount = src->signalSemaphoreValuesCount; pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pWaitSemaphoreValues) { pWaitSemaphoreValues = new uint64_t[src->waitSemaphoreValuesCount]; memcpy ((void *)pWaitSemaphoreValues, (void *)src->pWaitSemaphoreValues, sizeof(uint64_t)*src->waitSemaphoreValuesCount); @@ -11223,269 +11965,294 @@ void safe_VkD3D12FenceSubmitInfoKHR::initialize(const safe_VkD3D12FenceSubmitInf safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR(const VkSemaphoreGetWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), semaphore(in_struct->semaphore), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR() +safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR() : + pNext(nullptr) {} safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR(const safe_VkSemaphoreGetWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkSemaphoreGetWin32HandleInfoKHR& safe_VkSemaphoreGetWin32HandleInfoKHR::operator=(const safe_VkSemaphoreGetWin32HandleInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSemaphoreGetWin32HandleInfoKHR::~safe_VkSemaphoreGetWin32HandleInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSemaphoreGetWin32HandleInfoKHR::initialize(const VkSemaphoreGetWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; semaphore = in_struct->semaphore; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSemaphoreGetWin32HandleInfoKHR::initialize(const safe_VkSemaphoreGetWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; semaphore = src->semaphore; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR(const VkImportSemaphoreFdInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), semaphore(in_struct->semaphore), flags(in_struct->flags), handleType(in_struct->handleType), fd(in_struct->fd) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR() +safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR() : + pNext(nullptr) {} safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR(const safe_VkImportSemaphoreFdInfoKHR& src) { sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; flags = src.flags; handleType = src.handleType; fd = src.fd; + pNext = SafePnextCopy(src.pNext); } safe_VkImportSemaphoreFdInfoKHR& safe_VkImportSemaphoreFdInfoKHR::operator=(const safe_VkImportSemaphoreFdInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; flags = src.flags; handleType = src.handleType; fd = src.fd; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportSemaphoreFdInfoKHR::~safe_VkImportSemaphoreFdInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportSemaphoreFdInfoKHR::initialize(const VkImportSemaphoreFdInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; semaphore = in_struct->semaphore; flags = in_struct->flags; handleType = in_struct->handleType; fd = in_struct->fd; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportSemaphoreFdInfoKHR::initialize(const safe_VkImportSemaphoreFdInfoKHR* src) { sType = src->sType; - pNext = src->pNext; semaphore = src->semaphore; flags = src->flags; handleType = src->handleType; fd = src->fd; + pNext = SafePnextCopy(src->pNext); } safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR(const VkSemaphoreGetFdInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), semaphore(in_struct->semaphore), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR() +safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR() : + pNext(nullptr) {} safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR(const safe_VkSemaphoreGetFdInfoKHR& src) { sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkSemaphoreGetFdInfoKHR& safe_VkSemaphoreGetFdInfoKHR::operator=(const safe_VkSemaphoreGetFdInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; semaphore = src.semaphore; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSemaphoreGetFdInfoKHR::~safe_VkSemaphoreGetFdInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSemaphoreGetFdInfoKHR::initialize(const VkSemaphoreGetFdInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; semaphore = in_struct->semaphore; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSemaphoreGetFdInfoKHR::initialize(const safe_VkSemaphoreGetFdInfoKHR* src) { sType = src->sType; - pNext = src->pNext; semaphore = src->semaphore; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const VkPhysicalDevicePushDescriptorPropertiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxPushDescriptors(in_struct->maxPushDescriptors) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR() +safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR() : + pNext(nullptr) {} safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR& src) { sType = src.sType; - pNext = src.pNext; maxPushDescriptors = src.maxPushDescriptors; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDevicePushDescriptorPropertiesKHR& safe_VkPhysicalDevicePushDescriptorPropertiesKHR::operator=(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxPushDescriptors = src.maxPushDescriptors; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDevicePushDescriptorPropertiesKHR::~safe_VkPhysicalDevicePushDescriptorPropertiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDevicePushDescriptorPropertiesKHR::initialize(const VkPhysicalDevicePushDescriptorPropertiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxPushDescriptors = in_struct->maxPushDescriptors; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDevicePushDescriptorPropertiesKHR::initialize(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR* src) { sType = src->sType; - pNext = src->pNext; maxPushDescriptors = src->maxPushDescriptors; + pNext = SafePnextCopy(src->pNext); } -safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceFloat16Int8FeaturesKHR(const VkPhysicalDeviceFloat16Int8FeaturesKHR* in_struct) : +safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderFloat16(in_struct->shaderFloat16), shaderInt8(in_struct->shaderInt8) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceFloat16Int8FeaturesKHR() +safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR() : + pNext(nullptr) {} -safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceFloat16Int8FeaturesKHR(const safe_VkPhysicalDeviceFloat16Int8FeaturesKHR& src) +safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& src) { sType = src.sType; - pNext = src.pNext; shaderFloat16 = src.shaderFloat16; shaderInt8 = src.shaderInt8; + pNext = SafePnextCopy(src.pNext); } -safe_VkPhysicalDeviceFloat16Int8FeaturesKHR& safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::operator=(const safe_VkPhysicalDeviceFloat16Int8FeaturesKHR& src) +safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::operator=(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderFloat16 = src.shaderFloat16; shaderInt8 = src.shaderInt8; + pNext = SafePnextCopy(src.pNext); return *this; } -safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::~safe_VkPhysicalDeviceFloat16Int8FeaturesKHR() +safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::~safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR() { + if (pNext) + FreePnextChain(pNext); } -void safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::initialize(const VkPhysicalDeviceFloat16Int8FeaturesKHR* in_struct) +void safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::initialize(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderFloat16 = in_struct->shaderFloat16; shaderInt8 = in_struct->shaderInt8; + pNext = SafePnextCopy(in_struct->pNext); } -void safe_VkPhysicalDeviceFloat16Int8FeaturesKHR::initialize(const safe_VkPhysicalDeviceFloat16Int8FeaturesKHR* src) +void safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* src) { sType = src->sType; - pNext = src->pNext; shaderFloat16 = src->shaderFloat16; shaderInt8 = src->shaderInt8; + pNext = SafePnextCopy(src->pNext); } safe_VkPresentRegionKHR::safe_VkPresentRegionKHR(const VkPresentRegionKHR* in_struct) : @@ -11557,31 +12324,32 @@ void safe_VkPresentRegionKHR::initialize(const safe_VkPresentRegionKHR* src) safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR(const VkPresentRegionsKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), swapchainCount(in_struct->swapchainCount), pRegions(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (swapchainCount && in_struct->pRegions) { pRegions = new safe_VkPresentRegionKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pRegions[i].initialize(&in_struct->pRegions[i]); } } } safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR() : + pNext(nullptr), pRegions(nullptr) {} safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR(const safe_VkPresentRegionsKHR& src) { sType = src.sType; - pNext = src.pNext; swapchainCount = src.swapchainCount; pRegions = nullptr; + pNext = SafePnextCopy(src.pNext); if (swapchainCount && src.pRegions) { pRegions = new safe_VkPresentRegionKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pRegions[i].initialize(&src.pRegions[i]); } } @@ -11593,14 +12361,16 @@ safe_VkPresentRegionsKHR& safe_VkPresentRegionsKHR::operator=(const safe_VkPrese if (pRegions) delete[] pRegions; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; swapchainCount = src.swapchainCount; pRegions = nullptr; + pNext = SafePnextCopy(src.pNext); if (swapchainCount && src.pRegions) { pRegions = new safe_VkPresentRegionKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pRegions[i].initialize(&src.pRegions[i]); } } @@ -11612,17 +12382,19 @@ safe_VkPresentRegionsKHR::~safe_VkPresentRegionsKHR() { if (pRegions) delete[] pRegions; + if (pNext) + FreePnextChain(pNext); } void safe_VkPresentRegionsKHR::initialize(const VkPresentRegionsKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; swapchainCount = in_struct->swapchainCount; pRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (swapchainCount && in_struct->pRegions) { pRegions = new safe_VkPresentRegionKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pRegions[i].initialize(&in_struct->pRegions[i]); } } @@ -11631,12 +12403,12 @@ void safe_VkPresentRegionsKHR::initialize(const VkPresentRegionsKHR* in_struct) void safe_VkPresentRegionsKHR::initialize(const safe_VkPresentRegionsKHR* src) { sType = src->sType; - pNext = src->pNext; swapchainCount = src->swapchainCount; pRegions = nullptr; + pNext = SafePnextCopy(src->pNext); if (swapchainCount && src->pRegions) { pRegions = new safe_VkPresentRegionKHR[swapchainCount]; - for (uint32_t i=0; i<swapchainCount; ++i) { + for (uint32_t i = 0; i < swapchainCount; ++i) { pRegions[i].initialize(&src->pRegions[i]); } } @@ -11644,54 +12416,58 @@ void safe_VkPresentRegionsKHR::initialize(const safe_VkPresentRegionsKHR* src) safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), imagelessFramebuffer(in_struct->imagelessFramebuffer) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR() +safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& src) { sType = src.sType; - pNext = src.pNext; imagelessFramebuffer = src.imagelessFramebuffer; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::operator=(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; imagelessFramebuffer = src.imagelessFramebuffer; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::~safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::initialize(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; imagelessFramebuffer = in_struct->imagelessFramebuffer; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::initialize(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR* src) { sType = src->sType; - pNext = src->pNext; imagelessFramebuffer = src->imagelessFramebuffer; + pNext = SafePnextCopy(src->pNext); } safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR(const VkFramebufferAttachmentImageInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), usage(in_struct->usage), width(in_struct->width), @@ -11700,6 +12476,7 @@ safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoK viewFormatCount(in_struct->viewFormatCount), pViewFormats(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewFormats) { pViewFormats = new VkFormat[in_struct->viewFormatCount]; memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount); @@ -11707,13 +12484,13 @@ safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoK } safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR() : + pNext(nullptr), pViewFormats(nullptr) {} safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR(const safe_VkFramebufferAttachmentImageInfoKHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; usage = src.usage; width = src.width; @@ -11721,6 +12498,7 @@ safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoK layerCount = src.layerCount; viewFormatCount = src.viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewFormats) { pViewFormats = new VkFormat[src.viewFormatCount]; memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount); @@ -11733,9 +12511,10 @@ safe_VkFramebufferAttachmentImageInfoKHR& safe_VkFramebufferAttachmentImageInfoK if (pViewFormats) delete[] pViewFormats; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; usage = src.usage; width = src.width; @@ -11743,6 +12522,7 @@ safe_VkFramebufferAttachmentImageInfoKHR& safe_VkFramebufferAttachmentImageInfoK layerCount = src.layerCount; viewFormatCount = src.viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewFormats) { pViewFormats = new VkFormat[src.viewFormatCount]; memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount); @@ -11755,12 +12535,13 @@ safe_VkFramebufferAttachmentImageInfoKHR::~safe_VkFramebufferAttachmentImageInfo { if (pViewFormats) delete[] pViewFormats; + if (pNext) + FreePnextChain(pNext); } void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const VkFramebufferAttachmentImageInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; usage = in_struct->usage; width = in_struct->width; @@ -11768,6 +12549,7 @@ void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const VkFramebufferAtt layerCount = in_struct->layerCount; viewFormatCount = in_struct->viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewFormats) { pViewFormats = new VkFormat[in_struct->viewFormatCount]; memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount); @@ -11777,7 +12559,6 @@ void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const VkFramebufferAtt void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const safe_VkFramebufferAttachmentImageInfoKHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; usage = src->usage; width = src->width; @@ -11785,6 +12566,7 @@ void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const safe_VkFramebuff layerCount = src->layerCount; viewFormatCount = src->viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pViewFormats) { pViewFormats = new VkFormat[src->viewFormatCount]; memcpy ((void *)pViewFormats, (void *)src->pViewFormats, sizeof(VkFormat)*src->viewFormatCount); @@ -11793,31 +12575,32 @@ void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const safe_VkFramebuff safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR(const VkFramebufferAttachmentsCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), attachmentImageInfoCount(in_struct->attachmentImageInfoCount), pAttachmentImageInfos(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (attachmentImageInfoCount && in_struct->pAttachmentImageInfos) { pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount]; - for (uint32_t i=0; i<attachmentImageInfoCount; ++i) { + for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) { pAttachmentImageInfos[i].initialize(&in_struct->pAttachmentImageInfos[i]); } } } safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR() : + pNext(nullptr), pAttachmentImageInfos(nullptr) {} safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR(const safe_VkFramebufferAttachmentsCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; attachmentImageInfoCount = src.attachmentImageInfoCount; pAttachmentImageInfos = nullptr; + pNext = SafePnextCopy(src.pNext); if (attachmentImageInfoCount && src.pAttachmentImageInfos) { pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount]; - for (uint32_t i=0; i<attachmentImageInfoCount; ++i) { + for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) { pAttachmentImageInfos[i].initialize(&src.pAttachmentImageInfos[i]); } } @@ -11829,14 +12612,16 @@ safe_VkFramebufferAttachmentsCreateInfoKHR& safe_VkFramebufferAttachmentsCreateI if (pAttachmentImageInfos) delete[] pAttachmentImageInfos; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; attachmentImageInfoCount = src.attachmentImageInfoCount; pAttachmentImageInfos = nullptr; + pNext = SafePnextCopy(src.pNext); if (attachmentImageInfoCount && src.pAttachmentImageInfos) { pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount]; - for (uint32_t i=0; i<attachmentImageInfoCount; ++i) { + for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) { pAttachmentImageInfos[i].initialize(&src.pAttachmentImageInfos[i]); } } @@ -11848,17 +12633,19 @@ safe_VkFramebufferAttachmentsCreateInfoKHR::~safe_VkFramebufferAttachmentsCreate { if (pAttachmentImageInfos) delete[] pAttachmentImageInfos; + if (pNext) + FreePnextChain(pNext); } void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const VkFramebufferAttachmentsCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; attachmentImageInfoCount = in_struct->attachmentImageInfoCount; pAttachmentImageInfos = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (attachmentImageInfoCount && in_struct->pAttachmentImageInfos) { pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount]; - for (uint32_t i=0; i<attachmentImageInfoCount; ++i) { + for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) { pAttachmentImageInfos[i].initialize(&in_struct->pAttachmentImageInfos[i]); } } @@ -11867,12 +12654,12 @@ void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const VkFramebufferA void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const safe_VkFramebufferAttachmentsCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; attachmentImageInfoCount = src->attachmentImageInfoCount; pAttachmentImageInfos = nullptr; + pNext = SafePnextCopy(src->pNext); if (attachmentImageInfoCount && src->pAttachmentImageInfos) { pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount]; - for (uint32_t i=0; i<attachmentImageInfoCount; ++i) { + for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) { pAttachmentImageInfos[i].initialize(&src->pAttachmentImageInfos[i]); } } @@ -11880,31 +12667,32 @@ void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const safe_VkFramebu safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR(const VkRenderPassAttachmentBeginInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), attachmentCount(in_struct->attachmentCount), pAttachments(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (attachmentCount && in_struct->pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = in_struct->pAttachments[i]; } } } safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR() : + pNext(nullptr), pAttachments(nullptr) {} safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR(const safe_VkRenderPassAttachmentBeginInfoKHR& src) { sType = src.sType; - pNext = src.pNext; attachmentCount = src.attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(src.pNext); if (attachmentCount && src.pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = src.pAttachments[i]; } } @@ -11916,14 +12704,16 @@ safe_VkRenderPassAttachmentBeginInfoKHR& safe_VkRenderPassAttachmentBeginInfoKHR if (pAttachments) delete[] pAttachments; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; attachmentCount = src.attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(src.pNext); if (attachmentCount && src.pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = src.pAttachments[i]; } } @@ -11935,17 +12725,19 @@ safe_VkRenderPassAttachmentBeginInfoKHR::~safe_VkRenderPassAttachmentBeginInfoKH { if (pAttachments) delete[] pAttachments; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const VkRenderPassAttachmentBeginInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; attachmentCount = in_struct->attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (attachmentCount && in_struct->pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = in_struct->pAttachments[i]; } } @@ -11954,12 +12746,12 @@ void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const VkRenderPassAttac void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const safe_VkRenderPassAttachmentBeginInfoKHR* src) { sType = src->sType; - pNext = src->pNext; attachmentCount = src->attachmentCount; pAttachments = nullptr; + pNext = SafePnextCopy(src->pNext); if (attachmentCount && src->pAttachments) { pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i] = src->pAttachments[i]; } } @@ -11967,7 +12759,6 @@ void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const safe_VkRenderPass safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const VkAttachmentDescription2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), format(in_struct->format), samples(in_struct->samples), @@ -11978,15 +12769,16 @@ safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const VkAttac initialLayout(in_struct->initialLayout), finalLayout(in_struct->finalLayout) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR() +safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR() : + pNext(nullptr) {} safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const safe_VkAttachmentDescription2KHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; format = src.format; samples = src.samples; @@ -11996,15 +12788,17 @@ safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const safe_Vk stencilStoreOp = src.stencilStoreOp; initialLayout = src.initialLayout; finalLayout = src.finalLayout; + pNext = SafePnextCopy(src.pNext); } safe_VkAttachmentDescription2KHR& safe_VkAttachmentDescription2KHR::operator=(const safe_VkAttachmentDescription2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; format = src.format; samples = src.samples; @@ -12014,18 +12808,20 @@ safe_VkAttachmentDescription2KHR& safe_VkAttachmentDescription2KHR::operator=(co stencilStoreOp = src.stencilStoreOp; initialLayout = src.initialLayout; finalLayout = src.finalLayout; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAttachmentDescription2KHR::~safe_VkAttachmentDescription2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAttachmentDescription2KHR::initialize(const VkAttachmentDescription2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; format = in_struct->format; samples = in_struct->samples; @@ -12035,12 +12831,12 @@ void safe_VkAttachmentDescription2KHR::initialize(const VkAttachmentDescription2 stencilStoreOp = in_struct->stencilStoreOp; initialLayout = in_struct->initialLayout; finalLayout = in_struct->finalLayout; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAttachmentDescription2KHR::initialize(const safe_VkAttachmentDescription2KHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; format = src->format; samples = src->samples; @@ -12050,68 +12846,73 @@ void safe_VkAttachmentDescription2KHR::initialize(const safe_VkAttachmentDescrip stencilStoreOp = src->stencilStoreOp; initialLayout = src->initialLayout; finalLayout = src->finalLayout; + pNext = SafePnextCopy(src->pNext); } safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR(const VkAttachmentReference2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), attachment(in_struct->attachment), layout(in_struct->layout), aspectMask(in_struct->aspectMask) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR() +safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR() : + pNext(nullptr) {} safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR(const safe_VkAttachmentReference2KHR& src) { sType = src.sType; - pNext = src.pNext; attachment = src.attachment; layout = src.layout; aspectMask = src.aspectMask; + pNext = SafePnextCopy(src.pNext); } safe_VkAttachmentReference2KHR& safe_VkAttachmentReference2KHR::operator=(const safe_VkAttachmentReference2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; attachment = src.attachment; layout = src.layout; aspectMask = src.aspectMask; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAttachmentReference2KHR::~safe_VkAttachmentReference2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAttachmentReference2KHR::initialize(const VkAttachmentReference2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; attachment = in_struct->attachment; layout = in_struct->layout; aspectMask = in_struct->aspectMask; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAttachmentReference2KHR::initialize(const safe_VkAttachmentReference2KHR* src) { sType = src->sType; - pNext = src->pNext; attachment = src->attachment; layout = src->layout; aspectMask = src->aspectMask; + pNext = SafePnextCopy(src->pNext); } safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const VkSubpassDescription2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), pipelineBindPoint(in_struct->pipelineBindPoint), viewMask(in_struct->viewMask), @@ -12120,31 +12921,31 @@ safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const VkSubpassDesc colorAttachmentCount(in_struct->colorAttachmentCount), pColorAttachments(nullptr), pResolveAttachments(nullptr), + pDepthStencilAttachment(nullptr), preserveAttachmentCount(in_struct->preserveAttachmentCount), pPreserveAttachments(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (inputAttachmentCount && in_struct->pInputAttachments) { pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount]; - for (uint32_t i=0; i<inputAttachmentCount; ++i) { + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]); } } if (colorAttachmentCount && in_struct->pColorAttachments) { pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]); } } if (colorAttachmentCount && in_struct->pResolveAttachments) { pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]); } } if (in_struct->pDepthStencilAttachment) pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilAttachment); - else - pDepthStencilAttachment = NULL; if (in_struct->pPreserveAttachments) { pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount]; memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount); @@ -12152,16 +12953,17 @@ safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const VkSubpassDesc } safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR() : + pNext(nullptr), pInputAttachments(nullptr), pColorAttachments(nullptr), pResolveAttachments(nullptr), + pDepthStencilAttachment(nullptr), pPreserveAttachments(nullptr) {} safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const safe_VkSubpassDescription2KHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; pipelineBindPoint = src.pipelineBindPoint; viewMask = src.viewMask; @@ -12170,30 +12972,30 @@ safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const safe_VkSubpas colorAttachmentCount = src.colorAttachmentCount; pColorAttachments = nullptr; pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; preserveAttachmentCount = src.preserveAttachmentCount; pPreserveAttachments = nullptr; + pNext = SafePnextCopy(src.pNext); if (inputAttachmentCount && src.pInputAttachments) { pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount]; - for (uint32_t i=0; i<inputAttachmentCount; ++i) { + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { pInputAttachments[i].initialize(&src.pInputAttachments[i]); } } if (colorAttachmentCount && src.pColorAttachments) { pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pColorAttachments[i].initialize(&src.pColorAttachments[i]); } } if (colorAttachmentCount && src.pResolveAttachments) { pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pResolveAttachments[i].initialize(&src.pResolveAttachments[i]); } } if (src.pDepthStencilAttachment) pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilAttachment); - else - pDepthStencilAttachment = NULL; if (src.pPreserveAttachments) { pPreserveAttachments = new uint32_t[src.preserveAttachmentCount]; memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount); @@ -12214,9 +13016,10 @@ safe_VkSubpassDescription2KHR& safe_VkSubpassDescription2KHR::operator=(const sa delete pDepthStencilAttachment; if (pPreserveAttachments) delete[] pPreserveAttachments; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; pipelineBindPoint = src.pipelineBindPoint; viewMask = src.viewMask; @@ -12225,30 +13028,30 @@ safe_VkSubpassDescription2KHR& safe_VkSubpassDescription2KHR::operator=(const sa colorAttachmentCount = src.colorAttachmentCount; pColorAttachments = nullptr; pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; preserveAttachmentCount = src.preserveAttachmentCount; pPreserveAttachments = nullptr; + pNext = SafePnextCopy(src.pNext); if (inputAttachmentCount && src.pInputAttachments) { pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount]; - for (uint32_t i=0; i<inputAttachmentCount; ++i) { + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { pInputAttachments[i].initialize(&src.pInputAttachments[i]); } } if (colorAttachmentCount && src.pColorAttachments) { pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pColorAttachments[i].initialize(&src.pColorAttachments[i]); } } if (colorAttachmentCount && src.pResolveAttachments) { pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pResolveAttachments[i].initialize(&src.pResolveAttachments[i]); } } if (src.pDepthStencilAttachment) pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilAttachment); - else - pDepthStencilAttachment = NULL; if (src.pPreserveAttachments) { pPreserveAttachments = new uint32_t[src.preserveAttachmentCount]; memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount); @@ -12269,12 +13072,13 @@ safe_VkSubpassDescription2KHR::~safe_VkSubpassDescription2KHR() delete pDepthStencilAttachment; if (pPreserveAttachments) delete[] pPreserveAttachments; + if (pNext) + FreePnextChain(pNext); } void safe_VkSubpassDescription2KHR::initialize(const VkSubpassDescription2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; pipelineBindPoint = in_struct->pipelineBindPoint; viewMask = in_struct->viewMask; @@ -12283,30 +13087,30 @@ void safe_VkSubpassDescription2KHR::initialize(const VkSubpassDescription2KHR* i colorAttachmentCount = in_struct->colorAttachmentCount; pColorAttachments = nullptr; pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; preserveAttachmentCount = in_struct->preserveAttachmentCount; pPreserveAttachments = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (inputAttachmentCount && in_struct->pInputAttachments) { pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount]; - for (uint32_t i=0; i<inputAttachmentCount; ++i) { + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]); } } if (colorAttachmentCount && in_struct->pColorAttachments) { pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]); } } if (colorAttachmentCount && in_struct->pResolveAttachments) { pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]); } } if (in_struct->pDepthStencilAttachment) pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilAttachment); - else - pDepthStencilAttachment = NULL; if (in_struct->pPreserveAttachments) { pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount]; memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount); @@ -12316,7 +13120,6 @@ void safe_VkSubpassDescription2KHR::initialize(const VkSubpassDescription2KHR* i void safe_VkSubpassDescription2KHR::initialize(const safe_VkSubpassDescription2KHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; pipelineBindPoint = src->pipelineBindPoint; viewMask = src->viewMask; @@ -12325,30 +13128,30 @@ void safe_VkSubpassDescription2KHR::initialize(const safe_VkSubpassDescription2K colorAttachmentCount = src->colorAttachmentCount; pColorAttachments = nullptr; pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; preserveAttachmentCount = src->preserveAttachmentCount; pPreserveAttachments = nullptr; + pNext = SafePnextCopy(src->pNext); if (inputAttachmentCount && src->pInputAttachments) { pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount]; - for (uint32_t i=0; i<inputAttachmentCount; ++i) { + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { pInputAttachments[i].initialize(&src->pInputAttachments[i]); } } if (colorAttachmentCount && src->pColorAttachments) { pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pColorAttachments[i].initialize(&src->pColorAttachments[i]); } } if (colorAttachmentCount && src->pResolveAttachments) { pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount]; - for (uint32_t i=0; i<colorAttachmentCount; ++i) { + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { pResolveAttachments[i].initialize(&src->pResolveAttachments[i]); } } if (src->pDepthStencilAttachment) pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src->pDepthStencilAttachment); - else - pDepthStencilAttachment = NULL; if (src->pPreserveAttachments) { pPreserveAttachments = new uint32_t[src->preserveAttachmentCount]; memcpy ((void *)pPreserveAttachments, (void *)src->pPreserveAttachments, sizeof(uint32_t)*src->preserveAttachmentCount); @@ -12357,7 +13160,6 @@ void safe_VkSubpassDescription2KHR::initialize(const safe_VkSubpassDescription2K safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const VkSubpassDependency2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcSubpass(in_struct->srcSubpass), dstSubpass(in_struct->dstSubpass), srcStageMask(in_struct->srcStageMask), @@ -12367,15 +13169,16 @@ safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const VkSubpassDepend dependencyFlags(in_struct->dependencyFlags), viewOffset(in_struct->viewOffset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR() +safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR() : + pNext(nullptr) {} safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const safe_VkSubpassDependency2KHR& src) { sType = src.sType; - pNext = src.pNext; srcSubpass = src.srcSubpass; dstSubpass = src.dstSubpass; srcStageMask = src.srcStageMask; @@ -12384,15 +13187,17 @@ safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const safe_VkSubpassD dstAccessMask = src.dstAccessMask; dependencyFlags = src.dependencyFlags; viewOffset = src.viewOffset; + pNext = SafePnextCopy(src.pNext); } safe_VkSubpassDependency2KHR& safe_VkSubpassDependency2KHR::operator=(const safe_VkSubpassDependency2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcSubpass = src.srcSubpass; dstSubpass = src.dstSubpass; srcStageMask = src.srcStageMask; @@ -12401,18 +13206,20 @@ safe_VkSubpassDependency2KHR& safe_VkSubpassDependency2KHR::operator=(const safe dstAccessMask = src.dstAccessMask; dependencyFlags = src.dependencyFlags; viewOffset = src.viewOffset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSubpassDependency2KHR::~safe_VkSubpassDependency2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSubpassDependency2KHR::initialize(const VkSubpassDependency2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcSubpass = in_struct->srcSubpass; dstSubpass = in_struct->dstSubpass; srcStageMask = in_struct->srcStageMask; @@ -12421,12 +13228,12 @@ void safe_VkSubpassDependency2KHR::initialize(const VkSubpassDependency2KHR* in_ dstAccessMask = in_struct->dstAccessMask; dependencyFlags = in_struct->dependencyFlags; viewOffset = in_struct->viewOffset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSubpassDependency2KHR::initialize(const safe_VkSubpassDependency2KHR* src) { sType = src->sType; - pNext = src->pNext; srcSubpass = src->srcSubpass; dstSubpass = src->dstSubpass; srcStageMask = src->srcStageMask; @@ -12435,11 +13242,11 @@ void safe_VkSubpassDependency2KHR::initialize(const safe_VkSubpassDependency2KHR dstAccessMask = src->dstAccessMask; dependencyFlags = src->dependencyFlags; viewOffset = src->viewOffset; + pNext = SafePnextCopy(src->pNext); } safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const VkRenderPassCreateInfo2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), attachmentCount(in_struct->attachmentCount), pAttachments(nullptr), @@ -12450,21 +13257,22 @@ safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const VkRenderP correlatedViewMaskCount(in_struct->correlatedViewMaskCount), pCorrelatedViewMasks(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (attachmentCount && in_struct->pAttachments) { pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i].initialize(&in_struct->pAttachments[i]); } } if (subpassCount && in_struct->pSubpasses) { pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&in_struct->pSubpasses[i]); } } if (dependencyCount && in_struct->pDependencies) { pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount]; - for (uint32_t i=0; i<dependencyCount; ++i) { + for (uint32_t i = 0; i < dependencyCount; ++i) { pDependencies[i].initialize(&in_struct->pDependencies[i]); } } @@ -12475,6 +13283,7 @@ safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const VkRenderP } safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR() : + pNext(nullptr), pAttachments(nullptr), pSubpasses(nullptr), pDependencies(nullptr), @@ -12484,7 +13293,6 @@ safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR() : safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const safe_VkRenderPassCreateInfo2KHR& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; attachmentCount = src.attachmentCount; pAttachments = nullptr; @@ -12494,21 +13302,22 @@ safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const safe_VkRe pDependencies = nullptr; correlatedViewMaskCount = src.correlatedViewMaskCount; pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(src.pNext); if (attachmentCount && src.pAttachments) { pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i].initialize(&src.pAttachments[i]); } } if (subpassCount && src.pSubpasses) { pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&src.pSubpasses[i]); } } if (dependencyCount && src.pDependencies) { pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount]; - for (uint32_t i=0; i<dependencyCount; ++i) { + for (uint32_t i = 0; i < dependencyCount; ++i) { pDependencies[i].initialize(&src.pDependencies[i]); } } @@ -12530,9 +13339,10 @@ safe_VkRenderPassCreateInfo2KHR& safe_VkRenderPassCreateInfo2KHR::operator=(cons delete[] pDependencies; if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; attachmentCount = src.attachmentCount; pAttachments = nullptr; @@ -12542,21 +13352,22 @@ safe_VkRenderPassCreateInfo2KHR& safe_VkRenderPassCreateInfo2KHR::operator=(cons pDependencies = nullptr; correlatedViewMaskCount = src.correlatedViewMaskCount; pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(src.pNext); if (attachmentCount && src.pAttachments) { pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i].initialize(&src.pAttachments[i]); } } if (subpassCount && src.pSubpasses) { pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&src.pSubpasses[i]); } } if (dependencyCount && src.pDependencies) { pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount]; - for (uint32_t i=0; i<dependencyCount; ++i) { + for (uint32_t i = 0; i < dependencyCount; ++i) { pDependencies[i].initialize(&src.pDependencies[i]); } } @@ -12578,12 +13389,13 @@ safe_VkRenderPassCreateInfo2KHR::~safe_VkRenderPassCreateInfo2KHR() delete[] pDependencies; if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassCreateInfo2KHR::initialize(const VkRenderPassCreateInfo2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; attachmentCount = in_struct->attachmentCount; pAttachments = nullptr; @@ -12593,21 +13405,22 @@ void safe_VkRenderPassCreateInfo2KHR::initialize(const VkRenderPassCreateInfo2KH pDependencies = nullptr; correlatedViewMaskCount = in_struct->correlatedViewMaskCount; pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (attachmentCount && in_struct->pAttachments) { pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i].initialize(&in_struct->pAttachments[i]); } } if (subpassCount && in_struct->pSubpasses) { pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&in_struct->pSubpasses[i]); } } if (dependencyCount && in_struct->pDependencies) { pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount]; - for (uint32_t i=0; i<dependencyCount; ++i) { + for (uint32_t i = 0; i < dependencyCount; ++i) { pDependencies[i].initialize(&in_struct->pDependencies[i]); } } @@ -12620,7 +13433,6 @@ void safe_VkRenderPassCreateInfo2KHR::initialize(const VkRenderPassCreateInfo2KH void safe_VkRenderPassCreateInfo2KHR::initialize(const safe_VkRenderPassCreateInfo2KHR* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; attachmentCount = src->attachmentCount; pAttachments = nullptr; @@ -12630,21 +13442,22 @@ void safe_VkRenderPassCreateInfo2KHR::initialize(const safe_VkRenderPassCreateIn pDependencies = nullptr; correlatedViewMaskCount = src->correlatedViewMaskCount; pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(src->pNext); if (attachmentCount && src->pAttachments) { pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount]; - for (uint32_t i=0; i<attachmentCount; ++i) { + for (uint32_t i = 0; i < attachmentCount; ++i) { pAttachments[i].initialize(&src->pAttachments[i]); } } if (subpassCount && src->pSubpasses) { pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount]; - for (uint32_t i=0; i<subpassCount; ++i) { + for (uint32_t i = 0; i < subpassCount; ++i) { pSubpasses[i].initialize(&src->pSubpasses[i]); } } if (dependencyCount && src->pDependencies) { pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount]; - for (uint32_t i=0; i<dependencyCount; ++i) { + for (uint32_t i = 0; i < dependencyCount; ++i) { pDependencies[i].initialize(&src->pDependencies[i]); } } @@ -12656,207 +13469,227 @@ void safe_VkRenderPassCreateInfo2KHR::initialize(const safe_VkRenderPassCreateIn safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR(const VkSubpassBeginInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), contents(in_struct->contents) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR() +safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR() : + pNext(nullptr) {} safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR(const safe_VkSubpassBeginInfoKHR& src) { sType = src.sType; - pNext = src.pNext; contents = src.contents; + pNext = SafePnextCopy(src.pNext); } safe_VkSubpassBeginInfoKHR& safe_VkSubpassBeginInfoKHR::operator=(const safe_VkSubpassBeginInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; contents = src.contents; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSubpassBeginInfoKHR::~safe_VkSubpassBeginInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSubpassBeginInfoKHR::initialize(const VkSubpassBeginInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; contents = in_struct->contents; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSubpassBeginInfoKHR::initialize(const safe_VkSubpassBeginInfoKHR* src) { sType = src->sType; - pNext = src->pNext; contents = src->contents; + pNext = SafePnextCopy(src->pNext); } safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR(const VkSubpassEndInfoKHR* in_struct) : - sType(in_struct->sType), - pNext(in_struct->pNext) + sType(in_struct->sType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR() +safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR() : + pNext(nullptr) {} safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR(const safe_VkSubpassEndInfoKHR& src) { sType = src.sType; - pNext = src.pNext; + pNext = SafePnextCopy(src.pNext); } safe_VkSubpassEndInfoKHR& safe_VkSubpassEndInfoKHR::operator=(const safe_VkSubpassEndInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSubpassEndInfoKHR::~safe_VkSubpassEndInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSubpassEndInfoKHR::initialize(const VkSubpassEndInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSubpassEndInfoKHR::initialize(const safe_VkSubpassEndInfoKHR* src) { sType = src->sType; - pNext = src->pNext; + pNext = SafePnextCopy(src->pNext); } safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR(const VkSharedPresentSurfaceCapabilitiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), sharedPresentSupportedUsageFlags(in_struct->sharedPresentSupportedUsageFlags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR() +safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR() : + pNext(nullptr) {} safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR(const safe_VkSharedPresentSurfaceCapabilitiesKHR& src) { sType = src.sType; - pNext = src.pNext; sharedPresentSupportedUsageFlags = src.sharedPresentSupportedUsageFlags; + pNext = SafePnextCopy(src.pNext); } safe_VkSharedPresentSurfaceCapabilitiesKHR& safe_VkSharedPresentSurfaceCapabilitiesKHR::operator=(const safe_VkSharedPresentSurfaceCapabilitiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; sharedPresentSupportedUsageFlags = src.sharedPresentSupportedUsageFlags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSharedPresentSurfaceCapabilitiesKHR::~safe_VkSharedPresentSurfaceCapabilitiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSharedPresentSurfaceCapabilitiesKHR::initialize(const VkSharedPresentSurfaceCapabilitiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; sharedPresentSupportedUsageFlags = in_struct->sharedPresentSupportedUsageFlags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSharedPresentSurfaceCapabilitiesKHR::initialize(const safe_VkSharedPresentSurfaceCapabilitiesKHR* src) { sType = src->sType; - pNext = src->pNext; sharedPresentSupportedUsageFlags = src->sharedPresentSupportedUsageFlags; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_WIN32_KHR safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR(const VkImportFenceWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fence(in_struct->fence), flags(in_struct->flags), handleType(in_struct->handleType), handle(in_struct->handle), name(in_struct->name) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR() +safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR() : + pNext(nullptr) {} safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR(const safe_VkImportFenceWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; fence = src.fence; flags = src.flags; handleType = src.handleType; handle = src.handle; name = src.name; + pNext = SafePnextCopy(src.pNext); } safe_VkImportFenceWin32HandleInfoKHR& safe_VkImportFenceWin32HandleInfoKHR::operator=(const safe_VkImportFenceWin32HandleInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fence = src.fence; flags = src.flags; handleType = src.handleType; handle = src.handle; name = src.name; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportFenceWin32HandleInfoKHR::~safe_VkImportFenceWin32HandleInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportFenceWin32HandleInfoKHR::initialize(const VkImportFenceWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fence = in_struct->fence; flags = in_struct->flags; handleType = in_struct->handleType; handle = in_struct->handle; name = in_struct->name; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportFenceWin32HandleInfoKHR::initialize(const safe_VkImportFenceWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; fence = src->fence; flags = src->flags; handleType = src->handleType; handle = src->handle; name = src->name; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -12865,27 +13698,28 @@ void safe_VkImportFenceWin32HandleInfoKHR::initialize(const safe_VkImportFenceWi safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR(const VkExportFenceWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pAttributes(nullptr), dwAccess(in_struct->dwAccess), name(in_struct->name) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } } safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR() : + pNext(nullptr), pAttributes(nullptr) {} safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR(const safe_VkExportFenceWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; name = src.name; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -12897,12 +13731,14 @@ safe_VkExportFenceWin32HandleInfoKHR& safe_VkExportFenceWin32HandleInfoKHR::oper if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; name = src.name; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -12914,15 +13750,17 @@ safe_VkExportFenceWin32HandleInfoKHR::~safe_VkExportFenceWin32HandleInfoKHR() { if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); } void safe_VkExportFenceWin32HandleInfoKHR::initialize(const VkExportFenceWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pAttributes = nullptr; dwAccess = in_struct->dwAccess; name = in_struct->name; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } @@ -12931,10 +13769,10 @@ void safe_VkExportFenceWin32HandleInfoKHR::initialize(const VkExportFenceWin32Ha void safe_VkExportFenceWin32HandleInfoKHR::initialize(const safe_VkExportFenceWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; pAttributes = nullptr; dwAccess = src->dwAccess; name = src->name; + pNext = SafePnextCopy(src->pNext); if (src->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes); } @@ -12946,559 +13784,614 @@ void safe_VkExportFenceWin32HandleInfoKHR::initialize(const safe_VkExportFenceWi safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR(const VkFenceGetWin32HandleInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fence(in_struct->fence), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR() +safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR() : + pNext(nullptr) {} safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR(const safe_VkFenceGetWin32HandleInfoKHR& src) { sType = src.sType; - pNext = src.pNext; fence = src.fence; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkFenceGetWin32HandleInfoKHR& safe_VkFenceGetWin32HandleInfoKHR::operator=(const safe_VkFenceGetWin32HandleInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fence = src.fence; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkFenceGetWin32HandleInfoKHR::~safe_VkFenceGetWin32HandleInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkFenceGetWin32HandleInfoKHR::initialize(const VkFenceGetWin32HandleInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fence = in_struct->fence; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkFenceGetWin32HandleInfoKHR::initialize(const safe_VkFenceGetWin32HandleInfoKHR* src) { sType = src->sType; - pNext = src->pNext; fence = src->fence; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR(const VkImportFenceFdInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fence(in_struct->fence), flags(in_struct->flags), handleType(in_struct->handleType), fd(in_struct->fd) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR() +safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR() : + pNext(nullptr) {} safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR(const safe_VkImportFenceFdInfoKHR& src) { sType = src.sType; - pNext = src.pNext; fence = src.fence; flags = src.flags; handleType = src.handleType; fd = src.fd; + pNext = SafePnextCopy(src.pNext); } safe_VkImportFenceFdInfoKHR& safe_VkImportFenceFdInfoKHR::operator=(const safe_VkImportFenceFdInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fence = src.fence; flags = src.flags; handleType = src.handleType; fd = src.fd; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportFenceFdInfoKHR::~safe_VkImportFenceFdInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportFenceFdInfoKHR::initialize(const VkImportFenceFdInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fence = in_struct->fence; flags = in_struct->flags; handleType = in_struct->handleType; fd = in_struct->fd; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportFenceFdInfoKHR::initialize(const safe_VkImportFenceFdInfoKHR* src) { sType = src->sType; - pNext = src->pNext; fence = src->fence; flags = src->flags; handleType = src->handleType; fd = src->fd; + pNext = SafePnextCopy(src->pNext); } safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR(const VkFenceGetFdInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fence(in_struct->fence), handleType(in_struct->handleType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR() +safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR() : + pNext(nullptr) {} safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR(const safe_VkFenceGetFdInfoKHR& src) { sType = src.sType; - pNext = src.pNext; fence = src.fence; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); } safe_VkFenceGetFdInfoKHR& safe_VkFenceGetFdInfoKHR::operator=(const safe_VkFenceGetFdInfoKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fence = src.fence; handleType = src.handleType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkFenceGetFdInfoKHR::~safe_VkFenceGetFdInfoKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkFenceGetFdInfoKHR::initialize(const VkFenceGetFdInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fence = in_struct->fence; handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkFenceGetFdInfoKHR::initialize(const safe_VkFenceGetFdInfoKHR* src) { sType = src->sType; - pNext = src->pNext; fence = src->fence; handleType = src->handleType; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR(const VkPhysicalDeviceSurfaceInfo2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), surface(in_struct->surface) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR() +safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR(const safe_VkPhysicalDeviceSurfaceInfo2KHR& src) { sType = src.sType; - pNext = src.pNext; surface = src.surface; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceSurfaceInfo2KHR& safe_VkPhysicalDeviceSurfaceInfo2KHR::operator=(const safe_VkPhysicalDeviceSurfaceInfo2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; surface = src.surface; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceSurfaceInfo2KHR::~safe_VkPhysicalDeviceSurfaceInfo2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceSurfaceInfo2KHR::initialize(const VkPhysicalDeviceSurfaceInfo2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; surface = in_struct->surface; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceSurfaceInfo2KHR::initialize(const safe_VkPhysicalDeviceSurfaceInfo2KHR* src) { sType = src->sType; - pNext = src->pNext; surface = src->surface; + pNext = SafePnextCopy(src->pNext); } safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR(const VkSurfaceCapabilities2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), surfaceCapabilities(in_struct->surfaceCapabilities) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR() +safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR() : + pNext(nullptr) {} safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR(const safe_VkSurfaceCapabilities2KHR& src) { sType = src.sType; - pNext = src.pNext; surfaceCapabilities = src.surfaceCapabilities; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceCapabilities2KHR& safe_VkSurfaceCapabilities2KHR::operator=(const safe_VkSurfaceCapabilities2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; surfaceCapabilities = src.surfaceCapabilities; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceCapabilities2KHR::~safe_VkSurfaceCapabilities2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceCapabilities2KHR::initialize(const VkSurfaceCapabilities2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; surfaceCapabilities = in_struct->surfaceCapabilities; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceCapabilities2KHR::initialize(const safe_VkSurfaceCapabilities2KHR* src) { sType = src->sType; - pNext = src->pNext; surfaceCapabilities = src->surfaceCapabilities; + pNext = SafePnextCopy(src->pNext); } safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR(const VkSurfaceFormat2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), surfaceFormat(in_struct->surfaceFormat) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR() +safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR() : + pNext(nullptr) {} safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR(const safe_VkSurfaceFormat2KHR& src) { sType = src.sType; - pNext = src.pNext; surfaceFormat = src.surfaceFormat; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceFormat2KHR& safe_VkSurfaceFormat2KHR::operator=(const safe_VkSurfaceFormat2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; surfaceFormat = src.surfaceFormat; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceFormat2KHR::~safe_VkSurfaceFormat2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceFormat2KHR::initialize(const VkSurfaceFormat2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; surfaceFormat = in_struct->surfaceFormat; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceFormat2KHR::initialize(const safe_VkSurfaceFormat2KHR* src) { sType = src->sType; - pNext = src->pNext; surfaceFormat = src->surfaceFormat; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR(const VkDisplayProperties2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), displayProperties(&in_struct->displayProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR() +safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR() : + pNext(nullptr) {} safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR(const safe_VkDisplayProperties2KHR& src) { sType = src.sType; - pNext = src.pNext; displayProperties.initialize(&src.displayProperties); + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayProperties2KHR& safe_VkDisplayProperties2KHR::operator=(const safe_VkDisplayProperties2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; displayProperties.initialize(&src.displayProperties); + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayProperties2KHR::~safe_VkDisplayProperties2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayProperties2KHR::initialize(const VkDisplayProperties2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; displayProperties.initialize(&in_struct->displayProperties); + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayProperties2KHR::initialize(const safe_VkDisplayProperties2KHR* src) { sType = src->sType; - pNext = src->pNext; displayProperties.initialize(&src->displayProperties); + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR(const VkDisplayPlaneProperties2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), displayPlaneProperties(in_struct->displayPlaneProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR() +safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR() : + pNext(nullptr) {} safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR(const safe_VkDisplayPlaneProperties2KHR& src) { sType = src.sType; - pNext = src.pNext; displayPlaneProperties = src.displayPlaneProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayPlaneProperties2KHR& safe_VkDisplayPlaneProperties2KHR::operator=(const safe_VkDisplayPlaneProperties2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; displayPlaneProperties = src.displayPlaneProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayPlaneProperties2KHR::~safe_VkDisplayPlaneProperties2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayPlaneProperties2KHR::initialize(const VkDisplayPlaneProperties2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; displayPlaneProperties = in_struct->displayPlaneProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayPlaneProperties2KHR::initialize(const safe_VkDisplayPlaneProperties2KHR* src) { sType = src->sType; - pNext = src->pNext; displayPlaneProperties = src->displayPlaneProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR(const VkDisplayModeProperties2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), displayModeProperties(in_struct->displayModeProperties) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR() +safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR() : + pNext(nullptr) {} safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR(const safe_VkDisplayModeProperties2KHR& src) { sType = src.sType; - pNext = src.pNext; displayModeProperties = src.displayModeProperties; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayModeProperties2KHR& safe_VkDisplayModeProperties2KHR::operator=(const safe_VkDisplayModeProperties2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; displayModeProperties = src.displayModeProperties; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayModeProperties2KHR::~safe_VkDisplayModeProperties2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayModeProperties2KHR::initialize(const VkDisplayModeProperties2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; displayModeProperties = in_struct->displayModeProperties; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayModeProperties2KHR::initialize(const safe_VkDisplayModeProperties2KHR* src) { sType = src->sType; - pNext = src->pNext; displayModeProperties = src->displayModeProperties; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR(const VkDisplayPlaneInfo2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), mode(in_struct->mode), planeIndex(in_struct->planeIndex) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR() +safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR() : + pNext(nullptr) {} safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR(const safe_VkDisplayPlaneInfo2KHR& src) { sType = src.sType; - pNext = src.pNext; mode = src.mode; planeIndex = src.planeIndex; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayPlaneInfo2KHR& safe_VkDisplayPlaneInfo2KHR::operator=(const safe_VkDisplayPlaneInfo2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; mode = src.mode; planeIndex = src.planeIndex; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayPlaneInfo2KHR::~safe_VkDisplayPlaneInfo2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayPlaneInfo2KHR::initialize(const VkDisplayPlaneInfo2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; mode = in_struct->mode; planeIndex = in_struct->planeIndex; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayPlaneInfo2KHR::initialize(const safe_VkDisplayPlaneInfo2KHR* src) { sType = src->sType; - pNext = src->pNext; mode = src->mode; planeIndex = src->planeIndex; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR(const VkDisplayPlaneCapabilities2KHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), capabilities(in_struct->capabilities) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR() +safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR() : + pNext(nullptr) {} safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR(const safe_VkDisplayPlaneCapabilities2KHR& src) { sType = src.sType; - pNext = src.pNext; capabilities = src.capabilities; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayPlaneCapabilities2KHR& safe_VkDisplayPlaneCapabilities2KHR::operator=(const safe_VkDisplayPlaneCapabilities2KHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; capabilities = src.capabilities; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayPlaneCapabilities2KHR::~safe_VkDisplayPlaneCapabilities2KHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayPlaneCapabilities2KHR::initialize(const VkDisplayPlaneCapabilities2KHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; capabilities = in_struct->capabilities; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayPlaneCapabilities2KHR::initialize(const safe_VkDisplayPlaneCapabilities2KHR* src) { sType = src->sType; - pNext = src->pNext; capabilities = src->capabilities; + pNext = SafePnextCopy(src->pNext); } safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const VkImageFormatListCreateInfoKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), viewFormatCount(in_struct->viewFormatCount), pViewFormats(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewFormats) { pViewFormats = new VkFormat[in_struct->viewFormatCount]; memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount); @@ -13506,15 +14399,16 @@ safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const V } safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR() : + pNext(nullptr), pViewFormats(nullptr) {} safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const safe_VkImageFormatListCreateInfoKHR& src) { sType = src.sType; - pNext = src.pNext; viewFormatCount = src.viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewFormats) { pViewFormats = new VkFormat[src.viewFormatCount]; memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount); @@ -13527,11 +14421,13 @@ safe_VkImageFormatListCreateInfoKHR& safe_VkImageFormatListCreateInfoKHR::operat if (pViewFormats) delete[] pViewFormats; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; viewFormatCount = src.viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewFormats) { pViewFormats = new VkFormat[src.viewFormatCount]; memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount); @@ -13544,14 +14440,16 @@ safe_VkImageFormatListCreateInfoKHR::~safe_VkImageFormatListCreateInfoKHR() { if (pViewFormats) delete[] pViewFormats; + if (pNext) + FreePnextChain(pNext); } void safe_VkImageFormatListCreateInfoKHR::initialize(const VkImageFormatListCreateInfoKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; viewFormatCount = in_struct->viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewFormats) { pViewFormats = new VkFormat[in_struct->viewFormatCount]; memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount); @@ -13561,9 +14459,9 @@ void safe_VkImageFormatListCreateInfoKHR::initialize(const VkImageFormatListCrea void safe_VkImageFormatListCreateInfoKHR::initialize(const safe_VkImageFormatListCreateInfoKHR* src) { sType = src->sType; - pNext = src->pNext; viewFormatCount = src->viewFormatCount; pViewFormats = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pViewFormats) { pViewFormats = new VkFormat[src->viewFormatCount]; memcpy ((void *)pViewFormats, (void *)src->pViewFormats, sizeof(VkFormat)*src->viewFormatCount); @@ -13572,140 +14470,151 @@ void safe_VkImageFormatListCreateInfoKHR::initialize(const safe_VkImageFormatLis safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR(const VkPhysicalDevice8BitStorageFeaturesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), storageBuffer8BitAccess(in_struct->storageBuffer8BitAccess), uniformAndStorageBuffer8BitAccess(in_struct->uniformAndStorageBuffer8BitAccess), storagePushConstant8(in_struct->storagePushConstant8) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR() +safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR() : + pNext(nullptr) {} safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR(const safe_VkPhysicalDevice8BitStorageFeaturesKHR& src) { sType = src.sType; - pNext = src.pNext; storageBuffer8BitAccess = src.storageBuffer8BitAccess; uniformAndStorageBuffer8BitAccess = src.uniformAndStorageBuffer8BitAccess; storagePushConstant8 = src.storagePushConstant8; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDevice8BitStorageFeaturesKHR& safe_VkPhysicalDevice8BitStorageFeaturesKHR::operator=(const safe_VkPhysicalDevice8BitStorageFeaturesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; storageBuffer8BitAccess = src.storageBuffer8BitAccess; uniformAndStorageBuffer8BitAccess = src.uniformAndStorageBuffer8BitAccess; storagePushConstant8 = src.storagePushConstant8; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDevice8BitStorageFeaturesKHR::~safe_VkPhysicalDevice8BitStorageFeaturesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDevice8BitStorageFeaturesKHR::initialize(const VkPhysicalDevice8BitStorageFeaturesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; storageBuffer8BitAccess = in_struct->storageBuffer8BitAccess; uniformAndStorageBuffer8BitAccess = in_struct->uniformAndStorageBuffer8BitAccess; storagePushConstant8 = in_struct->storagePushConstant8; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDevice8BitStorageFeaturesKHR::initialize(const safe_VkPhysicalDevice8BitStorageFeaturesKHR* src) { sType = src->sType; - pNext = src->pNext; storageBuffer8BitAccess = src->storageBuffer8BitAccess; uniformAndStorageBuffer8BitAccess = src->uniformAndStorageBuffer8BitAccess; storagePushConstant8 = src->storagePushConstant8; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderBufferInt64Atomics(in_struct->shaderBufferInt64Atomics), shaderSharedInt64Atomics(in_struct->shaderSharedInt64Atomics) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR() +safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& src) { sType = src.sType; - pNext = src.pNext; shaderBufferInt64Atomics = src.shaderBufferInt64Atomics; shaderSharedInt64Atomics = src.shaderSharedInt64Atomics; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::operator=(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderBufferInt64Atomics = src.shaderBufferInt64Atomics; shaderSharedInt64Atomics = src.shaderSharedInt64Atomics; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::~safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::initialize(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderBufferInt64Atomics = in_struct->shaderBufferInt64Atomics; shaderSharedInt64Atomics = in_struct->shaderSharedInt64Atomics; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* src) { sType = src->sType; - pNext = src->pNext; shaderBufferInt64Atomics = src->shaderBufferInt64Atomics; shaderSharedInt64Atomics = src->shaderSharedInt64Atomics; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR(const VkPhysicalDeviceDriverPropertiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), driverID(in_struct->driverID), conformanceVersion(in_struct->conformanceVersion) { - for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { driverName[i] = in_struct->driverName[i]; } - for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { driverInfo[i] = in_struct->driverInfo[i]; } } -safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR() +safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR(const safe_VkPhysicalDeviceDriverPropertiesKHR& src) { sType = src.sType; - pNext = src.pNext; driverID = src.driverID; conformanceVersion = src.conformanceVersion; - for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { driverName[i] = src.driverName[i]; } - for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { driverInfo[i] = src.driverInfo[i]; } } @@ -13714,15 +14623,17 @@ safe_VkPhysicalDeviceDriverPropertiesKHR& safe_VkPhysicalDeviceDriverPropertiesK { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; driverID = src.driverID; conformanceVersion = src.conformanceVersion; - for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { driverName[i] = src.driverName[i]; } - for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { driverInfo[i] = src.driverInfo[i]; } @@ -13731,18 +14642,20 @@ safe_VkPhysicalDeviceDriverPropertiesKHR& safe_VkPhysicalDeviceDriverPropertiesK safe_VkPhysicalDeviceDriverPropertiesKHR::~safe_VkPhysicalDeviceDriverPropertiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const VkPhysicalDeviceDriverPropertiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; driverID = in_struct->driverID; conformanceVersion = in_struct->conformanceVersion; - for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { driverName[i] = in_struct->driverName[i]; } - for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { driverInfo[i] = in_struct->driverInfo[i]; } } @@ -13750,22 +14663,21 @@ void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const VkPhysicalDevice void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const safe_VkPhysicalDeviceDriverPropertiesKHR* src) { sType = src->sType; - pNext = src->pNext; driverID = src->driverID; conformanceVersion = src->conformanceVersion; - for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) { driverName[i] = src->driverName[i]; } - for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) { driverInfo[i] = src->driverInfo[i]; } } safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const VkPhysicalDeviceFloatControlsPropertiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), - separateDenormSettings(in_struct->separateDenormSettings), - separateRoundingModeSettings(in_struct->separateRoundingModeSettings), + denormBehaviorIndependence(in_struct->denormBehaviorIndependence), + roundingModeIndependence(in_struct->roundingModeIndependence), shaderSignedZeroInfNanPreserveFloat16(in_struct->shaderSignedZeroInfNanPreserveFloat16), shaderSignedZeroInfNanPreserveFloat32(in_struct->shaderSignedZeroInfNanPreserveFloat32), shaderSignedZeroInfNanPreserveFloat64(in_struct->shaderSignedZeroInfNanPreserveFloat64), @@ -13782,17 +14694,18 @@ safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatContr shaderRoundingModeRTZFloat32(in_struct->shaderRoundingModeRTZFloat32), shaderRoundingModeRTZFloat64(in_struct->shaderRoundingModeRTZFloat64) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR() +safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR& src) { sType = src.sType; - pNext = src.pNext; - separateDenormSettings = src.separateDenormSettings; - separateRoundingModeSettings = src.separateRoundingModeSettings; + denormBehaviorIndependence = src.denormBehaviorIndependence; + roundingModeIndependence = src.roundingModeIndependence; shaderSignedZeroInfNanPreserveFloat16 = src.shaderSignedZeroInfNanPreserveFloat16; shaderSignedZeroInfNanPreserveFloat32 = src.shaderSignedZeroInfNanPreserveFloat32; shaderSignedZeroInfNanPreserveFloat64 = src.shaderSignedZeroInfNanPreserveFloat64; @@ -13808,17 +14721,19 @@ safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatContr shaderRoundingModeRTZFloat16 = src.shaderRoundingModeRTZFloat16; shaderRoundingModeRTZFloat32 = src.shaderRoundingModeRTZFloat32; shaderRoundingModeRTZFloat64 = src.shaderRoundingModeRTZFloat64; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceFloatControlsPropertiesKHR& safe_VkPhysicalDeviceFloatControlsPropertiesKHR::operator=(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; - separateDenormSettings = src.separateDenormSettings; - separateRoundingModeSettings = src.separateRoundingModeSettings; + denormBehaviorIndependence = src.denormBehaviorIndependence; + roundingModeIndependence = src.roundingModeIndependence; shaderSignedZeroInfNanPreserveFloat16 = src.shaderSignedZeroInfNanPreserveFloat16; shaderSignedZeroInfNanPreserveFloat32 = src.shaderSignedZeroInfNanPreserveFloat32; shaderSignedZeroInfNanPreserveFloat64 = src.shaderSignedZeroInfNanPreserveFloat64; @@ -13834,20 +14749,22 @@ safe_VkPhysicalDeviceFloatControlsPropertiesKHR& safe_VkPhysicalDeviceFloatContr shaderRoundingModeRTZFloat16 = src.shaderRoundingModeRTZFloat16; shaderRoundingModeRTZFloat32 = src.shaderRoundingModeRTZFloat32; shaderRoundingModeRTZFloat64 = src.shaderRoundingModeRTZFloat64; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceFloatControlsPropertiesKHR::~safe_VkPhysicalDeviceFloatControlsPropertiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const VkPhysicalDeviceFloatControlsPropertiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; - separateDenormSettings = in_struct->separateDenormSettings; - separateRoundingModeSettings = in_struct->separateRoundingModeSettings; + denormBehaviorIndependence = in_struct->denormBehaviorIndependence; + roundingModeIndependence = in_struct->roundingModeIndependence; shaderSignedZeroInfNanPreserveFloat16 = in_struct->shaderSignedZeroInfNanPreserveFloat16; shaderSignedZeroInfNanPreserveFloat32 = in_struct->shaderSignedZeroInfNanPreserveFloat32; shaderSignedZeroInfNanPreserveFloat64 = in_struct->shaderSignedZeroInfNanPreserveFloat64; @@ -13863,14 +14780,14 @@ void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const VkPhysica shaderRoundingModeRTZFloat16 = in_struct->shaderRoundingModeRTZFloat16; shaderRoundingModeRTZFloat32 = in_struct->shaderRoundingModeRTZFloat32; shaderRoundingModeRTZFloat64 = in_struct->shaderRoundingModeRTZFloat64; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR* src) { sType = src->sType; - pNext = src->pNext; - separateDenormSettings = src->separateDenormSettings; - separateRoundingModeSettings = src->separateRoundingModeSettings; + denormBehaviorIndependence = src->denormBehaviorIndependence; + roundingModeIndependence = src->roundingModeIndependence; shaderSignedZeroInfNanPreserveFloat16 = src->shaderSignedZeroInfNanPreserveFloat16; shaderSignedZeroInfNanPreserveFloat32 = src->shaderSignedZeroInfNanPreserveFloat32; shaderSignedZeroInfNanPreserveFloat64 = src->shaderSignedZeroInfNanPreserveFloat64; @@ -13886,33 +14803,34 @@ void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const safe_VkPh shaderRoundingModeRTZFloat16 = src->shaderRoundingModeRTZFloat16; shaderRoundingModeRTZFloat32 = src->shaderRoundingModeRTZFloat32; shaderRoundingModeRTZFloat64 = src->shaderRoundingModeRTZFloat64; + pNext = SafePnextCopy(src->pNext); } safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR(const VkSubpassDescriptionDepthStencilResolveKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), depthResolveMode(in_struct->depthResolveMode), - stencilResolveMode(in_struct->stencilResolveMode) + stencilResolveMode(in_struct->stencilResolveMode), + pDepthStencilResolveAttachment(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDepthStencilResolveAttachment) pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilResolveAttachment); - else - pDepthStencilResolveAttachment = NULL; } -safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR() +safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR() : + pNext(nullptr), + pDepthStencilResolveAttachment(nullptr) {} safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR(const safe_VkSubpassDescriptionDepthStencilResolveKHR& src) { sType = src.sType; - pNext = src.pNext; depthResolveMode = src.depthResolveMode; stencilResolveMode = src.stencilResolveMode; + pDepthStencilResolveAttachment = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDepthStencilResolveAttachment) pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilResolveAttachment); - else - pDepthStencilResolveAttachment = NULL; } safe_VkSubpassDescriptionDepthStencilResolveKHR& safe_VkSubpassDescriptionDepthStencilResolveKHR::operator=(const safe_VkSubpassDescriptionDepthStencilResolveKHR& src) @@ -13921,15 +14839,16 @@ safe_VkSubpassDescriptionDepthStencilResolveKHR& safe_VkSubpassDescriptionDepthS if (pDepthStencilResolveAttachment) delete pDepthStencilResolveAttachment; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; depthResolveMode = src.depthResolveMode; stencilResolveMode = src.stencilResolveMode; + pDepthStencilResolveAttachment = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDepthStencilResolveAttachment) pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilResolveAttachment); - else - pDepthStencilResolveAttachment = NULL; return *this; } @@ -13938,492 +14857,967 @@ safe_VkSubpassDescriptionDepthStencilResolveKHR::~safe_VkSubpassDescriptionDepth { if (pDepthStencilResolveAttachment) delete pDepthStencilResolveAttachment; + if (pNext) + FreePnextChain(pNext); } void safe_VkSubpassDescriptionDepthStencilResolveKHR::initialize(const VkSubpassDescriptionDepthStencilResolveKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; depthResolveMode = in_struct->depthResolveMode; stencilResolveMode = in_struct->stencilResolveMode; + pDepthStencilResolveAttachment = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDepthStencilResolveAttachment) pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilResolveAttachment); - else - pDepthStencilResolveAttachment = NULL; } void safe_VkSubpassDescriptionDepthStencilResolveKHR::initialize(const safe_VkSubpassDescriptionDepthStencilResolveKHR* src) { sType = src->sType; - pNext = src->pNext; depthResolveMode = src->depthResolveMode; stencilResolveMode = src->stencilResolveMode; + pDepthStencilResolveAttachment = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDepthStencilResolveAttachment) pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src->pDepthStencilResolveAttachment); - else - pDepthStencilResolveAttachment = NULL; } safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), supportedDepthResolveModes(in_struct->supportedDepthResolveModes), supportedStencilResolveModes(in_struct->supportedStencilResolveModes), independentResolveNone(in_struct->independentResolveNone), independentResolve(in_struct->independentResolve) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR() +safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& src) { sType = src.sType; - pNext = src.pNext; supportedDepthResolveModes = src.supportedDepthResolveModes; supportedStencilResolveModes = src.supportedStencilResolveModes; independentResolveNone = src.independentResolveNone; independentResolve = src.independentResolve; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::operator=(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; supportedDepthResolveModes = src.supportedDepthResolveModes; supportedStencilResolveModes = src.supportedStencilResolveModes; independentResolveNone = src.independentResolveNone; independentResolve = src.independentResolve; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::~safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::initialize(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; supportedDepthResolveModes = in_struct->supportedDepthResolveModes; supportedStencilResolveModes = in_struct->supportedStencilResolveModes; independentResolveNone = in_struct->independentResolveNone; independentResolve = in_struct->independentResolve; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::initialize(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR* src) { sType = src->sType; - pNext = src->pNext; supportedDepthResolveModes = src->supportedDepthResolveModes; supportedStencilResolveModes = src->supportedStencilResolveModes; independentResolveNone = src->independentResolveNone; independentResolve = src->independentResolve; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), vulkanMemoryModel(in_struct->vulkanMemoryModel), vulkanMemoryModelDeviceScope(in_struct->vulkanMemoryModelDeviceScope), vulkanMemoryModelAvailabilityVisibilityChains(in_struct->vulkanMemoryModelAvailabilityVisibilityChains) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR() +safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& src) { sType = src.sType; - pNext = src.pNext; vulkanMemoryModel = src.vulkanMemoryModel; vulkanMemoryModelDeviceScope = src.vulkanMemoryModelDeviceScope; vulkanMemoryModelAvailabilityVisibilityChains = src.vulkanMemoryModelAvailabilityVisibilityChains; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::operator=(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; vulkanMemoryModel = src.vulkanMemoryModel; vulkanMemoryModelDeviceScope = src.vulkanMemoryModelDeviceScope; vulkanMemoryModelAvailabilityVisibilityChains = src.vulkanMemoryModelAvailabilityVisibilityChains; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::~safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::initialize(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; vulkanMemoryModel = in_struct->vulkanMemoryModel; vulkanMemoryModelDeviceScope = in_struct->vulkanMemoryModelDeviceScope; vulkanMemoryModelAvailabilityVisibilityChains = in_struct->vulkanMemoryModelAvailabilityVisibilityChains; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::initialize(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* src) { sType = src->sType; - pNext = src->pNext; vulkanMemoryModel = src->vulkanMemoryModel; vulkanMemoryModelDeviceScope = src->vulkanMemoryModelDeviceScope; vulkanMemoryModelAvailabilityVisibilityChains = src->vulkanMemoryModelAvailabilityVisibilityChains; + pNext = SafePnextCopy(src->pNext); } safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), supportsProtected(in_struct->supportsProtected) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR() +safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR() : + pNext(nullptr) {} safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const safe_VkSurfaceProtectedCapabilitiesKHR& src) { sType = src.sType; - pNext = src.pNext; supportsProtected = src.supportsProtected; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceProtectedCapabilitiesKHR& safe_VkSurfaceProtectedCapabilitiesKHR::operator=(const safe_VkSurfaceProtectedCapabilitiesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; supportsProtected = src.supportsProtected; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceProtectedCapabilitiesKHR::~safe_VkSurfaceProtectedCapabilitiesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceProtectedCapabilitiesKHR::initialize(const VkSurfaceProtectedCapabilitiesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; supportsProtected = in_struct->supportsProtected; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceProtectedCapabilitiesKHR::initialize(const safe_VkSurfaceProtectedCapabilitiesKHR* src) { sType = src->sType; - pNext = src->pNext; supportsProtected = src->supportsProtected; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), uniformBufferStandardLayout(in_struct->uniformBufferStandardLayout) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR() +safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR() : + pNext(nullptr) {} safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& src) { sType = src.sType; - pNext = src.pNext; uniformBufferStandardLayout = src.uniformBufferStandardLayout; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::operator=(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; uniformBufferStandardLayout = src.uniformBufferStandardLayout; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::initialize(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; uniformBufferStandardLayout = in_struct->uniformBufferStandardLayout; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::initialize(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* src) { sType = src->sType; - pNext = src->pNext; uniformBufferStandardLayout = src->uniformBufferStandardLayout; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* in_struct) : + sType(in_struct->sType), + pipelineExecutableInfo(in_struct->pipelineExecutableInfo) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR() : + pNext(nullptr) +{} + +safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& src) +{ + sType = src.sType; + pipelineExecutableInfo = src.pipelineExecutableInfo; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::operator=(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + pipelineExecutableInfo = src.pipelineExecutableInfo; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::~safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::initialize(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* in_struct) +{ + sType = in_struct->sType; + pipelineExecutableInfo = in_struct->pipelineExecutableInfo; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::initialize(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* src) +{ + sType = src->sType; + pipelineExecutableInfo = src->pipelineExecutableInfo; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR(const VkPipelineInfoKHR* in_struct) : + sType(in_struct->sType), + pipeline(in_struct->pipeline) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR() : + pNext(nullptr) +{} + +safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR(const safe_VkPipelineInfoKHR& src) +{ + sType = src.sType; + pipeline = src.pipeline; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPipelineInfoKHR& safe_VkPipelineInfoKHR::operator=(const safe_VkPipelineInfoKHR& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + pipeline = src.pipeline; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPipelineInfoKHR::~safe_VkPipelineInfoKHR() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineInfoKHR::initialize(const VkPipelineInfoKHR* in_struct) +{ + sType = in_struct->sType; + pipeline = in_struct->pipeline; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPipelineInfoKHR::initialize(const safe_VkPipelineInfoKHR* src) +{ + sType = src->sType; + pipeline = src->pipeline; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR(const VkPipelineExecutablePropertiesKHR* in_struct) : + sType(in_struct->sType), + stages(in_struct->stages), + subgroupSize(in_struct->subgroupSize) +{ + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR() : + pNext(nullptr) +{} + +safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR(const safe_VkPipelineExecutablePropertiesKHR& src) +{ + sType = src.sType; + stages = src.stages; + subgroupSize = src.subgroupSize; + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src.name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src.description[i]; + } +} + +safe_VkPipelineExecutablePropertiesKHR& safe_VkPipelineExecutablePropertiesKHR::operator=(const safe_VkPipelineExecutablePropertiesKHR& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + stages = src.stages; + subgroupSize = src.subgroupSize; + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src.name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src.description[i]; + } + + return *this; +} + +safe_VkPipelineExecutablePropertiesKHR::~safe_VkPipelineExecutablePropertiesKHR() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineExecutablePropertiesKHR::initialize(const VkPipelineExecutablePropertiesKHR* in_struct) +{ + sType = in_struct->sType; + stages = in_struct->stages; + subgroupSize = in_struct->subgroupSize; + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +void safe_VkPipelineExecutablePropertiesKHR::initialize(const safe_VkPipelineExecutablePropertiesKHR* src) +{ + sType = src->sType; + stages = src->stages; + subgroupSize = src->subgroupSize; + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src->description[i]; + } +} + +safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR(const VkPipelineExecutableInfoKHR* in_struct) : + sType(in_struct->sType), + pipeline(in_struct->pipeline), + executableIndex(in_struct->executableIndex) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR() : + pNext(nullptr) +{} + +safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR(const safe_VkPipelineExecutableInfoKHR& src) +{ + sType = src.sType; + pipeline = src.pipeline; + executableIndex = src.executableIndex; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPipelineExecutableInfoKHR& safe_VkPipelineExecutableInfoKHR::operator=(const safe_VkPipelineExecutableInfoKHR& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + pipeline = src.pipeline; + executableIndex = src.executableIndex; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPipelineExecutableInfoKHR::~safe_VkPipelineExecutableInfoKHR() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineExecutableInfoKHR::initialize(const VkPipelineExecutableInfoKHR* in_struct) +{ + sType = in_struct->sType; + pipeline = in_struct->pipeline; + executableIndex = in_struct->executableIndex; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPipelineExecutableInfoKHR::initialize(const safe_VkPipelineExecutableInfoKHR* src) +{ + sType = src->sType; + pipeline = src->pipeline; + executableIndex = src->executableIndex; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR(const VkPipelineExecutableStatisticKHR* in_struct) : + sType(in_struct->sType), + format(in_struct->format), + value(in_struct->value) +{ + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR() : + pNext(nullptr) +{} + +safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR(const safe_VkPipelineExecutableStatisticKHR& src) +{ + sType = src.sType; + format = src.format; + value = src.value; + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src.name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src.description[i]; + } +} + +safe_VkPipelineExecutableStatisticKHR& safe_VkPipelineExecutableStatisticKHR::operator=(const safe_VkPipelineExecutableStatisticKHR& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + format = src.format; + value = src.value; + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src.name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src.description[i]; + } + + return *this; +} + +safe_VkPipelineExecutableStatisticKHR::~safe_VkPipelineExecutableStatisticKHR() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineExecutableStatisticKHR::initialize(const VkPipelineExecutableStatisticKHR* in_struct) +{ + sType = in_struct->sType; + format = in_struct->format; + value = in_struct->value; + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +void safe_VkPipelineExecutableStatisticKHR::initialize(const safe_VkPipelineExecutableStatisticKHR* src) +{ + sType = src->sType; + format = src->format; + value = src->value; + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src->description[i]; + } +} + +safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR(const VkPipelineExecutableInternalRepresentationKHR* in_struct) : + sType(in_struct->sType), + isText(in_struct->isText), + dataSize(in_struct->dataSize), + pData(in_struct->pData) +{ + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR() : + pNext(nullptr), + pData(nullptr) +{} + +safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR(const safe_VkPipelineExecutableInternalRepresentationKHR& src) +{ + sType = src.sType; + isText = src.isText; + dataSize = src.dataSize; + pData = src.pData; + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src.name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src.description[i]; + } +} + +safe_VkPipelineExecutableInternalRepresentationKHR& safe_VkPipelineExecutableInternalRepresentationKHR::operator=(const safe_VkPipelineExecutableInternalRepresentationKHR& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + isText = src.isText; + dataSize = src.dataSize; + pData = src.pData; + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src.name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src.description[i]; + } + + return *this; +} + +safe_VkPipelineExecutableInternalRepresentationKHR::~safe_VkPipelineExecutableInternalRepresentationKHR() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineExecutableInternalRepresentationKHR::initialize(const VkPipelineExecutableInternalRepresentationKHR* in_struct) +{ + sType = in_struct->sType; + isText = in_struct->isText; + dataSize = in_struct->dataSize; + pData = in_struct->pData; + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +void safe_VkPipelineExecutableInternalRepresentationKHR::initialize(const safe_VkPipelineExecutableInternalRepresentationKHR* src) +{ + sType = src->sType; + isText = src->isText; + dataSize = src->dataSize; + pData = src->pData; + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = src->name[i]; + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = src->description[i]; + } } safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT(const VkDebugReportCallbackCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), pfnCallback(in_struct->pfnCallback), pUserData(in_struct->pUserData) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT() +safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT() : + pNext(nullptr), + pUserData(nullptr) {} safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT(const safe_VkDebugReportCallbackCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; pfnCallback = src.pfnCallback; pUserData = src.pUserData; + pNext = SafePnextCopy(src.pNext); } safe_VkDebugReportCallbackCreateInfoEXT& safe_VkDebugReportCallbackCreateInfoEXT::operator=(const safe_VkDebugReportCallbackCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; pfnCallback = src.pfnCallback; pUserData = src.pUserData; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDebugReportCallbackCreateInfoEXT::~safe_VkDebugReportCallbackCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugReportCallbackCreateInfoEXT::initialize(const VkDebugReportCallbackCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; pfnCallback = in_struct->pfnCallback; pUserData = in_struct->pUserData; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDebugReportCallbackCreateInfoEXT::initialize(const safe_VkDebugReportCallbackCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; pfnCallback = src->pfnCallback; pUserData = src->pUserData; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD(const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), rasterizationOrder(in_struct->rasterizationOrder) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD() +safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD() : + pNext(nullptr) {} safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD(const safe_VkPipelineRasterizationStateRasterizationOrderAMD& src) { sType = src.sType; - pNext = src.pNext; rasterizationOrder = src.rasterizationOrder; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineRasterizationStateRasterizationOrderAMD& safe_VkPipelineRasterizationStateRasterizationOrderAMD::operator=(const safe_VkPipelineRasterizationStateRasterizationOrderAMD& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; rasterizationOrder = src.rasterizationOrder; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineRasterizationStateRasterizationOrderAMD::~safe_VkPipelineRasterizationStateRasterizationOrderAMD() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineRasterizationStateRasterizationOrderAMD::initialize(const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; rasterizationOrder = in_struct->rasterizationOrder; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineRasterizationStateRasterizationOrderAMD::initialize(const safe_VkPipelineRasterizationStateRasterizationOrderAMD* src) { sType = src->sType; - pNext = src->pNext; rasterizationOrder = src->rasterizationOrder; + pNext = SafePnextCopy(src->pNext); } safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT(const VkDebugMarkerObjectNameInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectType(in_struct->objectType), - object(in_struct->object), - pObjectName(in_struct->pObjectName) + object(in_struct->object) { + pNext = SafePnextCopy(in_struct->pNext); + pObjectName = SafeStringCopy(in_struct->pObjectName); } -safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT() +safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT() : + pNext(nullptr), + pObjectName(nullptr) {} safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT(const safe_VkDebugMarkerObjectNameInfoEXT& src) { sType = src.sType; - pNext = src.pNext; objectType = src.objectType; object = src.object; - pObjectName = src.pObjectName; + pNext = SafePnextCopy(src.pNext); + pObjectName = SafeStringCopy(src.pObjectName); } safe_VkDebugMarkerObjectNameInfoEXT& safe_VkDebugMarkerObjectNameInfoEXT::operator=(const safe_VkDebugMarkerObjectNameInfoEXT& src) { if (&src == this) return *this; + if (pObjectName) delete [] pObjectName; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectType = src.objectType; object = src.object; - pObjectName = src.pObjectName; + pNext = SafePnextCopy(src.pNext); + pObjectName = SafeStringCopy(src.pObjectName); return *this; } safe_VkDebugMarkerObjectNameInfoEXT::~safe_VkDebugMarkerObjectNameInfoEXT() { + if (pObjectName) delete [] pObjectName; + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugMarkerObjectNameInfoEXT::initialize(const VkDebugMarkerObjectNameInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectType = in_struct->objectType; object = in_struct->object; - pObjectName = in_struct->pObjectName; + pNext = SafePnextCopy(in_struct->pNext); + pObjectName = SafeStringCopy(in_struct->pObjectName); } void safe_VkDebugMarkerObjectNameInfoEXT::initialize(const safe_VkDebugMarkerObjectNameInfoEXT* src) { sType = src->sType; - pNext = src->pNext; objectType = src->objectType; object = src->object; - pObjectName = src->pObjectName; + pNext = SafePnextCopy(src->pNext); + pObjectName = SafeStringCopy(src->pObjectName); } safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT(const VkDebugMarkerObjectTagInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectType(in_struct->objectType), object(in_struct->object), tagName(in_struct->tagName), tagSize(in_struct->tagSize), pTag(in_struct->pTag) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT() +safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT() : + pNext(nullptr), + pTag(nullptr) {} safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT(const safe_VkDebugMarkerObjectTagInfoEXT& src) { sType = src.sType; - pNext = src.pNext; objectType = src.objectType; object = src.object; tagName = src.tagName; tagSize = src.tagSize; pTag = src.pTag; + pNext = SafePnextCopy(src.pNext); } safe_VkDebugMarkerObjectTagInfoEXT& safe_VkDebugMarkerObjectTagInfoEXT::operator=(const safe_VkDebugMarkerObjectTagInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectType = src.objectType; object = src.object; tagName = src.tagName; tagSize = src.tagSize; pTag = src.pTag; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDebugMarkerObjectTagInfoEXT::~safe_VkDebugMarkerObjectTagInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugMarkerObjectTagInfoEXT::initialize(const VkDebugMarkerObjectTagInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectType = in_struct->objectType; object = in_struct->object; tagName = in_struct->tagName; tagSize = in_struct->tagSize; pTag = in_struct->pTag; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDebugMarkerObjectTagInfoEXT::initialize(const safe_VkDebugMarkerObjectTagInfoEXT* src) { sType = src->sType; - pNext = src->pNext; objectType = src->objectType; object = src->object; tagName = src->tagName; tagSize = src->tagSize; pTag = src->pTag; + pNext = SafePnextCopy(src->pNext); } safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT(const VkDebugMarkerMarkerInfoEXT* in_struct) : - sType(in_struct->sType), - pNext(in_struct->pNext), - pMarkerName(in_struct->pMarkerName) + sType(in_struct->sType) { - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + pMarkerName = SafeStringCopy(in_struct->pMarkerName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = in_struct->color[i]; } } -safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT() +safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT() : + pNext(nullptr), + pMarkerName(nullptr) {} safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT(const safe_VkDebugMarkerMarkerInfoEXT& src) { sType = src.sType; - pNext = src.pNext; - pMarkerName = src.pMarkerName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(src.pNext); + pMarkerName = SafeStringCopy(src.pMarkerName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = src.color[i]; } } @@ -14432,11 +15826,14 @@ safe_VkDebugMarkerMarkerInfoEXT& safe_VkDebugMarkerMarkerInfoEXT::operator=(cons { if (&src == this) return *this; + if (pMarkerName) delete [] pMarkerName; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; - pMarkerName = src.pMarkerName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(src.pNext); + pMarkerName = SafeStringCopy(src.pMarkerName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = src.color[i]; } @@ -14445,14 +15842,17 @@ safe_VkDebugMarkerMarkerInfoEXT& safe_VkDebugMarkerMarkerInfoEXT::operator=(cons safe_VkDebugMarkerMarkerInfoEXT::~safe_VkDebugMarkerMarkerInfoEXT() { + if (pMarkerName) delete [] pMarkerName; + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugMarkerMarkerInfoEXT::initialize(const VkDebugMarkerMarkerInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; - pMarkerName = in_struct->pMarkerName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + pMarkerName = SafeStringCopy(in_struct->pMarkerName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = in_struct->color[i]; } } @@ -14460,214 +15860,233 @@ void safe_VkDebugMarkerMarkerInfoEXT::initialize(const VkDebugMarkerMarkerInfoEX void safe_VkDebugMarkerMarkerInfoEXT::initialize(const safe_VkDebugMarkerMarkerInfoEXT* src) { sType = src->sType; - pNext = src->pNext; - pMarkerName = src->pMarkerName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(src->pNext); + pMarkerName = SafeStringCopy(src->pMarkerName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = src->color[i]; } } safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV(const VkDedicatedAllocationImageCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), dedicatedAllocation(in_struct->dedicatedAllocation) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV() +safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV() : + pNext(nullptr) {} safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV(const safe_VkDedicatedAllocationImageCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; dedicatedAllocation = src.dedicatedAllocation; + pNext = SafePnextCopy(src.pNext); } safe_VkDedicatedAllocationImageCreateInfoNV& safe_VkDedicatedAllocationImageCreateInfoNV::operator=(const safe_VkDedicatedAllocationImageCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; dedicatedAllocation = src.dedicatedAllocation; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDedicatedAllocationImageCreateInfoNV::~safe_VkDedicatedAllocationImageCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDedicatedAllocationImageCreateInfoNV::initialize(const VkDedicatedAllocationImageCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; dedicatedAllocation = in_struct->dedicatedAllocation; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDedicatedAllocationImageCreateInfoNV::initialize(const safe_VkDedicatedAllocationImageCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; dedicatedAllocation = src->dedicatedAllocation; + pNext = SafePnextCopy(src->pNext); } safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV(const VkDedicatedAllocationBufferCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), dedicatedAllocation(in_struct->dedicatedAllocation) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV() +safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV() : + pNext(nullptr) {} safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV(const safe_VkDedicatedAllocationBufferCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; dedicatedAllocation = src.dedicatedAllocation; + pNext = SafePnextCopy(src.pNext); } safe_VkDedicatedAllocationBufferCreateInfoNV& safe_VkDedicatedAllocationBufferCreateInfoNV::operator=(const safe_VkDedicatedAllocationBufferCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; dedicatedAllocation = src.dedicatedAllocation; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDedicatedAllocationBufferCreateInfoNV::~safe_VkDedicatedAllocationBufferCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDedicatedAllocationBufferCreateInfoNV::initialize(const VkDedicatedAllocationBufferCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; dedicatedAllocation = in_struct->dedicatedAllocation; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDedicatedAllocationBufferCreateInfoNV::initialize(const safe_VkDedicatedAllocationBufferCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; dedicatedAllocation = src->dedicatedAllocation; + pNext = SafePnextCopy(src->pNext); } safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV(const VkDedicatedAllocationMemoryAllocateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), image(in_struct->image), buffer(in_struct->buffer) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV() +safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV() : + pNext(nullptr) {} safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV(const safe_VkDedicatedAllocationMemoryAllocateInfoNV& src) { sType = src.sType; - pNext = src.pNext; image = src.image; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); } safe_VkDedicatedAllocationMemoryAllocateInfoNV& safe_VkDedicatedAllocationMemoryAllocateInfoNV::operator=(const safe_VkDedicatedAllocationMemoryAllocateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; image = src.image; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDedicatedAllocationMemoryAllocateInfoNV::~safe_VkDedicatedAllocationMemoryAllocateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDedicatedAllocationMemoryAllocateInfoNV::initialize(const VkDedicatedAllocationMemoryAllocateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; image = in_struct->image; buffer = in_struct->buffer; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDedicatedAllocationMemoryAllocateInfoNV::initialize(const safe_VkDedicatedAllocationMemoryAllocateInfoNV* src) { sType = src->sType; - pNext = src->pNext; image = src->image; buffer = src->buffer; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), transformFeedback(in_struct->transformFeedback), geometryStreams(in_struct->geometryStreams) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT() +safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; transformFeedback = src.transformFeedback; geometryStreams = src.geometryStreams; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::operator=(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; transformFeedback = src.transformFeedback; geometryStreams = src.geometryStreams; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::~safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::initialize(const VkPhysicalDeviceTransformFeedbackFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; transformFeedback = in_struct->transformFeedback; geometryStreams = in_struct->geometryStreams; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::initialize(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; transformFeedback = src->transformFeedback; geometryStreams = src->geometryStreams; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxTransformFeedbackStreams(in_struct->maxTransformFeedbackStreams), maxTransformFeedbackBuffers(in_struct->maxTransformFeedbackBuffers), maxTransformFeedbackBufferSize(in_struct->maxTransformFeedbackBufferSize), @@ -14679,15 +16098,16 @@ safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransf transformFeedbackRasterizationStreamSelect(in_struct->transformFeedbackRasterizationStreamSelect), transformFeedbackDraw(in_struct->transformFeedbackDraw) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT() +safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; maxTransformFeedbackStreams = src.maxTransformFeedbackStreams; maxTransformFeedbackBuffers = src.maxTransformFeedbackBuffers; maxTransformFeedbackBufferSize = src.maxTransformFeedbackBufferSize; @@ -14698,15 +16118,17 @@ safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransf transformFeedbackStreamsLinesTriangles = src.transformFeedbackStreamsLinesTriangles; transformFeedbackRasterizationStreamSelect = src.transformFeedbackRasterizationStreamSelect; transformFeedbackDraw = src.transformFeedbackDraw; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::operator=(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxTransformFeedbackStreams = src.maxTransformFeedbackStreams; maxTransformFeedbackBuffers = src.maxTransformFeedbackBuffers; maxTransformFeedbackBufferSize = src.maxTransformFeedbackBufferSize; @@ -14717,18 +16139,20 @@ safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& safe_VkPhysicalDeviceTransf transformFeedbackStreamsLinesTriangles = src.transformFeedbackStreamsLinesTriangles; transformFeedbackRasterizationStreamSelect = src.transformFeedbackRasterizationStreamSelect; transformFeedbackDraw = src.transformFeedbackDraw; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::~safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const VkPhysicalDeviceTransformFeedbackPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxTransformFeedbackStreams = in_struct->maxTransformFeedbackStreams; maxTransformFeedbackBuffers = in_struct->maxTransformFeedbackBuffers; maxTransformFeedbackBufferSize = in_struct->maxTransformFeedbackBufferSize; @@ -14739,12 +16163,12 @@ void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const VkPhy transformFeedbackStreamsLinesTriangles = in_struct->transformFeedbackStreamsLinesTriangles; transformFeedbackRasterizationStreamSelect = in_struct->transformFeedbackRasterizationStreamSelect; transformFeedbackDraw = in_struct->transformFeedbackDraw; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; maxTransformFeedbackStreams = src->maxTransformFeedbackStreams; maxTransformFeedbackBuffers = src->maxTransformFeedbackBuffers; maxTransformFeedbackBufferSize = src->maxTransformFeedbackBufferSize; @@ -14755,413 +16179,454 @@ void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const safe_ transformFeedbackStreamsLinesTriangles = src->transformFeedbackStreamsLinesTriangles; transformFeedbackRasterizationStreamSelect = src->transformFeedbackRasterizationStreamSelect; transformFeedbackDraw = src->transformFeedbackDraw; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const VkPipelineRasterizationStateStreamCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), rasterizationStream(in_struct->rasterizationStream) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT() +safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT() : + pNext(nullptr) {} safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; rasterizationStream = src.rasterizationStream; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineRasterizationStateStreamCreateInfoEXT& safe_VkPipelineRasterizationStateStreamCreateInfoEXT::operator=(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; rasterizationStream = src.rasterizationStream; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineRasterizationStateStreamCreateInfoEXT::~safe_VkPipelineRasterizationStateStreamCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineRasterizationStateStreamCreateInfoEXT::initialize(const VkPipelineRasterizationStateStreamCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; rasterizationStream = in_struct->rasterizationStream; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineRasterizationStateStreamCreateInfoEXT::initialize(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; rasterizationStream = src->rasterizationStream; + pNext = SafePnextCopy(src->pNext); } safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX(const VkImageViewHandleInfoNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), imageView(in_struct->imageView), descriptorType(in_struct->descriptorType), sampler(in_struct->sampler) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX() +safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX() : + pNext(nullptr) {} safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX(const safe_VkImageViewHandleInfoNVX& src) { sType = src.sType; - pNext = src.pNext; imageView = src.imageView; descriptorType = src.descriptorType; sampler = src.sampler; + pNext = SafePnextCopy(src.pNext); } safe_VkImageViewHandleInfoNVX& safe_VkImageViewHandleInfoNVX::operator=(const safe_VkImageViewHandleInfoNVX& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; imageView = src.imageView; descriptorType = src.descriptorType; sampler = src.sampler; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageViewHandleInfoNVX::~safe_VkImageViewHandleInfoNVX() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageViewHandleInfoNVX::initialize(const VkImageViewHandleInfoNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; imageView = in_struct->imageView; descriptorType = in_struct->descriptorType; sampler = in_struct->sampler; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageViewHandleInfoNVX::initialize(const safe_VkImageViewHandleInfoNVX* src) { sType = src->sType; - pNext = src->pNext; imageView = src->imageView; descriptorType = src->descriptorType; sampler = src->sampler; + pNext = SafePnextCopy(src->pNext); } safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD(const VkTextureLODGatherFormatPropertiesAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), supportsTextureGatherLODBiasAMD(in_struct->supportsTextureGatherLODBiasAMD) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD() +safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD() : + pNext(nullptr) {} safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD(const safe_VkTextureLODGatherFormatPropertiesAMD& src) { sType = src.sType; - pNext = src.pNext; supportsTextureGatherLODBiasAMD = src.supportsTextureGatherLODBiasAMD; + pNext = SafePnextCopy(src.pNext); } safe_VkTextureLODGatherFormatPropertiesAMD& safe_VkTextureLODGatherFormatPropertiesAMD::operator=(const safe_VkTextureLODGatherFormatPropertiesAMD& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; supportsTextureGatherLODBiasAMD = src.supportsTextureGatherLODBiasAMD; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkTextureLODGatherFormatPropertiesAMD::~safe_VkTextureLODGatherFormatPropertiesAMD() { + if (pNext) + FreePnextChain(pNext); } void safe_VkTextureLODGatherFormatPropertiesAMD::initialize(const VkTextureLODGatherFormatPropertiesAMD* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; supportsTextureGatherLODBiasAMD = in_struct->supportsTextureGatherLODBiasAMD; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkTextureLODGatherFormatPropertiesAMD::initialize(const safe_VkTextureLODGatherFormatPropertiesAMD* src) { sType = src->sType; - pNext = src->pNext; supportsTextureGatherLODBiasAMD = src->supportsTextureGatherLODBiasAMD; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_GGP safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP(const VkStreamDescriptorSurfaceCreateInfoGGP* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), streamDescriptor(in_struct->streamDescriptor) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP() +safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP() : + pNext(nullptr) {} safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP(const safe_VkStreamDescriptorSurfaceCreateInfoGGP& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; streamDescriptor = src.streamDescriptor; + pNext = SafePnextCopy(src.pNext); } safe_VkStreamDescriptorSurfaceCreateInfoGGP& safe_VkStreamDescriptorSurfaceCreateInfoGGP::operator=(const safe_VkStreamDescriptorSurfaceCreateInfoGGP& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; streamDescriptor = src.streamDescriptor; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkStreamDescriptorSurfaceCreateInfoGGP::~safe_VkStreamDescriptorSurfaceCreateInfoGGP() { + if (pNext) + FreePnextChain(pNext); } void safe_VkStreamDescriptorSurfaceCreateInfoGGP::initialize(const VkStreamDescriptorSurfaceCreateInfoGGP* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; streamDescriptor = in_struct->streamDescriptor; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkStreamDescriptorSurfaceCreateInfoGGP::initialize(const safe_VkStreamDescriptorSurfaceCreateInfoGGP* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; streamDescriptor = src->streamDescriptor; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_GGP safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const VkPhysicalDeviceCornerSampledImageFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), cornerSampledImage(in_struct->cornerSampledImage) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV() +safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; cornerSampledImage = src.cornerSampledImage; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::operator=(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; cornerSampledImage = src.cornerSampledImage; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::~safe_VkPhysicalDeviceCornerSampledImageFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::initialize(const VkPhysicalDeviceCornerSampledImageFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; cornerSampledImage = in_struct->cornerSampledImage; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::initialize(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; cornerSampledImage = src->cornerSampledImage; + pNext = SafePnextCopy(src->pNext); } safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV(const VkExternalMemoryImageCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV() +safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV() : + pNext(nullptr) {} safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV(const safe_VkExternalMemoryImageCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalMemoryImageCreateInfoNV& safe_VkExternalMemoryImageCreateInfoNV::operator=(const safe_VkExternalMemoryImageCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalMemoryImageCreateInfoNV::~safe_VkExternalMemoryImageCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalMemoryImageCreateInfoNV::initialize(const VkExternalMemoryImageCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalMemoryImageCreateInfoNV::initialize(const safe_VkExternalMemoryImageCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV(const VkExportMemoryAllocateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleTypes(in_struct->handleTypes) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV() +safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV() : + pNext(nullptr) {} safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV(const safe_VkExportMemoryAllocateInfoNV& src) { sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); } safe_VkExportMemoryAllocateInfoNV& safe_VkExportMemoryAllocateInfoNV::operator=(const safe_VkExportMemoryAllocateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleTypes = src.handleTypes; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExportMemoryAllocateInfoNV::~safe_VkExportMemoryAllocateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExportMemoryAllocateInfoNV::initialize(const VkExportMemoryAllocateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExportMemoryAllocateInfoNV::initialize(const safe_VkExportMemoryAllocateInfoNV* src) { sType = src->sType; - pNext = src->pNext; handleTypes = src->handleTypes; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_WIN32_KHR safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV(const VkImportMemoryWin32HandleInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType), handle(in_struct->handle) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV() +safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV() : + pNext(nullptr) {} safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV(const safe_VkImportMemoryWin32HandleInfoNV& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; handle = src.handle; + pNext = SafePnextCopy(src.pNext); } safe_VkImportMemoryWin32HandleInfoNV& safe_VkImportMemoryWin32HandleInfoNV::operator=(const safe_VkImportMemoryWin32HandleInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; handle = src.handle; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportMemoryWin32HandleInfoNV::~safe_VkImportMemoryWin32HandleInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportMemoryWin32HandleInfoNV::initialize(const VkImportMemoryWin32HandleInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; handle = in_struct->handle; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportMemoryWin32HandleInfoNV::initialize(const safe_VkImportMemoryWin32HandleInfoNV* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; handle = src->handle; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -15170,25 +16635,26 @@ void safe_VkImportMemoryWin32HandleInfoNV::initialize(const safe_VkImportMemoryW safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV(const VkExportMemoryWin32HandleInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pAttributes(nullptr), dwAccess(in_struct->dwAccess) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } } safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV() : + pNext(nullptr), pAttributes(nullptr) {} safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV(const safe_VkExportMemoryWin32HandleInfoNV& src) { sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -15200,11 +16666,13 @@ safe_VkExportMemoryWin32HandleInfoNV& safe_VkExportMemoryWin32HandleInfoNV::oper if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pAttributes = nullptr; dwAccess = src.dwAccess; + pNext = SafePnextCopy(src.pNext); if (src.pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes); } @@ -15216,14 +16684,16 @@ safe_VkExportMemoryWin32HandleInfoNV::~safe_VkExportMemoryWin32HandleInfoNV() { if (pAttributes) delete pAttributes; + if (pNext) + FreePnextChain(pNext); } void safe_VkExportMemoryWin32HandleInfoNV::initialize(const VkExportMemoryWin32HandleInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pAttributes = nullptr; dwAccess = in_struct->dwAccess; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes); } @@ -15232,9 +16702,9 @@ void safe_VkExportMemoryWin32HandleInfoNV::initialize(const VkExportMemoryWin32H void safe_VkExportMemoryWin32HandleInfoNV::initialize(const safe_VkExportMemoryWin32HandleInfoNV* src) { sType = src->sType; - pNext = src->pNext; pAttributes = nullptr; dwAccess = src->dwAccess; + pNext = SafePnextCopy(src->pNext); if (src->pAttributes) { pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes); } @@ -15246,7 +16716,6 @@ void safe_VkExportMemoryWin32HandleInfoNV::initialize(const safe_VkExportMemoryW safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const VkWin32KeyedMutexAcquireReleaseInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), acquireCount(in_struct->acquireCount), pAcquireSyncs(nullptr), pAcquireKeys(nullptr), @@ -15255,9 +16724,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireRelease pReleaseSyncs(nullptr), pReleaseKeys(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (acquireCount && in_struct->pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = in_struct->pAcquireSyncs[i]; } } @@ -15271,7 +16741,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireRelease } if (releaseCount && in_struct->pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = in_struct->pReleaseSyncs[i]; } } @@ -15282,6 +16752,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireRelease } safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV() : + pNext(nullptr), pAcquireSyncs(nullptr), pAcquireKeys(nullptr), pAcquireTimeoutMilliseconds(nullptr), @@ -15292,7 +16763,6 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireRelease safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV& src) { sType = src.sType; - pNext = src.pNext; acquireCount = src.acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -15300,9 +16770,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireRelease releaseCount = src.releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(src.pNext); if (acquireCount && src.pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = src.pAcquireSyncs[i]; } } @@ -15316,7 +16787,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireRelease } if (releaseCount && src.pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = src.pReleaseSyncs[i]; } } @@ -15340,9 +16811,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV& safe_VkWin32KeyedMutexAcquireRelease delete[] pReleaseSyncs; if (pReleaseKeys) delete[] pReleaseKeys; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; acquireCount = src.acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -15350,9 +16822,10 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV& safe_VkWin32KeyedMutexAcquireRelease releaseCount = src.releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(src.pNext); if (acquireCount && src.pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = src.pAcquireSyncs[i]; } } @@ -15366,7 +16839,7 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV& safe_VkWin32KeyedMutexAcquireRelease } if (releaseCount && src.pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = src.pReleaseSyncs[i]; } } @@ -15390,12 +16863,13 @@ safe_VkWin32KeyedMutexAcquireReleaseInfoNV::~safe_VkWin32KeyedMutexAcquireReleas delete[] pReleaseSyncs; if (pReleaseKeys) delete[] pReleaseKeys; + if (pNext) + FreePnextChain(pNext); } void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const VkWin32KeyedMutexAcquireReleaseInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; acquireCount = in_struct->acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -15403,9 +16877,10 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const VkWin32KeyedMu releaseCount = in_struct->releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (acquireCount && in_struct->pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = in_struct->pAcquireSyncs[i]; } } @@ -15419,7 +16894,7 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const VkWin32KeyedMu } if (releaseCount && in_struct->pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = in_struct->pReleaseSyncs[i]; } } @@ -15432,7 +16907,6 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const VkWin32KeyedMu void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV* src) { sType = src->sType; - pNext = src->pNext; acquireCount = src->acquireCount; pAcquireSyncs = nullptr; pAcquireKeys = nullptr; @@ -15440,9 +16914,10 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const safe_VkWin32Ke releaseCount = src->releaseCount; pReleaseSyncs = nullptr; pReleaseKeys = nullptr; + pNext = SafePnextCopy(src->pNext); if (acquireCount && src->pAcquireSyncs) { pAcquireSyncs = new VkDeviceMemory[acquireCount]; - for (uint32_t i=0; i<acquireCount; ++i) { + for (uint32_t i = 0; i < acquireCount; ++i) { pAcquireSyncs[i] = src->pAcquireSyncs[i]; } } @@ -15456,7 +16931,7 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const safe_VkWin32Ke } if (releaseCount && src->pReleaseSyncs) { pReleaseSyncs = new VkDeviceMemory[releaseCount]; - for (uint32_t i=0; i<releaseCount; ++i) { + for (uint32_t i = 0; i < releaseCount; ++i) { pReleaseSyncs[i] = src->pReleaseSyncs[i]; } } @@ -15470,10 +16945,10 @@ void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const safe_VkWin32Ke safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const VkValidationFlagsEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), disabledValidationCheckCount(in_struct->disabledValidationCheckCount), pDisabledValidationChecks(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDisabledValidationChecks) { pDisabledValidationChecks = new VkValidationCheckEXT[in_struct->disabledValidationCheckCount]; memcpy ((void *)pDisabledValidationChecks, (void *)in_struct->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*in_struct->disabledValidationCheckCount); @@ -15481,15 +16956,16 @@ safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const VkValidationFlagsEXT* } safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT() : + pNext(nullptr), pDisabledValidationChecks(nullptr) {} safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const safe_VkValidationFlagsEXT& src) { sType = src.sType; - pNext = src.pNext; disabledValidationCheckCount = src.disabledValidationCheckCount; pDisabledValidationChecks = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDisabledValidationChecks) { pDisabledValidationChecks = new VkValidationCheckEXT[src.disabledValidationCheckCount]; memcpy ((void *)pDisabledValidationChecks, (void *)src.pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src.disabledValidationCheckCount); @@ -15502,11 +16978,13 @@ safe_VkValidationFlagsEXT& safe_VkValidationFlagsEXT::operator=(const safe_VkVal if (pDisabledValidationChecks) delete[] pDisabledValidationChecks; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; disabledValidationCheckCount = src.disabledValidationCheckCount; pDisabledValidationChecks = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDisabledValidationChecks) { pDisabledValidationChecks = new VkValidationCheckEXT[src.disabledValidationCheckCount]; memcpy ((void *)pDisabledValidationChecks, (void *)src.pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src.disabledValidationCheckCount); @@ -15519,14 +16997,16 @@ safe_VkValidationFlagsEXT::~safe_VkValidationFlagsEXT() { if (pDisabledValidationChecks) delete[] pDisabledValidationChecks; + if (pNext) + FreePnextChain(pNext); } void safe_VkValidationFlagsEXT::initialize(const VkValidationFlagsEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; disabledValidationCheckCount = in_struct->disabledValidationCheckCount; pDisabledValidationChecks = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDisabledValidationChecks) { pDisabledValidationChecks = new VkValidationCheckEXT[in_struct->disabledValidationCheckCount]; memcpy ((void *)pDisabledValidationChecks, (void *)in_struct->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*in_struct->disabledValidationCheckCount); @@ -15536,9 +17016,9 @@ void safe_VkValidationFlagsEXT::initialize(const VkValidationFlagsEXT* in_struct void safe_VkValidationFlagsEXT::initialize(const safe_VkValidationFlagsEXT* src) { sType = src->sType; - pNext = src->pNext; disabledValidationCheckCount = src->disabledValidationCheckCount; pDisabledValidationChecks = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDisabledValidationChecks) { pDisabledValidationChecks = new VkValidationCheckEXT[src->disabledValidationCheckCount]; memcpy ((void *)pDisabledValidationChecks, (void *)src->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src->disabledValidationCheckCount); @@ -15549,430 +17029,523 @@ void safe_VkValidationFlagsEXT::initialize(const safe_VkValidationFlagsEXT* src) safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN(const VkViSurfaceCreateInfoNN* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), window(in_struct->window) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN() +safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN() : + pNext(nullptr), + window(nullptr) {} safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN(const safe_VkViSurfaceCreateInfoNN& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; window = src.window; + pNext = SafePnextCopy(src.pNext); } safe_VkViSurfaceCreateInfoNN& safe_VkViSurfaceCreateInfoNN::operator=(const safe_VkViSurfaceCreateInfoNN& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; window = src.window; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkViSurfaceCreateInfoNN::~safe_VkViSurfaceCreateInfoNN() { + if (pNext) + FreePnextChain(pNext); } void safe_VkViSurfaceCreateInfoNN::initialize(const VkViSurfaceCreateInfoNN* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; window = in_struct->window; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkViSurfaceCreateInfoNN::initialize(const safe_VkViSurfaceCreateInfoNN* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; window = src->window; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_VI_NN +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* in_struct) : + sType(in_struct->sType), + textureCompressionASTC_HDR(in_struct->textureCompressionASTC_HDR) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& src) +{ + sType = src.sType; + textureCompressionASTC_HDR = src.textureCompressionASTC_HDR; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::operator=(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + textureCompressionASTC_HDR = src.textureCompressionASTC_HDR; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::initialize(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* in_struct) +{ + sType = in_struct->sType; + textureCompressionASTC_HDR = in_struct->textureCompressionASTC_HDR; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::initialize(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* src) +{ + sType = src->sType; + textureCompressionASTC_HDR = src->textureCompressionASTC_HDR; + pNext = SafePnextCopy(src->pNext); +} + safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT(const VkImageViewASTCDecodeModeEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), decodeMode(in_struct->decodeMode) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT() +safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT() : + pNext(nullptr) {} safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT(const safe_VkImageViewASTCDecodeModeEXT& src) { sType = src.sType; - pNext = src.pNext; decodeMode = src.decodeMode; + pNext = SafePnextCopy(src.pNext); } safe_VkImageViewASTCDecodeModeEXT& safe_VkImageViewASTCDecodeModeEXT::operator=(const safe_VkImageViewASTCDecodeModeEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; decodeMode = src.decodeMode; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageViewASTCDecodeModeEXT::~safe_VkImageViewASTCDecodeModeEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageViewASTCDecodeModeEXT::initialize(const VkImageViewASTCDecodeModeEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; decodeMode = in_struct->decodeMode; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageViewASTCDecodeModeEXT::initialize(const safe_VkImageViewASTCDecodeModeEXT* src) { sType = src->sType; - pNext = src->pNext; decodeMode = src->decodeMode; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const VkPhysicalDeviceASTCDecodeFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), decodeModeSharedExponent(in_struct->decodeModeSharedExponent) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT() +safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; decodeModeSharedExponent = src.decodeModeSharedExponent; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::operator=(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; decodeModeSharedExponent = src.decodeModeSharedExponent; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::~safe_VkPhysicalDeviceASTCDecodeFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::initialize(const VkPhysicalDeviceASTCDecodeFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; decodeModeSharedExponent = in_struct->decodeModeSharedExponent; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::initialize(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; decodeModeSharedExponent = src->decodeModeSharedExponent; + pNext = SafePnextCopy(src->pNext); } safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT(const VkConditionalRenderingBeginInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), buffer(in_struct->buffer), offset(in_struct->offset), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT() +safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT() : + pNext(nullptr) {} safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT(const safe_VkConditionalRenderingBeginInfoEXT& src) { sType = src.sType; - pNext = src.pNext; buffer = src.buffer; offset = src.offset; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkConditionalRenderingBeginInfoEXT& safe_VkConditionalRenderingBeginInfoEXT::operator=(const safe_VkConditionalRenderingBeginInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; buffer = src.buffer; offset = src.offset; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkConditionalRenderingBeginInfoEXT::~safe_VkConditionalRenderingBeginInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkConditionalRenderingBeginInfoEXT::initialize(const VkConditionalRenderingBeginInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; buffer = in_struct->buffer; offset = in_struct->offset; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkConditionalRenderingBeginInfoEXT::initialize(const safe_VkConditionalRenderingBeginInfoEXT* src) { sType = src->sType; - pNext = src->pNext; buffer = src->buffer; offset = src->offset; flags = src->flags; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const VkPhysicalDeviceConditionalRenderingFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), conditionalRendering(in_struct->conditionalRendering), inheritedConditionalRendering(in_struct->inheritedConditionalRendering) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT() +safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; conditionalRendering = src.conditionalRendering; inheritedConditionalRendering = src.inheritedConditionalRendering; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::operator=(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; conditionalRendering = src.conditionalRendering; inheritedConditionalRendering = src.inheritedConditionalRendering; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::~safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::initialize(const VkPhysicalDeviceConditionalRenderingFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; conditionalRendering = in_struct->conditionalRendering; inheritedConditionalRendering = in_struct->inheritedConditionalRendering; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::initialize(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; conditionalRendering = src->conditionalRendering; inheritedConditionalRendering = src->inheritedConditionalRendering; + pNext = SafePnextCopy(src->pNext); } safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const VkCommandBufferInheritanceConditionalRenderingInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), conditionalRenderingEnable(in_struct->conditionalRenderingEnable) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT() +safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT() : + pNext(nullptr) {} safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& src) { sType = src.sType; - pNext = src.pNext; conditionalRenderingEnable = src.conditionalRenderingEnable; + pNext = SafePnextCopy(src.pNext); } safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::operator=(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; conditionalRenderingEnable = src.conditionalRenderingEnable; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::~safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::initialize(const VkCommandBufferInheritanceConditionalRenderingInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; conditionalRenderingEnable = in_struct->conditionalRenderingEnable; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::initialize(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT* src) { sType = src->sType; - pNext = src->pNext; conditionalRenderingEnable = src->conditionalRenderingEnable; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX(const VkDeviceGeneratedCommandsFeaturesNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), computeBindingPointSupport(in_struct->computeBindingPointSupport) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX() +safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX() : + pNext(nullptr) {} safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX(const safe_VkDeviceGeneratedCommandsFeaturesNVX& src) { sType = src.sType; - pNext = src.pNext; computeBindingPointSupport = src.computeBindingPointSupport; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceGeneratedCommandsFeaturesNVX& safe_VkDeviceGeneratedCommandsFeaturesNVX::operator=(const safe_VkDeviceGeneratedCommandsFeaturesNVX& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; computeBindingPointSupport = src.computeBindingPointSupport; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceGeneratedCommandsFeaturesNVX::~safe_VkDeviceGeneratedCommandsFeaturesNVX() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGeneratedCommandsFeaturesNVX::initialize(const VkDeviceGeneratedCommandsFeaturesNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; computeBindingPointSupport = in_struct->computeBindingPointSupport; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceGeneratedCommandsFeaturesNVX::initialize(const safe_VkDeviceGeneratedCommandsFeaturesNVX* src) { sType = src->sType; - pNext = src->pNext; computeBindingPointSupport = src->computeBindingPointSupport; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX(const VkDeviceGeneratedCommandsLimitsNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxIndirectCommandsLayoutTokenCount(in_struct->maxIndirectCommandsLayoutTokenCount), maxObjectEntryCounts(in_struct->maxObjectEntryCounts), minSequenceCountBufferOffsetAlignment(in_struct->minSequenceCountBufferOffsetAlignment), minSequenceIndexBufferOffsetAlignment(in_struct->minSequenceIndexBufferOffsetAlignment), minCommandsTokenBufferOffsetAlignment(in_struct->minCommandsTokenBufferOffsetAlignment) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX() +safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX() : + pNext(nullptr) {} safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX(const safe_VkDeviceGeneratedCommandsLimitsNVX& src) { sType = src.sType; - pNext = src.pNext; maxIndirectCommandsLayoutTokenCount = src.maxIndirectCommandsLayoutTokenCount; maxObjectEntryCounts = src.maxObjectEntryCounts; minSequenceCountBufferOffsetAlignment = src.minSequenceCountBufferOffsetAlignment; minSequenceIndexBufferOffsetAlignment = src.minSequenceIndexBufferOffsetAlignment; minCommandsTokenBufferOffsetAlignment = src.minCommandsTokenBufferOffsetAlignment; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceGeneratedCommandsLimitsNVX& safe_VkDeviceGeneratedCommandsLimitsNVX::operator=(const safe_VkDeviceGeneratedCommandsLimitsNVX& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxIndirectCommandsLayoutTokenCount = src.maxIndirectCommandsLayoutTokenCount; maxObjectEntryCounts = src.maxObjectEntryCounts; minSequenceCountBufferOffsetAlignment = src.minSequenceCountBufferOffsetAlignment; minSequenceIndexBufferOffsetAlignment = src.minSequenceIndexBufferOffsetAlignment; minCommandsTokenBufferOffsetAlignment = src.minCommandsTokenBufferOffsetAlignment; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceGeneratedCommandsLimitsNVX::~safe_VkDeviceGeneratedCommandsLimitsNVX() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceGeneratedCommandsLimitsNVX::initialize(const VkDeviceGeneratedCommandsLimitsNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxIndirectCommandsLayoutTokenCount = in_struct->maxIndirectCommandsLayoutTokenCount; maxObjectEntryCounts = in_struct->maxObjectEntryCounts; minSequenceCountBufferOffsetAlignment = in_struct->minSequenceCountBufferOffsetAlignment; minSequenceIndexBufferOffsetAlignment = in_struct->minSequenceIndexBufferOffsetAlignment; minCommandsTokenBufferOffsetAlignment = in_struct->minCommandsTokenBufferOffsetAlignment; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceGeneratedCommandsLimitsNVX::initialize(const safe_VkDeviceGeneratedCommandsLimitsNVX* src) { sType = src->sType; - pNext = src->pNext; maxIndirectCommandsLayoutTokenCount = src->maxIndirectCommandsLayoutTokenCount; maxObjectEntryCounts = src->maxObjectEntryCounts; minSequenceCountBufferOffsetAlignment = src->minSequenceCountBufferOffsetAlignment; minSequenceIndexBufferOffsetAlignment = src->minSequenceIndexBufferOffsetAlignment; minCommandsTokenBufferOffsetAlignment = src->minCommandsTokenBufferOffsetAlignment; + pNext = SafePnextCopy(src->pNext); } safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX(const VkIndirectCommandsLayoutCreateInfoNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pipelineBindPoint(in_struct->pipelineBindPoint), flags(in_struct->flags), tokenCount(in_struct->tokenCount), pTokens(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pTokens) { pTokens = new VkIndirectCommandsLayoutTokenNVX[in_struct->tokenCount]; memcpy ((void *)pTokens, (void *)in_struct->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*in_struct->tokenCount); @@ -15980,17 +17553,18 @@ safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateI } safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX() : + pNext(nullptr), pTokens(nullptr) {} safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX(const safe_VkIndirectCommandsLayoutCreateInfoNVX& src) { sType = src.sType; - pNext = src.pNext; pipelineBindPoint = src.pipelineBindPoint; flags = src.flags; tokenCount = src.tokenCount; pTokens = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pTokens) { pTokens = new VkIndirectCommandsLayoutTokenNVX[src.tokenCount]; memcpy ((void *)pTokens, (void *)src.pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src.tokenCount); @@ -16003,13 +17577,15 @@ safe_VkIndirectCommandsLayoutCreateInfoNVX& safe_VkIndirectCommandsLayoutCreateI if (pTokens) delete[] pTokens; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pipelineBindPoint = src.pipelineBindPoint; flags = src.flags; tokenCount = src.tokenCount; pTokens = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pTokens) { pTokens = new VkIndirectCommandsLayoutTokenNVX[src.tokenCount]; memcpy ((void *)pTokens, (void *)src.pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src.tokenCount); @@ -16022,16 +17598,18 @@ safe_VkIndirectCommandsLayoutCreateInfoNVX::~safe_VkIndirectCommandsLayoutCreate { if (pTokens) delete[] pTokens; + if (pNext) + FreePnextChain(pNext); } void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const VkIndirectCommandsLayoutCreateInfoNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pipelineBindPoint = in_struct->pipelineBindPoint; flags = in_struct->flags; tokenCount = in_struct->tokenCount; pTokens = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pTokens) { pTokens = new VkIndirectCommandsLayoutTokenNVX[in_struct->tokenCount]; memcpy ((void *)pTokens, (void *)in_struct->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*in_struct->tokenCount); @@ -16041,11 +17619,11 @@ void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const VkIndirectComm void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const safe_VkIndirectCommandsLayoutCreateInfoNVX* src) { sType = src->sType; - pNext = src->pNext; pipelineBindPoint = src->pipelineBindPoint; flags = src->flags; tokenCount = src->tokenCount; pTokens = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pTokens) { pTokens = new VkIndirectCommandsLayoutTokenNVX[src->tokenCount]; memcpy ((void *)pTokens, (void *)src->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src->tokenCount); @@ -16054,7 +17632,6 @@ void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const safe_VkIndirec safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const VkCmdProcessCommandsInfoNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectTable(in_struct->objectTable), indirectCommandsLayout(in_struct->indirectCommandsLayout), indirectCommandsTokenCount(in_struct->indirectCommandsTokenCount), @@ -16066,22 +17643,23 @@ safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const VkCmdPr sequencesIndexBuffer(in_struct->sequencesIndexBuffer), sequencesIndexOffset(in_struct->sequencesIndexOffset) { + pNext = SafePnextCopy(in_struct->pNext); if (indirectCommandsTokenCount && in_struct->pIndirectCommandsTokens) { pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount]; - for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) { + for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) { pIndirectCommandsTokens[i] = in_struct->pIndirectCommandsTokens[i]; } } } safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX() : + pNext(nullptr), pIndirectCommandsTokens(nullptr) {} safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const safe_VkCmdProcessCommandsInfoNVX& src) { sType = src.sType; - pNext = src.pNext; objectTable = src.objectTable; indirectCommandsLayout = src.indirectCommandsLayout; indirectCommandsTokenCount = src.indirectCommandsTokenCount; @@ -16092,9 +17670,10 @@ safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const safe_Vk sequencesCountOffset = src.sequencesCountOffset; sequencesIndexBuffer = src.sequencesIndexBuffer; sequencesIndexOffset = src.sequencesIndexOffset; + pNext = SafePnextCopy(src.pNext); if (indirectCommandsTokenCount && src.pIndirectCommandsTokens) { pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount]; - for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) { + for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) { pIndirectCommandsTokens[i] = src.pIndirectCommandsTokens[i]; } } @@ -16106,9 +17685,10 @@ safe_VkCmdProcessCommandsInfoNVX& safe_VkCmdProcessCommandsInfoNVX::operator=(co if (pIndirectCommandsTokens) delete[] pIndirectCommandsTokens; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectTable = src.objectTable; indirectCommandsLayout = src.indirectCommandsLayout; indirectCommandsTokenCount = src.indirectCommandsTokenCount; @@ -16119,9 +17699,10 @@ safe_VkCmdProcessCommandsInfoNVX& safe_VkCmdProcessCommandsInfoNVX::operator=(co sequencesCountOffset = src.sequencesCountOffset; sequencesIndexBuffer = src.sequencesIndexBuffer; sequencesIndexOffset = src.sequencesIndexOffset; + pNext = SafePnextCopy(src.pNext); if (indirectCommandsTokenCount && src.pIndirectCommandsTokens) { pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount]; - for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) { + for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) { pIndirectCommandsTokens[i] = src.pIndirectCommandsTokens[i]; } } @@ -16133,12 +17714,13 @@ safe_VkCmdProcessCommandsInfoNVX::~safe_VkCmdProcessCommandsInfoNVX() { if (pIndirectCommandsTokens) delete[] pIndirectCommandsTokens; + if (pNext) + FreePnextChain(pNext); } void safe_VkCmdProcessCommandsInfoNVX::initialize(const VkCmdProcessCommandsInfoNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectTable = in_struct->objectTable; indirectCommandsLayout = in_struct->indirectCommandsLayout; indirectCommandsTokenCount = in_struct->indirectCommandsTokenCount; @@ -16149,9 +17731,10 @@ void safe_VkCmdProcessCommandsInfoNVX::initialize(const VkCmdProcessCommandsInfo sequencesCountOffset = in_struct->sequencesCountOffset; sequencesIndexBuffer = in_struct->sequencesIndexBuffer; sequencesIndexOffset = in_struct->sequencesIndexOffset; + pNext = SafePnextCopy(in_struct->pNext); if (indirectCommandsTokenCount && in_struct->pIndirectCommandsTokens) { pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount]; - for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) { + for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) { pIndirectCommandsTokens[i] = in_struct->pIndirectCommandsTokens[i]; } } @@ -16160,7 +17743,6 @@ void safe_VkCmdProcessCommandsInfoNVX::initialize(const VkCmdProcessCommandsInfo void safe_VkCmdProcessCommandsInfoNVX::initialize(const safe_VkCmdProcessCommandsInfoNVX* src) { sType = src->sType; - pNext = src->pNext; objectTable = src->objectTable; indirectCommandsLayout = src->indirectCommandsLayout; indirectCommandsTokenCount = src->indirectCommandsTokenCount; @@ -16171,9 +17753,10 @@ void safe_VkCmdProcessCommandsInfoNVX::initialize(const safe_VkCmdProcessCommand sequencesCountOffset = src->sequencesCountOffset; sequencesIndexBuffer = src->sequencesIndexBuffer; sequencesIndexOffset = src->sequencesIndexOffset; + pNext = SafePnextCopy(src->pNext); if (indirectCommandsTokenCount && src->pIndirectCommandsTokens) { pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount]; - for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) { + for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) { pIndirectCommandsTokens[i] = src->pIndirectCommandsTokens[i]; } } @@ -16181,64 +17764,68 @@ void safe_VkCmdProcessCommandsInfoNVX::initialize(const safe_VkCmdProcessCommand safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX(const VkCmdReserveSpaceForCommandsInfoNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectTable(in_struct->objectTable), indirectCommandsLayout(in_struct->indirectCommandsLayout), maxSequencesCount(in_struct->maxSequencesCount) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX() +safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX() : + pNext(nullptr) {} safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX(const safe_VkCmdReserveSpaceForCommandsInfoNVX& src) { sType = src.sType; - pNext = src.pNext; objectTable = src.objectTable; indirectCommandsLayout = src.indirectCommandsLayout; maxSequencesCount = src.maxSequencesCount; + pNext = SafePnextCopy(src.pNext); } safe_VkCmdReserveSpaceForCommandsInfoNVX& safe_VkCmdReserveSpaceForCommandsInfoNVX::operator=(const safe_VkCmdReserveSpaceForCommandsInfoNVX& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectTable = src.objectTable; indirectCommandsLayout = src.indirectCommandsLayout; maxSequencesCount = src.maxSequencesCount; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCmdReserveSpaceForCommandsInfoNVX::~safe_VkCmdReserveSpaceForCommandsInfoNVX() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCmdReserveSpaceForCommandsInfoNVX::initialize(const VkCmdReserveSpaceForCommandsInfoNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectTable = in_struct->objectTable; indirectCommandsLayout = in_struct->indirectCommandsLayout; maxSequencesCount = in_struct->maxSequencesCount; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCmdReserveSpaceForCommandsInfoNVX::initialize(const safe_VkCmdReserveSpaceForCommandsInfoNVX* src) { sType = src->sType; - pNext = src->pNext; objectTable = src->objectTable; indirectCommandsLayout = src->indirectCommandsLayout; maxSequencesCount = src->maxSequencesCount; + pNext = SafePnextCopy(src->pNext); } safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const VkObjectTableCreateInfoNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectCount(in_struct->objectCount), pObjectEntryTypes(nullptr), pObjectEntryCounts(nullptr), @@ -16249,6 +17836,7 @@ safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const VkObjectT maxSampledImagesPerDescriptor(in_struct->maxSampledImagesPerDescriptor), maxPipelineLayouts(in_struct->maxPipelineLayouts) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pObjectEntryTypes) { pObjectEntryTypes = new VkObjectEntryTypeNVX[in_struct->objectCount]; memcpy ((void *)pObjectEntryTypes, (void *)in_struct->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*in_struct->objectCount); @@ -16264,6 +17852,7 @@ safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const VkObjectT } safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX() : + pNext(nullptr), pObjectEntryTypes(nullptr), pObjectEntryCounts(nullptr), pObjectEntryUsageFlags(nullptr) @@ -16272,7 +17861,6 @@ safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX() : safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const safe_VkObjectTableCreateInfoNVX& src) { sType = src.sType; - pNext = src.pNext; objectCount = src.objectCount; pObjectEntryTypes = nullptr; pObjectEntryCounts = nullptr; @@ -16282,6 +17870,7 @@ safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const safe_VkOb maxStorageImagesPerDescriptor = src.maxStorageImagesPerDescriptor; maxSampledImagesPerDescriptor = src.maxSampledImagesPerDescriptor; maxPipelineLayouts = src.maxPipelineLayouts; + pNext = SafePnextCopy(src.pNext); if (src.pObjectEntryTypes) { pObjectEntryTypes = new VkObjectEntryTypeNVX[src.objectCount]; memcpy ((void *)pObjectEntryTypes, (void *)src.pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src.objectCount); @@ -16306,9 +17895,10 @@ safe_VkObjectTableCreateInfoNVX& safe_VkObjectTableCreateInfoNVX::operator=(cons delete[] pObjectEntryCounts; if (pObjectEntryUsageFlags) delete[] pObjectEntryUsageFlags; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectCount = src.objectCount; pObjectEntryTypes = nullptr; pObjectEntryCounts = nullptr; @@ -16318,6 +17908,7 @@ safe_VkObjectTableCreateInfoNVX& safe_VkObjectTableCreateInfoNVX::operator=(cons maxStorageImagesPerDescriptor = src.maxStorageImagesPerDescriptor; maxSampledImagesPerDescriptor = src.maxSampledImagesPerDescriptor; maxPipelineLayouts = src.maxPipelineLayouts; + pNext = SafePnextCopy(src.pNext); if (src.pObjectEntryTypes) { pObjectEntryTypes = new VkObjectEntryTypeNVX[src.objectCount]; memcpy ((void *)pObjectEntryTypes, (void *)src.pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src.objectCount); @@ -16342,12 +17933,13 @@ safe_VkObjectTableCreateInfoNVX::~safe_VkObjectTableCreateInfoNVX() delete[] pObjectEntryCounts; if (pObjectEntryUsageFlags) delete[] pObjectEntryUsageFlags; + if (pNext) + FreePnextChain(pNext); } void safe_VkObjectTableCreateInfoNVX::initialize(const VkObjectTableCreateInfoNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectCount = in_struct->objectCount; pObjectEntryTypes = nullptr; pObjectEntryCounts = nullptr; @@ -16357,6 +17949,7 @@ void safe_VkObjectTableCreateInfoNVX::initialize(const VkObjectTableCreateInfoNV maxStorageImagesPerDescriptor = in_struct->maxStorageImagesPerDescriptor; maxSampledImagesPerDescriptor = in_struct->maxSampledImagesPerDescriptor; maxPipelineLayouts = in_struct->maxPipelineLayouts; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pObjectEntryTypes) { pObjectEntryTypes = new VkObjectEntryTypeNVX[in_struct->objectCount]; memcpy ((void *)pObjectEntryTypes, (void *)in_struct->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*in_struct->objectCount); @@ -16374,7 +17967,6 @@ void safe_VkObjectTableCreateInfoNVX::initialize(const VkObjectTableCreateInfoNV void safe_VkObjectTableCreateInfoNVX::initialize(const safe_VkObjectTableCreateInfoNVX* src) { sType = src->sType; - pNext = src->pNext; objectCount = src->objectCount; pObjectEntryTypes = nullptr; pObjectEntryCounts = nullptr; @@ -16384,6 +17976,7 @@ void safe_VkObjectTableCreateInfoNVX::initialize(const safe_VkObjectTableCreateI maxStorageImagesPerDescriptor = src->maxStorageImagesPerDescriptor; maxSampledImagesPerDescriptor = src->maxSampledImagesPerDescriptor; maxPipelineLayouts = src->maxPipelineLayouts; + pNext = SafePnextCopy(src->pNext); if (src->pObjectEntryTypes) { pObjectEntryTypes = new VkObjectEntryTypeNVX[src->objectCount]; memcpy ((void *)pObjectEntryTypes, (void *)src->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src->objectCount); @@ -16400,11 +17993,11 @@ void safe_VkObjectTableCreateInfoNVX::initialize(const safe_VkObjectTableCreateI safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV(const VkPipelineViewportWScalingStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), viewportWScalingEnable(in_struct->viewportWScalingEnable), viewportCount(in_struct->viewportCount), pViewportWScalings(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewportWScalings) { pViewportWScalings = new VkViewportWScalingNV[in_struct->viewportCount]; memcpy ((void *)pViewportWScalings, (void *)in_struct->pViewportWScalings, sizeof(VkViewportWScalingNV)*in_struct->viewportCount); @@ -16412,16 +18005,17 @@ safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalin } safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV() : + pNext(nullptr), pViewportWScalings(nullptr) {} safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV(const safe_VkPipelineViewportWScalingStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; viewportWScalingEnable = src.viewportWScalingEnable; viewportCount = src.viewportCount; pViewportWScalings = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewportWScalings) { pViewportWScalings = new VkViewportWScalingNV[src.viewportCount]; memcpy ((void *)pViewportWScalings, (void *)src.pViewportWScalings, sizeof(VkViewportWScalingNV)*src.viewportCount); @@ -16434,12 +18028,14 @@ safe_VkPipelineViewportWScalingStateCreateInfoNV& safe_VkPipelineViewportWScalin if (pViewportWScalings) delete[] pViewportWScalings; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; viewportWScalingEnable = src.viewportWScalingEnable; viewportCount = src.viewportCount; pViewportWScalings = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewportWScalings) { pViewportWScalings = new VkViewportWScalingNV[src.viewportCount]; memcpy ((void *)pViewportWScalings, (void *)src.pViewportWScalings, sizeof(VkViewportWScalingNV)*src.viewportCount); @@ -16452,15 +18048,17 @@ safe_VkPipelineViewportWScalingStateCreateInfoNV::~safe_VkPipelineViewportWScali { if (pViewportWScalings) delete[] pViewportWScalings; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const VkPipelineViewportWScalingStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; viewportWScalingEnable = in_struct->viewportWScalingEnable; viewportCount = in_struct->viewportCount; pViewportWScalings = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewportWScalings) { pViewportWScalings = new VkViewportWScalingNV[in_struct->viewportCount]; memcpy ((void *)pViewportWScalings, (void *)in_struct->pViewportWScalings, sizeof(VkViewportWScalingNV)*in_struct->viewportCount); @@ -16470,10 +18068,10 @@ void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const VkPipeli void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const safe_VkPipelineViewportWScalingStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; viewportWScalingEnable = src->viewportWScalingEnable; viewportCount = src->viewportCount; pViewportWScalings = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pViewportWScalings) { pViewportWScalings = new VkViewportWScalingNV[src->viewportCount]; memcpy ((void *)pViewportWScalings, (void *)src->pViewportWScalings, sizeof(VkViewportWScalingNV)*src->viewportCount); @@ -16482,7 +18080,6 @@ void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const safe_VkP safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const VkSurfaceCapabilities2EXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), minImageCount(in_struct->minImageCount), maxImageCount(in_struct->maxImageCount), currentExtent(in_struct->currentExtent), @@ -16495,15 +18092,16 @@ safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const VkSurfaceCa supportedUsageFlags(in_struct->supportedUsageFlags), supportedSurfaceCounters(in_struct->supportedSurfaceCounters) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT() +safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT() : + pNext(nullptr) {} safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const safe_VkSurfaceCapabilities2EXT& src) { sType = src.sType; - pNext = src.pNext; minImageCount = src.minImageCount; maxImageCount = src.maxImageCount; currentExtent = src.currentExtent; @@ -16515,15 +18113,17 @@ safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const safe_VkSurf supportedCompositeAlpha = src.supportedCompositeAlpha; supportedUsageFlags = src.supportedUsageFlags; supportedSurfaceCounters = src.supportedSurfaceCounters; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceCapabilities2EXT& safe_VkSurfaceCapabilities2EXT::operator=(const safe_VkSurfaceCapabilities2EXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; minImageCount = src.minImageCount; maxImageCount = src.maxImageCount; currentExtent = src.currentExtent; @@ -16535,18 +18135,20 @@ safe_VkSurfaceCapabilities2EXT& safe_VkSurfaceCapabilities2EXT::operator=(const supportedCompositeAlpha = src.supportedCompositeAlpha; supportedUsageFlags = src.supportedUsageFlags; supportedSurfaceCounters = src.supportedSurfaceCounters; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceCapabilities2EXT::~safe_VkSurfaceCapabilities2EXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceCapabilities2EXT::initialize(const VkSurfaceCapabilities2EXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; minImageCount = in_struct->minImageCount; maxImageCount = in_struct->maxImageCount; currentExtent = in_struct->currentExtent; @@ -16558,12 +18160,12 @@ void safe_VkSurfaceCapabilities2EXT::initialize(const VkSurfaceCapabilities2EXT* supportedCompositeAlpha = in_struct->supportedCompositeAlpha; supportedUsageFlags = in_struct->supportedUsageFlags; supportedSurfaceCounters = in_struct->supportedSurfaceCounters; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceCapabilities2EXT::initialize(const safe_VkSurfaceCapabilities2EXT* src) { sType = src->sType; - pNext = src->pNext; minImageCount = src->minImageCount; maxImageCount = src->maxImageCount; currentExtent = src->currentExtent; @@ -16575,202 +18177,223 @@ void safe_VkSurfaceCapabilities2EXT::initialize(const safe_VkSurfaceCapabilities supportedCompositeAlpha = src->supportedCompositeAlpha; supportedUsageFlags = src->supportedUsageFlags; supportedSurfaceCounters = src->supportedSurfaceCounters; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT(const VkDisplayPowerInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), powerState(in_struct->powerState) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT() +safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT() : + pNext(nullptr) {} safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT(const safe_VkDisplayPowerInfoEXT& src) { sType = src.sType; - pNext = src.pNext; powerState = src.powerState; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayPowerInfoEXT& safe_VkDisplayPowerInfoEXT::operator=(const safe_VkDisplayPowerInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; powerState = src.powerState; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayPowerInfoEXT::~safe_VkDisplayPowerInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayPowerInfoEXT::initialize(const VkDisplayPowerInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; powerState = in_struct->powerState; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayPowerInfoEXT::initialize(const safe_VkDisplayPowerInfoEXT* src) { sType = src->sType; - pNext = src->pNext; powerState = src->powerState; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT(const VkDeviceEventInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceEvent(in_struct->deviceEvent) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT() +safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT() : + pNext(nullptr) {} safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT(const safe_VkDeviceEventInfoEXT& src) { sType = src.sType; - pNext = src.pNext; deviceEvent = src.deviceEvent; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceEventInfoEXT& safe_VkDeviceEventInfoEXT::operator=(const safe_VkDeviceEventInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceEvent = src.deviceEvent; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceEventInfoEXT::~safe_VkDeviceEventInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceEventInfoEXT::initialize(const VkDeviceEventInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceEvent = in_struct->deviceEvent; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceEventInfoEXT::initialize(const safe_VkDeviceEventInfoEXT* src) { sType = src->sType; - pNext = src->pNext; deviceEvent = src->deviceEvent; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT(const VkDisplayEventInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), displayEvent(in_struct->displayEvent) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT() +safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT() : + pNext(nullptr) {} safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT(const safe_VkDisplayEventInfoEXT& src) { sType = src.sType; - pNext = src.pNext; displayEvent = src.displayEvent; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayEventInfoEXT& safe_VkDisplayEventInfoEXT::operator=(const safe_VkDisplayEventInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; displayEvent = src.displayEvent; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayEventInfoEXT::~safe_VkDisplayEventInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayEventInfoEXT::initialize(const VkDisplayEventInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; displayEvent = in_struct->displayEvent; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayEventInfoEXT::initialize(const safe_VkDisplayEventInfoEXT* src) { sType = src->sType; - pNext = src->pNext; displayEvent = src->displayEvent; + pNext = SafePnextCopy(src->pNext); } safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT(const VkSwapchainCounterCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), surfaceCounters(in_struct->surfaceCounters) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT() +safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT() : + pNext(nullptr) {} safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT(const safe_VkSwapchainCounterCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; surfaceCounters = src.surfaceCounters; + pNext = SafePnextCopy(src.pNext); } safe_VkSwapchainCounterCreateInfoEXT& safe_VkSwapchainCounterCreateInfoEXT::operator=(const safe_VkSwapchainCounterCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; surfaceCounters = src.surfaceCounters; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSwapchainCounterCreateInfoEXT::~safe_VkSwapchainCounterCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSwapchainCounterCreateInfoEXT::initialize(const VkSwapchainCounterCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; surfaceCounters = in_struct->surfaceCounters; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSwapchainCounterCreateInfoEXT::initialize(const safe_VkSwapchainCounterCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; surfaceCounters = src->surfaceCounters; + pNext = SafePnextCopy(src->pNext); } safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const VkPresentTimesInfoGOOGLE* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), swapchainCount(in_struct->swapchainCount), pTimes(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pTimes) { pTimes = new VkPresentTimeGOOGLE[in_struct->swapchainCount]; memcpy ((void *)pTimes, (void *)in_struct->pTimes, sizeof(VkPresentTimeGOOGLE)*in_struct->swapchainCount); @@ -16778,15 +18401,16 @@ safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const VkPresentTime } safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE() : + pNext(nullptr), pTimes(nullptr) {} safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const safe_VkPresentTimesInfoGOOGLE& src) { sType = src.sType; - pNext = src.pNext; swapchainCount = src.swapchainCount; pTimes = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pTimes) { pTimes = new VkPresentTimeGOOGLE[src.swapchainCount]; memcpy ((void *)pTimes, (void *)src.pTimes, sizeof(VkPresentTimeGOOGLE)*src.swapchainCount); @@ -16799,11 +18423,13 @@ safe_VkPresentTimesInfoGOOGLE& safe_VkPresentTimesInfoGOOGLE::operator=(const sa if (pTimes) delete[] pTimes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; swapchainCount = src.swapchainCount; pTimes = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pTimes) { pTimes = new VkPresentTimeGOOGLE[src.swapchainCount]; memcpy ((void *)pTimes, (void *)src.pTimes, sizeof(VkPresentTimeGOOGLE)*src.swapchainCount); @@ -16816,14 +18442,16 @@ safe_VkPresentTimesInfoGOOGLE::~safe_VkPresentTimesInfoGOOGLE() { if (pTimes) delete[] pTimes; + if (pNext) + FreePnextChain(pNext); } void safe_VkPresentTimesInfoGOOGLE::initialize(const VkPresentTimesInfoGOOGLE* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; swapchainCount = in_struct->swapchainCount; pTimes = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pTimes) { pTimes = new VkPresentTimeGOOGLE[in_struct->swapchainCount]; memcpy ((void *)pTimes, (void *)in_struct->pTimes, sizeof(VkPresentTimeGOOGLE)*in_struct->swapchainCount); @@ -16833,9 +18461,9 @@ void safe_VkPresentTimesInfoGOOGLE::initialize(const VkPresentTimesInfoGOOGLE* i void safe_VkPresentTimesInfoGOOGLE::initialize(const safe_VkPresentTimesInfoGOOGLE* src) { sType = src->sType; - pNext = src->pNext; swapchainCount = src->swapchainCount; pTimes = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pTimes) { pTimes = new VkPresentTimeGOOGLE[src->swapchainCount]; memcpy ((void *)pTimes, (void *)src->pTimes, sizeof(VkPresentTimeGOOGLE)*src->swapchainCount); @@ -16844,58 +18472,63 @@ void safe_VkPresentTimesInfoGOOGLE::initialize(const safe_VkPresentTimesInfoGOOG safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), perViewPositionAllComponents(in_struct->perViewPositionAllComponents) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX() +safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX() : + pNext(nullptr) {} safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& src) { sType = src.sType; - pNext = src.pNext; perViewPositionAllComponents = src.perViewPositionAllComponents; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::operator=(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; perViewPositionAllComponents = src.perViewPositionAllComponents; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::~safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::initialize(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; perViewPositionAllComponents = in_struct->perViewPositionAllComponents; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::initialize(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* src) { sType = src->sType; - pNext = src->pNext; perViewPositionAllComponents = src->perViewPositionAllComponents; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV(const VkPipelineViewportSwizzleStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), viewportCount(in_struct->viewportCount), pViewportSwizzles(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewportSwizzles) { pViewportSwizzles = new VkViewportSwizzleNV[in_struct->viewportCount]; memcpy ((void *)pViewportSwizzles, (void *)in_struct->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*in_struct->viewportCount); @@ -16903,16 +18536,17 @@ safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleS } safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV() : + pNext(nullptr), pViewportSwizzles(nullptr) {} safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV(const safe_VkPipelineViewportSwizzleStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; viewportCount = src.viewportCount; pViewportSwizzles = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewportSwizzles) { pViewportSwizzles = new VkViewportSwizzleNV[src.viewportCount]; memcpy ((void *)pViewportSwizzles, (void *)src.pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src.viewportCount); @@ -16925,12 +18559,14 @@ safe_VkPipelineViewportSwizzleStateCreateInfoNV& safe_VkPipelineViewportSwizzleS if (pViewportSwizzles) delete[] pViewportSwizzles; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; viewportCount = src.viewportCount; pViewportSwizzles = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pViewportSwizzles) { pViewportSwizzles = new VkViewportSwizzleNV[src.viewportCount]; memcpy ((void *)pViewportSwizzles, (void *)src.pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src.viewportCount); @@ -16943,15 +18579,17 @@ safe_VkPipelineViewportSwizzleStateCreateInfoNV::~safe_VkPipelineViewportSwizzle { if (pViewportSwizzles) delete[] pViewportSwizzles; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const VkPipelineViewportSwizzleStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; viewportCount = in_struct->viewportCount; pViewportSwizzles = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pViewportSwizzles) { pViewportSwizzles = new VkViewportSwizzleNV[in_struct->viewportCount]; memcpy ((void *)pViewportSwizzles, (void *)in_struct->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*in_struct->viewportCount); @@ -16961,10 +18599,10 @@ void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const VkPipelin void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const safe_VkPipelineViewportSwizzleStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; viewportCount = src->viewportCount; pViewportSwizzles = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pViewportSwizzles) { pViewportSwizzles = new VkViewportSwizzleNV[src->viewportCount]; memcpy ((void *)pViewportSwizzles, (void *)src->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src->viewportCount); @@ -16973,59 +18611,64 @@ void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const safe_VkPi safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const VkPhysicalDeviceDiscardRectanglePropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxDiscardRectangles(in_struct->maxDiscardRectangles) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT() +safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; maxDiscardRectangles = src.maxDiscardRectangles; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::operator=(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxDiscardRectangles = src.maxDiscardRectangles; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::~safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::initialize(const VkPhysicalDeviceDiscardRectanglePropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxDiscardRectangles = in_struct->maxDiscardRectangles; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::initialize(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; maxDiscardRectangles = src->maxDiscardRectangles; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const VkPipelineDiscardRectangleStateCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), discardRectangleMode(in_struct->discardRectangleMode), discardRectangleCount(in_struct->discardRectangleCount), pDiscardRectangles(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDiscardRectangles) { pDiscardRectangles = new VkRect2D[in_struct->discardRectangleCount]; memcpy ((void *)pDiscardRectangles, (void *)in_struct->pDiscardRectangles, sizeof(VkRect2D)*in_struct->discardRectangleCount); @@ -17033,17 +18676,18 @@ safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectang } safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT() : + pNext(nullptr), pDiscardRectangles(nullptr) {} safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; discardRectangleMode = src.discardRectangleMode; discardRectangleCount = src.discardRectangleCount; pDiscardRectangles = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDiscardRectangles) { pDiscardRectangles = new VkRect2D[src.discardRectangleCount]; memcpy ((void *)pDiscardRectangles, (void *)src.pDiscardRectangles, sizeof(VkRect2D)*src.discardRectangleCount); @@ -17056,13 +18700,15 @@ safe_VkPipelineDiscardRectangleStateCreateInfoEXT& safe_VkPipelineDiscardRectang if (pDiscardRectangles) delete[] pDiscardRectangles; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; discardRectangleMode = src.discardRectangleMode; discardRectangleCount = src.discardRectangleCount; pDiscardRectangles = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDiscardRectangles) { pDiscardRectangles = new VkRect2D[src.discardRectangleCount]; memcpy ((void *)pDiscardRectangles, (void *)src.pDiscardRectangles, sizeof(VkRect2D)*src.discardRectangleCount); @@ -17075,16 +18721,18 @@ safe_VkPipelineDiscardRectangleStateCreateInfoEXT::~safe_VkPipelineDiscardRectan { if (pDiscardRectangles) delete[] pDiscardRectangles; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const VkPipelineDiscardRectangleStateCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; discardRectangleMode = in_struct->discardRectangleMode; discardRectangleCount = in_struct->discardRectangleCount; pDiscardRectangles = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDiscardRectangles) { pDiscardRectangles = new VkRect2D[in_struct->discardRectangleCount]; memcpy ((void *)pDiscardRectangles, (void *)in_struct->pDiscardRectangles, sizeof(VkRect2D)*in_struct->discardRectangleCount); @@ -17094,11 +18742,11 @@ void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const VkPipel void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; discardRectangleMode = src->discardRectangleMode; discardRectangleCount = src->discardRectangleCount; pDiscardRectangles = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDiscardRectangles) { pDiscardRectangles = new VkRect2D[src->discardRectangleCount]; memcpy ((void *)pDiscardRectangles, (void *)src->pDiscardRectangles, sizeof(VkRect2D)*src->discardRectangleCount); @@ -17107,7 +18755,6 @@ void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const safe_Vk safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), primitiveOverestimationSize(in_struct->primitiveOverestimationSize), maxExtraPrimitiveOverestimationSize(in_struct->maxExtraPrimitiveOverestimationSize), extraPrimitiveOverestimationSizeGranularity(in_struct->extraPrimitiveOverestimationSizeGranularity), @@ -17118,15 +18765,16 @@ safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDevi fullyCoveredFragmentShaderInputVariable(in_struct->fullyCoveredFragmentShaderInputVariable), conservativeRasterizationPostDepthCoverage(in_struct->conservativeRasterizationPostDepthCoverage) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT() +safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; primitiveOverestimationSize = src.primitiveOverestimationSize; maxExtraPrimitiveOverestimationSize = src.maxExtraPrimitiveOverestimationSize; extraPrimitiveOverestimationSizeGranularity = src.extraPrimitiveOverestimationSizeGranularity; @@ -17136,15 +18784,17 @@ safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDevi degenerateLinesRasterized = src.degenerateLinesRasterized; fullyCoveredFragmentShaderInputVariable = src.fullyCoveredFragmentShaderInputVariable; conservativeRasterizationPostDepthCoverage = src.conservativeRasterizationPostDepthCoverage; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::operator=(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; primitiveOverestimationSize = src.primitiveOverestimationSize; maxExtraPrimitiveOverestimationSize = src.maxExtraPrimitiveOverestimationSize; extraPrimitiveOverestimationSizeGranularity = src.extraPrimitiveOverestimationSizeGranularity; @@ -17154,18 +18804,20 @@ safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& safe_VkPhysicalDevi degenerateLinesRasterized = src.degenerateLinesRasterized; fullyCoveredFragmentShaderInputVariable = src.fullyCoveredFragmentShaderInputVariable; conservativeRasterizationPostDepthCoverage = src.conservativeRasterizationPostDepthCoverage; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::~safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; primitiveOverestimationSize = in_struct->primitiveOverestimationSize; maxExtraPrimitiveOverestimationSize = in_struct->maxExtraPrimitiveOverestimationSize; extraPrimitiveOverestimationSizeGranularity = in_struct->extraPrimitiveOverestimationSizeGranularity; @@ -17175,12 +18827,12 @@ void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(con degenerateLinesRasterized = in_struct->degenerateLinesRasterized; fullyCoveredFragmentShaderInputVariable = in_struct->fullyCoveredFragmentShaderInputVariable; conservativeRasterizationPostDepthCoverage = in_struct->conservativeRasterizationPostDepthCoverage; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; primitiveOverestimationSize = src->primitiveOverestimationSize; maxExtraPrimitiveOverestimationSize = src->maxExtraPrimitiveOverestimationSize; extraPrimitiveOverestimationSizeGranularity = src->extraPrimitiveOverestimationSizeGranularity; @@ -17190,167 +18842,182 @@ void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(con degenerateLinesRasterized = src->degenerateLinesRasterized; fullyCoveredFragmentShaderInputVariable = src->fullyCoveredFragmentShaderInputVariable; conservativeRasterizationPostDepthCoverage = src->conservativeRasterizationPostDepthCoverage; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const VkPipelineRasterizationConservativeStateCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), conservativeRasterizationMode(in_struct->conservativeRasterizationMode), extraPrimitiveOverestimationSize(in_struct->extraPrimitiveOverestimationSize) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT() +safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT() : + pNext(nullptr) {} safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; conservativeRasterizationMode = src.conservativeRasterizationMode; extraPrimitiveOverestimationSize = src.extraPrimitiveOverestimationSize; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; conservativeRasterizationMode = src.conservativeRasterizationMode; extraPrimitiveOverestimationSize = src.extraPrimitiveOverestimationSize; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::~safe_VkPipelineRasterizationConservativeStateCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::initialize(const VkPipelineRasterizationConservativeStateCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; conservativeRasterizationMode = in_struct->conservativeRasterizationMode; extraPrimitiveOverestimationSize = in_struct->extraPrimitiveOverestimationSize; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; conservativeRasterizationMode = src->conservativeRasterizationMode; extraPrimitiveOverestimationSize = src->extraPrimitiveOverestimationSize; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const VkPhysicalDeviceDepthClipEnableFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), depthClipEnable(in_struct->depthClipEnable) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT() +safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; depthClipEnable = src.depthClipEnable; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::operator=(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; depthClipEnable = src.depthClipEnable; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::~safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::initialize(const VkPhysicalDeviceDepthClipEnableFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; depthClipEnable = in_struct->depthClipEnable; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::initialize(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; depthClipEnable = src->depthClipEnable; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const VkPipelineRasterizationDepthClipStateCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), depthClipEnable(in_struct->depthClipEnable) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT() +safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT() : + pNext(nullptr) {} safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; depthClipEnable = src.depthClipEnable; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; depthClipEnable = src.depthClipEnable; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::~safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::initialize(const VkPipelineRasterizationDepthClipStateCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; depthClipEnable = in_struct->depthClipEnable; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; depthClipEnable = src->depthClipEnable; + pNext = SafePnextCopy(src->pNext); } safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const VkHdrMetadataEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), displayPrimaryRed(in_struct->displayPrimaryRed), displayPrimaryGreen(in_struct->displayPrimaryGreen), displayPrimaryBlue(in_struct->displayPrimaryBlue), @@ -17360,15 +19027,16 @@ safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const VkHdrMetadataEXT* in_struct) maxContentLightLevel(in_struct->maxContentLightLevel), maxFrameAverageLightLevel(in_struct->maxFrameAverageLightLevel) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT() +safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT() : + pNext(nullptr) {} safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const safe_VkHdrMetadataEXT& src) { sType = src.sType; - pNext = src.pNext; displayPrimaryRed = src.displayPrimaryRed; displayPrimaryGreen = src.displayPrimaryGreen; displayPrimaryBlue = src.displayPrimaryBlue; @@ -17377,15 +19045,17 @@ safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const safe_VkHdrMetadataEXT& src) minLuminance = src.minLuminance; maxContentLightLevel = src.maxContentLightLevel; maxFrameAverageLightLevel = src.maxFrameAverageLightLevel; + pNext = SafePnextCopy(src.pNext); } safe_VkHdrMetadataEXT& safe_VkHdrMetadataEXT::operator=(const safe_VkHdrMetadataEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; displayPrimaryRed = src.displayPrimaryRed; displayPrimaryGreen = src.displayPrimaryGreen; displayPrimaryBlue = src.displayPrimaryBlue; @@ -17394,18 +19064,20 @@ safe_VkHdrMetadataEXT& safe_VkHdrMetadataEXT::operator=(const safe_VkHdrMetadata minLuminance = src.minLuminance; maxContentLightLevel = src.maxContentLightLevel; maxFrameAverageLightLevel = src.maxFrameAverageLightLevel; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkHdrMetadataEXT::~safe_VkHdrMetadataEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkHdrMetadataEXT::initialize(const VkHdrMetadataEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; displayPrimaryRed = in_struct->displayPrimaryRed; displayPrimaryGreen = in_struct->displayPrimaryGreen; displayPrimaryBlue = in_struct->displayPrimaryBlue; @@ -17414,12 +19086,12 @@ void safe_VkHdrMetadataEXT::initialize(const VkHdrMetadataEXT* in_struct) minLuminance = in_struct->minLuminance; maxContentLightLevel = in_struct->maxContentLightLevel; maxFrameAverageLightLevel = in_struct->maxFrameAverageLightLevel; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkHdrMetadataEXT::initialize(const safe_VkHdrMetadataEXT* src) { sType = src->sType; - pNext = src->pNext; displayPrimaryRed = src->displayPrimaryRed; displayPrimaryGreen = src->displayPrimaryGreen; displayPrimaryBlue = src->displayPrimaryBlue; @@ -17428,60 +19100,67 @@ void safe_VkHdrMetadataEXT::initialize(const safe_VkHdrMetadataEXT* src) minLuminance = src->minLuminance; maxContentLightLevel = src->maxContentLightLevel; maxFrameAverageLightLevel = src->maxFrameAverageLightLevel; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_IOS_MVK safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK(const VkIOSSurfaceCreateInfoMVK* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), pView(in_struct->pView) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK() +safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK() : + pNext(nullptr), + pView(nullptr) {} safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK(const safe_VkIOSSurfaceCreateInfoMVK& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; pView = src.pView; + pNext = SafePnextCopy(src.pNext); } safe_VkIOSSurfaceCreateInfoMVK& safe_VkIOSSurfaceCreateInfoMVK::operator=(const safe_VkIOSSurfaceCreateInfoMVK& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; pView = src.pView; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkIOSSurfaceCreateInfoMVK::~safe_VkIOSSurfaceCreateInfoMVK() { + if (pNext) + FreePnextChain(pNext); } void safe_VkIOSSurfaceCreateInfoMVK::initialize(const VkIOSSurfaceCreateInfoMVK* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; pView = in_struct->pView; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkIOSSurfaceCreateInfoMVK::initialize(const safe_VkIOSSurfaceCreateInfoMVK* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; pView = src->pView; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_IOS_MVK @@ -17490,201 +19169,223 @@ void safe_VkIOSSurfaceCreateInfoMVK::initialize(const safe_VkIOSSurfaceCreateInf safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK(const VkMacOSSurfaceCreateInfoMVK* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), pView(in_struct->pView) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK() +safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK() : + pNext(nullptr), + pView(nullptr) {} safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK(const safe_VkMacOSSurfaceCreateInfoMVK& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; pView = src.pView; + pNext = SafePnextCopy(src.pNext); } safe_VkMacOSSurfaceCreateInfoMVK& safe_VkMacOSSurfaceCreateInfoMVK::operator=(const safe_VkMacOSSurfaceCreateInfoMVK& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; pView = src.pView; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMacOSSurfaceCreateInfoMVK::~safe_VkMacOSSurfaceCreateInfoMVK() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMacOSSurfaceCreateInfoMVK::initialize(const VkMacOSSurfaceCreateInfoMVK* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; pView = in_struct->pView; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMacOSSurfaceCreateInfoMVK::initialize(const safe_VkMacOSSurfaceCreateInfoMVK* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; pView = src->pView; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_MACOS_MVK safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT(const VkDebugUtilsObjectNameInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectType(in_struct->objectType), - objectHandle(in_struct->objectHandle), - pObjectName(in_struct->pObjectName) + objectHandle(in_struct->objectHandle) { + pNext = SafePnextCopy(in_struct->pNext); + pObjectName = SafeStringCopy(in_struct->pObjectName); } -safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT() +safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT() : + pNext(nullptr), + pObjectName(nullptr) {} safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT(const safe_VkDebugUtilsObjectNameInfoEXT& src) { sType = src.sType; - pNext = src.pNext; objectType = src.objectType; objectHandle = src.objectHandle; - pObjectName = src.pObjectName; + pNext = SafePnextCopy(src.pNext); + pObjectName = SafeStringCopy(src.pObjectName); } safe_VkDebugUtilsObjectNameInfoEXT& safe_VkDebugUtilsObjectNameInfoEXT::operator=(const safe_VkDebugUtilsObjectNameInfoEXT& src) { if (&src == this) return *this; + if (pObjectName) delete [] pObjectName; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectType = src.objectType; objectHandle = src.objectHandle; - pObjectName = src.pObjectName; + pNext = SafePnextCopy(src.pNext); + pObjectName = SafeStringCopy(src.pObjectName); return *this; } safe_VkDebugUtilsObjectNameInfoEXT::~safe_VkDebugUtilsObjectNameInfoEXT() { + if (pObjectName) delete [] pObjectName; + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugUtilsObjectNameInfoEXT::initialize(const VkDebugUtilsObjectNameInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectType = in_struct->objectType; objectHandle = in_struct->objectHandle; - pObjectName = in_struct->pObjectName; + pNext = SafePnextCopy(in_struct->pNext); + pObjectName = SafeStringCopy(in_struct->pObjectName); } void safe_VkDebugUtilsObjectNameInfoEXT::initialize(const safe_VkDebugUtilsObjectNameInfoEXT* src) { sType = src->sType; - pNext = src->pNext; objectType = src->objectType; objectHandle = src->objectHandle; - pObjectName = src->pObjectName; + pNext = SafePnextCopy(src->pNext); + pObjectName = SafeStringCopy(src->pObjectName); } safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT(const VkDebugUtilsObjectTagInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), objectType(in_struct->objectType), objectHandle(in_struct->objectHandle), tagName(in_struct->tagName), tagSize(in_struct->tagSize), pTag(in_struct->pTag) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT() +safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT() : + pNext(nullptr), + pTag(nullptr) {} safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT(const safe_VkDebugUtilsObjectTagInfoEXT& src) { sType = src.sType; - pNext = src.pNext; objectType = src.objectType; objectHandle = src.objectHandle; tagName = src.tagName; tagSize = src.tagSize; pTag = src.pTag; + pNext = SafePnextCopy(src.pNext); } safe_VkDebugUtilsObjectTagInfoEXT& safe_VkDebugUtilsObjectTagInfoEXT::operator=(const safe_VkDebugUtilsObjectTagInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; objectType = src.objectType; objectHandle = src.objectHandle; tagName = src.tagName; tagSize = src.tagSize; pTag = src.pTag; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDebugUtilsObjectTagInfoEXT::~safe_VkDebugUtilsObjectTagInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugUtilsObjectTagInfoEXT::initialize(const VkDebugUtilsObjectTagInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; objectType = in_struct->objectType; objectHandle = in_struct->objectHandle; tagName = in_struct->tagName; tagSize = in_struct->tagSize; pTag = in_struct->pTag; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDebugUtilsObjectTagInfoEXT::initialize(const safe_VkDebugUtilsObjectTagInfoEXT* src) { sType = src->sType; - pNext = src->pNext; objectType = src->objectType; objectHandle = src->objectHandle; tagName = src->tagName; tagSize = src->tagSize; pTag = src->pTag; + pNext = SafePnextCopy(src->pNext); } safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT(const VkDebugUtilsLabelEXT* in_struct) : - sType(in_struct->sType), - pNext(in_struct->pNext), - pLabelName(in_struct->pLabelName) + sType(in_struct->sType) { - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + pLabelName = SafeStringCopy(in_struct->pLabelName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = in_struct->color[i]; } } -safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT() +safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT() : + pNext(nullptr), + pLabelName(nullptr) {} safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT(const safe_VkDebugUtilsLabelEXT& src) { sType = src.sType; - pNext = src.pNext; - pLabelName = src.pLabelName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(src.pNext); + pLabelName = SafeStringCopy(src.pLabelName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = src.color[i]; } } @@ -17693,11 +19394,14 @@ safe_VkDebugUtilsLabelEXT& safe_VkDebugUtilsLabelEXT::operator=(const safe_VkDeb { if (&src == this) return *this; + if (pLabelName) delete [] pLabelName; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; - pLabelName = src.pLabelName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(src.pNext); + pLabelName = SafeStringCopy(src.pLabelName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = src.color[i]; } @@ -17706,14 +19410,17 @@ safe_VkDebugUtilsLabelEXT& safe_VkDebugUtilsLabelEXT::operator=(const safe_VkDeb safe_VkDebugUtilsLabelEXT::~safe_VkDebugUtilsLabelEXT() { + if (pLabelName) delete [] pLabelName; + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugUtilsLabelEXT::initialize(const VkDebugUtilsLabelEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; - pLabelName = in_struct->pLabelName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + pLabelName = SafeStringCopy(in_struct->pLabelName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = in_struct->color[i]; } } @@ -17721,20 +19428,17 @@ void safe_VkDebugUtilsLabelEXT::initialize(const VkDebugUtilsLabelEXT* in_struct void safe_VkDebugUtilsLabelEXT::initialize(const safe_VkDebugUtilsLabelEXT* src) { sType = src->sType; - pNext = src->pNext; - pLabelName = src->pLabelName; - for (uint32_t i=0; i<4; ++i) { + pNext = SafePnextCopy(src->pNext); + pLabelName = SafeStringCopy(src->pLabelName); + for (uint32_t i = 0; i < 4; ++i) { color[i] = src->color[i]; } } safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT(const VkDebugUtilsMessengerCallbackDataEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), - pMessageIdName(in_struct->pMessageIdName), messageIdNumber(in_struct->messageIdNumber), - pMessage(in_struct->pMessage), queueLabelCount(in_struct->queueLabelCount), pQueueLabels(nullptr), cmdBufLabelCount(in_struct->cmdBufLabelCount), @@ -17742,27 +19446,33 @@ safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDat objectCount(in_struct->objectCount), pObjects(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); + pMessageIdName = SafeStringCopy(in_struct->pMessageIdName); + pMessage = SafeStringCopy(in_struct->pMessage); if (queueLabelCount && in_struct->pQueueLabels) { pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount]; - for (uint32_t i=0; i<queueLabelCount; ++i) { + for (uint32_t i = 0; i < queueLabelCount; ++i) { pQueueLabels[i].initialize(&in_struct->pQueueLabels[i]); } } if (cmdBufLabelCount && in_struct->pCmdBufLabels) { pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount]; - for (uint32_t i=0; i<cmdBufLabelCount; ++i) { + for (uint32_t i = 0; i < cmdBufLabelCount; ++i) { pCmdBufLabels[i].initialize(&in_struct->pCmdBufLabels[i]); } } if (objectCount && in_struct->pObjects) { pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount]; - for (uint32_t i=0; i<objectCount; ++i) { + for (uint32_t i = 0; i < objectCount; ++i) { pObjects[i].initialize(&in_struct->pObjects[i]); } } } safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT() : + pNext(nullptr), + pMessageIdName(nullptr), + pMessage(nullptr), pQueueLabels(nullptr), pCmdBufLabels(nullptr), pObjects(nullptr) @@ -17771,32 +19481,32 @@ safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDat safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT(const safe_VkDebugUtilsMessengerCallbackDataEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; - pMessageIdName = src.pMessageIdName; messageIdNumber = src.messageIdNumber; - pMessage = src.pMessage; queueLabelCount = src.queueLabelCount; pQueueLabels = nullptr; cmdBufLabelCount = src.cmdBufLabelCount; pCmdBufLabels = nullptr; objectCount = src.objectCount; pObjects = nullptr; + pNext = SafePnextCopy(src.pNext); + pMessageIdName = SafeStringCopy(src.pMessageIdName); + pMessage = SafeStringCopy(src.pMessage); if (queueLabelCount && src.pQueueLabels) { pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount]; - for (uint32_t i=0; i<queueLabelCount; ++i) { + for (uint32_t i = 0; i < queueLabelCount; ++i) { pQueueLabels[i].initialize(&src.pQueueLabels[i]); } } if (cmdBufLabelCount && src.pCmdBufLabels) { pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount]; - for (uint32_t i=0; i<cmdBufLabelCount; ++i) { + for (uint32_t i = 0; i < cmdBufLabelCount; ++i) { pCmdBufLabels[i].initialize(&src.pCmdBufLabels[i]); } } if (objectCount && src.pObjects) { pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount]; - for (uint32_t i=0; i<objectCount; ++i) { + for (uint32_t i = 0; i < objectCount; ++i) { pObjects[i].initialize(&src.pObjects[i]); } } @@ -17806,40 +19516,44 @@ safe_VkDebugUtilsMessengerCallbackDataEXT& safe_VkDebugUtilsMessengerCallbackDat { if (&src == this) return *this; + if (pMessageIdName) delete [] pMessageIdName; + if (pMessage) delete [] pMessage; if (pQueueLabels) delete[] pQueueLabels; if (pCmdBufLabels) delete[] pCmdBufLabels; if (pObjects) delete[] pObjects; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; - pMessageIdName = src.pMessageIdName; messageIdNumber = src.messageIdNumber; - pMessage = src.pMessage; queueLabelCount = src.queueLabelCount; pQueueLabels = nullptr; cmdBufLabelCount = src.cmdBufLabelCount; pCmdBufLabels = nullptr; objectCount = src.objectCount; pObjects = nullptr; + pNext = SafePnextCopy(src.pNext); + pMessageIdName = SafeStringCopy(src.pMessageIdName); + pMessage = SafeStringCopy(src.pMessage); if (queueLabelCount && src.pQueueLabels) { pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount]; - for (uint32_t i=0; i<queueLabelCount; ++i) { + for (uint32_t i = 0; i < queueLabelCount; ++i) { pQueueLabels[i].initialize(&src.pQueueLabels[i]); } } if (cmdBufLabelCount && src.pCmdBufLabels) { pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount]; - for (uint32_t i=0; i<cmdBufLabelCount; ++i) { + for (uint32_t i = 0; i < cmdBufLabelCount; ++i) { pCmdBufLabels[i].initialize(&src.pCmdBufLabels[i]); } } if (objectCount && src.pObjects) { pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount]; - for (uint32_t i=0; i<objectCount; ++i) { + for (uint32_t i = 0; i < objectCount; ++i) { pObjects[i].initialize(&src.pObjects[i]); } } @@ -17849,43 +19563,47 @@ safe_VkDebugUtilsMessengerCallbackDataEXT& safe_VkDebugUtilsMessengerCallbackDat safe_VkDebugUtilsMessengerCallbackDataEXT::~safe_VkDebugUtilsMessengerCallbackDataEXT() { + if (pMessageIdName) delete [] pMessageIdName; + if (pMessage) delete [] pMessage; if (pQueueLabels) delete[] pQueueLabels; if (pCmdBufLabels) delete[] pCmdBufLabels; if (pObjects) delete[] pObjects; + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const VkDebugUtilsMessengerCallbackDataEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; - pMessageIdName = in_struct->pMessageIdName; messageIdNumber = in_struct->messageIdNumber; - pMessage = in_struct->pMessage; queueLabelCount = in_struct->queueLabelCount; pQueueLabels = nullptr; cmdBufLabelCount = in_struct->cmdBufLabelCount; pCmdBufLabels = nullptr; objectCount = in_struct->objectCount; pObjects = nullptr; + pNext = SafePnextCopy(in_struct->pNext); + pMessageIdName = SafeStringCopy(in_struct->pMessageIdName); + pMessage = SafeStringCopy(in_struct->pMessage); if (queueLabelCount && in_struct->pQueueLabels) { pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount]; - for (uint32_t i=0; i<queueLabelCount; ++i) { + for (uint32_t i = 0; i < queueLabelCount; ++i) { pQueueLabels[i].initialize(&in_struct->pQueueLabels[i]); } } if (cmdBufLabelCount && in_struct->pCmdBufLabels) { pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount]; - for (uint32_t i=0; i<cmdBufLabelCount; ++i) { + for (uint32_t i = 0; i < cmdBufLabelCount; ++i) { pCmdBufLabels[i].initialize(&in_struct->pCmdBufLabels[i]); } } if (objectCount && in_struct->pObjects) { pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount]; - for (uint32_t i=0; i<objectCount; ++i) { + for (uint32_t i = 0; i < objectCount; ++i) { pObjects[i].initialize(&in_struct->pObjects[i]); } } @@ -17894,32 +19612,32 @@ void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const VkDebugUtilsMes void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const safe_VkDebugUtilsMessengerCallbackDataEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; - pMessageIdName = src->pMessageIdName; messageIdNumber = src->messageIdNumber; - pMessage = src->pMessage; queueLabelCount = src->queueLabelCount; pQueueLabels = nullptr; cmdBufLabelCount = src->cmdBufLabelCount; pCmdBufLabels = nullptr; objectCount = src->objectCount; pObjects = nullptr; + pNext = SafePnextCopy(src->pNext); + pMessageIdName = SafeStringCopy(src->pMessageIdName); + pMessage = SafeStringCopy(src->pMessage); if (queueLabelCount && src->pQueueLabels) { pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount]; - for (uint32_t i=0; i<queueLabelCount; ++i) { + for (uint32_t i = 0; i < queueLabelCount; ++i) { pQueueLabels[i].initialize(&src->pQueueLabels[i]); } } if (cmdBufLabelCount && src->pCmdBufLabels) { pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount]; - for (uint32_t i=0; i<cmdBufLabelCount; ++i) { + for (uint32_t i = 0; i < cmdBufLabelCount; ++i) { pCmdBufLabels[i].initialize(&src->pCmdBufLabels[i]); } } if (objectCount && src->pObjects) { pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount]; - for (uint32_t i=0; i<objectCount; ++i) { + for (uint32_t i = 0; i < objectCount; ++i) { pObjects[i].initialize(&src->pObjects[i]); } } @@ -17927,118 +19645,129 @@ void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const safe_VkDebugUti safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT(const VkDebugUtilsMessengerCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), messageSeverity(in_struct->messageSeverity), messageType(in_struct->messageType), pfnUserCallback(in_struct->pfnUserCallback), pUserData(in_struct->pUserData) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT() +safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT() : + pNext(nullptr), + pUserData(nullptr) {} safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT(const safe_VkDebugUtilsMessengerCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; messageSeverity = src.messageSeverity; messageType = src.messageType; pfnUserCallback = src.pfnUserCallback; pUserData = src.pUserData; + pNext = SafePnextCopy(src.pNext); } safe_VkDebugUtilsMessengerCreateInfoEXT& safe_VkDebugUtilsMessengerCreateInfoEXT::operator=(const safe_VkDebugUtilsMessengerCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; messageSeverity = src.messageSeverity; messageType = src.messageType; pfnUserCallback = src.pfnUserCallback; pUserData = src.pUserData; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDebugUtilsMessengerCreateInfoEXT::~safe_VkDebugUtilsMessengerCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDebugUtilsMessengerCreateInfoEXT::initialize(const VkDebugUtilsMessengerCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; messageSeverity = in_struct->messageSeverity; messageType = in_struct->messageType; pfnUserCallback = in_struct->pfnUserCallback; pUserData = in_struct->pUserData; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDebugUtilsMessengerCreateInfoEXT::initialize(const safe_VkDebugUtilsMessengerCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; messageSeverity = src->messageSeverity; messageType = src->messageType; pfnUserCallback = src->pfnUserCallback; pUserData = src->pUserData; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_ANDROID_KHR safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID(const VkAndroidHardwareBufferUsageANDROID* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), androidHardwareBufferUsage(in_struct->androidHardwareBufferUsage) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID() +safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID() : + pNext(nullptr) {} safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID(const safe_VkAndroidHardwareBufferUsageANDROID& src) { sType = src.sType; - pNext = src.pNext; androidHardwareBufferUsage = src.androidHardwareBufferUsage; + pNext = SafePnextCopy(src.pNext); } safe_VkAndroidHardwareBufferUsageANDROID& safe_VkAndroidHardwareBufferUsageANDROID::operator=(const safe_VkAndroidHardwareBufferUsageANDROID& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; androidHardwareBufferUsage = src.androidHardwareBufferUsage; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAndroidHardwareBufferUsageANDROID::~safe_VkAndroidHardwareBufferUsageANDROID() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const VkAndroidHardwareBufferUsageANDROID* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; androidHardwareBufferUsage = in_struct->androidHardwareBufferUsage; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const safe_VkAndroidHardwareBufferUsageANDROID* src) { sType = src->sType; - pNext = src->pNext; androidHardwareBufferUsage = src->androidHardwareBufferUsage; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_ANDROID_KHR @@ -18047,54 +19776,59 @@ void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const safe_VkAndroidHa safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID(const VkAndroidHardwareBufferPropertiesANDROID* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), allocationSize(in_struct->allocationSize), memoryTypeBits(in_struct->memoryTypeBits) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID() +safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID() : + pNext(nullptr) {} safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID(const safe_VkAndroidHardwareBufferPropertiesANDROID& src) { sType = src.sType; - pNext = src.pNext; allocationSize = src.allocationSize; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); } safe_VkAndroidHardwareBufferPropertiesANDROID& safe_VkAndroidHardwareBufferPropertiesANDROID::operator=(const safe_VkAndroidHardwareBufferPropertiesANDROID& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; allocationSize = src.allocationSize; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAndroidHardwareBufferPropertiesANDROID::~safe_VkAndroidHardwareBufferPropertiesANDROID() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const VkAndroidHardwareBufferPropertiesANDROID* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; allocationSize = in_struct->allocationSize; memoryTypeBits = in_struct->memoryTypeBits; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const safe_VkAndroidHardwareBufferPropertiesANDROID* src) { sType = src->sType; - pNext = src->pNext; allocationSize = src->allocationSize; memoryTypeBits = src->memoryTypeBits; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_ANDROID_KHR @@ -18103,7 +19837,6 @@ void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const safe_VkAndr safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const VkAndroidHardwareBufferFormatPropertiesANDROID* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), format(in_struct->format), externalFormat(in_struct->externalFormat), formatFeatures(in_struct->formatFeatures), @@ -18113,15 +19846,16 @@ safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBuffe suggestedXChromaOffset(in_struct->suggestedXChromaOffset), suggestedYChromaOffset(in_struct->suggestedYChromaOffset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID() +safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID() : + pNext(nullptr) {} safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID& src) { sType = src.sType; - pNext = src.pNext; format = src.format; externalFormat = src.externalFormat; formatFeatures = src.formatFeatures; @@ -18130,15 +19864,17 @@ safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBuffe suggestedYcbcrRange = src.suggestedYcbcrRange; suggestedXChromaOffset = src.suggestedXChromaOffset; suggestedYChromaOffset = src.suggestedYChromaOffset; + pNext = SafePnextCopy(src.pNext); } safe_VkAndroidHardwareBufferFormatPropertiesANDROID& safe_VkAndroidHardwareBufferFormatPropertiesANDROID::operator=(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; format = src.format; externalFormat = src.externalFormat; formatFeatures = src.formatFeatures; @@ -18147,18 +19883,20 @@ safe_VkAndroidHardwareBufferFormatPropertiesANDROID& safe_VkAndroidHardwareBuffe suggestedYcbcrRange = src.suggestedYcbcrRange; suggestedXChromaOffset = src.suggestedXChromaOffset; suggestedYChromaOffset = src.suggestedYChromaOffset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAndroidHardwareBufferFormatPropertiesANDROID::~safe_VkAndroidHardwareBufferFormatPropertiesANDROID() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const VkAndroidHardwareBufferFormatPropertiesANDROID* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; format = in_struct->format; externalFormat = in_struct->externalFormat; formatFeatures = in_struct->formatFeatures; @@ -18167,12 +19905,12 @@ void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const VkAnd suggestedYcbcrRange = in_struct->suggestedYcbcrRange; suggestedXChromaOffset = in_struct->suggestedXChromaOffset; suggestedYChromaOffset = in_struct->suggestedYChromaOffset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID* src) { sType = src->sType; - pNext = src->pNext; format = src->format; externalFormat = src->externalFormat; formatFeatures = src->formatFeatures; @@ -18181,6 +19919,7 @@ void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const safe_ suggestedYcbcrRange = src->suggestedYcbcrRange; suggestedXChromaOffset = src->suggestedXChromaOffset; suggestedYChromaOffset = src->suggestedYChromaOffset; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_ANDROID_KHR @@ -18189,20 +19928,21 @@ void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const safe_ safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID(const VkImportAndroidHardwareBufferInfoANDROID* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), buffer(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); buffer = in_struct->buffer; } safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID() : + pNext(nullptr), buffer(nullptr) {} safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID(const safe_VkImportAndroidHardwareBufferInfoANDROID& src) { sType = src.sType; - pNext = src.pNext; + pNext = SafePnextCopy(src.pNext); buffer = src.buffer; } @@ -18210,9 +19950,11 @@ safe_VkImportAndroidHardwareBufferInfoANDROID& safe_VkImportAndroidHardwareBuffe { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; + pNext = SafePnextCopy(src.pNext); buffer = src.buffer; return *this; @@ -18220,19 +19962,21 @@ safe_VkImportAndroidHardwareBufferInfoANDROID& safe_VkImportAndroidHardwareBuffe safe_VkImportAndroidHardwareBufferInfoANDROID::~safe_VkImportAndroidHardwareBufferInfoANDROID() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const VkImportAndroidHardwareBufferInfoANDROID* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; + pNext = SafePnextCopy(in_struct->pNext); buffer = in_struct->buffer; } void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const safe_VkImportAndroidHardwareBufferInfoANDROID* src) { sType = src->sType; - pNext = src->pNext; + pNext = SafePnextCopy(src->pNext); buffer = src->buffer; } #endif // VK_USE_PLATFORM_ANDROID_KHR @@ -18242,49 +19986,54 @@ void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const safe_VkImpo safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const VkMemoryGetAndroidHardwareBufferInfoANDROID* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memory(in_struct->memory) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID() +safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID() : + pNext(nullptr) {} safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& src) { sType = src.sType; - pNext = src.pNext; memory = src.memory; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::operator=(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memory = src.memory; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::~safe_VkMemoryGetAndroidHardwareBufferInfoANDROID() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const VkMemoryGetAndroidHardwareBufferInfoANDROID* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memory = in_struct->memory; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID* src) { sType = src->sType; - pNext = src->pNext; memory = src->memory; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_ANDROID_KHR @@ -18293,378 +20042,414 @@ void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const safe_VkM safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID(const VkExternalFormatANDROID* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), externalFormat(in_struct->externalFormat) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID() +safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID() : + pNext(nullptr) {} safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID(const safe_VkExternalFormatANDROID& src) { sType = src.sType; - pNext = src.pNext; externalFormat = src.externalFormat; + pNext = SafePnextCopy(src.pNext); } safe_VkExternalFormatANDROID& safe_VkExternalFormatANDROID::operator=(const safe_VkExternalFormatANDROID& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; externalFormat = src.externalFormat; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkExternalFormatANDROID::~safe_VkExternalFormatANDROID() { + if (pNext) + FreePnextChain(pNext); } void safe_VkExternalFormatANDROID::initialize(const VkExternalFormatANDROID* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; externalFormat = in_struct->externalFormat; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkExternalFormatANDROID::initialize(const safe_VkExternalFormatANDROID* src) { sType = src->sType; - pNext = src->pNext; externalFormat = src->externalFormat; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_ANDROID_KHR safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT(const VkSamplerReductionModeCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), reductionMode(in_struct->reductionMode) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT() +safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT() : + pNext(nullptr) {} safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT(const safe_VkSamplerReductionModeCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; reductionMode = src.reductionMode; + pNext = SafePnextCopy(src.pNext); } safe_VkSamplerReductionModeCreateInfoEXT& safe_VkSamplerReductionModeCreateInfoEXT::operator=(const safe_VkSamplerReductionModeCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; reductionMode = src.reductionMode; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSamplerReductionModeCreateInfoEXT::~safe_VkSamplerReductionModeCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSamplerReductionModeCreateInfoEXT::initialize(const VkSamplerReductionModeCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; reductionMode = in_struct->reductionMode; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSamplerReductionModeCreateInfoEXT::initialize(const safe_VkSamplerReductionModeCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; reductionMode = src->reductionMode; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), filterMinmaxSingleComponentFormats(in_struct->filterMinmaxSingleComponentFormats), filterMinmaxImageComponentMapping(in_struct->filterMinmaxImageComponentMapping) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT() +safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; filterMinmaxSingleComponentFormats = src.filterMinmaxSingleComponentFormats; filterMinmaxImageComponentMapping = src.filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::operator=(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; filterMinmaxSingleComponentFormats = src.filterMinmaxSingleComponentFormats; filterMinmaxImageComponentMapping = src.filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::~safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::initialize(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; filterMinmaxSingleComponentFormats = in_struct->filterMinmaxSingleComponentFormats; filterMinmaxImageComponentMapping = in_struct->filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::initialize(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; filterMinmaxSingleComponentFormats = src->filterMinmaxSingleComponentFormats; filterMinmaxImageComponentMapping = src->filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), inlineUniformBlock(in_struct->inlineUniformBlock), descriptorBindingInlineUniformBlockUpdateAfterBind(in_struct->descriptorBindingInlineUniformBlockUpdateAfterBind) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT() +safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; inlineUniformBlock = src.inlineUniformBlock; descriptorBindingInlineUniformBlockUpdateAfterBind = src.descriptorBindingInlineUniformBlockUpdateAfterBind; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::operator=(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; inlineUniformBlock = src.inlineUniformBlock; descriptorBindingInlineUniformBlockUpdateAfterBind = src.descriptorBindingInlineUniformBlockUpdateAfterBind; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::~safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::initialize(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; inlineUniformBlock = in_struct->inlineUniformBlock; descriptorBindingInlineUniformBlockUpdateAfterBind = in_struct->descriptorBindingInlineUniformBlockUpdateAfterBind; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::initialize(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; inlineUniformBlock = src->inlineUniformBlock; descriptorBindingInlineUniformBlockUpdateAfterBind = src->descriptorBindingInlineUniformBlockUpdateAfterBind; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxInlineUniformBlockSize(in_struct->maxInlineUniformBlockSize), maxPerStageDescriptorInlineUniformBlocks(in_struct->maxPerStageDescriptorInlineUniformBlocks), maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(in_struct->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks), maxDescriptorSetInlineUniformBlocks(in_struct->maxDescriptorSetInlineUniformBlocks), maxDescriptorSetUpdateAfterBindInlineUniformBlocks(in_struct->maxDescriptorSetUpdateAfterBindInlineUniformBlocks) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT() +safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; maxInlineUniformBlockSize = src.maxInlineUniformBlockSize; maxPerStageDescriptorInlineUniformBlocks = src.maxPerStageDescriptorInlineUniformBlocks; maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; maxDescriptorSetInlineUniformBlocks = src.maxDescriptorSetInlineUniformBlocks; maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src.maxDescriptorSetUpdateAfterBindInlineUniformBlocks; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::operator=(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxInlineUniformBlockSize = src.maxInlineUniformBlockSize; maxPerStageDescriptorInlineUniformBlocks = src.maxPerStageDescriptorInlineUniformBlocks; maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; maxDescriptorSetInlineUniformBlocks = src.maxDescriptorSetInlineUniformBlocks; maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src.maxDescriptorSetUpdateAfterBindInlineUniformBlocks; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::~safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::initialize(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxInlineUniformBlockSize = in_struct->maxInlineUniformBlockSize; maxPerStageDescriptorInlineUniformBlocks = in_struct->maxPerStageDescriptorInlineUniformBlocks; maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = in_struct->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; maxDescriptorSetInlineUniformBlocks = in_struct->maxDescriptorSetInlineUniformBlocks; maxDescriptorSetUpdateAfterBindInlineUniformBlocks = in_struct->maxDescriptorSetUpdateAfterBindInlineUniformBlocks; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::initialize(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; maxInlineUniformBlockSize = src->maxInlineUniformBlockSize; maxPerStageDescriptorInlineUniformBlocks = src->maxPerStageDescriptorInlineUniformBlocks; maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; maxDescriptorSetInlineUniformBlocks = src->maxDescriptorSetInlineUniformBlocks; maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src->maxDescriptorSetUpdateAfterBindInlineUniformBlocks; + pNext = SafePnextCopy(src->pNext); } safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT(const VkWriteDescriptorSetInlineUniformBlockEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), dataSize(in_struct->dataSize), pData(in_struct->pData) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT() +safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT() : + pNext(nullptr), + pData(nullptr) {} safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT(const safe_VkWriteDescriptorSetInlineUniformBlockEXT& src) { sType = src.sType; - pNext = src.pNext; dataSize = src.dataSize; pData = src.pData; + pNext = SafePnextCopy(src.pNext); } safe_VkWriteDescriptorSetInlineUniformBlockEXT& safe_VkWriteDescriptorSetInlineUniformBlockEXT::operator=(const safe_VkWriteDescriptorSetInlineUniformBlockEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; dataSize = src.dataSize; pData = src.pData; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkWriteDescriptorSetInlineUniformBlockEXT::~safe_VkWriteDescriptorSetInlineUniformBlockEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkWriteDescriptorSetInlineUniformBlockEXT::initialize(const VkWriteDescriptorSetInlineUniformBlockEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; dataSize = in_struct->dataSize; pData = in_struct->pData; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkWriteDescriptorSetInlineUniformBlockEXT::initialize(const safe_VkWriteDescriptorSetInlineUniformBlockEXT* src) { sType = src->sType; - pNext = src->pNext; dataSize = src->dataSize; pData = src->pData; + pNext = SafePnextCopy(src->pNext); } safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxInlineUniformBlockBindings(in_struct->maxInlineUniformBlockBindings) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT() +safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT() : + pNext(nullptr) {} safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; maxInlineUniformBlockBindings = src.maxInlineUniformBlockBindings; + pNext = SafePnextCopy(src.pNext); } safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::operator=(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxInlineUniformBlockBindings = src.maxInlineUniformBlockBindings; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::~safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::initialize(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxInlineUniformBlockBindings = in_struct->maxInlineUniformBlockBindings; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::initialize(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; maxInlineUniformBlockBindings = src->maxInlineUniformBlockBindings; + pNext = SafePnextCopy(src->pNext); } safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const VkSampleLocationsInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), sampleLocationsPerPixel(in_struct->sampleLocationsPerPixel), sampleLocationGridSize(in_struct->sampleLocationGridSize), sampleLocationsCount(in_struct->sampleLocationsCount), pSampleLocations(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pSampleLocations) { pSampleLocations = new VkSampleLocationEXT[in_struct->sampleLocationsCount]; memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkSampleLocationEXT)*in_struct->sampleLocationsCount); @@ -18672,17 +20457,18 @@ safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const VkSampleLocat } safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT() : + pNext(nullptr), pSampleLocations(nullptr) {} safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const safe_VkSampleLocationsInfoEXT& src) { sType = src.sType; - pNext = src.pNext; sampleLocationsPerPixel = src.sampleLocationsPerPixel; sampleLocationGridSize = src.sampleLocationGridSize; sampleLocationsCount = src.sampleLocationsCount; pSampleLocations = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pSampleLocations) { pSampleLocations = new VkSampleLocationEXT[src.sampleLocationsCount]; memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkSampleLocationEXT)*src.sampleLocationsCount); @@ -18695,13 +20481,15 @@ safe_VkSampleLocationsInfoEXT& safe_VkSampleLocationsInfoEXT::operator=(const sa if (pSampleLocations) delete[] pSampleLocations; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; sampleLocationsPerPixel = src.sampleLocationsPerPixel; sampleLocationGridSize = src.sampleLocationGridSize; sampleLocationsCount = src.sampleLocationsCount; pSampleLocations = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pSampleLocations) { pSampleLocations = new VkSampleLocationEXT[src.sampleLocationsCount]; memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkSampleLocationEXT)*src.sampleLocationsCount); @@ -18714,16 +20502,18 @@ safe_VkSampleLocationsInfoEXT::~safe_VkSampleLocationsInfoEXT() { if (pSampleLocations) delete[] pSampleLocations; + if (pNext) + FreePnextChain(pNext); } void safe_VkSampleLocationsInfoEXT::initialize(const VkSampleLocationsInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; sampleLocationsPerPixel = in_struct->sampleLocationsPerPixel; sampleLocationGridSize = in_struct->sampleLocationGridSize; sampleLocationsCount = in_struct->sampleLocationsCount; pSampleLocations = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pSampleLocations) { pSampleLocations = new VkSampleLocationEXT[in_struct->sampleLocationsCount]; memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkSampleLocationEXT)*in_struct->sampleLocationsCount); @@ -18733,11 +20523,11 @@ void safe_VkSampleLocationsInfoEXT::initialize(const VkSampleLocationsInfoEXT* i void safe_VkSampleLocationsInfoEXT::initialize(const safe_VkSampleLocationsInfoEXT* src) { sType = src->sType; - pNext = src->pNext; sampleLocationsPerPixel = src->sampleLocationsPerPixel; sampleLocationGridSize = src->sampleLocationGridSize; sampleLocationsCount = src->sampleLocationsCount; pSampleLocations = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pSampleLocations) { pSampleLocations = new VkSampleLocationEXT[src->sampleLocationsCount]; memcpy ((void *)pSampleLocations, (void *)src->pSampleLocations, sizeof(VkSampleLocationEXT)*src->sampleLocationsCount); @@ -18746,12 +20536,12 @@ void safe_VkSampleLocationsInfoEXT::initialize(const safe_VkSampleLocationsInfoE safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT(const VkRenderPassSampleLocationsBeginInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), attachmentInitialSampleLocationsCount(in_struct->attachmentInitialSampleLocationsCount), pAttachmentInitialSampleLocations(nullptr), postSubpassSampleLocationsCount(in_struct->postSubpassSampleLocationsCount), pPostSubpassSampleLocations(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttachmentInitialSampleLocations) { pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[in_struct->attachmentInitialSampleLocationsCount]; memcpy ((void *)pAttachmentInitialSampleLocations, (void *)in_struct->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*in_struct->attachmentInitialSampleLocationsCount); @@ -18763,6 +20553,7 @@ safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBe } safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT() : + pNext(nullptr), pAttachmentInitialSampleLocations(nullptr), pPostSubpassSampleLocations(nullptr) {} @@ -18770,11 +20561,11 @@ safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBe safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT(const safe_VkRenderPassSampleLocationsBeginInfoEXT& src) { sType = src.sType; - pNext = src.pNext; attachmentInitialSampleLocationsCount = src.attachmentInitialSampleLocationsCount; pAttachmentInitialSampleLocations = nullptr; postSubpassSampleLocationsCount = src.postSubpassSampleLocationsCount; pPostSubpassSampleLocations = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAttachmentInitialSampleLocations) { pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src.attachmentInitialSampleLocationsCount]; memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src.pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src.attachmentInitialSampleLocationsCount); @@ -18793,13 +20584,15 @@ safe_VkRenderPassSampleLocationsBeginInfoEXT& safe_VkRenderPassSampleLocationsBe delete[] pAttachmentInitialSampleLocations; if (pPostSubpassSampleLocations) delete[] pPostSubpassSampleLocations; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; attachmentInitialSampleLocationsCount = src.attachmentInitialSampleLocationsCount; pAttachmentInitialSampleLocations = nullptr; postSubpassSampleLocationsCount = src.postSubpassSampleLocationsCount; pPostSubpassSampleLocations = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pAttachmentInitialSampleLocations) { pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src.attachmentInitialSampleLocationsCount]; memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src.pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src.attachmentInitialSampleLocationsCount); @@ -18818,16 +20611,18 @@ safe_VkRenderPassSampleLocationsBeginInfoEXT::~safe_VkRenderPassSampleLocationsB delete[] pAttachmentInitialSampleLocations; if (pPostSubpassSampleLocations) delete[] pPostSubpassSampleLocations; + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const VkRenderPassSampleLocationsBeginInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; attachmentInitialSampleLocationsCount = in_struct->attachmentInitialSampleLocationsCount; pAttachmentInitialSampleLocations = nullptr; postSubpassSampleLocationsCount = in_struct->postSubpassSampleLocationsCount; pPostSubpassSampleLocations = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pAttachmentInitialSampleLocations) { pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[in_struct->attachmentInitialSampleLocationsCount]; memcpy ((void *)pAttachmentInitialSampleLocations, (void *)in_struct->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*in_struct->attachmentInitialSampleLocationsCount); @@ -18841,11 +20636,11 @@ void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const VkRenderPass void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const safe_VkRenderPassSampleLocationsBeginInfoEXT* src) { sType = src->sType; - pNext = src->pNext; attachmentInitialSampleLocationsCount = src->attachmentInitialSampleLocationsCount; pAttachmentInitialSampleLocations = nullptr; postSubpassSampleLocationsCount = src->postSubpassSampleLocationsCount; pPostSubpassSampleLocations = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pAttachmentInitialSampleLocations) { pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src->attachmentInitialSampleLocationsCount]; memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src->attachmentInitialSampleLocationsCount); @@ -18858,81 +20653,87 @@ void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const safe_VkRende safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT(const VkPipelineSampleLocationsStateCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), sampleLocationsEnable(in_struct->sampleLocationsEnable), sampleLocationsInfo(&in_struct->sampleLocationsInfo) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT() +safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT() : + pNext(nullptr) {} safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT(const safe_VkPipelineSampleLocationsStateCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; sampleLocationsEnable = src.sampleLocationsEnable; sampleLocationsInfo.initialize(&src.sampleLocationsInfo); + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineSampleLocationsStateCreateInfoEXT& safe_VkPipelineSampleLocationsStateCreateInfoEXT::operator=(const safe_VkPipelineSampleLocationsStateCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; sampleLocationsEnable = src.sampleLocationsEnable; sampleLocationsInfo.initialize(&src.sampleLocationsInfo); + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineSampleLocationsStateCreateInfoEXT::~safe_VkPipelineSampleLocationsStateCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineSampleLocationsStateCreateInfoEXT::initialize(const VkPipelineSampleLocationsStateCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; sampleLocationsEnable = in_struct->sampleLocationsEnable; sampleLocationsInfo.initialize(&in_struct->sampleLocationsInfo); + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineSampleLocationsStateCreateInfoEXT::initialize(const safe_VkPipelineSampleLocationsStateCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; sampleLocationsEnable = src->sampleLocationsEnable; sampleLocationsInfo.initialize(&src->sampleLocationsInfo); + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const VkPhysicalDeviceSampleLocationsPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), sampleLocationSampleCounts(in_struct->sampleLocationSampleCounts), maxSampleLocationGridSize(in_struct->maxSampleLocationGridSize), sampleLocationSubPixelBits(in_struct->sampleLocationSubPixelBits), variableSampleLocations(in_struct->variableSampleLocations) { - for (uint32_t i=0; i<2; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < 2; ++i) { sampleLocationCoordinateRange[i] = in_struct->sampleLocationCoordinateRange[i]; } } -safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT() +safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; sampleLocationSampleCounts = src.sampleLocationSampleCounts; maxSampleLocationGridSize = src.maxSampleLocationGridSize; sampleLocationSubPixelBits = src.sampleLocationSubPixelBits; variableSampleLocations = src.variableSampleLocations; - for (uint32_t i=0; i<2; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < 2; ++i) { sampleLocationCoordinateRange[i] = src.sampleLocationCoordinateRange[i]; } } @@ -18941,14 +20742,16 @@ safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& safe_VkPhysicalDeviceSampleLo { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; sampleLocationSampleCounts = src.sampleLocationSampleCounts; maxSampleLocationGridSize = src.maxSampleLocationGridSize; sampleLocationSubPixelBits = src.sampleLocationSubPixelBits; variableSampleLocations = src.variableSampleLocations; - for (uint32_t i=0; i<2; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < 2; ++i) { sampleLocationCoordinateRange[i] = src.sampleLocationCoordinateRange[i]; } @@ -18957,17 +20760,19 @@ safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& safe_VkPhysicalDeviceSampleLo safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::~safe_VkPhysicalDeviceSampleLocationsPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const VkPhysicalDeviceSampleLocationsPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; sampleLocationSampleCounts = in_struct->sampleLocationSampleCounts; maxSampleLocationGridSize = in_struct->maxSampleLocationGridSize; sampleLocationSubPixelBits = in_struct->sampleLocationSubPixelBits; variableSampleLocations = in_struct->variableSampleLocations; - for (uint32_t i=0; i<2; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < 2; ++i) { sampleLocationCoordinateRange[i] = in_struct->sampleLocationCoordinateRange[i]; } } @@ -18975,113 +20780,122 @@ void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const VkPhysi void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; sampleLocationSampleCounts = src->sampleLocationSampleCounts; maxSampleLocationGridSize = src->maxSampleLocationGridSize; sampleLocationSubPixelBits = src->sampleLocationSubPixelBits; variableSampleLocations = src->variableSampleLocations; - for (uint32_t i=0; i<2; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < 2; ++i) { sampleLocationCoordinateRange[i] = src->sampleLocationCoordinateRange[i]; } } safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT(const VkMultisamplePropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxSampleLocationGridSize(in_struct->maxSampleLocationGridSize) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT() +safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT() : + pNext(nullptr) {} safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT(const safe_VkMultisamplePropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; maxSampleLocationGridSize = src.maxSampleLocationGridSize; + pNext = SafePnextCopy(src.pNext); } safe_VkMultisamplePropertiesEXT& safe_VkMultisamplePropertiesEXT::operator=(const safe_VkMultisamplePropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxSampleLocationGridSize = src.maxSampleLocationGridSize; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMultisamplePropertiesEXT::~safe_VkMultisamplePropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMultisamplePropertiesEXT::initialize(const VkMultisamplePropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxSampleLocationGridSize = in_struct->maxSampleLocationGridSize; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMultisamplePropertiesEXT::initialize(const safe_VkMultisamplePropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; maxSampleLocationGridSize = src->maxSampleLocationGridSize; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), advancedBlendCoherentOperations(in_struct->advancedBlendCoherentOperations) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT() +safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; advancedBlendCoherentOperations = src.advancedBlendCoherentOperations; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::operator=(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; advancedBlendCoherentOperations = src.advancedBlendCoherentOperations; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::~safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::initialize(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; advancedBlendCoherentOperations = in_struct->advancedBlendCoherentOperations; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; advancedBlendCoherentOperations = src->advancedBlendCoherentOperations; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), advancedBlendMaxColorAttachments(in_struct->advancedBlendMaxColorAttachments), advancedBlendIndependentBlend(in_struct->advancedBlendIndependentBlend), advancedBlendNonPremultipliedSrcColor(in_struct->advancedBlendNonPremultipliedSrcColor), @@ -19089,191 +20903,207 @@ safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceB advancedBlendCorrelatedOverlap(in_struct->advancedBlendCorrelatedOverlap), advancedBlendAllOperations(in_struct->advancedBlendAllOperations) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT() +safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; advancedBlendMaxColorAttachments = src.advancedBlendMaxColorAttachments; advancedBlendIndependentBlend = src.advancedBlendIndependentBlend; advancedBlendNonPremultipliedSrcColor = src.advancedBlendNonPremultipliedSrcColor; advancedBlendNonPremultipliedDstColor = src.advancedBlendNonPremultipliedDstColor; advancedBlendCorrelatedOverlap = src.advancedBlendCorrelatedOverlap; advancedBlendAllOperations = src.advancedBlendAllOperations; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::operator=(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; advancedBlendMaxColorAttachments = src.advancedBlendMaxColorAttachments; advancedBlendIndependentBlend = src.advancedBlendIndependentBlend; advancedBlendNonPremultipliedSrcColor = src.advancedBlendNonPremultipliedSrcColor; advancedBlendNonPremultipliedDstColor = src.advancedBlendNonPremultipliedDstColor; advancedBlendCorrelatedOverlap = src.advancedBlendCorrelatedOverlap; advancedBlendAllOperations = src.advancedBlendAllOperations; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::~safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::initialize(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; advancedBlendMaxColorAttachments = in_struct->advancedBlendMaxColorAttachments; advancedBlendIndependentBlend = in_struct->advancedBlendIndependentBlend; advancedBlendNonPremultipliedSrcColor = in_struct->advancedBlendNonPremultipliedSrcColor; advancedBlendNonPremultipliedDstColor = in_struct->advancedBlendNonPremultipliedDstColor; advancedBlendCorrelatedOverlap = in_struct->advancedBlendCorrelatedOverlap; advancedBlendAllOperations = in_struct->advancedBlendAllOperations; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; advancedBlendMaxColorAttachments = src->advancedBlendMaxColorAttachments; advancedBlendIndependentBlend = src->advancedBlendIndependentBlend; advancedBlendNonPremultipliedSrcColor = src->advancedBlendNonPremultipliedSrcColor; advancedBlendNonPremultipliedDstColor = src->advancedBlendNonPremultipliedDstColor; advancedBlendCorrelatedOverlap = src->advancedBlendCorrelatedOverlap; advancedBlendAllOperations = src->advancedBlendAllOperations; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const VkPipelineColorBlendAdvancedStateCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), srcPremultiplied(in_struct->srcPremultiplied), dstPremultiplied(in_struct->dstPremultiplied), blendOverlap(in_struct->blendOverlap) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT() +safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT() : + pNext(nullptr) {} safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; srcPremultiplied = src.srcPremultiplied; dstPremultiplied = src.dstPremultiplied; blendOverlap = src.blendOverlap; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::operator=(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; srcPremultiplied = src.srcPremultiplied; dstPremultiplied = src.dstPremultiplied; blendOverlap = src.blendOverlap; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::~safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::initialize(const VkPipelineColorBlendAdvancedStateCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; srcPremultiplied = in_struct->srcPremultiplied; dstPremultiplied = in_struct->dstPremultiplied; blendOverlap = in_struct->blendOverlap; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::initialize(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; srcPremultiplied = src->srcPremultiplied; dstPremultiplied = src->dstPremultiplied; blendOverlap = src->blendOverlap; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV(const VkPipelineCoverageToColorStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), coverageToColorEnable(in_struct->coverageToColorEnable), coverageToColorLocation(in_struct->coverageToColorLocation) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV() +safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV() : + pNext(nullptr) {} safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV(const safe_VkPipelineCoverageToColorStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; coverageToColorEnable = src.coverageToColorEnable; coverageToColorLocation = src.coverageToColorLocation; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineCoverageToColorStateCreateInfoNV& safe_VkPipelineCoverageToColorStateCreateInfoNV::operator=(const safe_VkPipelineCoverageToColorStateCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; coverageToColorEnable = src.coverageToColorEnable; coverageToColorLocation = src.coverageToColorLocation; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineCoverageToColorStateCreateInfoNV::~safe_VkPipelineCoverageToColorStateCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineCoverageToColorStateCreateInfoNV::initialize(const VkPipelineCoverageToColorStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; coverageToColorEnable = in_struct->coverageToColorEnable; coverageToColorLocation = in_struct->coverageToColorLocation; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineCoverageToColorStateCreateInfoNV::initialize(const safe_VkPipelineCoverageToColorStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; coverageToColorEnable = src->coverageToColorEnable; coverageToColorLocation = src->coverageToColorLocation; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV(const VkPipelineCoverageModulationStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), coverageModulationMode(in_struct->coverageModulationMode), coverageModulationTableEnable(in_struct->coverageModulationTableEnable), coverageModulationTableCount(in_struct->coverageModulationTableCount), pCoverageModulationTable(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pCoverageModulationTable) { pCoverageModulationTable = new float[in_struct->coverageModulationTableCount]; memcpy ((void *)pCoverageModulationTable, (void *)in_struct->pCoverageModulationTable, sizeof(float)*in_struct->coverageModulationTableCount); @@ -19281,18 +21111,19 @@ safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModul } safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV() : + pNext(nullptr), pCoverageModulationTable(nullptr) {} safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV(const safe_VkPipelineCoverageModulationStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; coverageModulationMode = src.coverageModulationMode; coverageModulationTableEnable = src.coverageModulationTableEnable; coverageModulationTableCount = src.coverageModulationTableCount; pCoverageModulationTable = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pCoverageModulationTable) { pCoverageModulationTable = new float[src.coverageModulationTableCount]; memcpy ((void *)pCoverageModulationTable, (void *)src.pCoverageModulationTable, sizeof(float)*src.coverageModulationTableCount); @@ -19305,14 +21136,16 @@ safe_VkPipelineCoverageModulationStateCreateInfoNV& safe_VkPipelineCoverageModul if (pCoverageModulationTable) delete[] pCoverageModulationTable; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; coverageModulationMode = src.coverageModulationMode; coverageModulationTableEnable = src.coverageModulationTableEnable; coverageModulationTableCount = src.coverageModulationTableCount; pCoverageModulationTable = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pCoverageModulationTable) { pCoverageModulationTable = new float[src.coverageModulationTableCount]; memcpy ((void *)pCoverageModulationTable, (void *)src.pCoverageModulationTable, sizeof(float)*src.coverageModulationTableCount); @@ -19325,17 +21158,19 @@ safe_VkPipelineCoverageModulationStateCreateInfoNV::~safe_VkPipelineCoverageModu { if (pCoverageModulationTable) delete[] pCoverageModulationTable; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const VkPipelineCoverageModulationStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; coverageModulationMode = in_struct->coverageModulationMode; coverageModulationTableEnable = in_struct->coverageModulationTableEnable; coverageModulationTableCount = in_struct->coverageModulationTableCount; pCoverageModulationTable = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pCoverageModulationTable) { pCoverageModulationTable = new float[in_struct->coverageModulationTableCount]; memcpy ((void *)pCoverageModulationTable, (void *)in_struct->pCoverageModulationTable, sizeof(float)*in_struct->coverageModulationTableCount); @@ -19345,12 +21180,12 @@ void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const VkPipe void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const safe_VkPipelineCoverageModulationStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; coverageModulationMode = src->coverageModulationMode; coverageModulationTableEnable = src->coverageModulationTableEnable; coverageModulationTableCount = src->coverageModulationTableCount; pCoverageModulationTable = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pCoverageModulationTable) { pCoverageModulationTable = new float[src->coverageModulationTableCount]; memcpy ((void *)pCoverageModulationTable, (void *)src->pCoverageModulationTable, sizeof(float)*src->coverageModulationTableCount); @@ -19359,109 +21194,119 @@ void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const safe_V safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderSMCount(in_struct->shaderSMCount), shaderWarpsPerSM(in_struct->shaderWarpsPerSM) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV() +safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& src) { sType = src.sType; - pNext = src.pNext; shaderSMCount = src.shaderSMCount; shaderWarpsPerSM = src.shaderWarpsPerSM; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::operator=(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderSMCount = src.shaderSMCount; shaderWarpsPerSM = src.shaderWarpsPerSM; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::~safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::initialize(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderSMCount = in_struct->shaderSMCount; shaderWarpsPerSM = in_struct->shaderWarpsPerSM; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* src) { sType = src->sType; - pNext = src->pNext; shaderSMCount = src->shaderSMCount; shaderWarpsPerSM = src->shaderWarpsPerSM; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderSMBuiltins(in_struct->shaderSMBuiltins) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV() +safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; shaderSMBuiltins = src.shaderSMBuiltins; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::operator=(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderSMBuiltins = src.shaderSMBuiltins; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::~safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::initialize(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderSMBuiltins = in_struct->shaderSMBuiltins; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; shaderSMBuiltins = src->shaderSMBuiltins; + pNext = SafePnextCopy(src->pNext); } safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), drmFormatModifierCount(in_struct->drmFormatModifierCount), pDrmFormatModifierProperties(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDrmFormatModifierProperties) { pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[in_struct->drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifierProperties, (void *)in_struct->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*in_struct->drmFormatModifierCount); @@ -19469,15 +21314,16 @@ safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesLis } safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT() : + pNext(nullptr), pDrmFormatModifierProperties(nullptr) {} safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT(const safe_VkDrmFormatModifierPropertiesListEXT& src) { sType = src.sType; - pNext = src.pNext; drmFormatModifierCount = src.drmFormatModifierCount; pDrmFormatModifierProperties = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDrmFormatModifierProperties) { pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src.drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifierProperties, (void *)src.pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src.drmFormatModifierCount); @@ -19490,11 +21336,13 @@ safe_VkDrmFormatModifierPropertiesListEXT& safe_VkDrmFormatModifierPropertiesLis if (pDrmFormatModifierProperties) delete[] pDrmFormatModifierProperties; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; drmFormatModifierCount = src.drmFormatModifierCount; pDrmFormatModifierProperties = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDrmFormatModifierProperties) { pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src.drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifierProperties, (void *)src.pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src.drmFormatModifierCount); @@ -19507,14 +21355,16 @@ safe_VkDrmFormatModifierPropertiesListEXT::~safe_VkDrmFormatModifierPropertiesLi { if (pDrmFormatModifierProperties) delete[] pDrmFormatModifierProperties; + if (pNext) + FreePnextChain(pNext); } void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const VkDrmFormatModifierPropertiesListEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; drmFormatModifierCount = in_struct->drmFormatModifierCount; pDrmFormatModifierProperties = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDrmFormatModifierProperties) { pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[in_struct->drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifierProperties, (void *)in_struct->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*in_struct->drmFormatModifierCount); @@ -19524,9 +21374,9 @@ void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const VkDrmFormatModi void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const safe_VkDrmFormatModifierPropertiesListEXT* src) { sType = src->sType; - pNext = src->pNext; drmFormatModifierCount = src->drmFormatModifierCount; pDrmFormatModifierProperties = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDrmFormatModifierProperties) { pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src->drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifierProperties, (void *)src->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src->drmFormatModifierCount); @@ -19535,12 +21385,12 @@ void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const safe_VkDrmForma safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), drmFormatModifier(in_struct->drmFormatModifier), sharingMode(in_struct->sharingMode), queueFamilyIndexCount(in_struct->queueFamilyIndexCount), pQueueFamilyIndices(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -19548,17 +21398,18 @@ safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDr } safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT() : + pNext(nullptr), pQueueFamilyIndices(nullptr) {} safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& src) { sType = src.sType; - pNext = src.pNext; drmFormatModifier = src.drmFormatModifier; sharingMode = src.sharingMode; queueFamilyIndexCount = src.queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -19571,13 +21422,15 @@ safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& safe_VkPhysicalDeviceImageDr if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; drmFormatModifier = src.drmFormatModifier; sharingMode = src.sharingMode; queueFamilyIndexCount = src.queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount); @@ -19590,16 +21443,18 @@ safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::~safe_VkPhysicalDeviceImageD { if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; drmFormatModifier = in_struct->drmFormatModifier; sharingMode = in_struct->sharingMode; queueFamilyIndexCount = in_struct->queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount); @@ -19609,11 +21464,11 @@ void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const VkPhys void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT* src) { sType = src->sType; - pNext = src->pNext; drmFormatModifier = src->drmFormatModifier; sharingMode = src->sharingMode; queueFamilyIndexCount = src->queueFamilyIndexCount; pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pQueueFamilyIndices) { pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount]; memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount); @@ -19622,10 +21477,10 @@ void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const safe_V safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), drmFormatModifierCount(in_struct->drmFormatModifierCount), pDrmFormatModifiers(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDrmFormatModifiers) { pDrmFormatModifiers = new uint64_t[in_struct->drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifiers, (void *)in_struct->pDrmFormatModifiers, sizeof(uint64_t)*in_struct->drmFormatModifierCount); @@ -19633,15 +21488,16 @@ safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierLis } safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT() : + pNext(nullptr), pDrmFormatModifiers(nullptr) {} safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT(const safe_VkImageDrmFormatModifierListCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; drmFormatModifierCount = src.drmFormatModifierCount; pDrmFormatModifiers = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDrmFormatModifiers) { pDrmFormatModifiers = new uint64_t[src.drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifiers, (void *)src.pDrmFormatModifiers, sizeof(uint64_t)*src.drmFormatModifierCount); @@ -19654,11 +21510,13 @@ safe_VkImageDrmFormatModifierListCreateInfoEXT& safe_VkImageDrmFormatModifierLis if (pDrmFormatModifiers) delete[] pDrmFormatModifiers; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; drmFormatModifierCount = src.drmFormatModifierCount; pDrmFormatModifiers = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDrmFormatModifiers) { pDrmFormatModifiers = new uint64_t[src.drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifiers, (void *)src.pDrmFormatModifiers, sizeof(uint64_t)*src.drmFormatModifierCount); @@ -19671,14 +21529,16 @@ safe_VkImageDrmFormatModifierListCreateInfoEXT::~safe_VkImageDrmFormatModifierLi { if (pDrmFormatModifiers) delete[] pDrmFormatModifiers; + if (pNext) + FreePnextChain(pNext); } void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const VkImageDrmFormatModifierListCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; drmFormatModifierCount = in_struct->drmFormatModifierCount; pDrmFormatModifiers = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDrmFormatModifiers) { pDrmFormatModifiers = new uint64_t[in_struct->drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifiers, (void *)in_struct->pDrmFormatModifiers, sizeof(uint64_t)*in_struct->drmFormatModifierCount); @@ -19688,9 +21548,9 @@ void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const VkImageDrm void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const safe_VkImageDrmFormatModifierListCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; drmFormatModifierCount = src->drmFormatModifierCount; pDrmFormatModifiers = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDrmFormatModifiers) { pDrmFormatModifiers = new uint64_t[src->drmFormatModifierCount]; memcpy ((void *)pDrmFormatModifiers, (void *)src->pDrmFormatModifiers, sizeof(uint64_t)*src->drmFormatModifierCount); @@ -19699,11 +21559,11 @@ void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const safe_VkIma safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), drmFormatModifier(in_struct->drmFormatModifier), drmFormatModifierPlaneCount(in_struct->drmFormatModifierPlaneCount), pPlaneLayouts(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPlaneLayouts) { pPlaneLayouts = new VkSubresourceLayout[in_struct->drmFormatModifierPlaneCount]; memcpy ((void *)pPlaneLayouts, (void *)in_struct->pPlaneLayouts, sizeof(VkSubresourceLayout)*in_struct->drmFormatModifierPlaneCount); @@ -19711,16 +21571,17 @@ safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifie } safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT() : + pNext(nullptr), pPlaneLayouts(nullptr) {} safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; drmFormatModifier = src.drmFormatModifier; drmFormatModifierPlaneCount = src.drmFormatModifierPlaneCount; pPlaneLayouts = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPlaneLayouts) { pPlaneLayouts = new VkSubresourceLayout[src.drmFormatModifierPlaneCount]; memcpy ((void *)pPlaneLayouts, (void *)src.pPlaneLayouts, sizeof(VkSubresourceLayout)*src.drmFormatModifierPlaneCount); @@ -19733,12 +21594,14 @@ safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& safe_VkImageDrmFormatModifie if (pPlaneLayouts) delete[] pPlaneLayouts; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; drmFormatModifier = src.drmFormatModifier; drmFormatModifierPlaneCount = src.drmFormatModifierPlaneCount; pPlaneLayouts = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPlaneLayouts) { pPlaneLayouts = new VkSubresourceLayout[src.drmFormatModifierPlaneCount]; memcpy ((void *)pPlaneLayouts, (void *)src.pPlaneLayouts, sizeof(VkSubresourceLayout)*src.drmFormatModifierPlaneCount); @@ -19751,15 +21614,17 @@ safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::~safe_VkImageDrmFormatModifi { if (pPlaneLayouts) delete[] pPlaneLayouts; + if (pNext) + FreePnextChain(pNext); } void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const VkImageDrmFormatModifierExplicitCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; drmFormatModifier = in_struct->drmFormatModifier; drmFormatModifierPlaneCount = in_struct->drmFormatModifierPlaneCount; pPlaneLayouts = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPlaneLayouts) { pPlaneLayouts = new VkSubresourceLayout[in_struct->drmFormatModifierPlaneCount]; memcpy ((void *)pPlaneLayouts, (void *)in_struct->pPlaneLayouts, sizeof(VkSubresourceLayout)*in_struct->drmFormatModifierPlaneCount); @@ -19769,10 +21634,10 @@ void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const VkImag void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; drmFormatModifier = src->drmFormatModifier; drmFormatModifierPlaneCount = src->drmFormatModifierPlaneCount; pPlaneLayouts = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pPlaneLayouts) { pPlaneLayouts = new VkSubresourceLayout[src->drmFormatModifierPlaneCount]; memcpy ((void *)pPlaneLayouts, (void *)src->pPlaneLayouts, sizeof(VkSubresourceLayout)*src->drmFormatModifierPlaneCount); @@ -19781,161 +21646,177 @@ void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const safe_V safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), drmFormatModifier(in_struct->drmFormatModifier) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT() +safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT() : + pNext(nullptr) {} safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT(const safe_VkImageDrmFormatModifierPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; drmFormatModifier = src.drmFormatModifier; + pNext = SafePnextCopy(src.pNext); } safe_VkImageDrmFormatModifierPropertiesEXT& safe_VkImageDrmFormatModifierPropertiesEXT::operator=(const safe_VkImageDrmFormatModifierPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; drmFormatModifier = src.drmFormatModifier; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageDrmFormatModifierPropertiesEXT::~safe_VkImageDrmFormatModifierPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageDrmFormatModifierPropertiesEXT::initialize(const VkImageDrmFormatModifierPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; drmFormatModifier = in_struct->drmFormatModifier; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageDrmFormatModifierPropertiesEXT::initialize(const safe_VkImageDrmFormatModifierPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; drmFormatModifier = src->drmFormatModifier; + pNext = SafePnextCopy(src->pNext); } safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT(const VkValidationCacheCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), initialDataSize(in_struct->initialDataSize), pInitialData(in_struct->pInitialData) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT() +safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT() : + pNext(nullptr), + pInitialData(nullptr) {} safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT(const safe_VkValidationCacheCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; initialDataSize = src.initialDataSize; pInitialData = src.pInitialData; + pNext = SafePnextCopy(src.pNext); } safe_VkValidationCacheCreateInfoEXT& safe_VkValidationCacheCreateInfoEXT::operator=(const safe_VkValidationCacheCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; initialDataSize = src.initialDataSize; pInitialData = src.pInitialData; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkValidationCacheCreateInfoEXT::~safe_VkValidationCacheCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkValidationCacheCreateInfoEXT::initialize(const VkValidationCacheCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; initialDataSize = in_struct->initialDataSize; pInitialData = in_struct->pInitialData; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkValidationCacheCreateInfoEXT::initialize(const safe_VkValidationCacheCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; initialDataSize = src->initialDataSize; pInitialData = src->pInitialData; + pNext = SafePnextCopy(src->pNext); } safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT(const VkShaderModuleValidationCacheCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), validationCache(in_struct->validationCache) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT() +safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT() : + pNext(nullptr) {} safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT(const safe_VkShaderModuleValidationCacheCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; validationCache = src.validationCache; + pNext = SafePnextCopy(src.pNext); } safe_VkShaderModuleValidationCacheCreateInfoEXT& safe_VkShaderModuleValidationCacheCreateInfoEXT::operator=(const safe_VkShaderModuleValidationCacheCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; validationCache = src.validationCache; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkShaderModuleValidationCacheCreateInfoEXT::~safe_VkShaderModuleValidationCacheCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkShaderModuleValidationCacheCreateInfoEXT::initialize(const VkShaderModuleValidationCacheCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; validationCache = in_struct->validationCache; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkShaderModuleValidationCacheCreateInfoEXT::initialize(const safe_VkShaderModuleValidationCacheCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; validationCache = src->validationCache; + pNext = SafePnextCopy(src->pNext); } safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), bindingCount(in_struct->bindingCount), pBindingFlags(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pBindingFlags) { pBindingFlags = new VkDescriptorBindingFlagsEXT[in_struct->bindingCount]; memcpy ((void *)pBindingFlags, (void *)in_struct->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*in_struct->bindingCount); @@ -19943,15 +21824,16 @@ safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutB } safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT() : + pNext(nullptr), pBindingFlags(nullptr) {} safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; bindingCount = src.bindingCount; pBindingFlags = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pBindingFlags) { pBindingFlags = new VkDescriptorBindingFlagsEXT[src.bindingCount]; memcpy ((void *)pBindingFlags, (void *)src.pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src.bindingCount); @@ -19964,11 +21846,13 @@ safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& safe_VkDescriptorSetLayoutB if (pBindingFlags) delete[] pBindingFlags; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; bindingCount = src.bindingCount; pBindingFlags = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pBindingFlags) { pBindingFlags = new VkDescriptorBindingFlagsEXT[src.bindingCount]; memcpy ((void *)pBindingFlags, (void *)src.pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src.bindingCount); @@ -19981,14 +21865,16 @@ safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::~safe_VkDescriptorSetLayout { if (pBindingFlags) delete[] pBindingFlags; + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; bindingCount = in_struct->bindingCount; pBindingFlags = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pBindingFlags) { pBindingFlags = new VkDescriptorBindingFlagsEXT[in_struct->bindingCount]; memcpy ((void *)pBindingFlags, (void *)in_struct->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*in_struct->bindingCount); @@ -19998,9 +21884,9 @@ void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const VkDes void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; bindingCount = src->bindingCount; pBindingFlags = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pBindingFlags) { pBindingFlags = new VkDescriptorBindingFlagsEXT[src->bindingCount]; memcpy ((void *)pBindingFlags, (void *)src->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src->bindingCount); @@ -20009,7 +21895,6 @@ void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const safe_ safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderInputAttachmentArrayDynamicIndexing(in_struct->shaderInputAttachmentArrayDynamicIndexing), shaderUniformTexelBufferArrayDynamicIndexing(in_struct->shaderUniformTexelBufferArrayDynamicIndexing), shaderStorageTexelBufferArrayDynamicIndexing(in_struct->shaderStorageTexelBufferArrayDynamicIndexing), @@ -20031,15 +21916,16 @@ safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescrip descriptorBindingVariableDescriptorCount(in_struct->descriptorBindingVariableDescriptorCount), runtimeDescriptorArray(in_struct->runtimeDescriptorArray) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT() +safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; shaderInputAttachmentArrayDynamicIndexing = src.shaderInputAttachmentArrayDynamicIndexing; shaderUniformTexelBufferArrayDynamicIndexing = src.shaderUniformTexelBufferArrayDynamicIndexing; shaderStorageTexelBufferArrayDynamicIndexing = src.shaderStorageTexelBufferArrayDynamicIndexing; @@ -20060,15 +21946,17 @@ safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescrip descriptorBindingPartiallyBound = src.descriptorBindingPartiallyBound; descriptorBindingVariableDescriptorCount = src.descriptorBindingVariableDescriptorCount; runtimeDescriptorArray = src.runtimeDescriptorArray; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::operator=(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderInputAttachmentArrayDynamicIndexing = src.shaderInputAttachmentArrayDynamicIndexing; shaderUniformTexelBufferArrayDynamicIndexing = src.shaderUniformTexelBufferArrayDynamicIndexing; shaderStorageTexelBufferArrayDynamicIndexing = src.shaderStorageTexelBufferArrayDynamicIndexing; @@ -20089,18 +21977,20 @@ safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& safe_VkPhysicalDeviceDescrip descriptorBindingPartiallyBound = src.descriptorBindingPartiallyBound; descriptorBindingVariableDescriptorCount = src.descriptorBindingVariableDescriptorCount; runtimeDescriptorArray = src.runtimeDescriptorArray; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::~safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderInputAttachmentArrayDynamicIndexing = in_struct->shaderInputAttachmentArrayDynamicIndexing; shaderUniformTexelBufferArrayDynamicIndexing = in_struct->shaderUniformTexelBufferArrayDynamicIndexing; shaderStorageTexelBufferArrayDynamicIndexing = in_struct->shaderStorageTexelBufferArrayDynamicIndexing; @@ -20121,12 +22011,12 @@ void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const VkPhys descriptorBindingPartiallyBound = in_struct->descriptorBindingPartiallyBound; descriptorBindingVariableDescriptorCount = in_struct->descriptorBindingVariableDescriptorCount; runtimeDescriptorArray = in_struct->runtimeDescriptorArray; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; shaderInputAttachmentArrayDynamicIndexing = src->shaderInputAttachmentArrayDynamicIndexing; shaderUniformTexelBufferArrayDynamicIndexing = src->shaderUniformTexelBufferArrayDynamicIndexing; shaderStorageTexelBufferArrayDynamicIndexing = src->shaderStorageTexelBufferArrayDynamicIndexing; @@ -20147,11 +22037,11 @@ void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const safe_V descriptorBindingPartiallyBound = src->descriptorBindingPartiallyBound; descriptorBindingVariableDescriptorCount = src->descriptorBindingVariableDescriptorCount; runtimeDescriptorArray = src->runtimeDescriptorArray; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxUpdateAfterBindDescriptorsInAllPools(in_struct->maxUpdateAfterBindDescriptorsInAllPools), shaderUniformBufferArrayNonUniformIndexingNative(in_struct->shaderUniformBufferArrayNonUniformIndexingNative), shaderSampledImageArrayNonUniformIndexingNative(in_struct->shaderSampledImageArrayNonUniformIndexingNative), @@ -20176,15 +22066,16 @@ safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescr maxDescriptorSetUpdateAfterBindStorageImages(in_struct->maxDescriptorSetUpdateAfterBindStorageImages), maxDescriptorSetUpdateAfterBindInputAttachments(in_struct->maxDescriptorSetUpdateAfterBindInputAttachments) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT() +safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; maxUpdateAfterBindDescriptorsInAllPools = src.maxUpdateAfterBindDescriptorsInAllPools; shaderUniformBufferArrayNonUniformIndexingNative = src.shaderUniformBufferArrayNonUniformIndexingNative; shaderSampledImageArrayNonUniformIndexingNative = src.shaderSampledImageArrayNonUniformIndexingNative; @@ -20208,15 +22099,17 @@ safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescr maxDescriptorSetUpdateAfterBindSampledImages = src.maxDescriptorSetUpdateAfterBindSampledImages; maxDescriptorSetUpdateAfterBindStorageImages = src.maxDescriptorSetUpdateAfterBindStorageImages; maxDescriptorSetUpdateAfterBindInputAttachments = src.maxDescriptorSetUpdateAfterBindInputAttachments; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::operator=(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxUpdateAfterBindDescriptorsInAllPools = src.maxUpdateAfterBindDescriptorsInAllPools; shaderUniformBufferArrayNonUniformIndexingNative = src.shaderUniformBufferArrayNonUniformIndexingNative; shaderSampledImageArrayNonUniformIndexingNative = src.shaderSampledImageArrayNonUniformIndexingNative; @@ -20240,18 +22133,20 @@ safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& safe_VkPhysicalDeviceDescr maxDescriptorSetUpdateAfterBindSampledImages = src.maxDescriptorSetUpdateAfterBindSampledImages; maxDescriptorSetUpdateAfterBindStorageImages = src.maxDescriptorSetUpdateAfterBindStorageImages; maxDescriptorSetUpdateAfterBindInputAttachments = src.maxDescriptorSetUpdateAfterBindInputAttachments; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::~safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxUpdateAfterBindDescriptorsInAllPools = in_struct->maxUpdateAfterBindDescriptorsInAllPools; shaderUniformBufferArrayNonUniformIndexingNative = in_struct->shaderUniformBufferArrayNonUniformIndexingNative; shaderSampledImageArrayNonUniformIndexingNative = in_struct->shaderSampledImageArrayNonUniformIndexingNative; @@ -20275,12 +22170,12 @@ void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const VkPh maxDescriptorSetUpdateAfterBindSampledImages = in_struct->maxDescriptorSetUpdateAfterBindSampledImages; maxDescriptorSetUpdateAfterBindStorageImages = in_struct->maxDescriptorSetUpdateAfterBindStorageImages; maxDescriptorSetUpdateAfterBindInputAttachments = in_struct->maxDescriptorSetUpdateAfterBindInputAttachments; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; maxUpdateAfterBindDescriptorsInAllPools = src->maxUpdateAfterBindDescriptorsInAllPools; shaderUniformBufferArrayNonUniformIndexingNative = src->shaderUniformBufferArrayNonUniformIndexingNative; shaderSampledImageArrayNonUniformIndexingNative = src->shaderSampledImageArrayNonUniformIndexingNative; @@ -20304,14 +22199,15 @@ void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const safe maxDescriptorSetUpdateAfterBindSampledImages = src->maxDescriptorSetUpdateAfterBindSampledImages; maxDescriptorSetUpdateAfterBindStorageImages = src->maxDescriptorSetUpdateAfterBindStorageImages; maxDescriptorSetUpdateAfterBindInputAttachments = src->maxDescriptorSetUpdateAfterBindInputAttachments; + pNext = SafePnextCopy(src->pNext); } safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), descriptorSetCount(in_struct->descriptorSetCount), pDescriptorCounts(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDescriptorCounts) { pDescriptorCounts = new uint32_t[in_struct->descriptorSetCount]; memcpy ((void *)pDescriptorCounts, (void *)in_struct->pDescriptorCounts, sizeof(uint32_t)*in_struct->descriptorSetCount); @@ -20319,15 +22215,16 @@ safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSet } safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT() : + pNext(nullptr), pDescriptorCounts(nullptr) {} safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; descriptorSetCount = src.descriptorSetCount; pDescriptorCounts = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDescriptorCounts) { pDescriptorCounts = new uint32_t[src.descriptorSetCount]; memcpy ((void *)pDescriptorCounts, (void *)src.pDescriptorCounts, sizeof(uint32_t)*src.descriptorSetCount); @@ -20340,11 +22237,13 @@ safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& safe_VkDescriptorSet if (pDescriptorCounts) delete[] pDescriptorCounts; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; descriptorSetCount = src.descriptorSetCount; pDescriptorCounts = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDescriptorCounts) { pDescriptorCounts = new uint32_t[src.descriptorSetCount]; memcpy ((void *)pDescriptorCounts, (void *)src.pDescriptorCounts, sizeof(uint32_t)*src.descriptorSetCount); @@ -20357,14 +22256,16 @@ safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::~safe_VkDescriptorSe { if (pDescriptorCounts) delete[] pDescriptorCounts; + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; descriptorSetCount = in_struct->descriptorSetCount; pDescriptorCounts = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDescriptorCounts) { pDescriptorCounts = new uint32_t[in_struct->descriptorSetCount]; memcpy ((void *)pDescriptorCounts, (void *)in_struct->pDescriptorCounts, sizeof(uint32_t)*in_struct->descriptorSetCount); @@ -20374,9 +22275,9 @@ void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(cons void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; descriptorSetCount = src->descriptorSetCount; pDescriptorCounts = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDescriptorCounts) { pDescriptorCounts = new uint32_t[src->descriptorSetCount]; memcpy ((void *)pDescriptorCounts, (void *)src->pDescriptorCounts, sizeof(uint32_t)*src->descriptorSetCount); @@ -20385,49 +22286,54 @@ void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(cons safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxVariableDescriptorCount(in_struct->maxVariableDescriptorCount) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT() +safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT() : + pNext(nullptr) {} safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& src) { sType = src.sType; - pNext = src.pNext; maxVariableDescriptorCount = src.maxVariableDescriptorCount; + pNext = SafePnextCopy(src.pNext); } safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::operator=(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxVariableDescriptorCount = src.maxVariableDescriptorCount; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::~safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::initialize(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxVariableDescriptorCount = in_struct->maxVariableDescriptorCount; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::initialize(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* src) { sType = src->sType; - pNext = src->pNext; maxVariableDescriptorCount = src->maxVariableDescriptorCount; + pNext = SafePnextCopy(src->pNext); } safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV(const VkShadingRatePaletteNV* in_struct) : @@ -20499,33 +22405,34 @@ void safe_VkShadingRatePaletteNV::initialize(const safe_VkShadingRatePaletteNV* safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const VkPipelineViewportShadingRateImageStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shadingRateImageEnable(in_struct->shadingRateImageEnable), viewportCount(in_struct->viewportCount), pShadingRatePalettes(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (viewportCount && in_struct->pShadingRatePalettes) { pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount]; - for (uint32_t i=0; i<viewportCount; ++i) { + for (uint32_t i = 0; i < viewportCount; ++i) { pShadingRatePalettes[i].initialize(&in_struct->pShadingRatePalettes[i]); } } } safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV() : + pNext(nullptr), pShadingRatePalettes(nullptr) {} safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; shadingRateImageEnable = src.shadingRateImageEnable; viewportCount = src.viewportCount; pShadingRatePalettes = nullptr; + pNext = SafePnextCopy(src.pNext); if (viewportCount && src.pShadingRatePalettes) { pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount]; - for (uint32_t i=0; i<viewportCount; ++i) { + for (uint32_t i = 0; i < viewportCount; ++i) { pShadingRatePalettes[i].initialize(&src.pShadingRatePalettes[i]); } } @@ -20537,15 +22444,17 @@ safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& safe_VkPipelineViewpor if (pShadingRatePalettes) delete[] pShadingRatePalettes; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shadingRateImageEnable = src.shadingRateImageEnable; viewportCount = src.viewportCount; pShadingRatePalettes = nullptr; + pNext = SafePnextCopy(src.pNext); if (viewportCount && src.pShadingRatePalettes) { pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount]; - for (uint32_t i=0; i<viewportCount; ++i) { + for (uint32_t i = 0; i < viewportCount; ++i) { pShadingRatePalettes[i].initialize(&src.pShadingRatePalettes[i]); } } @@ -20557,18 +22466,20 @@ safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::~safe_VkPipelineViewpo { if (pShadingRatePalettes) delete[] pShadingRatePalettes; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const VkPipelineViewportShadingRateImageStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shadingRateImageEnable = in_struct->shadingRateImageEnable; viewportCount = in_struct->viewportCount; pShadingRatePalettes = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (viewportCount && in_struct->pShadingRatePalettes) { pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount]; - for (uint32_t i=0; i<viewportCount; ++i) { + for (uint32_t i = 0; i < viewportCount; ++i) { pShadingRatePalettes[i].initialize(&in_struct->pShadingRatePalettes[i]); } } @@ -20577,13 +22488,13 @@ void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; shadingRateImageEnable = src->shadingRateImageEnable; viewportCount = src->viewportCount; pShadingRatePalettes = nullptr; + pNext = SafePnextCopy(src->pNext); if (viewportCount && src->pShadingRatePalettes) { pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount]; - for (uint32_t i=0; i<viewportCount; ++i) { + for (uint32_t i = 0; i < viewportCount; ++i) { pShadingRatePalettes[i].initialize(&src->pShadingRatePalettes[i]); } } @@ -20591,111 +22502,121 @@ void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const VkPhysicalDeviceShadingRateImageFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shadingRateImage(in_struct->shadingRateImage), shadingRateCoarseSampleOrder(in_struct->shadingRateCoarseSampleOrder) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV() +safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; shadingRateImage = src.shadingRateImage; shadingRateCoarseSampleOrder = src.shadingRateCoarseSampleOrder; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShadingRateImageFeaturesNV& safe_VkPhysicalDeviceShadingRateImageFeaturesNV::operator=(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shadingRateImage = src.shadingRateImage; shadingRateCoarseSampleOrder = src.shadingRateCoarseSampleOrder; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShadingRateImageFeaturesNV::~safe_VkPhysicalDeviceShadingRateImageFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShadingRateImageFeaturesNV::initialize(const VkPhysicalDeviceShadingRateImageFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shadingRateImage = in_struct->shadingRateImage; shadingRateCoarseSampleOrder = in_struct->shadingRateCoarseSampleOrder; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShadingRateImageFeaturesNV::initialize(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; shadingRateImage = src->shadingRateImage; shadingRateCoarseSampleOrder = src->shadingRateCoarseSampleOrder; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const VkPhysicalDeviceShadingRateImagePropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shadingRateTexelSize(in_struct->shadingRateTexelSize), shadingRatePaletteSize(in_struct->shadingRatePaletteSize), shadingRateMaxCoarseSamples(in_struct->shadingRateMaxCoarseSamples) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV() +safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV& src) { sType = src.sType; - pNext = src.pNext; shadingRateTexelSize = src.shadingRateTexelSize; shadingRatePaletteSize = src.shadingRatePaletteSize; shadingRateMaxCoarseSamples = src.shadingRateMaxCoarseSamples; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShadingRateImagePropertiesNV& safe_VkPhysicalDeviceShadingRateImagePropertiesNV::operator=(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shadingRateTexelSize = src.shadingRateTexelSize; shadingRatePaletteSize = src.shadingRatePaletteSize; shadingRateMaxCoarseSamples = src.shadingRateMaxCoarseSamples; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShadingRateImagePropertiesNV::~safe_VkPhysicalDeviceShadingRateImagePropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShadingRateImagePropertiesNV::initialize(const VkPhysicalDeviceShadingRateImagePropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shadingRateTexelSize = in_struct->shadingRateTexelSize; shadingRatePaletteSize = in_struct->shadingRatePaletteSize; shadingRateMaxCoarseSamples = in_struct->shadingRateMaxCoarseSamples; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShadingRateImagePropertiesNV::initialize(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV* src) { sType = src->sType; - pNext = src->pNext; shadingRateTexelSize = src->shadingRateTexelSize; shadingRatePaletteSize = src->shadingRatePaletteSize; shadingRateMaxCoarseSamples = src->shadingRateMaxCoarseSamples; + pNext = SafePnextCopy(src->pNext); } safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV(const VkCoarseSampleOrderCustomNV* in_struct) : @@ -20777,33 +22698,34 @@ void safe_VkCoarseSampleOrderCustomNV::initialize(const safe_VkCoarseSampleOrder safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), sampleOrderType(in_struct->sampleOrderType), customSampleOrderCount(in_struct->customSampleOrderCount), pCustomSampleOrders(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (customSampleOrderCount && in_struct->pCustomSampleOrders) { pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount]; - for (uint32_t i=0; i<customSampleOrderCount; ++i) { + for (uint32_t i = 0; i < customSampleOrderCount; ++i) { pCustomSampleOrders[i].initialize(&in_struct->pCustomSampleOrders[i]); } } } safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV() : + pNext(nullptr), pCustomSampleOrders(nullptr) {} safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; sampleOrderType = src.sampleOrderType; customSampleOrderCount = src.customSampleOrderCount; pCustomSampleOrders = nullptr; + pNext = SafePnextCopy(src.pNext); if (customSampleOrderCount && src.pCustomSampleOrders) { pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount]; - for (uint32_t i=0; i<customSampleOrderCount; ++i) { + for (uint32_t i = 0; i < customSampleOrderCount; ++i) { pCustomSampleOrders[i].initialize(&src.pCustomSampleOrders[i]); } } @@ -20815,15 +22737,17 @@ safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& safe_VkPipelineViewpo if (pCustomSampleOrders) delete[] pCustomSampleOrders; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; sampleOrderType = src.sampleOrderType; customSampleOrderCount = src.customSampleOrderCount; pCustomSampleOrders = nullptr; + pNext = SafePnextCopy(src.pNext); if (customSampleOrderCount && src.pCustomSampleOrders) { pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount]; - for (uint32_t i=0; i<customSampleOrderCount; ++i) { + for (uint32_t i = 0; i < customSampleOrderCount; ++i) { pCustomSampleOrders[i].initialize(&src.pCustomSampleOrders[i]); } } @@ -20835,18 +22759,20 @@ safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::~safe_VkPipelineViewp { if (pCustomSampleOrders) delete[] pCustomSampleOrders; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; sampleOrderType = in_struct->sampleOrderType; customSampleOrderCount = in_struct->customSampleOrderCount; pCustomSampleOrders = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (customSampleOrderCount && in_struct->pCustomSampleOrders) { pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount]; - for (uint32_t i=0; i<customSampleOrderCount; ++i) { + for (uint32_t i = 0; i < customSampleOrderCount; ++i) { pCustomSampleOrders[i].initialize(&in_struct->pCustomSampleOrders[i]); } } @@ -20855,13 +22781,13 @@ void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; sampleOrderType = src->sampleOrderType; customSampleOrderCount = src->customSampleOrderCount; pCustomSampleOrders = nullptr; + pNext = SafePnextCopy(src->pNext); if (customSampleOrderCount && src->pCustomSampleOrders) { pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount]; - for (uint32_t i=0; i<customSampleOrderCount; ++i) { + for (uint32_t i = 0; i < customSampleOrderCount; ++i) { pCustomSampleOrders[i].initialize(&src->pCustomSampleOrders[i]); } } @@ -20869,74 +22795,78 @@ void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV(const VkRayTracingShaderGroupCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), type(in_struct->type), generalShader(in_struct->generalShader), closestHitShader(in_struct->closestHitShader), anyHitShader(in_struct->anyHitShader), intersectionShader(in_struct->intersectionShader) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV() +safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV() : + pNext(nullptr) {} safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV(const safe_VkRayTracingShaderGroupCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; type = src.type; generalShader = src.generalShader; closestHitShader = src.closestHitShader; anyHitShader = src.anyHitShader; intersectionShader = src.intersectionShader; + pNext = SafePnextCopy(src.pNext); } safe_VkRayTracingShaderGroupCreateInfoNV& safe_VkRayTracingShaderGroupCreateInfoNV::operator=(const safe_VkRayTracingShaderGroupCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; type = src.type; generalShader = src.generalShader; closestHitShader = src.closestHitShader; anyHitShader = src.anyHitShader; intersectionShader = src.intersectionShader; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkRayTracingShaderGroupCreateInfoNV::~safe_VkRayTracingShaderGroupCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkRayTracingShaderGroupCreateInfoNV::initialize(const VkRayTracingShaderGroupCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; type = in_struct->type; generalShader = in_struct->generalShader; closestHitShader = in_struct->closestHitShader; anyHitShader = in_struct->anyHitShader; intersectionShader = in_struct->intersectionShader; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkRayTracingShaderGroupCreateInfoNV::initialize(const safe_VkRayTracingShaderGroupCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; type = src->type; generalShader = src->generalShader; closestHitShader = src->closestHitShader; anyHitShader = src->anyHitShader; intersectionShader = src->intersectionShader; + pNext = SafePnextCopy(src->pNext); } safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(const VkRayTracingPipelineCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), stageCount(in_struct->stageCount), pStages(nullptr), @@ -20947,21 +22877,23 @@ safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(con basePipelineHandle(in_struct->basePipelineHandle), basePipelineIndex(in_struct->basePipelineIndex) { + pNext = SafePnextCopy(in_struct->pNext); if (stageCount && in_struct->pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&in_struct->pStages[i]); } } if (groupCount && in_struct->pGroups) { pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount]; - for (uint32_t i=0; i<groupCount; ++i) { + for (uint32_t i = 0; i < groupCount; ++i) { pGroups[i].initialize(&in_struct->pGroups[i]); } } } safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV() : + pNext(nullptr), pStages(nullptr), pGroups(nullptr) {} @@ -20969,7 +22901,6 @@ safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV() : safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(const safe_VkRayTracingPipelineCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; stageCount = src.stageCount; pStages = nullptr; @@ -20979,15 +22910,16 @@ safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(con layout = src.layout; basePipelineHandle = src.basePipelineHandle; basePipelineIndex = src.basePipelineIndex; + pNext = SafePnextCopy(src.pNext); if (stageCount && src.pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&src.pStages[i]); } } if (groupCount && src.pGroups) { pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount]; - for (uint32_t i=0; i<groupCount; ++i) { + for (uint32_t i = 0; i < groupCount; ++i) { pGroups[i].initialize(&src.pGroups[i]); } } @@ -21001,9 +22933,10 @@ safe_VkRayTracingPipelineCreateInfoNV& safe_VkRayTracingPipelineCreateInfoNV::op delete[] pStages; if (pGroups) delete[] pGroups; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; stageCount = src.stageCount; pStages = nullptr; @@ -21013,15 +22946,16 @@ safe_VkRayTracingPipelineCreateInfoNV& safe_VkRayTracingPipelineCreateInfoNV::op layout = src.layout; basePipelineHandle = src.basePipelineHandle; basePipelineIndex = src.basePipelineIndex; + pNext = SafePnextCopy(src.pNext); if (stageCount && src.pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&src.pStages[i]); } } if (groupCount && src.pGroups) { pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount]; - for (uint32_t i=0; i<groupCount; ++i) { + for (uint32_t i = 0; i < groupCount; ++i) { pGroups[i].initialize(&src.pGroups[i]); } } @@ -21035,12 +22969,13 @@ safe_VkRayTracingPipelineCreateInfoNV::~safe_VkRayTracingPipelineCreateInfoNV() delete[] pStages; if (pGroups) delete[] pGroups; + if (pNext) + FreePnextChain(pNext); } void safe_VkRayTracingPipelineCreateInfoNV::initialize(const VkRayTracingPipelineCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; stageCount = in_struct->stageCount; pStages = nullptr; @@ -21050,15 +22985,16 @@ void safe_VkRayTracingPipelineCreateInfoNV::initialize(const VkRayTracingPipelin layout = in_struct->layout; basePipelineHandle = in_struct->basePipelineHandle; basePipelineIndex = in_struct->basePipelineIndex; + pNext = SafePnextCopy(in_struct->pNext); if (stageCount && in_struct->pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&in_struct->pStages[i]); } } if (groupCount && in_struct->pGroups) { pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount]; - for (uint32_t i=0; i<groupCount; ++i) { + for (uint32_t i = 0; i < groupCount; ++i) { pGroups[i].initialize(&in_struct->pGroups[i]); } } @@ -21067,7 +23003,6 @@ void safe_VkRayTracingPipelineCreateInfoNV::initialize(const VkRayTracingPipelin void safe_VkRayTracingPipelineCreateInfoNV::initialize(const safe_VkRayTracingPipelineCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; stageCount = src->stageCount; pStages = nullptr; @@ -21077,15 +23012,16 @@ void safe_VkRayTracingPipelineCreateInfoNV::initialize(const safe_VkRayTracingPi layout = src->layout; basePipelineHandle = src->basePipelineHandle; basePipelineIndex = src->basePipelineIndex; + pNext = SafePnextCopy(src->pNext); if (stageCount && src->pStages) { pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount]; - for (uint32_t i=0; i<stageCount; ++i) { + for (uint32_t i = 0; i < stageCount; ++i) { pStages[i].initialize(&src->pStages[i]); } } if (groupCount && src->pGroups) { pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount]; - for (uint32_t i=0; i<groupCount; ++i) { + for (uint32_t i = 0; i < groupCount; ++i) { pGroups[i].initialize(&src->pGroups[i]); } } @@ -21093,7 +23029,6 @@ void safe_VkRayTracingPipelineCreateInfoNV::initialize(const safe_VkRayTracingPi safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const VkGeometryTrianglesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), vertexData(in_struct->vertexData), vertexOffset(in_struct->vertexOffset), vertexCount(in_struct->vertexCount), @@ -21106,15 +23041,16 @@ safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const VkGeometryTriangles transformData(in_struct->transformData), transformOffset(in_struct->transformOffset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV() +safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV() : + pNext(nullptr) {} safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const safe_VkGeometryTrianglesNV& src) { sType = src.sType; - pNext = src.pNext; vertexData = src.vertexData; vertexOffset = src.vertexOffset; vertexCount = src.vertexCount; @@ -21126,15 +23062,17 @@ safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const safe_VkGeometryTria indexType = src.indexType; transformData = src.transformData; transformOffset = src.transformOffset; + pNext = SafePnextCopy(src.pNext); } safe_VkGeometryTrianglesNV& safe_VkGeometryTrianglesNV::operator=(const safe_VkGeometryTrianglesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; vertexData = src.vertexData; vertexOffset = src.vertexOffset; vertexCount = src.vertexCount; @@ -21146,18 +23084,20 @@ safe_VkGeometryTrianglesNV& safe_VkGeometryTrianglesNV::operator=(const safe_VkG indexType = src.indexType; transformData = src.transformData; transformOffset = src.transformOffset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkGeometryTrianglesNV::~safe_VkGeometryTrianglesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkGeometryTrianglesNV::initialize(const VkGeometryTrianglesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; vertexData = in_struct->vertexData; vertexOffset = in_struct->vertexOffset; vertexCount = in_struct->vertexCount; @@ -21169,12 +23109,12 @@ void safe_VkGeometryTrianglesNV::initialize(const VkGeometryTrianglesNV* in_stru indexType = in_struct->indexType; transformData = in_struct->transformData; transformOffset = in_struct->transformOffset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkGeometryTrianglesNV::initialize(const safe_VkGeometryTrianglesNV* src) { sType = src->sType; - pNext = src->pNext; vertexData = src->vertexData; vertexOffset = src->vertexOffset; vertexCount = src->vertexCount; @@ -21186,160 +23126,172 @@ void safe_VkGeometryTrianglesNV::initialize(const safe_VkGeometryTrianglesNV* sr indexType = src->indexType; transformData = src->transformData; transformOffset = src->transformOffset; + pNext = SafePnextCopy(src->pNext); } safe_VkGeometryAABBNV::safe_VkGeometryAABBNV(const VkGeometryAABBNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), aabbData(in_struct->aabbData), numAABBs(in_struct->numAABBs), stride(in_struct->stride), offset(in_struct->offset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkGeometryAABBNV::safe_VkGeometryAABBNV() +safe_VkGeometryAABBNV::safe_VkGeometryAABBNV() : + pNext(nullptr) {} safe_VkGeometryAABBNV::safe_VkGeometryAABBNV(const safe_VkGeometryAABBNV& src) { sType = src.sType; - pNext = src.pNext; aabbData = src.aabbData; numAABBs = src.numAABBs; stride = src.stride; offset = src.offset; + pNext = SafePnextCopy(src.pNext); } safe_VkGeometryAABBNV& safe_VkGeometryAABBNV::operator=(const safe_VkGeometryAABBNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; aabbData = src.aabbData; numAABBs = src.numAABBs; stride = src.stride; offset = src.offset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkGeometryAABBNV::~safe_VkGeometryAABBNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkGeometryAABBNV::initialize(const VkGeometryAABBNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; aabbData = in_struct->aabbData; numAABBs = in_struct->numAABBs; stride = in_struct->stride; offset = in_struct->offset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkGeometryAABBNV::initialize(const safe_VkGeometryAABBNV* src) { sType = src->sType; - pNext = src->pNext; aabbData = src->aabbData; numAABBs = src->numAABBs; stride = src->stride; offset = src->offset; + pNext = SafePnextCopy(src->pNext); } safe_VkGeometryNV::safe_VkGeometryNV(const VkGeometryNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), geometryType(in_struct->geometryType), geometry(in_struct->geometry), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkGeometryNV::safe_VkGeometryNV() +safe_VkGeometryNV::safe_VkGeometryNV() : + pNext(nullptr) {} safe_VkGeometryNV::safe_VkGeometryNV(const safe_VkGeometryNV& src) { sType = src.sType; - pNext = src.pNext; geometryType = src.geometryType; geometry = src.geometry; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkGeometryNV& safe_VkGeometryNV::operator=(const safe_VkGeometryNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; geometryType = src.geometryType; geometry = src.geometry; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkGeometryNV::~safe_VkGeometryNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkGeometryNV::initialize(const VkGeometryNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; geometryType = in_struct->geometryType; geometry = in_struct->geometry; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkGeometryNV::initialize(const safe_VkGeometryNV* src) { sType = src->sType; - pNext = src->pNext; geometryType = src->geometryType; geometry = src->geometry; flags = src->flags; + pNext = SafePnextCopy(src->pNext); } safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV(const VkAccelerationStructureInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), type(in_struct->type), flags(in_struct->flags), instanceCount(in_struct->instanceCount), geometryCount(in_struct->geometryCount), pGeometries(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (geometryCount && in_struct->pGeometries) { pGeometries = new safe_VkGeometryNV[geometryCount]; - for (uint32_t i=0; i<geometryCount; ++i) { + for (uint32_t i = 0; i < geometryCount; ++i) { pGeometries[i].initialize(&in_struct->pGeometries[i]); } } } safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV() : + pNext(nullptr), pGeometries(nullptr) {} safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV(const safe_VkAccelerationStructureInfoNV& src) { sType = src.sType; - pNext = src.pNext; type = src.type; flags = src.flags; instanceCount = src.instanceCount; geometryCount = src.geometryCount; pGeometries = nullptr; + pNext = SafePnextCopy(src.pNext); if (geometryCount && src.pGeometries) { pGeometries = new safe_VkGeometryNV[geometryCount]; - for (uint32_t i=0; i<geometryCount; ++i) { + for (uint32_t i = 0; i < geometryCount; ++i) { pGeometries[i].initialize(&src.pGeometries[i]); } } @@ -21351,17 +23303,19 @@ safe_VkAccelerationStructureInfoNV& safe_VkAccelerationStructureInfoNV::operator if (pGeometries) delete[] pGeometries; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; type = src.type; flags = src.flags; instanceCount = src.instanceCount; geometryCount = src.geometryCount; pGeometries = nullptr; + pNext = SafePnextCopy(src.pNext); if (geometryCount && src.pGeometries) { pGeometries = new safe_VkGeometryNV[geometryCount]; - for (uint32_t i=0; i<geometryCount; ++i) { + for (uint32_t i = 0; i < geometryCount; ++i) { pGeometries[i].initialize(&src.pGeometries[i]); } } @@ -21373,20 +23327,22 @@ safe_VkAccelerationStructureInfoNV::~safe_VkAccelerationStructureInfoNV() { if (pGeometries) delete[] pGeometries; + if (pNext) + FreePnextChain(pNext); } void safe_VkAccelerationStructureInfoNV::initialize(const VkAccelerationStructureInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; type = in_struct->type; flags = in_struct->flags; instanceCount = in_struct->instanceCount; geometryCount = in_struct->geometryCount; pGeometries = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (geometryCount && in_struct->pGeometries) { pGeometries = new safe_VkGeometryNV[geometryCount]; - for (uint32_t i=0; i<geometryCount; ++i) { + for (uint32_t i = 0; i < geometryCount; ++i) { pGeometries[i].initialize(&in_struct->pGeometries[i]); } } @@ -21395,15 +23351,15 @@ void safe_VkAccelerationStructureInfoNV::initialize(const VkAccelerationStructur void safe_VkAccelerationStructureInfoNV::initialize(const safe_VkAccelerationStructureInfoNV* src) { sType = src->sType; - pNext = src->pNext; type = src->type; flags = src->flags; instanceCount = src->instanceCount; geometryCount = src->geometryCount; pGeometries = nullptr; + pNext = SafePnextCopy(src->pNext); if (geometryCount && src->pGeometries) { pGeometries = new safe_VkGeometryNV[geometryCount]; - for (uint32_t i=0; i<geometryCount; ++i) { + for (uint32_t i = 0; i < geometryCount; ++i) { pGeometries[i].initialize(&src->pGeometries[i]); } } @@ -21411,65 +23367,70 @@ void safe_VkAccelerationStructureInfoNV::initialize(const safe_VkAccelerationStr safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV(const VkAccelerationStructureCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), compactedSize(in_struct->compactedSize), info(&in_struct->info) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV() +safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV() : + pNext(nullptr) {} safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV(const safe_VkAccelerationStructureCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; compactedSize = src.compactedSize; info.initialize(&src.info); + pNext = SafePnextCopy(src.pNext); } safe_VkAccelerationStructureCreateInfoNV& safe_VkAccelerationStructureCreateInfoNV::operator=(const safe_VkAccelerationStructureCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; compactedSize = src.compactedSize; info.initialize(&src.info); + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAccelerationStructureCreateInfoNV::~safe_VkAccelerationStructureCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAccelerationStructureCreateInfoNV::initialize(const VkAccelerationStructureCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; compactedSize = in_struct->compactedSize; info.initialize(&in_struct->info); + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAccelerationStructureCreateInfoNV::initialize(const safe_VkAccelerationStructureCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; compactedSize = src->compactedSize; info.initialize(&src->info); + pNext = SafePnextCopy(src->pNext); } safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV(const VkBindAccelerationStructureMemoryInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), accelerationStructure(in_struct->accelerationStructure), memory(in_struct->memory), memoryOffset(in_struct->memoryOffset), deviceIndexCount(in_struct->deviceIndexCount), pDeviceIndices(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceIndices) { pDeviceIndices = new uint32_t[in_struct->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount); @@ -21477,18 +23438,19 @@ safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMe } safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV() : + pNext(nullptr), pDeviceIndices(nullptr) {} safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV(const safe_VkBindAccelerationStructureMemoryInfoNV& src) { sType = src.sType; - pNext = src.pNext; accelerationStructure = src.accelerationStructure; memory = src.memory; memoryOffset = src.memoryOffset; deviceIndexCount = src.deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceIndices) { pDeviceIndices = new uint32_t[src.deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount); @@ -21501,14 +23463,16 @@ safe_VkBindAccelerationStructureMemoryInfoNV& safe_VkBindAccelerationStructureMe if (pDeviceIndices) delete[] pDeviceIndices; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; accelerationStructure = src.accelerationStructure; memory = src.memory; memoryOffset = src.memoryOffset; deviceIndexCount = src.deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pDeviceIndices) { pDeviceIndices = new uint32_t[src.deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount); @@ -21521,17 +23485,19 @@ safe_VkBindAccelerationStructureMemoryInfoNV::~safe_VkBindAccelerationStructureM { if (pDeviceIndices) delete[] pDeviceIndices; + if (pNext) + FreePnextChain(pNext); } void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const VkBindAccelerationStructureMemoryInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; accelerationStructure = in_struct->accelerationStructure; memory = in_struct->memory; memoryOffset = in_struct->memoryOffset; deviceIndexCount = in_struct->deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pDeviceIndices) { pDeviceIndices = new uint32_t[in_struct->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount); @@ -21541,12 +23507,12 @@ void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const VkBindAccele void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const safe_VkBindAccelerationStructureMemoryInfoNV* src) { sType = src->sType; - pNext = src->pNext; accelerationStructure = src->accelerationStructure; memory = src->memory; memoryOffset = src->memoryOffset; deviceIndexCount = src->deviceIndexCount; pDeviceIndices = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pDeviceIndices) { pDeviceIndices = new uint32_t[src->deviceIndexCount]; memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount); @@ -21555,31 +23521,32 @@ void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const safe_VkBindA safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV(const VkWriteDescriptorSetAccelerationStructureNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), accelerationStructureCount(in_struct->accelerationStructureCount), pAccelerationStructures(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (accelerationStructureCount && in_struct->pAccelerationStructures) { pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount]; - for (uint32_t i=0; i<accelerationStructureCount; ++i) { + for (uint32_t i = 0; i < accelerationStructureCount; ++i) { pAccelerationStructures[i] = in_struct->pAccelerationStructures[i]; } } } safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV() : + pNext(nullptr), pAccelerationStructures(nullptr) {} safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV(const safe_VkWriteDescriptorSetAccelerationStructureNV& src) { sType = src.sType; - pNext = src.pNext; accelerationStructureCount = src.accelerationStructureCount; pAccelerationStructures = nullptr; + pNext = SafePnextCopy(src.pNext); if (accelerationStructureCount && src.pAccelerationStructures) { pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount]; - for (uint32_t i=0; i<accelerationStructureCount; ++i) { + for (uint32_t i = 0; i < accelerationStructureCount; ++i) { pAccelerationStructures[i] = src.pAccelerationStructures[i]; } } @@ -21591,14 +23558,16 @@ safe_VkWriteDescriptorSetAccelerationStructureNV& safe_VkWriteDescriptorSetAccel if (pAccelerationStructures) delete[] pAccelerationStructures; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; accelerationStructureCount = src.accelerationStructureCount; pAccelerationStructures = nullptr; + pNext = SafePnextCopy(src.pNext); if (accelerationStructureCount && src.pAccelerationStructures) { pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount]; - for (uint32_t i=0; i<accelerationStructureCount; ++i) { + for (uint32_t i = 0; i < accelerationStructureCount; ++i) { pAccelerationStructures[i] = src.pAccelerationStructures[i]; } } @@ -21610,17 +23579,19 @@ safe_VkWriteDescriptorSetAccelerationStructureNV::~safe_VkWriteDescriptorSetAcce { if (pAccelerationStructures) delete[] pAccelerationStructures; + if (pNext) + FreePnextChain(pNext); } void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const VkWriteDescriptorSetAccelerationStructureNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; accelerationStructureCount = in_struct->accelerationStructureCount; pAccelerationStructures = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (accelerationStructureCount && in_struct->pAccelerationStructures) { pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount]; - for (uint32_t i=0; i<accelerationStructureCount; ++i) { + for (uint32_t i = 0; i < accelerationStructureCount; ++i) { pAccelerationStructures[i] = in_struct->pAccelerationStructures[i]; } } @@ -21629,12 +23600,12 @@ void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const VkWriteD void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const safe_VkWriteDescriptorSetAccelerationStructureNV* src) { sType = src->sType; - pNext = src->pNext; accelerationStructureCount = src->accelerationStructureCount; pAccelerationStructures = nullptr; + pNext = SafePnextCopy(src->pNext); if (accelerationStructureCount && src->pAccelerationStructures) { pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount]; - for (uint32_t i=0; i<accelerationStructureCount; ++i) { + for (uint32_t i = 0; i < accelerationStructureCount; ++i) { pAccelerationStructures[i] = src->pAccelerationStructures[i]; } } @@ -21642,59 +23613,63 @@ void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const safe_VkW safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV(const VkAccelerationStructureMemoryRequirementsInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), type(in_struct->type), accelerationStructure(in_struct->accelerationStructure) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV() +safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV() : + pNext(nullptr) {} safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV(const safe_VkAccelerationStructureMemoryRequirementsInfoNV& src) { sType = src.sType; - pNext = src.pNext; type = src.type; accelerationStructure = src.accelerationStructure; + pNext = SafePnextCopy(src.pNext); } safe_VkAccelerationStructureMemoryRequirementsInfoNV& safe_VkAccelerationStructureMemoryRequirementsInfoNV::operator=(const safe_VkAccelerationStructureMemoryRequirementsInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; type = src.type; accelerationStructure = src.accelerationStructure; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkAccelerationStructureMemoryRequirementsInfoNV::~safe_VkAccelerationStructureMemoryRequirementsInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkAccelerationStructureMemoryRequirementsInfoNV::initialize(const VkAccelerationStructureMemoryRequirementsInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; type = in_struct->type; accelerationStructure = in_struct->accelerationStructure; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkAccelerationStructureMemoryRequirementsInfoNV::initialize(const safe_VkAccelerationStructureMemoryRequirementsInfoNV* src) { sType = src->sType; - pNext = src->pNext; type = src->type; accelerationStructure = src->accelerationStructure; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV(const VkPhysicalDeviceRayTracingPropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderGroupHandleSize(in_struct->shaderGroupHandleSize), maxRecursionDepth(in_struct->maxRecursionDepth), maxShaderGroupStride(in_struct->maxShaderGroupStride), @@ -21704,15 +23679,16 @@ safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingProp maxTriangleCount(in_struct->maxTriangleCount), maxDescriptorSetAccelerationStructures(in_struct->maxDescriptorSetAccelerationStructures) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV() +safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV(const safe_VkPhysicalDeviceRayTracingPropertiesNV& src) { sType = src.sType; - pNext = src.pNext; shaderGroupHandleSize = src.shaderGroupHandleSize; maxRecursionDepth = src.maxRecursionDepth; maxShaderGroupStride = src.maxShaderGroupStride; @@ -21721,15 +23697,17 @@ safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingProp maxInstanceCount = src.maxInstanceCount; maxTriangleCount = src.maxTriangleCount; maxDescriptorSetAccelerationStructures = src.maxDescriptorSetAccelerationStructures; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceRayTracingPropertiesNV& safe_VkPhysicalDeviceRayTracingPropertiesNV::operator=(const safe_VkPhysicalDeviceRayTracingPropertiesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderGroupHandleSize = src.shaderGroupHandleSize; maxRecursionDepth = src.maxRecursionDepth; maxShaderGroupStride = src.maxShaderGroupStride; @@ -21738,18 +23716,20 @@ safe_VkPhysicalDeviceRayTracingPropertiesNV& safe_VkPhysicalDeviceRayTracingProp maxInstanceCount = src.maxInstanceCount; maxTriangleCount = src.maxTriangleCount; maxDescriptorSetAccelerationStructures = src.maxDescriptorSetAccelerationStructures; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceRayTracingPropertiesNV::~safe_VkPhysicalDeviceRayTracingPropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const VkPhysicalDeviceRayTracingPropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderGroupHandleSize = in_struct->shaderGroupHandleSize; maxRecursionDepth = in_struct->maxRecursionDepth; maxShaderGroupStride = in_struct->maxShaderGroupStride; @@ -21758,12 +23738,12 @@ void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const VkPhysicalDev maxInstanceCount = in_struct->maxInstanceCount; maxTriangleCount = in_struct->maxTriangleCount; maxDescriptorSetAccelerationStructures = in_struct->maxDescriptorSetAccelerationStructures; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const safe_VkPhysicalDeviceRayTracingPropertiesNV* src) { sType = src->sType; - pNext = src->pNext; shaderGroupHandleSize = src->shaderGroupHandleSize; maxRecursionDepth = src->maxRecursionDepth; maxShaderGroupStride = src->maxShaderGroupStride; @@ -21772,444 +23752,542 @@ void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const safe_VkPhysic maxInstanceCount = src->maxInstanceCount; maxTriangleCount = src->maxTriangleCount; maxDescriptorSetAccelerationStructures = src->maxDescriptorSetAccelerationStructures; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), representativeFragmentTest(in_struct->representativeFragmentTest) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV() +safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; representativeFragmentTest = src.representativeFragmentTest; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::operator=(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; representativeFragmentTest = src.representativeFragmentTest; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::~safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::initialize(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; representativeFragmentTest = in_struct->representativeFragmentTest; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::initialize(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; representativeFragmentTest = src->representativeFragmentTest; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), representativeFragmentTestEnable(in_struct->representativeFragmentTestEnable) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV() +safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV() : + pNext(nullptr) {} safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; representativeFragmentTestEnable = src.representativeFragmentTestEnable; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::operator=(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; representativeFragmentTestEnable = src.representativeFragmentTestEnable; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::~safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::initialize(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; representativeFragmentTestEnable = in_struct->representativeFragmentTestEnable; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::initialize(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; representativeFragmentTestEnable = src->representativeFragmentTestEnable; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const VkPhysicalDeviceImageViewImageFormatInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), imageViewType(in_struct->imageViewType) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT() +safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& src) { sType = src.sType; - pNext = src.pNext; imageViewType = src.imageViewType; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::operator=(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; imageViewType = src.imageViewType; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::~safe_VkPhysicalDeviceImageViewImageFormatInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::initialize(const VkPhysicalDeviceImageViewImageFormatInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; imageViewType = in_struct->imageViewType; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::initialize(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT* src) { sType = src->sType; - pNext = src->pNext; imageViewType = src->imageViewType; + pNext = SafePnextCopy(src->pNext); } safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const VkFilterCubicImageViewImageFormatPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), filterCubic(in_struct->filterCubic), filterCubicMinmax(in_struct->filterCubicMinmax) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT() +safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT() : + pNext(nullptr) {} safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; filterCubic = src.filterCubic; filterCubicMinmax = src.filterCubicMinmax; + pNext = SafePnextCopy(src.pNext); } safe_VkFilterCubicImageViewImageFormatPropertiesEXT& safe_VkFilterCubicImageViewImageFormatPropertiesEXT::operator=(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; filterCubic = src.filterCubic; filterCubicMinmax = src.filterCubicMinmax; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkFilterCubicImageViewImageFormatPropertiesEXT::~safe_VkFilterCubicImageViewImageFormatPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkFilterCubicImageViewImageFormatPropertiesEXT::initialize(const VkFilterCubicImageViewImageFormatPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; filterCubic = in_struct->filterCubic; filterCubicMinmax = in_struct->filterCubicMinmax; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkFilterCubicImageViewImageFormatPropertiesEXT::initialize(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; filterCubic = src->filterCubic; filterCubicMinmax = src->filterCubicMinmax; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const VkDeviceQueueGlobalPriorityCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), globalPriority(in_struct->globalPriority) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT() +safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT() : + pNext(nullptr) {} safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; globalPriority = src.globalPriority; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::operator=(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; globalPriority = src.globalPriority; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::~safe_VkDeviceQueueGlobalPriorityCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::initialize(const VkDeviceQueueGlobalPriorityCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; globalPriority = in_struct->globalPriority; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::initialize(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; globalPriority = src->globalPriority; + pNext = SafePnextCopy(src->pNext); } safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT(const VkImportMemoryHostPointerInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), handleType(in_struct->handleType), pHostPointer(in_struct->pHostPointer) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT() +safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT() : + pNext(nullptr), + pHostPointer(nullptr) {} safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT(const safe_VkImportMemoryHostPointerInfoEXT& src) { sType = src.sType; - pNext = src.pNext; handleType = src.handleType; pHostPointer = src.pHostPointer; + pNext = SafePnextCopy(src.pNext); } safe_VkImportMemoryHostPointerInfoEXT& safe_VkImportMemoryHostPointerInfoEXT::operator=(const safe_VkImportMemoryHostPointerInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; handleType = src.handleType; pHostPointer = src.pHostPointer; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImportMemoryHostPointerInfoEXT::~safe_VkImportMemoryHostPointerInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImportMemoryHostPointerInfoEXT::initialize(const VkImportMemoryHostPointerInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; handleType = in_struct->handleType; pHostPointer = in_struct->pHostPointer; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImportMemoryHostPointerInfoEXT::initialize(const safe_VkImportMemoryHostPointerInfoEXT* src) { sType = src->sType; - pNext = src->pNext; handleType = src->handleType; pHostPointer = src->pHostPointer; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT(const VkMemoryHostPointerPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryTypeBits(in_struct->memoryTypeBits) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT() +safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT() : + pNext(nullptr) {} safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT(const safe_VkMemoryHostPointerPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryHostPointerPropertiesEXT& safe_VkMemoryHostPointerPropertiesEXT::operator=(const safe_VkMemoryHostPointerPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryTypeBits = src.memoryTypeBits; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryHostPointerPropertiesEXT::~safe_VkMemoryHostPointerPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryHostPointerPropertiesEXT::initialize(const VkMemoryHostPointerPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryTypeBits = in_struct->memoryTypeBits; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryHostPointerPropertiesEXT::initialize(const safe_VkMemoryHostPointerPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; memoryTypeBits = src->memoryTypeBits; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), minImportedHostPointerAlignment(in_struct->minImportedHostPointerAlignment) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT() +safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; minImportedHostPointerAlignment = src.minImportedHostPointerAlignment; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::operator=(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; minImportedHostPointerAlignment = src.minImportedHostPointerAlignment; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::~safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::initialize(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; minImportedHostPointerAlignment = in_struct->minImportedHostPointerAlignment; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::initialize(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; minImportedHostPointerAlignment = src->minImportedHostPointerAlignment; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD(const VkPipelineCompilerControlCreateInfoAMD* in_struct) : + sType(in_struct->sType), + compilerControlFlags(in_struct->compilerControlFlags) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD() : + pNext(nullptr) +{} + +safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD(const safe_VkPipelineCompilerControlCreateInfoAMD& src) +{ + sType = src.sType; + compilerControlFlags = src.compilerControlFlags; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPipelineCompilerControlCreateInfoAMD& safe_VkPipelineCompilerControlCreateInfoAMD::operator=(const safe_VkPipelineCompilerControlCreateInfoAMD& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + compilerControlFlags = src.compilerControlFlags; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPipelineCompilerControlCreateInfoAMD::~safe_VkPipelineCompilerControlCreateInfoAMD() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineCompilerControlCreateInfoAMD::initialize(const VkPipelineCompilerControlCreateInfoAMD* in_struct) +{ + sType = in_struct->sType; + compilerControlFlags = in_struct->compilerControlFlags; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPipelineCompilerControlCreateInfoAMD::initialize(const safe_VkPipelineCompilerControlCreateInfoAMD* src) +{ + sType = src->sType; + compilerControlFlags = src->compilerControlFlags; + pNext = SafePnextCopy(src->pNext); } safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT(const VkCalibratedTimestampInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), timeDomain(in_struct->timeDomain) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT() +safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT() : + pNext(nullptr) {} safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT(const safe_VkCalibratedTimestampInfoEXT& src) { sType = src.sType; - pNext = src.pNext; timeDomain = src.timeDomain; + pNext = SafePnextCopy(src.pNext); } safe_VkCalibratedTimestampInfoEXT& safe_VkCalibratedTimestampInfoEXT::operator=(const safe_VkCalibratedTimestampInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; timeDomain = src.timeDomain; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCalibratedTimestampInfoEXT::~safe_VkCalibratedTimestampInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCalibratedTimestampInfoEXT::initialize(const VkCalibratedTimestampInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; timeDomain = in_struct->timeDomain; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCalibratedTimestampInfoEXT::initialize(const safe_VkCalibratedTimestampInfoEXT* src) { sType = src->sType; - pNext = src->pNext; timeDomain = src->timeDomain; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD(const VkPhysicalDeviceShaderCorePropertiesAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderEngineCount(in_struct->shaderEngineCount), shaderArraysPerEngineCount(in_struct->shaderArraysPerEngineCount), computeUnitsPerShaderArray(in_struct->computeUnitsPerShaderArray), @@ -22225,15 +24303,16 @@ safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePro maxVgprAllocation(in_struct->maxVgprAllocation), vgprAllocationGranularity(in_struct->vgprAllocationGranularity) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD() +safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD(const safe_VkPhysicalDeviceShaderCorePropertiesAMD& src) { sType = src.sType; - pNext = src.pNext; shaderEngineCount = src.shaderEngineCount; shaderArraysPerEngineCount = src.shaderArraysPerEngineCount; computeUnitsPerShaderArray = src.computeUnitsPerShaderArray; @@ -22248,15 +24327,17 @@ safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePro minVgprAllocation = src.minVgprAllocation; maxVgprAllocation = src.maxVgprAllocation; vgprAllocationGranularity = src.vgprAllocationGranularity; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderCorePropertiesAMD& safe_VkPhysicalDeviceShaderCorePropertiesAMD::operator=(const safe_VkPhysicalDeviceShaderCorePropertiesAMD& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderEngineCount = src.shaderEngineCount; shaderArraysPerEngineCount = src.shaderArraysPerEngineCount; computeUnitsPerShaderArray = src.computeUnitsPerShaderArray; @@ -22271,18 +24352,20 @@ safe_VkPhysicalDeviceShaderCorePropertiesAMD& safe_VkPhysicalDeviceShaderCorePro minVgprAllocation = src.minVgprAllocation; maxVgprAllocation = src.maxVgprAllocation; vgprAllocationGranularity = src.vgprAllocationGranularity; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderCorePropertiesAMD::~safe_VkPhysicalDeviceShaderCorePropertiesAMD() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const VkPhysicalDeviceShaderCorePropertiesAMD* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderEngineCount = in_struct->shaderEngineCount; shaderArraysPerEngineCount = in_struct->shaderArraysPerEngineCount; computeUnitsPerShaderArray = in_struct->computeUnitsPerShaderArray; @@ -22297,12 +24380,12 @@ void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const VkPhysicalDe minVgprAllocation = in_struct->minVgprAllocation; maxVgprAllocation = in_struct->maxVgprAllocation; vgprAllocationGranularity = in_struct->vgprAllocationGranularity; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const safe_VkPhysicalDeviceShaderCorePropertiesAMD* src) { sType = src->sType; - pNext = src->pNext; shaderEngineCount = src->shaderEngineCount; shaderArraysPerEngineCount = src->shaderArraysPerEngineCount; computeUnitsPerShaderArray = src->computeUnitsPerShaderArray; @@ -22317,108 +24400,119 @@ void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const safe_VkPhysi minVgprAllocation = src->minVgprAllocation; maxVgprAllocation = src->maxVgprAllocation; vgprAllocationGranularity = src->vgprAllocationGranularity; + pNext = SafePnextCopy(src->pNext); } safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD(const VkDeviceMemoryOverallocationCreateInfoAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), overallocationBehavior(in_struct->overallocationBehavior) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD() +safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD() : + pNext(nullptr) {} safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD(const safe_VkDeviceMemoryOverallocationCreateInfoAMD& src) { sType = src.sType; - pNext = src.pNext; overallocationBehavior = src.overallocationBehavior; + pNext = SafePnextCopy(src.pNext); } safe_VkDeviceMemoryOverallocationCreateInfoAMD& safe_VkDeviceMemoryOverallocationCreateInfoAMD::operator=(const safe_VkDeviceMemoryOverallocationCreateInfoAMD& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; overallocationBehavior = src.overallocationBehavior; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDeviceMemoryOverallocationCreateInfoAMD::~safe_VkDeviceMemoryOverallocationCreateInfoAMD() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDeviceMemoryOverallocationCreateInfoAMD::initialize(const VkDeviceMemoryOverallocationCreateInfoAMD* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; overallocationBehavior = in_struct->overallocationBehavior; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDeviceMemoryOverallocationCreateInfoAMD::initialize(const safe_VkDeviceMemoryOverallocationCreateInfoAMD* src) { sType = src->sType; - pNext = src->pNext; overallocationBehavior = src->overallocationBehavior; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxVertexAttribDivisor(in_struct->maxVertexAttribDivisor) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT() +safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; maxVertexAttribDivisor = src.maxVertexAttribDivisor; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::operator=(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxVertexAttribDivisor = src.maxVertexAttribDivisor; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::~safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::initialize(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxVertexAttribDivisor = in_struct->maxVertexAttribDivisor; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; maxVertexAttribDivisor = src->maxVertexAttribDivisor; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const VkPipelineVertexInputDivisorStateCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), vertexBindingDivisorCount(in_struct->vertexBindingDivisorCount), pVertexBindingDivisors(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pVertexBindingDivisors) { pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[in_struct->vertexBindingDivisorCount]; memcpy ((void *)pVertexBindingDivisors, (void *)in_struct->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*in_struct->vertexBindingDivisorCount); @@ -22426,15 +24520,16 @@ safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputD } safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT() : + pNext(nullptr), pVertexBindingDivisors(nullptr) {} safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; vertexBindingDivisorCount = src.vertexBindingDivisorCount; pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pVertexBindingDivisors) { pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src.vertexBindingDivisorCount]; memcpy ((void *)pVertexBindingDivisors, (void *)src.pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src.vertexBindingDivisorCount); @@ -22447,11 +24542,13 @@ safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& safe_VkPipelineVertexInputD if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; vertexBindingDivisorCount = src.vertexBindingDivisorCount; pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pVertexBindingDivisors) { pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src.vertexBindingDivisorCount]; memcpy ((void *)pVertexBindingDivisors, (void *)src.pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src.vertexBindingDivisorCount); @@ -22464,14 +24561,16 @@ safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::~safe_VkPipelineVertexInput { if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const VkPipelineVertexInputDivisorStateCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; vertexBindingDivisorCount = in_struct->vertexBindingDivisorCount; pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pVertexBindingDivisors) { pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[in_struct->vertexBindingDivisorCount]; memcpy ((void *)pVertexBindingDivisors, (void *)in_struct->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*in_struct->vertexBindingDivisorCount); @@ -22481,9 +24580,9 @@ void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const VkPip void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; vertexBindingDivisorCount = src->vertexBindingDivisorCount; pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pVertexBindingDivisors) { pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src->vertexBindingDivisorCount]; memcpy ((void *)pVertexBindingDivisors, (void *)src->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src->vertexBindingDivisorCount); @@ -22492,114 +24591,124 @@ void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const safe_ safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), vertexAttributeInstanceRateDivisor(in_struct->vertexAttributeInstanceRateDivisor), vertexAttributeInstanceRateZeroDivisor(in_struct->vertexAttributeInstanceRateZeroDivisor) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT() +safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; vertexAttributeInstanceRateDivisor = src.vertexAttributeInstanceRateDivisor; vertexAttributeInstanceRateZeroDivisor = src.vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::operator=(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; vertexAttributeInstanceRateDivisor = src.vertexAttributeInstanceRateDivisor; vertexAttributeInstanceRateZeroDivisor = src.vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::~safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::initialize(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; vertexAttributeInstanceRateDivisor = in_struct->vertexAttributeInstanceRateDivisor; vertexAttributeInstanceRateZeroDivisor = in_struct->vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; vertexAttributeInstanceRateDivisor = src->vertexAttributeInstanceRateDivisor; vertexAttributeInstanceRateZeroDivisor = src->vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_GGP safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP(const VkPresentFrameTokenGGP* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), frameToken(in_struct->frameToken) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP() +safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP() : + pNext(nullptr) {} safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP(const safe_VkPresentFrameTokenGGP& src) { sType = src.sType; - pNext = src.pNext; frameToken = src.frameToken; + pNext = SafePnextCopy(src.pNext); } safe_VkPresentFrameTokenGGP& safe_VkPresentFrameTokenGGP::operator=(const safe_VkPresentFrameTokenGGP& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; frameToken = src.frameToken; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPresentFrameTokenGGP::~safe_VkPresentFrameTokenGGP() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPresentFrameTokenGGP::initialize(const VkPresentFrameTokenGGP* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; frameToken = in_struct->frameToken; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPresentFrameTokenGGP::initialize(const safe_VkPresentFrameTokenGGP* src) { sType = src->sType; - pNext = src->pNext; frameToken = src->frameToken; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_GGP safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT(const VkPipelineCreationFeedbackCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pPipelineCreationFeedback(nullptr), pipelineStageCreationFeedbackCount(in_struct->pipelineStageCreationFeedbackCount), pPipelineStageCreationFeedbacks(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPipelineCreationFeedback) { pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*in_struct->pPipelineCreationFeedback); } @@ -22610,6 +24719,7 @@ safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCre } safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT() : + pNext(nullptr), pPipelineCreationFeedback(nullptr), pPipelineStageCreationFeedbacks(nullptr) {} @@ -22617,10 +24727,10 @@ safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCre safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT(const safe_VkPipelineCreationFeedbackCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; pPipelineCreationFeedback = nullptr; pipelineStageCreationFeedbackCount = src.pipelineStageCreationFeedbackCount; pPipelineStageCreationFeedbacks = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPipelineCreationFeedback) { pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src.pPipelineCreationFeedback); } @@ -22638,12 +24748,14 @@ safe_VkPipelineCreationFeedbackCreateInfoEXT& safe_VkPipelineCreationFeedbackCre delete pPipelineCreationFeedback; if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pPipelineCreationFeedback = nullptr; pipelineStageCreationFeedbackCount = src.pipelineStageCreationFeedbackCount; pPipelineStageCreationFeedbacks = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pPipelineCreationFeedback) { pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src.pPipelineCreationFeedback); } @@ -22661,15 +24773,17 @@ safe_VkPipelineCreationFeedbackCreateInfoEXT::~safe_VkPipelineCreationFeedbackCr delete pPipelineCreationFeedback; if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const VkPipelineCreationFeedbackCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pPipelineCreationFeedback = nullptr; pipelineStageCreationFeedbackCount = in_struct->pipelineStageCreationFeedbackCount; pPipelineStageCreationFeedbacks = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pPipelineCreationFeedback) { pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*in_struct->pPipelineCreationFeedback); } @@ -22682,10 +24796,10 @@ void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const VkPipelineCr void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const safe_VkPipelineCreationFeedbackCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; pPipelineCreationFeedback = nullptr; pipelineStageCreationFeedbackCount = src->pipelineStageCreationFeedbackCount; pPipelineStageCreationFeedbacks = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pPipelineCreationFeedback) { pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src->pPipelineCreationFeedback); } @@ -22697,111 +24811,120 @@ void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const safe_VkPipel safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), computeDerivativeGroupQuads(in_struct->computeDerivativeGroupQuads), computeDerivativeGroupLinear(in_struct->computeDerivativeGroupLinear) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV() +safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; computeDerivativeGroupQuads = src.computeDerivativeGroupQuads; computeDerivativeGroupLinear = src.computeDerivativeGroupLinear; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::operator=(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; computeDerivativeGroupQuads = src.computeDerivativeGroupQuads; computeDerivativeGroupLinear = src.computeDerivativeGroupLinear; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::~safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::initialize(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; computeDerivativeGroupQuads = in_struct->computeDerivativeGroupQuads; computeDerivativeGroupLinear = in_struct->computeDerivativeGroupLinear; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::initialize(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; computeDerivativeGroupQuads = src->computeDerivativeGroupQuads; computeDerivativeGroupLinear = src->computeDerivativeGroupLinear; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV(const VkPhysicalDeviceMeshShaderFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), taskShader(in_struct->taskShader), meshShader(in_struct->meshShader) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV() +safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV(const safe_VkPhysicalDeviceMeshShaderFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; taskShader = src.taskShader; meshShader = src.meshShader; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMeshShaderFeaturesNV& safe_VkPhysicalDeviceMeshShaderFeaturesNV::operator=(const safe_VkPhysicalDeviceMeshShaderFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; taskShader = src.taskShader; meshShader = src.meshShader; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMeshShaderFeaturesNV::~safe_VkPhysicalDeviceMeshShaderFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMeshShaderFeaturesNV::initialize(const VkPhysicalDeviceMeshShaderFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; taskShader = in_struct->taskShader; meshShader = in_struct->meshShader; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMeshShaderFeaturesNV::initialize(const safe_VkPhysicalDeviceMeshShaderFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; taskShader = src->taskShader; meshShader = src->meshShader; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV(const VkPhysicalDeviceMeshShaderPropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), maxDrawMeshTasksCount(in_struct->maxDrawMeshTasksCount), maxTaskWorkGroupInvocations(in_struct->maxTaskWorkGroupInvocations), maxTaskTotalMemorySize(in_struct->maxTaskTotalMemorySize), @@ -22814,21 +24937,22 @@ safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderProp meshOutputPerVertexGranularity(in_struct->meshOutputPerVertexGranularity), meshOutputPerPrimitiveGranularity(in_struct->meshOutputPerPrimitiveGranularity) { - for (uint32_t i=0; i<3; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < 3; ++i) { maxTaskWorkGroupSize[i] = in_struct->maxTaskWorkGroupSize[i]; } - for (uint32_t i=0; i<3; ++i) { + for (uint32_t i = 0; i < 3; ++i) { maxMeshWorkGroupSize[i] = in_struct->maxMeshWorkGroupSize[i]; } } -safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV() +safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV(const safe_VkPhysicalDeviceMeshShaderPropertiesNV& src) { sType = src.sType; - pNext = src.pNext; maxDrawMeshTasksCount = src.maxDrawMeshTasksCount; maxTaskWorkGroupInvocations = src.maxTaskWorkGroupInvocations; maxTaskTotalMemorySize = src.maxTaskTotalMemorySize; @@ -22840,10 +24964,11 @@ safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderProp maxMeshMultiviewViewCount = src.maxMeshMultiviewViewCount; meshOutputPerVertexGranularity = src.meshOutputPerVertexGranularity; meshOutputPerPrimitiveGranularity = src.meshOutputPerPrimitiveGranularity; - for (uint32_t i=0; i<3; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < 3; ++i) { maxTaskWorkGroupSize[i] = src.maxTaskWorkGroupSize[i]; } - for (uint32_t i=0; i<3; ++i) { + for (uint32_t i = 0; i < 3; ++i) { maxMeshWorkGroupSize[i] = src.maxMeshWorkGroupSize[i]; } } @@ -22852,9 +24977,10 @@ safe_VkPhysicalDeviceMeshShaderPropertiesNV& safe_VkPhysicalDeviceMeshShaderProp { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; maxDrawMeshTasksCount = src.maxDrawMeshTasksCount; maxTaskWorkGroupInvocations = src.maxTaskWorkGroupInvocations; maxTaskTotalMemorySize = src.maxTaskTotalMemorySize; @@ -22866,10 +24992,11 @@ safe_VkPhysicalDeviceMeshShaderPropertiesNV& safe_VkPhysicalDeviceMeshShaderProp maxMeshMultiviewViewCount = src.maxMeshMultiviewViewCount; meshOutputPerVertexGranularity = src.meshOutputPerVertexGranularity; meshOutputPerPrimitiveGranularity = src.meshOutputPerPrimitiveGranularity; - for (uint32_t i=0; i<3; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < 3; ++i) { maxTaskWorkGroupSize[i] = src.maxTaskWorkGroupSize[i]; } - for (uint32_t i=0; i<3; ++i) { + for (uint32_t i = 0; i < 3; ++i) { maxMeshWorkGroupSize[i] = src.maxMeshWorkGroupSize[i]; } @@ -22878,12 +25005,13 @@ safe_VkPhysicalDeviceMeshShaderPropertiesNV& safe_VkPhysicalDeviceMeshShaderProp safe_VkPhysicalDeviceMeshShaderPropertiesNV::~safe_VkPhysicalDeviceMeshShaderPropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const VkPhysicalDeviceMeshShaderPropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; maxDrawMeshTasksCount = in_struct->maxDrawMeshTasksCount; maxTaskWorkGroupInvocations = in_struct->maxTaskWorkGroupInvocations; maxTaskTotalMemorySize = in_struct->maxTaskTotalMemorySize; @@ -22895,10 +25023,11 @@ void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const VkPhysicalDev maxMeshMultiviewViewCount = in_struct->maxMeshMultiviewViewCount; meshOutputPerVertexGranularity = in_struct->meshOutputPerVertexGranularity; meshOutputPerPrimitiveGranularity = in_struct->meshOutputPerPrimitiveGranularity; - for (uint32_t i=0; i<3; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < 3; ++i) { maxTaskWorkGroupSize[i] = in_struct->maxTaskWorkGroupSize[i]; } - for (uint32_t i=0; i<3; ++i) { + for (uint32_t i = 0; i < 3; ++i) { maxMeshWorkGroupSize[i] = in_struct->maxMeshWorkGroupSize[i]; } } @@ -22906,7 +25035,6 @@ void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const VkPhysicalDev void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const safe_VkPhysicalDeviceMeshShaderPropertiesNV* src) { sType = src->sType; - pNext = src->pNext; maxDrawMeshTasksCount = src->maxDrawMeshTasksCount; maxTaskWorkGroupInvocations = src->maxTaskWorkGroupInvocations; maxTaskTotalMemorySize = src->maxTaskTotalMemorySize; @@ -22918,114 +25046,125 @@ void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const safe_VkPhysic maxMeshMultiviewViewCount = src->maxMeshMultiviewViewCount; meshOutputPerVertexGranularity = src->meshOutputPerVertexGranularity; meshOutputPerPrimitiveGranularity = src->meshOutputPerPrimitiveGranularity; - for (uint32_t i=0; i<3; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < 3; ++i) { maxTaskWorkGroupSize[i] = src->maxTaskWorkGroupSize[i]; } - for (uint32_t i=0; i<3; ++i) { + for (uint32_t i = 0; i < 3; ++i) { maxMeshWorkGroupSize[i] = src->maxMeshWorkGroupSize[i]; } } safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fragmentShaderBarycentric(in_struct->fragmentShaderBarycentric) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV() +safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; fragmentShaderBarycentric = src.fragmentShaderBarycentric; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::operator=(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fragmentShaderBarycentric = src.fragmentShaderBarycentric; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::~safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::initialize(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fragmentShaderBarycentric = in_struct->fragmentShaderBarycentric; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::initialize(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; fragmentShaderBarycentric = src->fragmentShaderBarycentric; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const VkPhysicalDeviceShaderImageFootprintFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), imageFootprint(in_struct->imageFootprint) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV() +safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; imageFootprint = src.imageFootprint; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::operator=(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; imageFootprint = src.imageFootprint; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::~safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::initialize(const VkPhysicalDeviceShaderImageFootprintFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; imageFootprint = in_struct->imageFootprint; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::initialize(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; imageFootprint = src->imageFootprint; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const VkPipelineViewportExclusiveScissorStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), exclusiveScissorCount(in_struct->exclusiveScissorCount), pExclusiveScissors(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pExclusiveScissors) { pExclusiveScissors = new VkRect2D[in_struct->exclusiveScissorCount]; memcpy ((void *)pExclusiveScissors, (void *)in_struct->pExclusiveScissors, sizeof(VkRect2D)*in_struct->exclusiveScissorCount); @@ -23033,15 +25172,16 @@ safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewpor } safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV() : + pNext(nullptr), pExclusiveScissors(nullptr) {} safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; exclusiveScissorCount = src.exclusiveScissorCount; pExclusiveScissors = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pExclusiveScissors) { pExclusiveScissors = new VkRect2D[src.exclusiveScissorCount]; memcpy ((void *)pExclusiveScissors, (void *)src.pExclusiveScissors, sizeof(VkRect2D)*src.exclusiveScissorCount); @@ -23054,11 +25194,13 @@ safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& safe_VkPipelineViewpor if (pExclusiveScissors) delete[] pExclusiveScissors; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; exclusiveScissorCount = src.exclusiveScissorCount; pExclusiveScissors = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pExclusiveScissors) { pExclusiveScissors = new VkRect2D[src.exclusiveScissorCount]; memcpy ((void *)pExclusiveScissors, (void *)src.pExclusiveScissors, sizeof(VkRect2D)*src.exclusiveScissorCount); @@ -23071,14 +25213,16 @@ safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::~safe_VkPipelineViewpo { if (pExclusiveScissors) delete[] pExclusiveScissors; + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const VkPipelineViewportExclusiveScissorStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; exclusiveScissorCount = in_struct->exclusiveScissorCount; pExclusiveScissors = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pExclusiveScissors) { pExclusiveScissors = new VkRect2D[in_struct->exclusiveScissorCount]; memcpy ((void *)pExclusiveScissors, (void *)in_struct->pExclusiveScissors, sizeof(VkRect2D)*in_struct->exclusiveScissorCount); @@ -23088,9 +25232,9 @@ void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; exclusiveScissorCount = src->exclusiveScissorCount; pExclusiveScissors = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pExclusiveScissors) { pExclusiveScissors = new VkRect2D[src->exclusiveScissorCount]; memcpy ((void *)pExclusiveScissors, (void *)src->pExclusiveScissors, sizeof(VkRect2D)*src->exclusiveScissorCount); @@ -23099,207 +25243,229 @@ void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const VkPhysicalDeviceExclusiveScissorFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), exclusiveScissor(in_struct->exclusiveScissor) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV() +safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; exclusiveScissor = src.exclusiveScissor; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::operator=(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; exclusiveScissor = src.exclusiveScissor; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::~safe_VkPhysicalDeviceExclusiveScissorFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::initialize(const VkPhysicalDeviceExclusiveScissorFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; exclusiveScissor = in_struct->exclusiveScissor; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::initialize(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; exclusiveScissor = src->exclusiveScissor; + pNext = SafePnextCopy(src->pNext); } safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV(const VkQueueFamilyCheckpointPropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), checkpointExecutionStageMask(in_struct->checkpointExecutionStageMask) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV() +safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV() : + pNext(nullptr) {} safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV(const safe_VkQueueFamilyCheckpointPropertiesNV& src) { sType = src.sType; - pNext = src.pNext; checkpointExecutionStageMask = src.checkpointExecutionStageMask; + pNext = SafePnextCopy(src.pNext); } safe_VkQueueFamilyCheckpointPropertiesNV& safe_VkQueueFamilyCheckpointPropertiesNV::operator=(const safe_VkQueueFamilyCheckpointPropertiesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; checkpointExecutionStageMask = src.checkpointExecutionStageMask; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkQueueFamilyCheckpointPropertiesNV::~safe_VkQueueFamilyCheckpointPropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkQueueFamilyCheckpointPropertiesNV::initialize(const VkQueueFamilyCheckpointPropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; checkpointExecutionStageMask = in_struct->checkpointExecutionStageMask; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkQueueFamilyCheckpointPropertiesNV::initialize(const safe_VkQueueFamilyCheckpointPropertiesNV* src) { sType = src->sType; - pNext = src->pNext; checkpointExecutionStageMask = src->checkpointExecutionStageMask; + pNext = SafePnextCopy(src->pNext); } safe_VkCheckpointDataNV::safe_VkCheckpointDataNV(const VkCheckpointDataNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), stage(in_struct->stage), pCheckpointMarker(in_struct->pCheckpointMarker) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCheckpointDataNV::safe_VkCheckpointDataNV() +safe_VkCheckpointDataNV::safe_VkCheckpointDataNV() : + pNext(nullptr), + pCheckpointMarker(nullptr) {} safe_VkCheckpointDataNV::safe_VkCheckpointDataNV(const safe_VkCheckpointDataNV& src) { sType = src.sType; - pNext = src.pNext; stage = src.stage; pCheckpointMarker = src.pCheckpointMarker; + pNext = SafePnextCopy(src.pNext); } safe_VkCheckpointDataNV& safe_VkCheckpointDataNV::operator=(const safe_VkCheckpointDataNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; stage = src.stage; pCheckpointMarker = src.pCheckpointMarker; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCheckpointDataNV::~safe_VkCheckpointDataNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCheckpointDataNV::initialize(const VkCheckpointDataNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; stage = in_struct->stage; pCheckpointMarker = in_struct->pCheckpointMarker; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCheckpointDataNV::initialize(const safe_VkCheckpointDataNV* src) { sType = src->sType; - pNext = src->pNext; stage = src->stage; pCheckpointMarker = src->pCheckpointMarker; + pNext = SafePnextCopy(src->pNext); } -safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL(const VkPhysicalDeviceShaderIntegerFunctions2INTEL* in_struct) : +safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderIntegerFunctions2(in_struct->shaderIntegerFunctions2) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL() +safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL() : + pNext(nullptr) {} -safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL(const safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL& src) +safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& src) { sType = src.sType; - pNext = src.pNext; shaderIntegerFunctions2 = src.shaderIntegerFunctions2; + pNext = SafePnextCopy(src.pNext); } -safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL& safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::operator=(const safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL& src) +safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::operator=(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderIntegerFunctions2 = src.shaderIntegerFunctions2; + pNext = SafePnextCopy(src.pNext); return *this; } -safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::~safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL() +safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::~safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL() { + if (pNext) + FreePnextChain(pNext); } -void safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::initialize(const VkPhysicalDeviceShaderIntegerFunctions2INTEL* in_struct) +void safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::initialize(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderIntegerFunctions2 = in_struct->shaderIntegerFunctions2; + pNext = SafePnextCopy(in_struct->pNext); } -void safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL::initialize(const safe_VkPhysicalDeviceShaderIntegerFunctions2INTEL* src) +void safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::initialize(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* src) { sType = src->sType; - pNext = src->pNext; shaderIntegerFunctions2 = src->shaderIntegerFunctions2; + pNext = SafePnextCopy(src->pNext); } safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const VkPerformanceValueDataINTEL* in_struct) : value32(in_struct->value32), value64(in_struct->value64), valueFloat(in_struct->valueFloat), - valueBool(in_struct->valueBool), - valueString(in_struct->valueString) + valueBool(in_struct->valueBool) { + valueString = SafeStringCopy(in_struct->valueString); } -safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL() +safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL() : + valueString(nullptr) {} safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const safe_VkPerformanceValueDataINTEL& src) @@ -23308,25 +25474,27 @@ safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const safe_Vk value64 = src.value64; valueFloat = src.valueFloat; valueBool = src.valueBool; - valueString = src.valueString; + valueString = SafeStringCopy(src.valueString); } safe_VkPerformanceValueDataINTEL& safe_VkPerformanceValueDataINTEL::operator=(const safe_VkPerformanceValueDataINTEL& src) { if (&src == this) return *this; + if (valueString) delete [] valueString; value32 = src.value32; value64 = src.value64; valueFloat = src.valueFloat; valueBool = src.valueBool; - valueString = src.valueString; + valueString = SafeStringCopy(src.valueString); return *this; } safe_VkPerformanceValueDataINTEL::~safe_VkPerformanceValueDataINTEL() { + if (valueString) delete [] valueString; } void safe_VkPerformanceValueDataINTEL::initialize(const VkPerformanceValueDataINTEL* in_struct) @@ -23335,7 +25503,7 @@ void safe_VkPerformanceValueDataINTEL::initialize(const VkPerformanceValueDataIN value64 = in_struct->value64; valueFloat = in_struct->valueFloat; valueBool = in_struct->valueBool; - valueString = in_struct->valueString; + valueString = SafeStringCopy(in_struct->valueString); } void safe_VkPerformanceValueDataINTEL::initialize(const safe_VkPerformanceValueDataINTEL* src) @@ -23344,509 +25512,560 @@ void safe_VkPerformanceValueDataINTEL::initialize(const safe_VkPerformanceValueD value64 = src->value64; valueFloat = src->valueFloat; valueBool = src->valueBool; - valueString = src->valueString; + valueString = SafeStringCopy(src->valueString); } safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL(const VkInitializePerformanceApiInfoINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pUserData(in_struct->pUserData) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL() +safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL() : + pNext(nullptr), + pUserData(nullptr) {} safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL(const safe_VkInitializePerformanceApiInfoINTEL& src) { sType = src.sType; - pNext = src.pNext; pUserData = src.pUserData; + pNext = SafePnextCopy(src.pNext); } safe_VkInitializePerformanceApiInfoINTEL& safe_VkInitializePerformanceApiInfoINTEL::operator=(const safe_VkInitializePerformanceApiInfoINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pUserData = src.pUserData; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkInitializePerformanceApiInfoINTEL::~safe_VkInitializePerformanceApiInfoINTEL() { + if (pNext) + FreePnextChain(pNext); } void safe_VkInitializePerformanceApiInfoINTEL::initialize(const VkInitializePerformanceApiInfoINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pUserData = in_struct->pUserData; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkInitializePerformanceApiInfoINTEL::initialize(const safe_VkInitializePerformanceApiInfoINTEL* src) { sType = src->sType; - pNext = src->pNext; pUserData = src->pUserData; + pNext = SafePnextCopy(src->pNext); } safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL(const VkQueryPoolCreateInfoINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), performanceCountersSampling(in_struct->performanceCountersSampling) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL() +safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL() : + pNext(nullptr) {} safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL(const safe_VkQueryPoolCreateInfoINTEL& src) { sType = src.sType; - pNext = src.pNext; performanceCountersSampling = src.performanceCountersSampling; + pNext = SafePnextCopy(src.pNext); } safe_VkQueryPoolCreateInfoINTEL& safe_VkQueryPoolCreateInfoINTEL::operator=(const safe_VkQueryPoolCreateInfoINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; performanceCountersSampling = src.performanceCountersSampling; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkQueryPoolCreateInfoINTEL::~safe_VkQueryPoolCreateInfoINTEL() { + if (pNext) + FreePnextChain(pNext); } void safe_VkQueryPoolCreateInfoINTEL::initialize(const VkQueryPoolCreateInfoINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; performanceCountersSampling = in_struct->performanceCountersSampling; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkQueryPoolCreateInfoINTEL::initialize(const safe_VkQueryPoolCreateInfoINTEL* src) { sType = src->sType; - pNext = src->pNext; performanceCountersSampling = src->performanceCountersSampling; + pNext = SafePnextCopy(src->pNext); } safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL(const VkPerformanceMarkerInfoINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), marker(in_struct->marker) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL() +safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL() : + pNext(nullptr) {} safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL(const safe_VkPerformanceMarkerInfoINTEL& src) { sType = src.sType; - pNext = src.pNext; marker = src.marker; + pNext = SafePnextCopy(src.pNext); } safe_VkPerformanceMarkerInfoINTEL& safe_VkPerformanceMarkerInfoINTEL::operator=(const safe_VkPerformanceMarkerInfoINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; marker = src.marker; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPerformanceMarkerInfoINTEL::~safe_VkPerformanceMarkerInfoINTEL() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPerformanceMarkerInfoINTEL::initialize(const VkPerformanceMarkerInfoINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; marker = in_struct->marker; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPerformanceMarkerInfoINTEL::initialize(const safe_VkPerformanceMarkerInfoINTEL* src) { sType = src->sType; - pNext = src->pNext; marker = src->marker; + pNext = SafePnextCopy(src->pNext); } safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL(const VkPerformanceStreamMarkerInfoINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), marker(in_struct->marker) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL() +safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL() : + pNext(nullptr) {} safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL(const safe_VkPerformanceStreamMarkerInfoINTEL& src) { sType = src.sType; - pNext = src.pNext; marker = src.marker; + pNext = SafePnextCopy(src.pNext); } safe_VkPerformanceStreamMarkerInfoINTEL& safe_VkPerformanceStreamMarkerInfoINTEL::operator=(const safe_VkPerformanceStreamMarkerInfoINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; marker = src.marker; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPerformanceStreamMarkerInfoINTEL::~safe_VkPerformanceStreamMarkerInfoINTEL() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPerformanceStreamMarkerInfoINTEL::initialize(const VkPerformanceStreamMarkerInfoINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; marker = in_struct->marker; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPerformanceStreamMarkerInfoINTEL::initialize(const safe_VkPerformanceStreamMarkerInfoINTEL* src) { sType = src->sType; - pNext = src->pNext; marker = src->marker; + pNext = SafePnextCopy(src->pNext); } safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL(const VkPerformanceOverrideInfoINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), type(in_struct->type), enable(in_struct->enable), parameter(in_struct->parameter) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL() +safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL() : + pNext(nullptr) {} safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL(const safe_VkPerformanceOverrideInfoINTEL& src) { sType = src.sType; - pNext = src.pNext; type = src.type; enable = src.enable; parameter = src.parameter; + pNext = SafePnextCopy(src.pNext); } safe_VkPerformanceOverrideInfoINTEL& safe_VkPerformanceOverrideInfoINTEL::operator=(const safe_VkPerformanceOverrideInfoINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; type = src.type; enable = src.enable; parameter = src.parameter; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPerformanceOverrideInfoINTEL::~safe_VkPerformanceOverrideInfoINTEL() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPerformanceOverrideInfoINTEL::initialize(const VkPerformanceOverrideInfoINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; type = in_struct->type; enable = in_struct->enable; parameter = in_struct->parameter; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPerformanceOverrideInfoINTEL::initialize(const safe_VkPerformanceOverrideInfoINTEL* src) { sType = src->sType; - pNext = src->pNext; type = src->type; enable = src->enable; parameter = src->parameter; + pNext = SafePnextCopy(src->pNext); } safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL(const VkPerformanceConfigurationAcquireInfoINTEL* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), type(in_struct->type) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL() +safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL() : + pNext(nullptr) {} safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL(const safe_VkPerformanceConfigurationAcquireInfoINTEL& src) { sType = src.sType; - pNext = src.pNext; type = src.type; + pNext = SafePnextCopy(src.pNext); } safe_VkPerformanceConfigurationAcquireInfoINTEL& safe_VkPerformanceConfigurationAcquireInfoINTEL::operator=(const safe_VkPerformanceConfigurationAcquireInfoINTEL& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; type = src.type; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPerformanceConfigurationAcquireInfoINTEL::~safe_VkPerformanceConfigurationAcquireInfoINTEL() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPerformanceConfigurationAcquireInfoINTEL::initialize(const VkPerformanceConfigurationAcquireInfoINTEL* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; type = in_struct->type; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPerformanceConfigurationAcquireInfoINTEL::initialize(const safe_VkPerformanceConfigurationAcquireInfoINTEL* src) { sType = src->sType; - pNext = src->pNext; type = src->type; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), pciDomain(in_struct->pciDomain), pciBus(in_struct->pciBus), pciDevice(in_struct->pciDevice), pciFunction(in_struct->pciFunction) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT() +safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; pciDomain = src.pciDomain; pciBus = src.pciBus; pciDevice = src.pciDevice; pciFunction = src.pciFunction; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::operator=(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; pciDomain = src.pciDomain; pciBus = src.pciBus; pciDevice = src.pciDevice; pciFunction = src.pciFunction; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::~safe_VkPhysicalDevicePCIBusInfoPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::initialize(const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; pciDomain = in_struct->pciDomain; pciBus = in_struct->pciBus; pciDevice = in_struct->pciDevice; pciFunction = in_struct->pciFunction; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::initialize(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; pciDomain = src->pciDomain; pciBus = src->pciBus; pciDevice = src->pciDevice; pciFunction = src->pciFunction; + pNext = SafePnextCopy(src->pNext); } safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const VkDisplayNativeHdrSurfaceCapabilitiesAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), localDimmingSupport(in_struct->localDimmingSupport) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD() +safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD() : + pNext(nullptr) {} safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& src) { sType = src.sType; - pNext = src.pNext; localDimmingSupport = src.localDimmingSupport; + pNext = SafePnextCopy(src.pNext); } safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::operator=(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; localDimmingSupport = src.localDimmingSupport; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::~safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD() { + if (pNext) + FreePnextChain(pNext); } void safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::initialize(const VkDisplayNativeHdrSurfaceCapabilitiesAMD* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; localDimmingSupport = in_struct->localDimmingSupport; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::initialize(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD* src) { sType = src->sType; - pNext = src->pNext; localDimmingSupport = src->localDimmingSupport; + pNext = SafePnextCopy(src->pNext); } safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const VkSwapchainDisplayNativeHdrCreateInfoAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), localDimmingEnable(in_struct->localDimmingEnable) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD() +safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD() : + pNext(nullptr) {} safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& src) { sType = src.sType; - pNext = src.pNext; localDimmingEnable = src.localDimmingEnable; + pNext = SafePnextCopy(src.pNext); } safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::operator=(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; localDimmingEnable = src.localDimmingEnable; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::~safe_VkSwapchainDisplayNativeHdrCreateInfoAMD() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::initialize(const VkSwapchainDisplayNativeHdrCreateInfoAMD* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; localDimmingEnable = in_struct->localDimmingEnable; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::initialize(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD* src) { sType = src->sType; - pNext = src->pNext; localDimmingEnable = src->localDimmingEnable; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_FUCHSIA safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const VkImagePipeSurfaceCreateInfoFUCHSIA* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), imagePipeHandle(in_struct->imagePipeHandle) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA() +safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA() : + pNext(nullptr) {} safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; imagePipeHandle = src.imagePipeHandle; + pNext = SafePnextCopy(src.pNext); } safe_VkImagePipeSurfaceCreateInfoFUCHSIA& safe_VkImagePipeSurfaceCreateInfoFUCHSIA::operator=(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; imagePipeHandle = src.imagePipeHandle; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImagePipeSurfaceCreateInfoFUCHSIA::~safe_VkImagePipeSurfaceCreateInfoFUCHSIA() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const VkImagePipeSurfaceCreateInfoFUCHSIA* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; imagePipeHandle = in_struct->imagePipeHandle; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; imagePipeHandle = src->imagePipeHandle; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_FUCHSIA @@ -23855,25 +26074,26 @@ void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const safe_VkImagePipe safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT(const VkMetalSurfaceCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), pLayer(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pLayer) { pLayer = new CAMetalLayer(*in_struct->pLayer); } } safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT() : + pNext(nullptr), pLayer(nullptr) {} safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT(const safe_VkMetalSurfaceCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; pLayer = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pLayer) { pLayer = new CAMetalLayer(*src.pLayer); } @@ -23885,11 +26105,13 @@ safe_VkMetalSurfaceCreateInfoEXT& safe_VkMetalSurfaceCreateInfoEXT::operator=(co if (pLayer) delete pLayer; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; pLayer = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pLayer) { pLayer = new CAMetalLayer(*src.pLayer); } @@ -23901,14 +26123,16 @@ safe_VkMetalSurfaceCreateInfoEXT::~safe_VkMetalSurfaceCreateInfoEXT() { if (pLayer) delete pLayer; + if (pNext) + FreePnextChain(pNext); } void safe_VkMetalSurfaceCreateInfoEXT::initialize(const VkMetalSurfaceCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; pLayer = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pLayer) { pLayer = new CAMetalLayer(*in_struct->pLayer); } @@ -23917,9 +26141,9 @@ void safe_VkMetalSurfaceCreateInfoEXT::initialize(const VkMetalSurfaceCreateInfo void safe_VkMetalSurfaceCreateInfoEXT::initialize(const safe_VkMetalSurfaceCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; pLayer = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pLayer) { pLayer = new CAMetalLayer(*src->pLayer); } @@ -23929,235 +26153,541 @@ void safe_VkMetalSurfaceCreateInfoEXT::initialize(const safe_VkMetalSurfaceCreat safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fragmentDensityMap(in_struct->fragmentDensityMap), fragmentDensityMapDynamic(in_struct->fragmentDensityMapDynamic), fragmentDensityMapNonSubsampledImages(in_struct->fragmentDensityMapNonSubsampledImages) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT() +safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; fragmentDensityMap = src.fragmentDensityMap; fragmentDensityMapDynamic = src.fragmentDensityMapDynamic; fragmentDensityMapNonSubsampledImages = src.fragmentDensityMapNonSubsampledImages; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::operator=(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fragmentDensityMap = src.fragmentDensityMap; fragmentDensityMapDynamic = src.fragmentDensityMapDynamic; fragmentDensityMapNonSubsampledImages = src.fragmentDensityMapNonSubsampledImages; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::~safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::initialize(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fragmentDensityMap = in_struct->fragmentDensityMap; fragmentDensityMapDynamic = in_struct->fragmentDensityMapDynamic; fragmentDensityMapNonSubsampledImages = in_struct->fragmentDensityMapNonSubsampledImages; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::initialize(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; fragmentDensityMap = src->fragmentDensityMap; fragmentDensityMapDynamic = src->fragmentDensityMapDynamic; fragmentDensityMapNonSubsampledImages = src->fragmentDensityMapNonSubsampledImages; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), minFragmentDensityTexelSize(in_struct->minFragmentDensityTexelSize), maxFragmentDensityTexelSize(in_struct->maxFragmentDensityTexelSize), fragmentDensityInvocations(in_struct->fragmentDensityInvocations) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT() +safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; minFragmentDensityTexelSize = src.minFragmentDensityTexelSize; maxFragmentDensityTexelSize = src.maxFragmentDensityTexelSize; fragmentDensityInvocations = src.fragmentDensityInvocations; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::operator=(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; minFragmentDensityTexelSize = src.minFragmentDensityTexelSize; maxFragmentDensityTexelSize = src.maxFragmentDensityTexelSize; fragmentDensityInvocations = src.fragmentDensityInvocations; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::~safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::initialize(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; minFragmentDensityTexelSize = in_struct->minFragmentDensityTexelSize; maxFragmentDensityTexelSize = in_struct->maxFragmentDensityTexelSize; fragmentDensityInvocations = in_struct->fragmentDensityInvocations; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::initialize(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; minFragmentDensityTexelSize = src->minFragmentDensityTexelSize; maxFragmentDensityTexelSize = src->maxFragmentDensityTexelSize; fragmentDensityInvocations = src->fragmentDensityInvocations; + pNext = SafePnextCopy(src->pNext); } safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const VkRenderPassFragmentDensityMapCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fragmentDensityMapAttachment(in_struct->fragmentDensityMapAttachment) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT() +safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT() : + pNext(nullptr) {} safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; fragmentDensityMapAttachment = src.fragmentDensityMapAttachment; + pNext = SafePnextCopy(src.pNext); } safe_VkRenderPassFragmentDensityMapCreateInfoEXT& safe_VkRenderPassFragmentDensityMapCreateInfoEXT::operator=(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fragmentDensityMapAttachment = src.fragmentDensityMapAttachment; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkRenderPassFragmentDensityMapCreateInfoEXT::~safe_VkRenderPassFragmentDensityMapCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkRenderPassFragmentDensityMapCreateInfoEXT::initialize(const VkRenderPassFragmentDensityMapCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fragmentDensityMapAttachment = in_struct->fragmentDensityMapAttachment; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkRenderPassFragmentDensityMapCreateInfoEXT::initialize(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; fragmentDensityMapAttachment = src->fragmentDensityMapAttachment; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), scalarBlockLayout(in_struct->scalarBlockLayout) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT() +safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; scalarBlockLayout = src.scalarBlockLayout; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::operator=(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; scalarBlockLayout = src.scalarBlockLayout; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::~safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::initialize(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; scalarBlockLayout = in_struct->scalarBlockLayout; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; scalarBlockLayout = src->scalarBlockLayout; + pNext = SafePnextCopy(src->pNext); } -safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct) : +safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* in_struct) : + sType(in_struct->sType), + subgroupSizeControl(in_struct->subgroupSizeControl), + computeFullSubgroups(in_struct->computeFullSubgroups) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& src) +{ + sType = src.sType; + subgroupSizeControl = src.subgroupSizeControl; + computeFullSubgroups = src.computeFullSubgroups; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::operator=(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + subgroupSizeControl = src.subgroupSizeControl; + computeFullSubgroups = src.computeFullSubgroups; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::~safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::initialize(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* in_struct) +{ + sType = in_struct->sType; + subgroupSizeControl = in_struct->subgroupSizeControl; + computeFullSubgroups = in_struct->computeFullSubgroups; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::initialize(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* src) +{ + sType = src->sType; + subgroupSizeControl = src->subgroupSizeControl; + computeFullSubgroups = src->computeFullSubgroups; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* in_struct) : + sType(in_struct->sType), + minSubgroupSize(in_struct->minSubgroupSize), + maxSubgroupSize(in_struct->maxSubgroupSize), + maxComputeWorkgroupSubgroups(in_struct->maxComputeWorkgroupSubgroups), + requiredSubgroupSizeStages(in_struct->requiredSubgroupSizeStages) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& src) +{ + sType = src.sType; + minSubgroupSize = src.minSubgroupSize; + maxSubgroupSize = src.maxSubgroupSize; + maxComputeWorkgroupSubgroups = src.maxComputeWorkgroupSubgroups; + requiredSubgroupSizeStages = src.requiredSubgroupSizeStages; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::operator=(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + minSubgroupSize = src.minSubgroupSize; + maxSubgroupSize = src.maxSubgroupSize; + maxComputeWorkgroupSubgroups = src.maxComputeWorkgroupSubgroups; + requiredSubgroupSizeStages = src.requiredSubgroupSizeStages; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::~safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::initialize(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* in_struct) +{ + sType = in_struct->sType; + minSubgroupSize = in_struct->minSubgroupSize; + maxSubgroupSize = in_struct->maxSubgroupSize; + maxComputeWorkgroupSubgroups = in_struct->maxComputeWorkgroupSubgroups; + requiredSubgroupSizeStages = in_struct->requiredSubgroupSizeStages; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::initialize(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* src) +{ + sType = src->sType; + minSubgroupSize = src->minSubgroupSize; + maxSubgroupSize = src->maxSubgroupSize; + maxComputeWorkgroupSubgroups = src->maxComputeWorkgroupSubgroups; + requiredSubgroupSizeStages = src->requiredSubgroupSizeStages; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* in_struct) : + sType(in_struct->sType), + requiredSubgroupSize(in_struct->requiredSubgroupSize) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT() : + pNext(nullptr) +{} + +safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& src) +{ + sType = src.sType; + requiredSubgroupSize = src.requiredSubgroupSize; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::operator=(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + requiredSubgroupSize = src.requiredSubgroupSize; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::~safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::initialize(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* in_struct) +{ + sType = in_struct->sType; + requiredSubgroupSize = in_struct->requiredSubgroupSize; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::initialize(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* src) +{ + sType = src->sType; + requiredSubgroupSize = src->requiredSubgroupSize; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD(const VkPhysicalDeviceShaderCoreProperties2AMD* in_struct) : + sType(in_struct->sType), + shaderCoreFeatures(in_struct->shaderCoreFeatures), + activeComputeUnitCount(in_struct->activeComputeUnitCount) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD(const safe_VkPhysicalDeviceShaderCoreProperties2AMD& src) +{ + sType = src.sType; + shaderCoreFeatures = src.shaderCoreFeatures; + activeComputeUnitCount = src.activeComputeUnitCount; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceShaderCoreProperties2AMD& safe_VkPhysicalDeviceShaderCoreProperties2AMD::operator=(const safe_VkPhysicalDeviceShaderCoreProperties2AMD& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + shaderCoreFeatures = src.shaderCoreFeatures; + activeComputeUnitCount = src.activeComputeUnitCount; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderCoreProperties2AMD::~safe_VkPhysicalDeviceShaderCoreProperties2AMD() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderCoreProperties2AMD::initialize(const VkPhysicalDeviceShaderCoreProperties2AMD* in_struct) +{ + sType = in_struct->sType; + shaderCoreFeatures = in_struct->shaderCoreFeatures; + activeComputeUnitCount = in_struct->activeComputeUnitCount; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceShaderCoreProperties2AMD::initialize(const safe_VkPhysicalDeviceShaderCoreProperties2AMD* src) +{ + sType = src->sType; + shaderCoreFeatures = src->shaderCoreFeatures; + activeComputeUnitCount = src->activeComputeUnitCount; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(const VkPhysicalDeviceCoherentMemoryFeaturesAMD* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext) + deviceCoherentMemory(in_struct->deviceCoherentMemory) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD& src) +{ + sType = src.sType; + deviceCoherentMemory = src.deviceCoherentMemory; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD& safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::operator=(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + deviceCoherentMemory = src.deviceCoherentMemory; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::~safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::initialize(const VkPhysicalDeviceCoherentMemoryFeaturesAMD* in_struct) +{ + sType = in_struct->sType; + deviceCoherentMemory = in_struct->deviceCoherentMemory; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::initialize(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD* src) +{ + sType = src->sType; + deviceCoherentMemory = src->deviceCoherentMemory; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct) : + sType(in_struct->sType) { - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapBudget[i] = in_struct->heapBudget[i]; } - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapUsage[i] = in_struct->heapUsage[i]; } } -safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT() +safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapBudget[i] = src.heapBudget[i]; } - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapUsage[i] = src.heapUsage[i]; } } @@ -24166,13 +26696,15 @@ safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& safe_VkPhysicalDeviceMemoryBudge { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + pNext = SafePnextCopy(src.pNext); + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapBudget[i] = src.heapBudget[i]; } - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapUsage[i] = src.heapUsage[i]; } @@ -24181,16 +26713,18 @@ safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& safe_VkPhysicalDeviceMemoryBudge safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::~safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + pNext = SafePnextCopy(in_struct->pNext); + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapBudget[i] = in_struct->heapBudget[i]; } - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapUsage[i] = in_struct->heapUsage[i]; } } @@ -24198,362 +26732,397 @@ void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const VkPhysical void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + pNext = SafePnextCopy(src->pNext); + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapBudget[i] = src->heapBudget[i]; } - for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) { + for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) { heapUsage[i] = src->heapUsage[i]; } } safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const VkPhysicalDeviceMemoryPriorityFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), memoryPriority(in_struct->memoryPriority) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT() +safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; memoryPriority = src.memoryPriority; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::operator=(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; memoryPriority = src.memoryPriority; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::~safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::initialize(const VkPhysicalDeviceMemoryPriorityFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; memoryPriority = in_struct->memoryPriority; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::initialize(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; memoryPriority = src->memoryPriority; + pNext = SafePnextCopy(src->pNext); } safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT(const VkMemoryPriorityAllocateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), priority(in_struct->priority) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT() +safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT() : + pNext(nullptr) {} safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT(const safe_VkMemoryPriorityAllocateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; priority = src.priority; + pNext = SafePnextCopy(src.pNext); } safe_VkMemoryPriorityAllocateInfoEXT& safe_VkMemoryPriorityAllocateInfoEXT::operator=(const safe_VkMemoryPriorityAllocateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; priority = src.priority; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkMemoryPriorityAllocateInfoEXT::~safe_VkMemoryPriorityAllocateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkMemoryPriorityAllocateInfoEXT::initialize(const VkMemoryPriorityAllocateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; priority = in_struct->priority; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkMemoryPriorityAllocateInfoEXT::initialize(const safe_VkMemoryPriorityAllocateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; priority = src->priority; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), dedicatedAllocationImageAliasing(in_struct->dedicatedAllocationImageAliasing) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV() +safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; dedicatedAllocationImageAliasing = src.dedicatedAllocationImageAliasing; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::operator=(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; dedicatedAllocationImageAliasing = src.dedicatedAllocationImageAliasing; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::~safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::initialize(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; dedicatedAllocationImageAliasing = in_struct->dedicatedAllocationImageAliasing; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::initialize(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; dedicatedAllocationImageAliasing = src->dedicatedAllocationImageAliasing; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), bufferDeviceAddress(in_struct->bufferDeviceAddress), bufferDeviceAddressCaptureReplay(in_struct->bufferDeviceAddressCaptureReplay), bufferDeviceAddressMultiDevice(in_struct->bufferDeviceAddressMultiDevice) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT() +safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; bufferDeviceAddress = src.bufferDeviceAddress; bufferDeviceAddressCaptureReplay = src.bufferDeviceAddressCaptureReplay; bufferDeviceAddressMultiDevice = src.bufferDeviceAddressMultiDevice; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::operator=(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; bufferDeviceAddress = src.bufferDeviceAddress; bufferDeviceAddressCaptureReplay = src.bufferDeviceAddressCaptureReplay; bufferDeviceAddressMultiDevice = src.bufferDeviceAddressMultiDevice; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::~safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::initialize(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; bufferDeviceAddress = in_struct->bufferDeviceAddress; bufferDeviceAddressCaptureReplay = in_struct->bufferDeviceAddressCaptureReplay; bufferDeviceAddressMultiDevice = in_struct->bufferDeviceAddressMultiDevice; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::initialize(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; bufferDeviceAddress = src->bufferDeviceAddress; bufferDeviceAddressCaptureReplay = src->bufferDeviceAddressCaptureReplay; bufferDeviceAddressMultiDevice = src->bufferDeviceAddressMultiDevice; + pNext = SafePnextCopy(src->pNext); } safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT(const VkBufferDeviceAddressInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), buffer(in_struct->buffer) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT() +safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT() : + pNext(nullptr) {} safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT(const safe_VkBufferDeviceAddressInfoEXT& src) { sType = src.sType; - pNext = src.pNext; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); } safe_VkBufferDeviceAddressInfoEXT& safe_VkBufferDeviceAddressInfoEXT::operator=(const safe_VkBufferDeviceAddressInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; buffer = src.buffer; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBufferDeviceAddressInfoEXT::~safe_VkBufferDeviceAddressInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBufferDeviceAddressInfoEXT::initialize(const VkBufferDeviceAddressInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; buffer = in_struct->buffer; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBufferDeviceAddressInfoEXT::initialize(const safe_VkBufferDeviceAddressInfoEXT* src) { sType = src->sType; - pNext = src->pNext; buffer = src->buffer; + pNext = SafePnextCopy(src->pNext); } safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT(const VkBufferDeviceAddressCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), deviceAddress(in_struct->deviceAddress) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT() +safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT() : + pNext(nullptr) {} safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT(const safe_VkBufferDeviceAddressCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; deviceAddress = src.deviceAddress; + pNext = SafePnextCopy(src.pNext); } safe_VkBufferDeviceAddressCreateInfoEXT& safe_VkBufferDeviceAddressCreateInfoEXT::operator=(const safe_VkBufferDeviceAddressCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; deviceAddress = src.deviceAddress; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkBufferDeviceAddressCreateInfoEXT::~safe_VkBufferDeviceAddressCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkBufferDeviceAddressCreateInfoEXT::initialize(const VkBufferDeviceAddressCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; deviceAddress = in_struct->deviceAddress; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkBufferDeviceAddressCreateInfoEXT::initialize(const safe_VkBufferDeviceAddressCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; deviceAddress = src->deviceAddress; + pNext = SafePnextCopy(src->pNext); } safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT(const VkImageStencilUsageCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), stencilUsage(in_struct->stencilUsage) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT() +safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT() : + pNext(nullptr) {} safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT(const safe_VkImageStencilUsageCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; stencilUsage = src.stencilUsage; + pNext = SafePnextCopy(src.pNext); } safe_VkImageStencilUsageCreateInfoEXT& safe_VkImageStencilUsageCreateInfoEXT::operator=(const safe_VkImageStencilUsageCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; stencilUsage = src.stencilUsage; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkImageStencilUsageCreateInfoEXT::~safe_VkImageStencilUsageCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkImageStencilUsageCreateInfoEXT::initialize(const VkImageStencilUsageCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; stencilUsage = in_struct->stencilUsage; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkImageStencilUsageCreateInfoEXT::initialize(const safe_VkImageStencilUsageCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; stencilUsage = src->stencilUsage; + pNext = SafePnextCopy(src->pNext); } safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const VkValidationFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), enabledValidationFeatureCount(in_struct->enabledValidationFeatureCount), pEnabledValidationFeatures(nullptr), disabledValidationFeatureCount(in_struct->disabledValidationFeatureCount), pDisabledValidationFeatures(nullptr) { + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pEnabledValidationFeatures) { pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[in_struct->enabledValidationFeatureCount]; memcpy ((void *)pEnabledValidationFeatures, (void *)in_struct->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*in_struct->enabledValidationFeatureCount); @@ -24565,6 +27134,7 @@ safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const VkValidationFea } safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT() : + pNext(nullptr), pEnabledValidationFeatures(nullptr), pDisabledValidationFeatures(nullptr) {} @@ -24572,11 +27142,11 @@ safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT() : safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const safe_VkValidationFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; enabledValidationFeatureCount = src.enabledValidationFeatureCount; pEnabledValidationFeatures = nullptr; disabledValidationFeatureCount = src.disabledValidationFeatureCount; pDisabledValidationFeatures = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pEnabledValidationFeatures) { pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src.enabledValidationFeatureCount]; memcpy ((void *)pEnabledValidationFeatures, (void *)src.pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src.enabledValidationFeatureCount); @@ -24595,13 +27165,15 @@ safe_VkValidationFeaturesEXT& safe_VkValidationFeaturesEXT::operator=(const safe delete[] pEnabledValidationFeatures; if (pDisabledValidationFeatures) delete[] pDisabledValidationFeatures; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; enabledValidationFeatureCount = src.enabledValidationFeatureCount; pEnabledValidationFeatures = nullptr; disabledValidationFeatureCount = src.disabledValidationFeatureCount; pDisabledValidationFeatures = nullptr; + pNext = SafePnextCopy(src.pNext); if (src.pEnabledValidationFeatures) { pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src.enabledValidationFeatureCount]; memcpy ((void *)pEnabledValidationFeatures, (void *)src.pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src.enabledValidationFeatureCount); @@ -24620,16 +27192,18 @@ safe_VkValidationFeaturesEXT::~safe_VkValidationFeaturesEXT() delete[] pEnabledValidationFeatures; if (pDisabledValidationFeatures) delete[] pDisabledValidationFeatures; + if (pNext) + FreePnextChain(pNext); } void safe_VkValidationFeaturesEXT::initialize(const VkValidationFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; enabledValidationFeatureCount = in_struct->enabledValidationFeatureCount; pEnabledValidationFeatures = nullptr; disabledValidationFeatureCount = in_struct->disabledValidationFeatureCount; pDisabledValidationFeatures = nullptr; + pNext = SafePnextCopy(in_struct->pNext); if (in_struct->pEnabledValidationFeatures) { pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[in_struct->enabledValidationFeatureCount]; memcpy ((void *)pEnabledValidationFeatures, (void *)in_struct->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*in_struct->enabledValidationFeatureCount); @@ -24643,11 +27217,11 @@ void safe_VkValidationFeaturesEXT::initialize(const VkValidationFeaturesEXT* in_ void safe_VkValidationFeaturesEXT::initialize(const safe_VkValidationFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; enabledValidationFeatureCount = src->enabledValidationFeatureCount; pEnabledValidationFeatures = nullptr; disabledValidationFeatureCount = src->disabledValidationFeatureCount; pDisabledValidationFeatures = nullptr; + pNext = SafePnextCopy(src->pNext); if (src->pEnabledValidationFeatures) { pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src->enabledValidationFeatureCount]; memcpy ((void *)pEnabledValidationFeatures, (void *)src->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src->enabledValidationFeatureCount); @@ -24660,7 +27234,6 @@ void safe_VkValidationFeaturesEXT::initialize(const safe_VkValidationFeaturesEXT safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const VkCooperativeMatrixPropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), MSize(in_struct->MSize), NSize(in_struct->NSize), KSize(in_struct->KSize), @@ -24670,15 +27243,16 @@ safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const DType(in_struct->DType), scope(in_struct->scope) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV() +safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV() : + pNext(nullptr) {} safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const safe_VkCooperativeMatrixPropertiesNV& src) { sType = src.sType; - pNext = src.pNext; MSize = src.MSize; NSize = src.NSize; KSize = src.KSize; @@ -24687,15 +27261,17 @@ safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const CType = src.CType; DType = src.DType; scope = src.scope; + pNext = SafePnextCopy(src.pNext); } safe_VkCooperativeMatrixPropertiesNV& safe_VkCooperativeMatrixPropertiesNV::operator=(const safe_VkCooperativeMatrixPropertiesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; MSize = src.MSize; NSize = src.NSize; KSize = src.KSize; @@ -24704,18 +27280,20 @@ safe_VkCooperativeMatrixPropertiesNV& safe_VkCooperativeMatrixPropertiesNV::oper CType = src.CType; DType = src.DType; scope = src.scope; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkCooperativeMatrixPropertiesNV::~safe_VkCooperativeMatrixPropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkCooperativeMatrixPropertiesNV::initialize(const VkCooperativeMatrixPropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; MSize = in_struct->MSize; NSize = in_struct->NSize; KSize = in_struct->KSize; @@ -24724,12 +27302,12 @@ void safe_VkCooperativeMatrixPropertiesNV::initialize(const VkCooperativeMatrixP CType = in_struct->CType; DType = in_struct->DType; scope = in_struct->scope; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkCooperativeMatrixPropertiesNV::initialize(const safe_VkCooperativeMatrixPropertiesNV* src) { sType = src->sType; - pNext = src->pNext; MSize = src->MSize; NSize = src->NSize; KSize = src->KSize; @@ -24738,419 +27316,460 @@ void safe_VkCooperativeMatrixPropertiesNV::initialize(const safe_VkCooperativeMa CType = src->CType; DType = src->DType; scope = src->scope; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const VkPhysicalDeviceCooperativeMatrixFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), cooperativeMatrix(in_struct->cooperativeMatrix), cooperativeMatrixRobustBufferAccess(in_struct->cooperativeMatrixRobustBufferAccess) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV() +safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; cooperativeMatrix = src.cooperativeMatrix; cooperativeMatrixRobustBufferAccess = src.cooperativeMatrixRobustBufferAccess; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::operator=(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; cooperativeMatrix = src.cooperativeMatrix; cooperativeMatrixRobustBufferAccess = src.cooperativeMatrixRobustBufferAccess; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::~safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::initialize(const VkPhysicalDeviceCooperativeMatrixFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; cooperativeMatrix = in_struct->cooperativeMatrix; cooperativeMatrixRobustBufferAccess = in_struct->cooperativeMatrixRobustBufferAccess; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::initialize(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; cooperativeMatrix = src->cooperativeMatrix; cooperativeMatrixRobustBufferAccess = src->cooperativeMatrixRobustBufferAccess; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const VkPhysicalDeviceCooperativeMatrixPropertiesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), cooperativeMatrixSupportedStages(in_struct->cooperativeMatrixSupportedStages) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV() +safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& src) { sType = src.sType; - pNext = src.pNext; cooperativeMatrixSupportedStages = src.cooperativeMatrixSupportedStages; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::operator=(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; cooperativeMatrixSupportedStages = src.cooperativeMatrixSupportedStages; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::~safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::initialize(const VkPhysicalDeviceCooperativeMatrixPropertiesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; cooperativeMatrixSupportedStages = in_struct->cooperativeMatrixSupportedStages; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::initialize(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV* src) { sType = src->sType; - pNext = src->pNext; cooperativeMatrixSupportedStages = src->cooperativeMatrixSupportedStages; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const VkPhysicalDeviceCoverageReductionModeFeaturesNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), coverageReductionMode(in_struct->coverageReductionMode) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV() +safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV() : + pNext(nullptr) {} safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& src) { sType = src.sType; - pNext = src.pNext; coverageReductionMode = src.coverageReductionMode; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::operator=(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; coverageReductionMode = src.coverageReductionMode; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::~safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::initialize(const VkPhysicalDeviceCoverageReductionModeFeaturesNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; coverageReductionMode = in_struct->coverageReductionMode; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::initialize(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV* src) { sType = src->sType; - pNext = src->pNext; coverageReductionMode = src->coverageReductionMode; + pNext = SafePnextCopy(src->pNext); } safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV(const VkPipelineCoverageReductionStateCreateInfoNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags), coverageReductionMode(in_struct->coverageReductionMode) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV() +safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV() : + pNext(nullptr) {} safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV(const safe_VkPipelineCoverageReductionStateCreateInfoNV& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; coverageReductionMode = src.coverageReductionMode; + pNext = SafePnextCopy(src.pNext); } safe_VkPipelineCoverageReductionStateCreateInfoNV& safe_VkPipelineCoverageReductionStateCreateInfoNV::operator=(const safe_VkPipelineCoverageReductionStateCreateInfoNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; coverageReductionMode = src.coverageReductionMode; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPipelineCoverageReductionStateCreateInfoNV::~safe_VkPipelineCoverageReductionStateCreateInfoNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPipelineCoverageReductionStateCreateInfoNV::initialize(const VkPipelineCoverageReductionStateCreateInfoNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; coverageReductionMode = in_struct->coverageReductionMode; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPipelineCoverageReductionStateCreateInfoNV::initialize(const safe_VkPipelineCoverageReductionStateCreateInfoNV* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; coverageReductionMode = src->coverageReductionMode; + pNext = SafePnextCopy(src->pNext); } safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV(const VkFramebufferMixedSamplesCombinationNV* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), coverageReductionMode(in_struct->coverageReductionMode), rasterizationSamples(in_struct->rasterizationSamples), depthStencilSamples(in_struct->depthStencilSamples), colorSamples(in_struct->colorSamples) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV() +safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV() : + pNext(nullptr) {} safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV(const safe_VkFramebufferMixedSamplesCombinationNV& src) { sType = src.sType; - pNext = src.pNext; coverageReductionMode = src.coverageReductionMode; rasterizationSamples = src.rasterizationSamples; depthStencilSamples = src.depthStencilSamples; colorSamples = src.colorSamples; + pNext = SafePnextCopy(src.pNext); } safe_VkFramebufferMixedSamplesCombinationNV& safe_VkFramebufferMixedSamplesCombinationNV::operator=(const safe_VkFramebufferMixedSamplesCombinationNV& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; coverageReductionMode = src.coverageReductionMode; rasterizationSamples = src.rasterizationSamples; depthStencilSamples = src.depthStencilSamples; colorSamples = src.colorSamples; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkFramebufferMixedSamplesCombinationNV::~safe_VkFramebufferMixedSamplesCombinationNV() { + if (pNext) + FreePnextChain(pNext); } void safe_VkFramebufferMixedSamplesCombinationNV::initialize(const VkFramebufferMixedSamplesCombinationNV* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; coverageReductionMode = in_struct->coverageReductionMode; rasterizationSamples = in_struct->rasterizationSamples; depthStencilSamples = in_struct->depthStencilSamples; colorSamples = in_struct->colorSamples; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkFramebufferMixedSamplesCombinationNV::initialize(const safe_VkFramebufferMixedSamplesCombinationNV* src) { sType = src->sType; - pNext = src->pNext; coverageReductionMode = src->coverageReductionMode; rasterizationSamples = src->rasterizationSamples; depthStencilSamples = src->depthStencilSamples; colorSamples = src->colorSamples; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fragmentShaderSampleInterlock(in_struct->fragmentShaderSampleInterlock), fragmentShaderPixelInterlock(in_struct->fragmentShaderPixelInterlock), fragmentShaderShadingRateInterlock(in_struct->fragmentShaderShadingRateInterlock) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT() +safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; fragmentShaderSampleInterlock = src.fragmentShaderSampleInterlock; fragmentShaderPixelInterlock = src.fragmentShaderPixelInterlock; fragmentShaderShadingRateInterlock = src.fragmentShaderShadingRateInterlock; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::operator=(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fragmentShaderSampleInterlock = src.fragmentShaderSampleInterlock; fragmentShaderPixelInterlock = src.fragmentShaderPixelInterlock; fragmentShaderShadingRateInterlock = src.fragmentShaderShadingRateInterlock; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::~safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::initialize(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fragmentShaderSampleInterlock = in_struct->fragmentShaderSampleInterlock; fragmentShaderPixelInterlock = in_struct->fragmentShaderPixelInterlock; fragmentShaderShadingRateInterlock = in_struct->fragmentShaderShadingRateInterlock; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::initialize(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; fragmentShaderSampleInterlock = src->fragmentShaderSampleInterlock; fragmentShaderPixelInterlock = src->fragmentShaderPixelInterlock; fragmentShaderShadingRateInterlock = src->fragmentShaderShadingRateInterlock; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), ycbcrImageArrays(in_struct->ycbcrImageArrays) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT() +safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; ycbcrImageArrays = src.ycbcrImageArrays; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::operator=(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; ycbcrImageArrays = src.ycbcrImageArrays; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::~safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::initialize(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; ycbcrImageArrays = in_struct->ycbcrImageArrays; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::initialize(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; ycbcrImageArrays = src->ycbcrImageArrays; + pNext = SafePnextCopy(src->pNext); } #ifdef VK_USE_PLATFORM_WIN32_KHR safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT(const VkSurfaceFullScreenExclusiveInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fullScreenExclusive(in_struct->fullScreenExclusive) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT() +safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT() : + pNext(nullptr) {} safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT(const safe_VkSurfaceFullScreenExclusiveInfoEXT& src) { sType = src.sType; - pNext = src.pNext; fullScreenExclusive = src.fullScreenExclusive; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceFullScreenExclusiveInfoEXT& safe_VkSurfaceFullScreenExclusiveInfoEXT::operator=(const safe_VkSurfaceFullScreenExclusiveInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fullScreenExclusive = src.fullScreenExclusive; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceFullScreenExclusiveInfoEXT::~safe_VkSurfaceFullScreenExclusiveInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const VkSurfaceFullScreenExclusiveInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fullScreenExclusive = in_struct->fullScreenExclusive; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const safe_VkSurfaceFullScreenExclusiveInfoEXT* src) { sType = src->sType; - pNext = src->pNext; fullScreenExclusive = src->fullScreenExclusive; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -25159,49 +27778,54 @@ void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const safe_VkSurfaceFu safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const VkSurfaceCapabilitiesFullScreenExclusiveEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), fullScreenExclusiveSupported(in_struct->fullScreenExclusiveSupported) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT() +safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT() : + pNext(nullptr) {} safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& src) { sType = src.sType; - pNext = src.pNext; fullScreenExclusiveSupported = src.fullScreenExclusiveSupported; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::operator=(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; fullScreenExclusiveSupported = src.fullScreenExclusiveSupported; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::~safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const VkSurfaceCapabilitiesFullScreenExclusiveEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; fullScreenExclusiveSupported = in_struct->fullScreenExclusiveSupported; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT* src) { sType = src->sType; - pNext = src->pNext; fullScreenExclusiveSupported = src->fullScreenExclusiveSupported; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR @@ -25210,299 +27834,1851 @@ void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const safe_VkS safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const VkSurfaceFullScreenExclusiveWin32InfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), hmonitor(in_struct->hmonitor) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT() +safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT() : + pNext(nullptr) {} safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& src) { sType = src.sType; - pNext = src.pNext; hmonitor = src.hmonitor; + pNext = SafePnextCopy(src.pNext); } safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::operator=(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; hmonitor = src.hmonitor; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::~safe_VkSurfaceFullScreenExclusiveWin32InfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::initialize(const VkSurfaceFullScreenExclusiveWin32InfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; hmonitor = in_struct->hmonitor; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::initialize(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT* src) { sType = src->sType; - pNext = src->pNext; hmonitor = src->hmonitor; + pNext = SafePnextCopy(src->pNext); } #endif // VK_USE_PLATFORM_WIN32_KHR safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT(const VkHeadlessSurfaceCreateInfoEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), flags(in_struct->flags) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT() +safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT() : + pNext(nullptr) {} safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT(const safe_VkHeadlessSurfaceCreateInfoEXT& src) { sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); } safe_VkHeadlessSurfaceCreateInfoEXT& safe_VkHeadlessSurfaceCreateInfoEXT::operator=(const safe_VkHeadlessSurfaceCreateInfoEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; flags = src.flags; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkHeadlessSurfaceCreateInfoEXT::~safe_VkHeadlessSurfaceCreateInfoEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const VkHeadlessSurfaceCreateInfoEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const safe_VkHeadlessSurfaceCreateInfoEXT* src) { sType = src->sType; - pNext = src->pNext; flags = src->flags; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct) : + sType(in_struct->sType), + rectangularLines(in_struct->rectangularLines), + bresenhamLines(in_struct->bresenhamLines), + smoothLines(in_struct->smoothLines), + stippledRectangularLines(in_struct->stippledRectangularLines), + stippledBresenhamLines(in_struct->stippledBresenhamLines), + stippledSmoothLines(in_struct->stippledSmoothLines) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& src) +{ + sType = src.sType; + rectangularLines = src.rectangularLines; + bresenhamLines = src.bresenhamLines; + smoothLines = src.smoothLines; + stippledRectangularLines = src.stippledRectangularLines; + stippledBresenhamLines = src.stippledBresenhamLines; + stippledSmoothLines = src.stippledSmoothLines; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::operator=(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + rectangularLines = src.rectangularLines; + bresenhamLines = src.bresenhamLines; + smoothLines = src.smoothLines; + stippledRectangularLines = src.stippledRectangularLines; + stippledBresenhamLines = src.stippledBresenhamLines; + stippledSmoothLines = src.stippledSmoothLines; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::~safe_VkPhysicalDeviceLineRasterizationFeaturesEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct) +{ + sType = in_struct->sType; + rectangularLines = in_struct->rectangularLines; + bresenhamLines = in_struct->bresenhamLines; + smoothLines = in_struct->smoothLines; + stippledRectangularLines = in_struct->stippledRectangularLines; + stippledBresenhamLines = in_struct->stippledBresenhamLines; + stippledSmoothLines = in_struct->stippledSmoothLines; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT* src) +{ + sType = src->sType; + rectangularLines = src->rectangularLines; + bresenhamLines = src->bresenhamLines; + smoothLines = src->smoothLines; + stippledRectangularLines = src->stippledRectangularLines; + stippledBresenhamLines = src->stippledBresenhamLines; + stippledSmoothLines = src->stippledSmoothLines; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct) : + sType(in_struct->sType), + lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& src) +{ + sType = src.sType; + lineSubPixelPrecisionBits = src.lineSubPixelPrecisionBits; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::operator=(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + lineSubPixelPrecisionBits = src.lineSubPixelPrecisionBits; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::~safe_VkPhysicalDeviceLineRasterizationPropertiesEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct) +{ + sType = in_struct->sType; + lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT* src) +{ + sType = src->sType; + lineSubPixelPrecisionBits = src->lineSubPixelPrecisionBits; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct) : + sType(in_struct->sType), + lineRasterizationMode(in_struct->lineRasterizationMode), + stippledLineEnable(in_struct->stippledLineEnable), + lineStippleFactor(in_struct->lineStippleFactor), + lineStipplePattern(in_struct->lineStipplePattern) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT() : + pNext(nullptr) +{} + +safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& src) +{ + sType = src.sType; + lineRasterizationMode = src.lineRasterizationMode; + stippledLineEnable = src.stippledLineEnable; + lineStippleFactor = src.lineStippleFactor; + lineStipplePattern = src.lineStipplePattern; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfoEXT& safe_VkPipelineRasterizationLineStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + lineRasterizationMode = src.lineRasterizationMode; + stippledLineEnable = src.stippledLineEnable; + lineStippleFactor = src.lineStippleFactor; + lineStipplePattern = src.lineStipplePattern; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPipelineRasterizationLineStateCreateInfoEXT::~safe_VkPipelineRasterizationLineStateCreateInfoEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct) +{ + sType = in_struct->sType; + lineRasterizationMode = in_struct->lineRasterizationMode; + stippledLineEnable = in_struct->stippledLineEnable; + lineStippleFactor = in_struct->lineStippleFactor; + lineStipplePattern = in_struct->lineStipplePattern; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationLineStateCreateInfoEXT* src) +{ + sType = src->sType; + lineRasterizationMode = src->lineRasterizationMode; + stippledLineEnable = src->stippledLineEnable; + lineStippleFactor = src->lineStippleFactor; + lineStipplePattern = src->lineStipplePattern; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const VkPhysicalDeviceHostQueryResetFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), hostQueryReset(in_struct->hostQueryReset) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT() +safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; hostQueryReset = src.hostQueryReset; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::operator=(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; hostQueryReset = src.hostQueryReset; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::~safe_VkPhysicalDeviceHostQueryResetFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::initialize(const VkPhysicalDeviceHostQueryResetFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; hostQueryReset = in_struct->hostQueryReset; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::initialize(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; hostQueryReset = src->hostQueryReset; + pNext = SafePnextCopy(src->pNext); +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct) : + sType(in_struct->sType), + indexTypeUint8(in_struct->indexTypeUint8) +{ + pNext = SafePnextCopy(in_struct->pNext); +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT() : + pNext(nullptr) +{} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& src) +{ + sType = src.sType; + indexTypeUint8 = src.indexTypeUint8; + pNext = SafePnextCopy(src.pNext); +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::operator=(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& src) +{ + if (&src == this) return *this; + + if (pNext) + FreePnextChain(pNext); + + sType = src.sType; + indexTypeUint8 = src.indexTypeUint8; + pNext = SafePnextCopy(src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::~safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT() +{ + if (pNext) + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct) +{ + sType = in_struct->sType; + indexTypeUint8 = in_struct->indexTypeUint8; + pNext = SafePnextCopy(in_struct->pNext); +} + +void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT* src) +{ + sType = src->sType; + indexTypeUint8 = src->indexTypeUint8; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), shaderDemoteToHelperInvocation(in_struct->shaderDemoteToHelperInvocation) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT() +safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; shaderDemoteToHelperInvocation = src.shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::operator=(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; shaderDemoteToHelperInvocation = src.shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::initialize(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; shaderDemoteToHelperInvocation = in_struct->shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::initialize(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; shaderDemoteToHelperInvocation = src->shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), texelBufferAlignment(in_struct->texelBufferAlignment) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT() +safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& src) { sType = src.sType; - pNext = src.pNext; texelBufferAlignment = src.texelBufferAlignment; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::operator=(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; texelBufferAlignment = src.texelBufferAlignment; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::~safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::initialize(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; texelBufferAlignment = in_struct->texelBufferAlignment; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* src) { sType = src->sType; - pNext = src->pNext; texelBufferAlignment = src->texelBufferAlignment; + pNext = SafePnextCopy(src->pNext); } safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* in_struct) : sType(in_struct->sType), - pNext(in_struct->pNext), storageTexelBufferOffsetAlignmentBytes(in_struct->storageTexelBufferOffsetAlignmentBytes), storageTexelBufferOffsetSingleTexelAlignment(in_struct->storageTexelBufferOffsetSingleTexelAlignment), uniformTexelBufferOffsetAlignmentBytes(in_struct->uniformTexelBufferOffsetAlignmentBytes), uniformTexelBufferOffsetSingleTexelAlignment(in_struct->uniformTexelBufferOffsetSingleTexelAlignment) { + pNext = SafePnextCopy(in_struct->pNext); } -safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT() +safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT() : + pNext(nullptr) {} safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& src) { sType = src.sType; - pNext = src.pNext; storageTexelBufferOffsetAlignmentBytes = src.storageTexelBufferOffsetAlignmentBytes; storageTexelBufferOffsetSingleTexelAlignment = src.storageTexelBufferOffsetSingleTexelAlignment; uniformTexelBufferOffsetAlignmentBytes = src.uniformTexelBufferOffsetAlignmentBytes; uniformTexelBufferOffsetSingleTexelAlignment = src.uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(src.pNext); } safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::operator=(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& src) { if (&src == this) return *this; + if (pNext) + FreePnextChain(pNext); sType = src.sType; - pNext = src.pNext; storageTexelBufferOffsetAlignmentBytes = src.storageTexelBufferOffsetAlignmentBytes; storageTexelBufferOffsetSingleTexelAlignment = src.storageTexelBufferOffsetSingleTexelAlignment; uniformTexelBufferOffsetAlignmentBytes = src.uniformTexelBufferOffsetAlignmentBytes; uniformTexelBufferOffsetSingleTexelAlignment = src.uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(src.pNext); return *this; } safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::~safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT() { + if (pNext) + FreePnextChain(pNext); } void safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::initialize(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* in_struct) { sType = in_struct->sType; - pNext = in_struct->pNext; storageTexelBufferOffsetAlignmentBytes = in_struct->storageTexelBufferOffsetAlignmentBytes; storageTexelBufferOffsetSingleTexelAlignment = in_struct->storageTexelBufferOffsetSingleTexelAlignment; uniformTexelBufferOffsetAlignmentBytes = in_struct->uniformTexelBufferOffsetAlignmentBytes; uniformTexelBufferOffsetSingleTexelAlignment = in_struct->uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(in_struct->pNext); } void safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* src) { sType = src->sType; - pNext = src->pNext; storageTexelBufferOffsetAlignmentBytes = src->storageTexelBufferOffsetAlignmentBytes; storageTexelBufferOffsetSingleTexelAlignment = src->storageTexelBufferOffsetSingleTexelAlignment; uniformTexelBufferOffsetAlignmentBytes = src->uniformTexelBufferOffsetAlignmentBytes; uniformTexelBufferOffsetSingleTexelAlignment = src->uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(src->pNext); +} + +char *SafeStringCopy(const char *in_string) { + if (nullptr == in_string) return nullptr; + char* dest = new char[std::strlen(in_string) + 1]; + return std::strcpy(dest, in_string); +} + +void *SafePnextCopy(const void *pNext) { + if (!pNext) return nullptr; + + void *safe_pNext; + const VkBaseOutStructure *header = reinterpret_cast<const VkBaseOutStructure *>(pNext); + + switch (header->sType) { + // Special-case Loader Instance Struct passed to/from layer in pNext chain + case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: { + VkLayerInstanceCreateInfo *struct_copy = new VkLayerInstanceCreateInfo; + // TODO: Uses original VkLayerInstanceLink* chain, which should be okay for our uses + memcpy(struct_copy, pNext, sizeof(VkLayerInstanceCreateInfo)); + struct_copy->pNext = SafePnextCopy(header->pNext); + safe_pNext = struct_copy; + break; + } + // Special-case Loader Device Struct passed to/from layer in pNext chain + case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: { + VkLayerDeviceCreateInfo *struct_copy = new VkLayerDeviceCreateInfo; + // TODO: Uses original VkLayerDeviceLink*, which should be okay for our uses + memcpy(struct_copy, pNext, sizeof(VkLayerDeviceCreateInfo)); + struct_copy->pNext = SafePnextCopy(header->pNext); + safe_pNext = struct_copy; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceSubgroupProperties(reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: + safe_pNext = new safe_VkPhysicalDevice16BitStorageFeatures(reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>(pNext)); + break; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: + safe_pNext = new safe_VkMemoryDedicatedRequirements(reinterpret_cast<const VkMemoryDedicatedRequirements *>(pNext)); + break; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: + safe_pNext = new safe_VkMemoryDedicatedAllocateInfo(reinterpret_cast<const VkMemoryDedicatedAllocateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: + safe_pNext = new safe_VkMemoryAllocateFlagsInfo(reinterpret_cast<const VkMemoryAllocateFlagsInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: + safe_pNext = new safe_VkDeviceGroupRenderPassBeginInfo(reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: + safe_pNext = new safe_VkDeviceGroupCommandBufferBeginInfo(reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: + safe_pNext = new safe_VkDeviceGroupSubmitInfo(reinterpret_cast<const VkDeviceGroupSubmitInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: + safe_pNext = new safe_VkDeviceGroupBindSparseInfo(reinterpret_cast<const VkDeviceGroupBindSparseInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: + safe_pNext = new safe_VkBindBufferMemoryDeviceGroupInfo(reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: + safe_pNext = new safe_VkBindImageMemoryDeviceGroupInfo(reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: + safe_pNext = new safe_VkDeviceGroupDeviceCreateInfo(reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: + safe_pNext = new safe_VkPhysicalDeviceFeatures2(reinterpret_cast<const VkPhysicalDeviceFeatures2 *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: + safe_pNext = new safe_VkPhysicalDevicePointClippingProperties(reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: + safe_pNext = new safe_VkRenderPassInputAttachmentAspectCreateInfo(reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: + safe_pNext = new safe_VkImageViewUsageCreateInfo(reinterpret_cast<const VkImageViewUsageCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: + safe_pNext = new safe_VkPipelineTessellationDomainOriginStateCreateInfo(reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: + safe_pNext = new safe_VkRenderPassMultiviewCreateInfo(reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceMultiviewFeatures(reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceMultiviewProperties(reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceVariablePointersFeatures(reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceProtectedMemoryFeatures(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceProtectedMemoryProperties(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: + safe_pNext = new safe_VkProtectedSubmitInfo(reinterpret_cast<const VkProtectedSubmitInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: + safe_pNext = new safe_VkSamplerYcbcrConversionInfo(reinterpret_cast<const VkSamplerYcbcrConversionInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: + safe_pNext = new safe_VkBindImagePlaneMemoryInfo(reinterpret_cast<const VkBindImagePlaneMemoryInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: + safe_pNext = new safe_VkImagePlaneMemoryRequirementsInfo(reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: + safe_pNext = new safe_VkSamplerYcbcrConversionImageFormatProperties(reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: + safe_pNext = new safe_VkPhysicalDeviceExternalImageFormatInfo(reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: + safe_pNext = new safe_VkExternalImageFormatProperties(reinterpret_cast<const VkExternalImageFormatProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceIDProperties(reinterpret_cast<const VkPhysicalDeviceIDProperties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: + safe_pNext = new safe_VkExternalMemoryImageCreateInfo(reinterpret_cast<const VkExternalMemoryImageCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: + safe_pNext = new safe_VkExternalMemoryBufferCreateInfo(reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: + safe_pNext = new safe_VkExportMemoryAllocateInfo(reinterpret_cast<const VkExportMemoryAllocateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: + safe_pNext = new safe_VkExportFenceCreateInfo(reinterpret_cast<const VkExportFenceCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: + safe_pNext = new safe_VkExportSemaphoreCreateInfo(reinterpret_cast<const VkExportSemaphoreCreateInfo *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance3Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceShaderDrawParametersFeatures(reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: + safe_pNext = new safe_VkImageSwapchainCreateInfoKHR(reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: + safe_pNext = new safe_VkBindImageMemorySwapchainInfoKHR(reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: + safe_pNext = new safe_VkDeviceGroupPresentInfoKHR(reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: + safe_pNext = new safe_VkDeviceGroupSwapchainCreateInfoKHR(reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: + safe_pNext = new safe_VkDisplayPresentInfoKHR(reinterpret_cast<const VkDisplayPresentInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: + safe_pNext = new safe_VkImportMemoryFdInfoKHR(reinterpret_cast<const VkImportMemoryFdInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDevicePushDescriptorPropertiesKHR(reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: + safe_pNext = new safe_VkPresentRegionsKHR(reinterpret_cast<const VkPresentRegionsKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR: + safe_pNext = new safe_VkFramebufferAttachmentsCreateInfoKHR(reinterpret_cast<const VkFramebufferAttachmentsCreateInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR: + safe_pNext = new safe_VkRenderPassAttachmentBeginInfoKHR(reinterpret_cast<const VkRenderPassAttachmentBeginInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: + safe_pNext = new safe_VkSharedPresentSurfaceCapabilitiesKHR(reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: + safe_pNext = new safe_VkImageFormatListCreateInfoKHR(reinterpret_cast<const VkImageFormatListCreateInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDevice8BitStorageFeaturesKHR(reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceDriverPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceDriverPropertiesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceFloatControlsPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceFloatControlsPropertiesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: + safe_pNext = new safe_VkSubpassDescriptionDepthStencilResolveKHR(reinterpret_cast<const VkSubpassDescriptionDepthStencilResolveKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(reinterpret_cast<const VkPhysicalDeviceDepthStencilResolvePropertiesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: + safe_pNext = new safe_VkSurfaceProtectedCapabilitiesKHR(reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: + safe_pNext = new safe_VkDebugReportCallbackCreateInfoEXT(reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: + safe_pNext = new safe_VkPipelineRasterizationStateRasterizationOrderAMD(reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: + safe_pNext = new safe_VkDedicatedAllocationImageCreateInfoNV(reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: + safe_pNext = new safe_VkDedicatedAllocationBufferCreateInfoNV(reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: + safe_pNext = new safe_VkDedicatedAllocationMemoryAllocateInfoNV(reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineRasterizationStateStreamCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: + safe_pNext = new safe_VkTextureLODGatherFormatPropertiesAMD(reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: + safe_pNext = new safe_VkExternalMemoryImageCreateInfoNV(reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: + safe_pNext = new safe_VkExportMemoryAllocateInfoNV(reinterpret_cast<const VkExportMemoryAllocateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: + safe_pNext = new safe_VkValidationFlagsEXT(reinterpret_cast<const VkValidationFlagsEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: + safe_pNext = new safe_VkImageViewASTCDecodeModeEXT(reinterpret_cast<const VkImageViewASTCDecodeModeEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: + safe_pNext = new safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineViewportWScalingStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: + safe_pNext = new safe_VkSwapchainCounterCreateInfoEXT(reinterpret_cast<const VkSwapchainCounterCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: + safe_pNext = new safe_VkPresentTimesInfoGOOGLE(reinterpret_cast<const VkPresentTimesInfoGOOGLE *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: + safe_pNext = new safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineViewportSwizzleStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineDiscardRectangleStateCreateInfoEXT(reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: + safe_pNext = new safe_VkDebugUtilsMessengerCreateInfoEXT(reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: + safe_pNext = new safe_VkSamplerReductionModeCreateInfoEXT(reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: + safe_pNext = new safe_VkWriteDescriptorSetInlineUniformBlockEXT(reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: + safe_pNext = new safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: + safe_pNext = new safe_VkSampleLocationsInfoEXT(reinterpret_cast<const VkSampleLocationsInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: + safe_pNext = new safe_VkRenderPassSampleLocationsBeginInfoEXT(reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineSampleLocationsStateCreateInfoEXT(reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineCoverageToColorStateCreateInfoNV(reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineCoverageModulationStateCreateInfoNV(reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: + safe_pNext = new safe_VkDrmFormatModifierPropertiesListEXT(reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: + safe_pNext = new safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: + safe_pNext = new safe_VkImageDrmFormatModifierListCreateInfoEXT(reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: + safe_pNext = new safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: + safe_pNext = new safe_VkShaderModuleValidationCacheCreateInfoEXT(reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: + safe_pNext = new safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: + safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: + safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceShadingRateImageFeaturesNV(reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceShadingRateImagePropertiesNV(reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: + safe_pNext = new safe_VkWriteDescriptorSetAccelerationStructureNV(reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceRayTracingPropertiesNV(reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: + safe_pNext = new safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: + safe_pNext = new safe_VkFilterCubicImageViewImageFormatPropertiesEXT(reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: + safe_pNext = new safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: + safe_pNext = new safe_VkImportMemoryHostPointerInfoEXT(reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: + safe_pNext = new safe_VkPipelineCompilerControlCreateInfoAMD(reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: + safe_pNext = new safe_VkPhysicalDeviceShaderCorePropertiesAMD(reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: + safe_pNext = new safe_VkDeviceMemoryOverallocationCreateInfoAMD(reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineCreationFeedbackCreateInfoEXT(reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceMeshShaderFeaturesNV(reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceMeshShaderPropertiesNV(reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: + safe_pNext = new safe_VkQueueFamilyCheckpointPropertiesNV(reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: + safe_pNext = new safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: + safe_pNext = new safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: + safe_pNext = new safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: + safe_pNext = new safe_VkRenderPassFragmentDensityMapCreateInfoEXT(reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: + safe_pNext = new safe_VkPhysicalDeviceShaderCoreProperties2AMD(reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: + safe_pNext = new safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: + safe_pNext = new safe_VkMemoryPriorityAllocateInfoEXT(reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: + safe_pNext = new safe_VkBufferDeviceAddressCreateInfoEXT(reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: + safe_pNext = new safe_VkImageStencilUsageCreateInfoEXT(reinterpret_cast<const VkImageStencilUsageCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: + safe_pNext = new safe_VkValidationFeaturesEXT(reinterpret_cast<const VkValidationFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: + safe_pNext = new safe_VkPipelineCoverageReductionStateCreateInfoNV(reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: + safe_pNext = new safe_VkPipelineRasterizationLineStateCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(pNext)); + break; +#ifdef VK_USE_PLATFORM_ANDROID_KHR + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: + safe_pNext = new safe_VkAndroidHardwareBufferUsageANDROID(reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>(pNext)); + break; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: + safe_pNext = new safe_VkAndroidHardwareBufferFormatPropertiesANDROID(reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: + safe_pNext = new safe_VkImportAndroidHardwareBufferInfoANDROID(reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: + safe_pNext = new safe_VkExternalFormatANDROID(reinterpret_cast<const VkExternalFormatANDROID *>(pNext)); + break; +#endif // VK_USE_PLATFORM_ANDROID_KHR +#ifdef VK_USE_PLATFORM_GGP + case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: + safe_pNext = new safe_VkPresentFrameTokenGGP(reinterpret_cast<const VkPresentFrameTokenGGP *>(pNext)); + break; +#endif // VK_USE_PLATFORM_GGP +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: + safe_pNext = new safe_VkImportMemoryWin32HandleInfoKHR(reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: + safe_pNext = new safe_VkExportMemoryWin32HandleInfoKHR(reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: + safe_pNext = new safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: + safe_pNext = new safe_VkExportSemaphoreWin32HandleInfoKHR(reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: + safe_pNext = new safe_VkD3D12FenceSubmitInfoKHR(reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: + safe_pNext = new safe_VkExportFenceWin32HandleInfoKHR(reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>(pNext)); + break; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: + safe_pNext = new safe_VkImportMemoryWin32HandleInfoNV(reinterpret_cast<const VkImportMemoryWin32HandleInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: + safe_pNext = new safe_VkExportMemoryWin32HandleInfoNV(reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: + safe_pNext = new safe_VkWin32KeyedMutexAcquireReleaseInfoNV(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: + safe_pNext = new safe_VkSurfaceFullScreenExclusiveInfoEXT(reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: + safe_pNext = new safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(pNext)); + break; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: + safe_pNext = new safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT *>(pNext)); + break; +#endif // VK_USE_PLATFORM_WIN32_KHR + default: // Encountered an unknown sType -- skip (do not copy) this entry in the chain + safe_pNext = SafePnextCopy(header->pNext); + break; + } + + return safe_pNext; +} + +void FreePnextChain(const void *pNext) { + if (!pNext) return; + + auto header = reinterpret_cast<const VkBaseOutStructure *>(pNext); + + switch (header->sType) { + // Special-case Loader Instance Struct passed to/from layer in pNext chain + case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: + FreePnextChain(header->pNext); + delete reinterpret_cast<const VkLayerInstanceCreateInfo *>(pNext); + break; + // Special-case Loader Device Struct passed to/from layer in pNext chain + case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: + FreePnextChain(header->pNext); + delete reinterpret_cast<const VkLayerDeviceCreateInfo *>(pNext); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: + delete reinterpret_cast<const safe_VkPhysicalDeviceSubgroupProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: + delete reinterpret_cast<const safe_VkPhysicalDevice16BitStorageFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: + delete reinterpret_cast<const safe_VkMemoryDedicatedRequirements *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: + delete reinterpret_cast<const safe_VkMemoryDedicatedAllocateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: + delete reinterpret_cast<const safe_VkMemoryAllocateFlagsInfo *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: + delete reinterpret_cast<const safe_VkDeviceGroupRenderPassBeginInfo *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: + delete reinterpret_cast<const safe_VkDeviceGroupCommandBufferBeginInfo *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: + delete reinterpret_cast<const safe_VkDeviceGroupSubmitInfo *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: + delete reinterpret_cast<const safe_VkDeviceGroupBindSparseInfo *>(header); + break; + case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: + delete reinterpret_cast<const safe_VkBindBufferMemoryDeviceGroupInfo *>(header); + break; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: + delete reinterpret_cast<const safe_VkBindImageMemoryDeviceGroupInfo *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: + delete reinterpret_cast<const safe_VkDeviceGroupDeviceCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: + delete reinterpret_cast<const safe_VkPhysicalDeviceFeatures2 *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: + delete reinterpret_cast<const safe_VkPhysicalDevicePointClippingProperties *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: + delete reinterpret_cast<const safe_VkRenderPassInputAttachmentAspectCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: + delete reinterpret_cast<const safe_VkImageViewUsageCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: + delete reinterpret_cast<const safe_VkPipelineTessellationDomainOriginStateCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: + delete reinterpret_cast<const safe_VkRenderPassMultiviewCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: + delete reinterpret_cast<const safe_VkPhysicalDeviceMultiviewFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: + delete reinterpret_cast<const safe_VkPhysicalDeviceMultiviewProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: + delete reinterpret_cast<const safe_VkPhysicalDeviceVariablePointersFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: + delete reinterpret_cast<const safe_VkPhysicalDeviceProtectedMemoryFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: + delete reinterpret_cast<const safe_VkPhysicalDeviceProtectedMemoryProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: + delete reinterpret_cast<const safe_VkProtectedSubmitInfo *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: + delete reinterpret_cast<const safe_VkSamplerYcbcrConversionInfo *>(header); + break; + case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: + delete reinterpret_cast<const safe_VkBindImagePlaneMemoryInfo *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: + delete reinterpret_cast<const safe_VkImagePlaneMemoryRequirementsInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: + delete reinterpret_cast<const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: + delete reinterpret_cast<const safe_VkSamplerYcbcrConversionImageFormatProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: + delete reinterpret_cast<const safe_VkPhysicalDeviceExternalImageFormatInfo *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: + delete reinterpret_cast<const safe_VkExternalImageFormatProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: + delete reinterpret_cast<const safe_VkPhysicalDeviceIDProperties *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: + delete reinterpret_cast<const safe_VkExternalMemoryImageCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: + delete reinterpret_cast<const safe_VkExternalMemoryBufferCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: + delete reinterpret_cast<const safe_VkExportMemoryAllocateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: + delete reinterpret_cast<const safe_VkExportFenceCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: + delete reinterpret_cast<const safe_VkExportSemaphoreCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: + delete reinterpret_cast<const safe_VkPhysicalDeviceMaintenance3Properties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderDrawParametersFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: + delete reinterpret_cast<const safe_VkImageSwapchainCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: + delete reinterpret_cast<const safe_VkBindImageMemorySwapchainInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: + delete reinterpret_cast<const safe_VkDeviceGroupPresentInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: + delete reinterpret_cast<const safe_VkDeviceGroupSwapchainCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: + delete reinterpret_cast<const safe_VkDisplayPresentInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: + delete reinterpret_cast<const safe_VkImportMemoryFdInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDevicePushDescriptorPropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: + delete reinterpret_cast<const safe_VkPresentRegionsKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR: + delete reinterpret_cast<const safe_VkFramebufferAttachmentsCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR: + delete reinterpret_cast<const safe_VkRenderPassAttachmentBeginInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: + delete reinterpret_cast<const safe_VkSharedPresentSurfaceCapabilitiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: + delete reinterpret_cast<const safe_VkImageFormatListCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDevice8BitStorageFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceDriverPropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceFloatControlsPropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: + delete reinterpret_cast<const safe_VkSubpassDescriptionDepthStencilResolveKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: + delete reinterpret_cast<const safe_VkSurfaceProtectedCapabilitiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: + delete reinterpret_cast<const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkDebugReportCallbackCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: + delete reinterpret_cast<const safe_VkPipelineRasterizationStateRasterizationOrderAMD *>(header); + break; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkDedicatedAllocationImageCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkDedicatedAllocationBufferCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: + delete reinterpret_cast<const safe_VkDedicatedAllocationMemoryAllocateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineRasterizationStateStreamCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: + delete reinterpret_cast<const safe_VkTextureLODGatherFormatPropertiesAMD *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkExternalMemoryImageCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: + delete reinterpret_cast<const safe_VkExportMemoryAllocateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: + delete reinterpret_cast<const safe_VkValidationFlagsEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: + delete reinterpret_cast<const safe_VkImageViewASTCDecodeModeEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: + delete reinterpret_cast<const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineViewportWScalingStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkSwapchainCounterCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: + delete reinterpret_cast<const safe_VkPresentTimesInfoGOOGLE *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: + delete reinterpret_cast<const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineViewportSwizzleStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineDiscardRectangleStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkDebugUtilsMessengerCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkSamplerReductionModeCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: + delete reinterpret_cast<const safe_VkWriteDescriptorSetInlineUniformBlockEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: + delete reinterpret_cast<const safe_VkSampleLocationsInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: + delete reinterpret_cast<const safe_VkRenderPassSampleLocationsBeginInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineSampleLocationsStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineCoverageToColorStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineCoverageModulationStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: + delete reinterpret_cast<const safe_VkDrmFormatModifierPropertiesListEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkImageDrmFormatModifierListCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkShaderModuleValidationCacheCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: + delete reinterpret_cast<const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: + delete reinterpret_cast<const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceShadingRateImageFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceShadingRateImagePropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: + delete reinterpret_cast<const safe_VkWriteDescriptorSetAccelerationStructureNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceRayTracingPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkFilterCubicImageViewImageFormatPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: + delete reinterpret_cast<const safe_VkImportMemoryHostPointerInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: + delete reinterpret_cast<const safe_VkPipelineCompilerControlCreateInfoAMD *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderCorePropertiesAMD *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: + delete reinterpret_cast<const safe_VkDeviceMemoryOverallocationCreateInfoAMD *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineCreationFeedbackCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceMeshShaderFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceMeshShaderPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: + delete reinterpret_cast<const safe_VkQueueFamilyCheckpointPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: + delete reinterpret_cast<const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: + delete reinterpret_cast<const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkRenderPassFragmentDensityMapCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderCoreProperties2AMD *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: + delete reinterpret_cast<const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: + delete reinterpret_cast<const safe_VkMemoryPriorityAllocateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkBufferDeviceAddressCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkImageStencilUsageCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: + delete reinterpret_cast<const safe_VkValidationFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: + delete reinterpret_cast<const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: + delete reinterpret_cast<const safe_VkPipelineCoverageReductionStateCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: + delete reinterpret_cast<const safe_VkPipelineRasterizationLineStateCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: + delete reinterpret_cast<const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(header); + break; +#ifdef VK_USE_PLATFORM_ANDROID_KHR + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: + delete reinterpret_cast<const safe_VkAndroidHardwareBufferUsageANDROID *>(header); + break; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: + delete reinterpret_cast<const safe_VkAndroidHardwareBufferFormatPropertiesANDROID *>(header); + break; + case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: + delete reinterpret_cast<const safe_VkImportAndroidHardwareBufferInfoANDROID *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: + delete reinterpret_cast<const safe_VkExternalFormatANDROID *>(header); + break; +#endif // VK_USE_PLATFORM_ANDROID_KHR +#ifdef VK_USE_PLATFORM_GGP + case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: + delete reinterpret_cast<const safe_VkPresentFrameTokenGGP *>(header); + break; +#endif // VK_USE_PLATFORM_GGP +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: + delete reinterpret_cast<const safe_VkImportMemoryWin32HandleInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: + delete reinterpret_cast<const safe_VkExportMemoryWin32HandleInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: + delete reinterpret_cast<const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: + delete reinterpret_cast<const safe_VkExportSemaphoreWin32HandleInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: + delete reinterpret_cast<const safe_VkD3D12FenceSubmitInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: + delete reinterpret_cast<const safe_VkExportFenceWin32HandleInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: + delete reinterpret_cast<const safe_VkImportMemoryWin32HandleInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: + delete reinterpret_cast<const safe_VkExportMemoryWin32HandleInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: + delete reinterpret_cast<const safe_VkWin32KeyedMutexAcquireReleaseInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: + delete reinterpret_cast<const safe_VkSurfaceFullScreenExclusiveInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: + delete reinterpret_cast<const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: + delete reinterpret_cast<const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT *>(header); + break; +#endif // VK_USE_PLATFORM_WIN32_KHR + default: // Encountered an unknown sType -- panic, there should be none such in safe chain + assert(false); + FreePnextChain(header->pNext); + break; + } } |