xref: /aosp_15_r20/external/vulkan-validation-layers/layers/generated/vk_safe_struct.cpp (revision b7893ccf7851cd6a48cc5a1e965257d8a5cdcc70)
1 // *** THIS FILE IS GENERATED - DO NOT EDIT ***
2 // See helper_file_generator.py for modifications
3 
4 
5 /***************************************************************************
6  *
7  * Copyright (c) 2015-2019 The Khronos Group Inc.
8  * Copyright (c) 2015-2019 Valve Corporation
9  * Copyright (c) 2015-2019 LunarG, Inc.
10  * Copyright (c) 2015-2019 Google Inc.
11  *
12  * Licensed under the Apache License, Version 2.0 (the "License");
13  * you may not use this file except in compliance with the License.
14  * You may obtain a copy of the License at
15  *
16  *     http://www.apache.org/licenses/LICENSE-2.0
17  *
18  * Unless required by applicable law or agreed to in writing, software
19  * distributed under the License is distributed on an "AS IS" BASIS,
20  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  * See the License for the specific language governing permissions and
22  * limitations under the License.
23  *
24  * Author: Mark Lobodzinski <[email protected]>
25  * Author: Courtney Goeltzenleuchter <[email protected]>
26  * Author: Tobin Ehlis <[email protected]>
27  * Author: Chris Forbes <[email protected]>
28  * Author: John Zulauf<[email protected]>
29  *
30  ****************************************************************************/
31 
32 
33 #include "vk_safe_struct.h"
34 
35 #include <string.h>
36 #include <cassert>
37 #include <cstring>
38 
39 #include <vulkan/vk_layer.h>
40 
41 
safe_VkApplicationInfo(const VkApplicationInfo * in_struct)42 safe_VkApplicationInfo::safe_VkApplicationInfo(const VkApplicationInfo* in_struct) :
43     sType(in_struct->sType),
44     applicationVersion(in_struct->applicationVersion),
45     engineVersion(in_struct->engineVersion),
46     apiVersion(in_struct->apiVersion)
47 {
48     pNext = SafePnextCopy(in_struct->pNext);
49     pApplicationName = SafeStringCopy(in_struct->pApplicationName);
50     pEngineName = SafeStringCopy(in_struct->pEngineName);
51 }
52 
safe_VkApplicationInfo()53 safe_VkApplicationInfo::safe_VkApplicationInfo() :
54     pNext(nullptr),
55     pApplicationName(nullptr),
56     pEngineName(nullptr)
57 {}
58 
safe_VkApplicationInfo(const safe_VkApplicationInfo & src)59 safe_VkApplicationInfo::safe_VkApplicationInfo(const safe_VkApplicationInfo& src)
60 {
61     sType = src.sType;
62     applicationVersion = src.applicationVersion;
63     engineVersion = src.engineVersion;
64     apiVersion = src.apiVersion;
65     pNext = SafePnextCopy(src.pNext);
66     pApplicationName = SafeStringCopy(src.pApplicationName);
67     pEngineName = SafeStringCopy(src.pEngineName);
68 }
69 
operator =(const safe_VkApplicationInfo & src)70 safe_VkApplicationInfo& safe_VkApplicationInfo::operator=(const safe_VkApplicationInfo& src)
71 {
72     if (&src == this) return *this;
73 
74     if (pApplicationName) delete [] pApplicationName;
75     if (pEngineName) delete [] pEngineName;
76     if (pNext)
77         FreePnextChain(pNext);
78 
79     sType = src.sType;
80     applicationVersion = src.applicationVersion;
81     engineVersion = src.engineVersion;
82     apiVersion = src.apiVersion;
83     pNext = SafePnextCopy(src.pNext);
84     pApplicationName = SafeStringCopy(src.pApplicationName);
85     pEngineName = SafeStringCopy(src.pEngineName);
86 
87     return *this;
88 }
89 
~safe_VkApplicationInfo()90 safe_VkApplicationInfo::~safe_VkApplicationInfo()
91 {
92     if (pApplicationName) delete [] pApplicationName;
93     if (pEngineName) delete [] pEngineName;
94     if (pNext)
95         FreePnextChain(pNext);
96 }
97 
initialize(const VkApplicationInfo * in_struct)98 void safe_VkApplicationInfo::initialize(const VkApplicationInfo* in_struct)
99 {
100     sType = in_struct->sType;
101     applicationVersion = in_struct->applicationVersion;
102     engineVersion = in_struct->engineVersion;
103     apiVersion = in_struct->apiVersion;
104     pNext = SafePnextCopy(in_struct->pNext);
105     pApplicationName = SafeStringCopy(in_struct->pApplicationName);
106     pEngineName = SafeStringCopy(in_struct->pEngineName);
107 }
108 
initialize(const safe_VkApplicationInfo * src)109 void safe_VkApplicationInfo::initialize(const safe_VkApplicationInfo* src)
110 {
111     sType = src->sType;
112     applicationVersion = src->applicationVersion;
113     engineVersion = src->engineVersion;
114     apiVersion = src->apiVersion;
115     pNext = SafePnextCopy(src->pNext);
116     pApplicationName = SafeStringCopy(src->pApplicationName);
117     pEngineName = SafeStringCopy(src->pEngineName);
118 }
119 
safe_VkInstanceCreateInfo(const VkInstanceCreateInfo * in_struct)120 safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo(const VkInstanceCreateInfo* in_struct) :
121     sType(in_struct->sType),
122     flags(in_struct->flags),
123     pApplicationInfo(nullptr),
124     enabledLayerCount(in_struct->enabledLayerCount),
125     enabledExtensionCount(in_struct->enabledExtensionCount)
126 {
127     pNext = SafePnextCopy(in_struct->pNext);
128     char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount];
129     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
130         tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]);
131     }
132     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
133     char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount];
134     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
135         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]);
136     }
137     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
138     if (in_struct->pApplicationInfo)
139         pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo);
140 }
141 
safe_VkInstanceCreateInfo()142 safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo() :
143     pNext(nullptr),
144     pApplicationInfo(nullptr),
145     ppEnabledLayerNames(nullptr),
146     ppEnabledExtensionNames(nullptr)
147 {}
148 
safe_VkInstanceCreateInfo(const safe_VkInstanceCreateInfo & src)149 safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo(const safe_VkInstanceCreateInfo& src)
150 {
151     sType = src.sType;
152     flags = src.flags;
153     pApplicationInfo = nullptr;
154     enabledLayerCount = src.enabledLayerCount;
155     enabledExtensionCount = src.enabledExtensionCount;
156     pNext = SafePnextCopy(src.pNext);
157     char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount];
158     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
159         tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]);
160     }
161     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
162     char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount];
163     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
164         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]);
165     }
166     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
167     if (src.pApplicationInfo)
168         pApplicationInfo = new safe_VkApplicationInfo(*src.pApplicationInfo);
169 }
170 
operator =(const safe_VkInstanceCreateInfo & src)171 safe_VkInstanceCreateInfo& safe_VkInstanceCreateInfo::operator=(const safe_VkInstanceCreateInfo& src)
172 {
173     if (&src == this) return *this;
174 
175     if (pApplicationInfo)
176         delete pApplicationInfo;
177     if (ppEnabledLayerNames) {
178         for (uint32_t i = 0; i < enabledLayerCount; ++i) {
179             delete [] ppEnabledLayerNames[i];
180         }
181         delete [] ppEnabledLayerNames;
182     }
183     if (ppEnabledExtensionNames) {
184         for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
185             delete [] ppEnabledExtensionNames[i];
186         }
187         delete [] ppEnabledExtensionNames;
188     }
189     if (pNext)
190         FreePnextChain(pNext);
191 
192     sType = src.sType;
193     flags = src.flags;
194     pApplicationInfo = nullptr;
195     enabledLayerCount = src.enabledLayerCount;
196     enabledExtensionCount = src.enabledExtensionCount;
197     pNext = SafePnextCopy(src.pNext);
198     char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount];
199     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
200         tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]);
201     }
202     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
203     char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount];
204     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
205         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]);
206     }
207     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
208     if (src.pApplicationInfo)
209         pApplicationInfo = new safe_VkApplicationInfo(*src.pApplicationInfo);
210 
211     return *this;
212 }
213 
~safe_VkInstanceCreateInfo()214 safe_VkInstanceCreateInfo::~safe_VkInstanceCreateInfo()
215 {
216     if (pApplicationInfo)
217         delete pApplicationInfo;
218     if (ppEnabledLayerNames) {
219         for (uint32_t i = 0; i < enabledLayerCount; ++i) {
220             delete [] ppEnabledLayerNames[i];
221         }
222         delete [] ppEnabledLayerNames;
223     }
224     if (ppEnabledExtensionNames) {
225         for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
226             delete [] ppEnabledExtensionNames[i];
227         }
228         delete [] ppEnabledExtensionNames;
229     }
230     if (pNext)
231         FreePnextChain(pNext);
232 }
233 
initialize(const VkInstanceCreateInfo * in_struct)234 void safe_VkInstanceCreateInfo::initialize(const VkInstanceCreateInfo* in_struct)
235 {
236     sType = in_struct->sType;
237     flags = in_struct->flags;
238     pApplicationInfo = nullptr;
239     enabledLayerCount = in_struct->enabledLayerCount;
240     enabledExtensionCount = in_struct->enabledExtensionCount;
241     pNext = SafePnextCopy(in_struct->pNext);
242     char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount];
243     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
244         tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]);
245     }
246     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
247     char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount];
248     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
249         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]);
250     }
251     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
252     if (in_struct->pApplicationInfo)
253         pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo);
254 }
255 
initialize(const safe_VkInstanceCreateInfo * src)256 void safe_VkInstanceCreateInfo::initialize(const safe_VkInstanceCreateInfo* src)
257 {
258     sType = src->sType;
259     flags = src->flags;
260     pApplicationInfo = nullptr;
261     enabledLayerCount = src->enabledLayerCount;
262     enabledExtensionCount = src->enabledExtensionCount;
263     pNext = SafePnextCopy(src->pNext);
264     char **tmp_ppEnabledLayerNames = new char *[src->enabledLayerCount];
265     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
266         tmp_ppEnabledLayerNames[i] = SafeStringCopy(src->ppEnabledLayerNames[i]);
267     }
268     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
269     char **tmp_ppEnabledExtensionNames = new char *[src->enabledExtensionCount];
270     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
271         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src->ppEnabledExtensionNames[i]);
272     }
273     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
274     if (src->pApplicationInfo)
275         pApplicationInfo = new safe_VkApplicationInfo(*src->pApplicationInfo);
276 }
277 
safe_VkAllocationCallbacks(const VkAllocationCallbacks * in_struct)278 safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const VkAllocationCallbacks* in_struct) :
279     pUserData(in_struct->pUserData),
280     pfnAllocation(in_struct->pfnAllocation),
281     pfnReallocation(in_struct->pfnReallocation),
282     pfnFree(in_struct->pfnFree),
283     pfnInternalAllocation(in_struct->pfnInternalAllocation),
284     pfnInternalFree(in_struct->pfnInternalFree)
285 {
286 }
287 
safe_VkAllocationCallbacks()288 safe_VkAllocationCallbacks::safe_VkAllocationCallbacks() :
289     pUserData(nullptr)
290 {}
291 
safe_VkAllocationCallbacks(const safe_VkAllocationCallbacks & src)292 safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const safe_VkAllocationCallbacks& src)
293 {
294     pUserData = src.pUserData;
295     pfnAllocation = src.pfnAllocation;
296     pfnReallocation = src.pfnReallocation;
297     pfnFree = src.pfnFree;
298     pfnInternalAllocation = src.pfnInternalAllocation;
299     pfnInternalFree = src.pfnInternalFree;
300 }
301 
operator =(const safe_VkAllocationCallbacks & src)302 safe_VkAllocationCallbacks& safe_VkAllocationCallbacks::operator=(const safe_VkAllocationCallbacks& src)
303 {
304     if (&src == this) return *this;
305 
306 
307     pUserData = src.pUserData;
308     pfnAllocation = src.pfnAllocation;
309     pfnReallocation = src.pfnReallocation;
310     pfnFree = src.pfnFree;
311     pfnInternalAllocation = src.pfnInternalAllocation;
312     pfnInternalFree = src.pfnInternalFree;
313 
314     return *this;
315 }
316 
~safe_VkAllocationCallbacks()317 safe_VkAllocationCallbacks::~safe_VkAllocationCallbacks()
318 {
319 }
320 
initialize(const VkAllocationCallbacks * in_struct)321 void safe_VkAllocationCallbacks::initialize(const VkAllocationCallbacks* in_struct)
322 {
323     pUserData = in_struct->pUserData;
324     pfnAllocation = in_struct->pfnAllocation;
325     pfnReallocation = in_struct->pfnReallocation;
326     pfnFree = in_struct->pfnFree;
327     pfnInternalAllocation = in_struct->pfnInternalAllocation;
328     pfnInternalFree = in_struct->pfnInternalFree;
329 }
330 
initialize(const safe_VkAllocationCallbacks * src)331 void safe_VkAllocationCallbacks::initialize(const safe_VkAllocationCallbacks* src)
332 {
333     pUserData = src->pUserData;
334     pfnAllocation = src->pfnAllocation;
335     pfnReallocation = src->pfnReallocation;
336     pfnFree = src->pfnFree;
337     pfnInternalAllocation = src->pfnInternalAllocation;
338     pfnInternalFree = src->pfnInternalFree;
339 }
340 
safe_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo * in_struct)341 safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo* in_struct) :
342     sType(in_struct->sType),
343     flags(in_struct->flags),
344     queueFamilyIndex(in_struct->queueFamilyIndex),
345     queueCount(in_struct->queueCount),
346     pQueuePriorities(nullptr)
347 {
348     pNext = SafePnextCopy(in_struct->pNext);
349     if (in_struct->pQueuePriorities) {
350         pQueuePriorities = new float[in_struct->queueCount];
351         memcpy ((void *)pQueuePriorities, (void *)in_struct->pQueuePriorities, sizeof(float)*in_struct->queueCount);
352     }
353 }
354 
safe_VkDeviceQueueCreateInfo()355 safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo() :
356     pNext(nullptr),
357     pQueuePriorities(nullptr)
358 {}
359 
safe_VkDeviceQueueCreateInfo(const safe_VkDeviceQueueCreateInfo & src)360 safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const safe_VkDeviceQueueCreateInfo& src)
361 {
362     sType = src.sType;
363     flags = src.flags;
364     queueFamilyIndex = src.queueFamilyIndex;
365     queueCount = src.queueCount;
366     pQueuePriorities = nullptr;
367     pNext = SafePnextCopy(src.pNext);
368     if (src.pQueuePriorities) {
369         pQueuePriorities = new float[src.queueCount];
370         memcpy ((void *)pQueuePriorities, (void *)src.pQueuePriorities, sizeof(float)*src.queueCount);
371     }
372 }
373 
operator =(const safe_VkDeviceQueueCreateInfo & src)374 safe_VkDeviceQueueCreateInfo& safe_VkDeviceQueueCreateInfo::operator=(const safe_VkDeviceQueueCreateInfo& src)
375 {
376     if (&src == this) return *this;
377 
378     if (pQueuePriorities)
379         delete[] pQueuePriorities;
380     if (pNext)
381         FreePnextChain(pNext);
382 
383     sType = src.sType;
384     flags = src.flags;
385     queueFamilyIndex = src.queueFamilyIndex;
386     queueCount = src.queueCount;
387     pQueuePriorities = nullptr;
388     pNext = SafePnextCopy(src.pNext);
389     if (src.pQueuePriorities) {
390         pQueuePriorities = new float[src.queueCount];
391         memcpy ((void *)pQueuePriorities, (void *)src.pQueuePriorities, sizeof(float)*src.queueCount);
392     }
393 
394     return *this;
395 }
396 
~safe_VkDeviceQueueCreateInfo()397 safe_VkDeviceQueueCreateInfo::~safe_VkDeviceQueueCreateInfo()
398 {
399     if (pQueuePriorities)
400         delete[] pQueuePriorities;
401     if (pNext)
402         FreePnextChain(pNext);
403 }
404 
initialize(const VkDeviceQueueCreateInfo * in_struct)405 void safe_VkDeviceQueueCreateInfo::initialize(const VkDeviceQueueCreateInfo* in_struct)
406 {
407     sType = in_struct->sType;
408     flags = in_struct->flags;
409     queueFamilyIndex = in_struct->queueFamilyIndex;
410     queueCount = in_struct->queueCount;
411     pQueuePriorities = nullptr;
412     pNext = SafePnextCopy(in_struct->pNext);
413     if (in_struct->pQueuePriorities) {
414         pQueuePriorities = new float[in_struct->queueCount];
415         memcpy ((void *)pQueuePriorities, (void *)in_struct->pQueuePriorities, sizeof(float)*in_struct->queueCount);
416     }
417 }
418 
initialize(const safe_VkDeviceQueueCreateInfo * src)419 void safe_VkDeviceQueueCreateInfo::initialize(const safe_VkDeviceQueueCreateInfo* src)
420 {
421     sType = src->sType;
422     flags = src->flags;
423     queueFamilyIndex = src->queueFamilyIndex;
424     queueCount = src->queueCount;
425     pQueuePriorities = nullptr;
426     pNext = SafePnextCopy(src->pNext);
427     if (src->pQueuePriorities) {
428         pQueuePriorities = new float[src->queueCount];
429         memcpy ((void *)pQueuePriorities, (void *)src->pQueuePriorities, sizeof(float)*src->queueCount);
430     }
431 }
432 
safe_VkDeviceCreateInfo(const VkDeviceCreateInfo * in_struct)433 safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const VkDeviceCreateInfo* in_struct) :
434     sType(in_struct->sType),
435     flags(in_struct->flags),
436     queueCreateInfoCount(in_struct->queueCreateInfoCount),
437     pQueueCreateInfos(nullptr),
438     enabledLayerCount(in_struct->enabledLayerCount),
439     enabledExtensionCount(in_struct->enabledExtensionCount),
440     pEnabledFeatures(nullptr)
441 {
442     pNext = SafePnextCopy(in_struct->pNext);
443     char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount];
444     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
445         tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]);
446     }
447     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
448     char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount];
449     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
450         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]);
451     }
452     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
453     if (queueCreateInfoCount && in_struct->pQueueCreateInfos) {
454         pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
455         for (uint32_t i = 0; i < queueCreateInfoCount; ++i) {
456             pQueueCreateInfos[i].initialize(&in_struct->pQueueCreateInfos[i]);
457         }
458     }
459     if (in_struct->pEnabledFeatures) {
460         pEnabledFeatures = new VkPhysicalDeviceFeatures(*in_struct->pEnabledFeatures);
461     }
462 }
463 
safe_VkDeviceCreateInfo()464 safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo() :
465     pNext(nullptr),
466     pQueueCreateInfos(nullptr),
467     ppEnabledLayerNames(nullptr),
468     ppEnabledExtensionNames(nullptr),
469     pEnabledFeatures(nullptr)
470 {}
471 
safe_VkDeviceCreateInfo(const safe_VkDeviceCreateInfo & src)472 safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const safe_VkDeviceCreateInfo& src)
473 {
474     sType = src.sType;
475     flags = src.flags;
476     queueCreateInfoCount = src.queueCreateInfoCount;
477     pQueueCreateInfos = nullptr;
478     enabledLayerCount = src.enabledLayerCount;
479     enabledExtensionCount = src.enabledExtensionCount;
480     pEnabledFeatures = nullptr;
481     pNext = SafePnextCopy(src.pNext);
482     char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount];
483     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
484         tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]);
485     }
486     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
487     char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount];
488     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
489         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]);
490     }
491     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
492     if (queueCreateInfoCount && src.pQueueCreateInfos) {
493         pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
494         for (uint32_t i = 0; i < queueCreateInfoCount; ++i) {
495             pQueueCreateInfos[i].initialize(&src.pQueueCreateInfos[i]);
496         }
497     }
498     if (src.pEnabledFeatures) {
499         pEnabledFeatures = new VkPhysicalDeviceFeatures(*src.pEnabledFeatures);
500     }
501 }
502 
operator =(const safe_VkDeviceCreateInfo & src)503 safe_VkDeviceCreateInfo& safe_VkDeviceCreateInfo::operator=(const safe_VkDeviceCreateInfo& src)
504 {
505     if (&src == this) return *this;
506 
507     if (pQueueCreateInfos)
508         delete[] pQueueCreateInfos;
509     if (ppEnabledLayerNames) {
510         for (uint32_t i = 0; i < enabledLayerCount; ++i) {
511             delete [] ppEnabledLayerNames[i];
512         }
513         delete [] ppEnabledLayerNames;
514     }
515     if (ppEnabledExtensionNames) {
516         for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
517             delete [] ppEnabledExtensionNames[i];
518         }
519         delete [] ppEnabledExtensionNames;
520     }
521     if (pEnabledFeatures)
522         delete pEnabledFeatures;
523     if (pNext)
524         FreePnextChain(pNext);
525 
526     sType = src.sType;
527     flags = src.flags;
528     queueCreateInfoCount = src.queueCreateInfoCount;
529     pQueueCreateInfos = nullptr;
530     enabledLayerCount = src.enabledLayerCount;
531     enabledExtensionCount = src.enabledExtensionCount;
532     pEnabledFeatures = nullptr;
533     pNext = SafePnextCopy(src.pNext);
534     char **tmp_ppEnabledLayerNames = new char *[src.enabledLayerCount];
535     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
536         tmp_ppEnabledLayerNames[i] = SafeStringCopy(src.ppEnabledLayerNames[i]);
537     }
538     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
539     char **tmp_ppEnabledExtensionNames = new char *[src.enabledExtensionCount];
540     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
541         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src.ppEnabledExtensionNames[i]);
542     }
543     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
544     if (queueCreateInfoCount && src.pQueueCreateInfos) {
545         pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
546         for (uint32_t i = 0; i < queueCreateInfoCount; ++i) {
547             pQueueCreateInfos[i].initialize(&src.pQueueCreateInfos[i]);
548         }
549     }
550     if (src.pEnabledFeatures) {
551         pEnabledFeatures = new VkPhysicalDeviceFeatures(*src.pEnabledFeatures);
552     }
553 
554     return *this;
555 }
556 
~safe_VkDeviceCreateInfo()557 safe_VkDeviceCreateInfo::~safe_VkDeviceCreateInfo()
558 {
559     if (pQueueCreateInfos)
560         delete[] pQueueCreateInfos;
561     if (ppEnabledLayerNames) {
562         for (uint32_t i = 0; i < enabledLayerCount; ++i) {
563             delete [] ppEnabledLayerNames[i];
564         }
565         delete [] ppEnabledLayerNames;
566     }
567     if (ppEnabledExtensionNames) {
568         for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
569             delete [] ppEnabledExtensionNames[i];
570         }
571         delete [] ppEnabledExtensionNames;
572     }
573     if (pEnabledFeatures)
574         delete pEnabledFeatures;
575     if (pNext)
576         FreePnextChain(pNext);
577 }
578 
initialize(const VkDeviceCreateInfo * in_struct)579 void safe_VkDeviceCreateInfo::initialize(const VkDeviceCreateInfo* in_struct)
580 {
581     sType = in_struct->sType;
582     flags = in_struct->flags;
583     queueCreateInfoCount = in_struct->queueCreateInfoCount;
584     pQueueCreateInfos = nullptr;
585     enabledLayerCount = in_struct->enabledLayerCount;
586     enabledExtensionCount = in_struct->enabledExtensionCount;
587     pEnabledFeatures = nullptr;
588     pNext = SafePnextCopy(in_struct->pNext);
589     char **tmp_ppEnabledLayerNames = new char *[in_struct->enabledLayerCount];
590     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
591         tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]);
592     }
593     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
594     char **tmp_ppEnabledExtensionNames = new char *[in_struct->enabledExtensionCount];
595     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
596         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]);
597     }
598     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
599     if (queueCreateInfoCount && in_struct->pQueueCreateInfos) {
600         pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
601         for (uint32_t i = 0; i < queueCreateInfoCount; ++i) {
602             pQueueCreateInfos[i].initialize(&in_struct->pQueueCreateInfos[i]);
603         }
604     }
605     if (in_struct->pEnabledFeatures) {
606         pEnabledFeatures = new VkPhysicalDeviceFeatures(*in_struct->pEnabledFeatures);
607     }
608 }
609 
initialize(const safe_VkDeviceCreateInfo * src)610 void safe_VkDeviceCreateInfo::initialize(const safe_VkDeviceCreateInfo* src)
611 {
612     sType = src->sType;
613     flags = src->flags;
614     queueCreateInfoCount = src->queueCreateInfoCount;
615     pQueueCreateInfos = nullptr;
616     enabledLayerCount = src->enabledLayerCount;
617     enabledExtensionCount = src->enabledExtensionCount;
618     pEnabledFeatures = nullptr;
619     pNext = SafePnextCopy(src->pNext);
620     char **tmp_ppEnabledLayerNames = new char *[src->enabledLayerCount];
621     for (uint32_t i = 0; i < enabledLayerCount; ++i) {
622         tmp_ppEnabledLayerNames[i] = SafeStringCopy(src->ppEnabledLayerNames[i]);
623     }
624     ppEnabledLayerNames = tmp_ppEnabledLayerNames;
625     char **tmp_ppEnabledExtensionNames = new char *[src->enabledExtensionCount];
626     for (uint32_t i = 0; i < enabledExtensionCount; ++i) {
627         tmp_ppEnabledExtensionNames[i] = SafeStringCopy(src->ppEnabledExtensionNames[i]);
628     }
629     ppEnabledExtensionNames = tmp_ppEnabledExtensionNames;
630     if (queueCreateInfoCount && src->pQueueCreateInfos) {
631         pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
632         for (uint32_t i = 0; i < queueCreateInfoCount; ++i) {
633             pQueueCreateInfos[i].initialize(&src->pQueueCreateInfos[i]);
634         }
635     }
636     if (src->pEnabledFeatures) {
637         pEnabledFeatures = new VkPhysicalDeviceFeatures(*src->pEnabledFeatures);
638     }
639 }
640 
safe_VkSubmitInfo(const VkSubmitInfo * in_struct)641 safe_VkSubmitInfo::safe_VkSubmitInfo(const VkSubmitInfo* in_struct) :
642     sType(in_struct->sType),
643     waitSemaphoreCount(in_struct->waitSemaphoreCount),
644     pWaitSemaphores(nullptr),
645     pWaitDstStageMask(nullptr),
646     commandBufferCount(in_struct->commandBufferCount),
647     pCommandBuffers(nullptr),
648     signalSemaphoreCount(in_struct->signalSemaphoreCount),
649     pSignalSemaphores(nullptr)
650 {
651     pNext = SafePnextCopy(in_struct->pNext);
652     if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
653         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
654         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
655             pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
656         }
657     }
658     if (in_struct->pWaitDstStageMask) {
659         pWaitDstStageMask = new VkPipelineStageFlags[in_struct->waitSemaphoreCount];
660         memcpy ((void *)pWaitDstStageMask, (void *)in_struct->pWaitDstStageMask, sizeof(VkPipelineStageFlags)*in_struct->waitSemaphoreCount);
661     }
662     if (in_struct->pCommandBuffers) {
663         pCommandBuffers = new VkCommandBuffer[in_struct->commandBufferCount];
664         memcpy ((void *)pCommandBuffers, (void *)in_struct->pCommandBuffers, sizeof(VkCommandBuffer)*in_struct->commandBufferCount);
665     }
666     if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
667         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
668         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
669             pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
670         }
671     }
672 }
673 
safe_VkSubmitInfo()674 safe_VkSubmitInfo::safe_VkSubmitInfo() :
675     pNext(nullptr),
676     pWaitSemaphores(nullptr),
677     pWaitDstStageMask(nullptr),
678     pCommandBuffers(nullptr),
679     pSignalSemaphores(nullptr)
680 {}
681 
safe_VkSubmitInfo(const safe_VkSubmitInfo & src)682 safe_VkSubmitInfo::safe_VkSubmitInfo(const safe_VkSubmitInfo& src)
683 {
684     sType = src.sType;
685     waitSemaphoreCount = src.waitSemaphoreCount;
686     pWaitSemaphores = nullptr;
687     pWaitDstStageMask = nullptr;
688     commandBufferCount = src.commandBufferCount;
689     pCommandBuffers = nullptr;
690     signalSemaphoreCount = src.signalSemaphoreCount;
691     pSignalSemaphores = nullptr;
692     pNext = SafePnextCopy(src.pNext);
693     if (waitSemaphoreCount && src.pWaitSemaphores) {
694         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
695         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
696             pWaitSemaphores[i] = src.pWaitSemaphores[i];
697         }
698     }
699     if (src.pWaitDstStageMask) {
700         pWaitDstStageMask = new VkPipelineStageFlags[src.waitSemaphoreCount];
701         memcpy ((void *)pWaitDstStageMask, (void *)src.pWaitDstStageMask, sizeof(VkPipelineStageFlags)*src.waitSemaphoreCount);
702     }
703     if (src.pCommandBuffers) {
704         pCommandBuffers = new VkCommandBuffer[src.commandBufferCount];
705         memcpy ((void *)pCommandBuffers, (void *)src.pCommandBuffers, sizeof(VkCommandBuffer)*src.commandBufferCount);
706     }
707     if (signalSemaphoreCount && src.pSignalSemaphores) {
708         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
709         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
710             pSignalSemaphores[i] = src.pSignalSemaphores[i];
711         }
712     }
713 }
714 
operator =(const safe_VkSubmitInfo & src)715 safe_VkSubmitInfo& safe_VkSubmitInfo::operator=(const safe_VkSubmitInfo& src)
716 {
717     if (&src == this) return *this;
718 
719     if (pWaitSemaphores)
720         delete[] pWaitSemaphores;
721     if (pWaitDstStageMask)
722         delete[] pWaitDstStageMask;
723     if (pCommandBuffers)
724         delete[] pCommandBuffers;
725     if (pSignalSemaphores)
726         delete[] pSignalSemaphores;
727     if (pNext)
728         FreePnextChain(pNext);
729 
730     sType = src.sType;
731     waitSemaphoreCount = src.waitSemaphoreCount;
732     pWaitSemaphores = nullptr;
733     pWaitDstStageMask = nullptr;
734     commandBufferCount = src.commandBufferCount;
735     pCommandBuffers = nullptr;
736     signalSemaphoreCount = src.signalSemaphoreCount;
737     pSignalSemaphores = nullptr;
738     pNext = SafePnextCopy(src.pNext);
739     if (waitSemaphoreCount && src.pWaitSemaphores) {
740         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
741         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
742             pWaitSemaphores[i] = src.pWaitSemaphores[i];
743         }
744     }
745     if (src.pWaitDstStageMask) {
746         pWaitDstStageMask = new VkPipelineStageFlags[src.waitSemaphoreCount];
747         memcpy ((void *)pWaitDstStageMask, (void *)src.pWaitDstStageMask, sizeof(VkPipelineStageFlags)*src.waitSemaphoreCount);
748     }
749     if (src.pCommandBuffers) {
750         pCommandBuffers = new VkCommandBuffer[src.commandBufferCount];
751         memcpy ((void *)pCommandBuffers, (void *)src.pCommandBuffers, sizeof(VkCommandBuffer)*src.commandBufferCount);
752     }
753     if (signalSemaphoreCount && src.pSignalSemaphores) {
754         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
755         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
756             pSignalSemaphores[i] = src.pSignalSemaphores[i];
757         }
758     }
759 
760     return *this;
761 }
762 
~safe_VkSubmitInfo()763 safe_VkSubmitInfo::~safe_VkSubmitInfo()
764 {
765     if (pWaitSemaphores)
766         delete[] pWaitSemaphores;
767     if (pWaitDstStageMask)
768         delete[] pWaitDstStageMask;
769     if (pCommandBuffers)
770         delete[] pCommandBuffers;
771     if (pSignalSemaphores)
772         delete[] pSignalSemaphores;
773     if (pNext)
774         FreePnextChain(pNext);
775 }
776 
initialize(const VkSubmitInfo * in_struct)777 void safe_VkSubmitInfo::initialize(const VkSubmitInfo* in_struct)
778 {
779     sType = in_struct->sType;
780     waitSemaphoreCount = in_struct->waitSemaphoreCount;
781     pWaitSemaphores = nullptr;
782     pWaitDstStageMask = nullptr;
783     commandBufferCount = in_struct->commandBufferCount;
784     pCommandBuffers = nullptr;
785     signalSemaphoreCount = in_struct->signalSemaphoreCount;
786     pSignalSemaphores = nullptr;
787     pNext = SafePnextCopy(in_struct->pNext);
788     if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
789         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
790         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
791             pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
792         }
793     }
794     if (in_struct->pWaitDstStageMask) {
795         pWaitDstStageMask = new VkPipelineStageFlags[in_struct->waitSemaphoreCount];
796         memcpy ((void *)pWaitDstStageMask, (void *)in_struct->pWaitDstStageMask, sizeof(VkPipelineStageFlags)*in_struct->waitSemaphoreCount);
797     }
798     if (in_struct->pCommandBuffers) {
799         pCommandBuffers = new VkCommandBuffer[in_struct->commandBufferCount];
800         memcpy ((void *)pCommandBuffers, (void *)in_struct->pCommandBuffers, sizeof(VkCommandBuffer)*in_struct->commandBufferCount);
801     }
802     if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
803         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
804         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
805             pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
806         }
807     }
808 }
809 
initialize(const safe_VkSubmitInfo * src)810 void safe_VkSubmitInfo::initialize(const safe_VkSubmitInfo* src)
811 {
812     sType = src->sType;
813     waitSemaphoreCount = src->waitSemaphoreCount;
814     pWaitSemaphores = nullptr;
815     pWaitDstStageMask = nullptr;
816     commandBufferCount = src->commandBufferCount;
817     pCommandBuffers = nullptr;
818     signalSemaphoreCount = src->signalSemaphoreCount;
819     pSignalSemaphores = nullptr;
820     pNext = SafePnextCopy(src->pNext);
821     if (waitSemaphoreCount && src->pWaitSemaphores) {
822         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
823         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
824             pWaitSemaphores[i] = src->pWaitSemaphores[i];
825         }
826     }
827     if (src->pWaitDstStageMask) {
828         pWaitDstStageMask = new VkPipelineStageFlags[src->waitSemaphoreCount];
829         memcpy ((void *)pWaitDstStageMask, (void *)src->pWaitDstStageMask, sizeof(VkPipelineStageFlags)*src->waitSemaphoreCount);
830     }
831     if (src->pCommandBuffers) {
832         pCommandBuffers = new VkCommandBuffer[src->commandBufferCount];
833         memcpy ((void *)pCommandBuffers, (void *)src->pCommandBuffers, sizeof(VkCommandBuffer)*src->commandBufferCount);
834     }
835     if (signalSemaphoreCount && src->pSignalSemaphores) {
836         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
837         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
838             pSignalSemaphores[i] = src->pSignalSemaphores[i];
839         }
840     }
841 }
842 
safe_VkMemoryAllocateInfo(const VkMemoryAllocateInfo * in_struct)843 safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo(const VkMemoryAllocateInfo* in_struct) :
844     sType(in_struct->sType),
845     allocationSize(in_struct->allocationSize),
846     memoryTypeIndex(in_struct->memoryTypeIndex)
847 {
848     pNext = SafePnextCopy(in_struct->pNext);
849 }
850 
safe_VkMemoryAllocateInfo()851 safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo() :
852     pNext(nullptr)
853 {}
854 
safe_VkMemoryAllocateInfo(const safe_VkMemoryAllocateInfo & src)855 safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo(const safe_VkMemoryAllocateInfo& src)
856 {
857     sType = src.sType;
858     allocationSize = src.allocationSize;
859     memoryTypeIndex = src.memoryTypeIndex;
860     pNext = SafePnextCopy(src.pNext);
861 }
862 
operator =(const safe_VkMemoryAllocateInfo & src)863 safe_VkMemoryAllocateInfo& safe_VkMemoryAllocateInfo::operator=(const safe_VkMemoryAllocateInfo& src)
864 {
865     if (&src == this) return *this;
866 
867     if (pNext)
868         FreePnextChain(pNext);
869 
870     sType = src.sType;
871     allocationSize = src.allocationSize;
872     memoryTypeIndex = src.memoryTypeIndex;
873     pNext = SafePnextCopy(src.pNext);
874 
875     return *this;
876 }
877 
~safe_VkMemoryAllocateInfo()878 safe_VkMemoryAllocateInfo::~safe_VkMemoryAllocateInfo()
879 {
880     if (pNext)
881         FreePnextChain(pNext);
882 }
883 
initialize(const VkMemoryAllocateInfo * in_struct)884 void safe_VkMemoryAllocateInfo::initialize(const VkMemoryAllocateInfo* in_struct)
885 {
886     sType = in_struct->sType;
887     allocationSize = in_struct->allocationSize;
888     memoryTypeIndex = in_struct->memoryTypeIndex;
889     pNext = SafePnextCopy(in_struct->pNext);
890 }
891 
initialize(const safe_VkMemoryAllocateInfo * src)892 void safe_VkMemoryAllocateInfo::initialize(const safe_VkMemoryAllocateInfo* src)
893 {
894     sType = src->sType;
895     allocationSize = src->allocationSize;
896     memoryTypeIndex = src->memoryTypeIndex;
897     pNext = SafePnextCopy(src->pNext);
898 }
899 
safe_VkMappedMemoryRange(const VkMappedMemoryRange * in_struct)900 safe_VkMappedMemoryRange::safe_VkMappedMemoryRange(const VkMappedMemoryRange* in_struct) :
901     sType(in_struct->sType),
902     memory(in_struct->memory),
903     offset(in_struct->offset),
904     size(in_struct->size)
905 {
906     pNext = SafePnextCopy(in_struct->pNext);
907 }
908 
safe_VkMappedMemoryRange()909 safe_VkMappedMemoryRange::safe_VkMappedMemoryRange() :
910     pNext(nullptr)
911 {}
912 
safe_VkMappedMemoryRange(const safe_VkMappedMemoryRange & src)913 safe_VkMappedMemoryRange::safe_VkMappedMemoryRange(const safe_VkMappedMemoryRange& src)
914 {
915     sType = src.sType;
916     memory = src.memory;
917     offset = src.offset;
918     size = src.size;
919     pNext = SafePnextCopy(src.pNext);
920 }
921 
operator =(const safe_VkMappedMemoryRange & src)922 safe_VkMappedMemoryRange& safe_VkMappedMemoryRange::operator=(const safe_VkMappedMemoryRange& src)
923 {
924     if (&src == this) return *this;
925 
926     if (pNext)
927         FreePnextChain(pNext);
928 
929     sType = src.sType;
930     memory = src.memory;
931     offset = src.offset;
932     size = src.size;
933     pNext = SafePnextCopy(src.pNext);
934 
935     return *this;
936 }
937 
~safe_VkMappedMemoryRange()938 safe_VkMappedMemoryRange::~safe_VkMappedMemoryRange()
939 {
940     if (pNext)
941         FreePnextChain(pNext);
942 }
943 
initialize(const VkMappedMemoryRange * in_struct)944 void safe_VkMappedMemoryRange::initialize(const VkMappedMemoryRange* in_struct)
945 {
946     sType = in_struct->sType;
947     memory = in_struct->memory;
948     offset = in_struct->offset;
949     size = in_struct->size;
950     pNext = SafePnextCopy(in_struct->pNext);
951 }
952 
initialize(const safe_VkMappedMemoryRange * src)953 void safe_VkMappedMemoryRange::initialize(const safe_VkMappedMemoryRange* src)
954 {
955     sType = src->sType;
956     memory = src->memory;
957     offset = src->offset;
958     size = src->size;
959     pNext = SafePnextCopy(src->pNext);
960 }
961 
safe_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo * in_struct)962 safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo* in_struct) :
963     buffer(in_struct->buffer),
964     bindCount(in_struct->bindCount),
965     pBinds(nullptr)
966 {
967     if (bindCount && in_struct->pBinds) {
968         pBinds = new VkSparseMemoryBind[bindCount];
969         for (uint32_t i = 0; i < bindCount; ++i) {
970             pBinds[i] = in_struct->pBinds[i];
971         }
972     }
973 }
974 
safe_VkSparseBufferMemoryBindInfo()975 safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo() :
976     pBinds(nullptr)
977 {}
978 
safe_VkSparseBufferMemoryBindInfo(const safe_VkSparseBufferMemoryBindInfo & src)979 safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const safe_VkSparseBufferMemoryBindInfo& src)
980 {
981     buffer = src.buffer;
982     bindCount = src.bindCount;
983     pBinds = nullptr;
984     if (bindCount && src.pBinds) {
985         pBinds = new VkSparseMemoryBind[bindCount];
986         for (uint32_t i = 0; i < bindCount; ++i) {
987             pBinds[i] = src.pBinds[i];
988         }
989     }
990 }
991 
operator =(const safe_VkSparseBufferMemoryBindInfo & src)992 safe_VkSparseBufferMemoryBindInfo& safe_VkSparseBufferMemoryBindInfo::operator=(const safe_VkSparseBufferMemoryBindInfo& src)
993 {
994     if (&src == this) return *this;
995 
996     if (pBinds)
997         delete[] pBinds;
998 
999     buffer = src.buffer;
1000     bindCount = src.bindCount;
1001     pBinds = nullptr;
1002     if (bindCount && src.pBinds) {
1003         pBinds = new VkSparseMemoryBind[bindCount];
1004         for (uint32_t i = 0; i < bindCount; ++i) {
1005             pBinds[i] = src.pBinds[i];
1006         }
1007     }
1008 
1009     return *this;
1010 }
1011 
~safe_VkSparseBufferMemoryBindInfo()1012 safe_VkSparseBufferMemoryBindInfo::~safe_VkSparseBufferMemoryBindInfo()
1013 {
1014     if (pBinds)
1015         delete[] pBinds;
1016 }
1017 
initialize(const VkSparseBufferMemoryBindInfo * in_struct)1018 void safe_VkSparseBufferMemoryBindInfo::initialize(const VkSparseBufferMemoryBindInfo* in_struct)
1019 {
1020     buffer = in_struct->buffer;
1021     bindCount = in_struct->bindCount;
1022     pBinds = nullptr;
1023     if (bindCount && in_struct->pBinds) {
1024         pBinds = new VkSparseMemoryBind[bindCount];
1025         for (uint32_t i = 0; i < bindCount; ++i) {
1026             pBinds[i] = in_struct->pBinds[i];
1027         }
1028     }
1029 }
1030 
initialize(const safe_VkSparseBufferMemoryBindInfo * src)1031 void safe_VkSparseBufferMemoryBindInfo::initialize(const safe_VkSparseBufferMemoryBindInfo* src)
1032 {
1033     buffer = src->buffer;
1034     bindCount = src->bindCount;
1035     pBinds = nullptr;
1036     if (bindCount && src->pBinds) {
1037         pBinds = new VkSparseMemoryBind[bindCount];
1038         for (uint32_t i = 0; i < bindCount; ++i) {
1039             pBinds[i] = src->pBinds[i];
1040         }
1041     }
1042 }
1043 
safe_VkSparseImageOpaqueMemoryBindInfo(const VkSparseImageOpaqueMemoryBindInfo * in_struct)1044 safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo(const VkSparseImageOpaqueMemoryBindInfo* in_struct) :
1045     image(in_struct->image),
1046     bindCount(in_struct->bindCount),
1047     pBinds(nullptr)
1048 {
1049     if (bindCount && in_struct->pBinds) {
1050         pBinds = new VkSparseMemoryBind[bindCount];
1051         for (uint32_t i = 0; i < bindCount; ++i) {
1052             pBinds[i] = in_struct->pBinds[i];
1053         }
1054     }
1055 }
1056 
safe_VkSparseImageOpaqueMemoryBindInfo()1057 safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo() :
1058     pBinds(nullptr)
1059 {}
1060 
safe_VkSparseImageOpaqueMemoryBindInfo(const safe_VkSparseImageOpaqueMemoryBindInfo & src)1061 safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo(const safe_VkSparseImageOpaqueMemoryBindInfo& src)
1062 {
1063     image = src.image;
1064     bindCount = src.bindCount;
1065     pBinds = nullptr;
1066     if (bindCount && src.pBinds) {
1067         pBinds = new VkSparseMemoryBind[bindCount];
1068         for (uint32_t i = 0; i < bindCount; ++i) {
1069             pBinds[i] = src.pBinds[i];
1070         }
1071     }
1072 }
1073 
operator =(const safe_VkSparseImageOpaqueMemoryBindInfo & src)1074 safe_VkSparseImageOpaqueMemoryBindInfo& safe_VkSparseImageOpaqueMemoryBindInfo::operator=(const safe_VkSparseImageOpaqueMemoryBindInfo& src)
1075 {
1076     if (&src == this) return *this;
1077 
1078     if (pBinds)
1079         delete[] pBinds;
1080 
1081     image = src.image;
1082     bindCount = src.bindCount;
1083     pBinds = nullptr;
1084     if (bindCount && src.pBinds) {
1085         pBinds = new VkSparseMemoryBind[bindCount];
1086         for (uint32_t i = 0; i < bindCount; ++i) {
1087             pBinds[i] = src.pBinds[i];
1088         }
1089     }
1090 
1091     return *this;
1092 }
1093 
~safe_VkSparseImageOpaqueMemoryBindInfo()1094 safe_VkSparseImageOpaqueMemoryBindInfo::~safe_VkSparseImageOpaqueMemoryBindInfo()
1095 {
1096     if (pBinds)
1097         delete[] pBinds;
1098 }
1099 
initialize(const VkSparseImageOpaqueMemoryBindInfo * in_struct)1100 void safe_VkSparseImageOpaqueMemoryBindInfo::initialize(const VkSparseImageOpaqueMemoryBindInfo* in_struct)
1101 {
1102     image = in_struct->image;
1103     bindCount = in_struct->bindCount;
1104     pBinds = nullptr;
1105     if (bindCount && in_struct->pBinds) {
1106         pBinds = new VkSparseMemoryBind[bindCount];
1107         for (uint32_t i = 0; i < bindCount; ++i) {
1108             pBinds[i] = in_struct->pBinds[i];
1109         }
1110     }
1111 }
1112 
initialize(const safe_VkSparseImageOpaqueMemoryBindInfo * src)1113 void safe_VkSparseImageOpaqueMemoryBindInfo::initialize(const safe_VkSparseImageOpaqueMemoryBindInfo* src)
1114 {
1115     image = src->image;
1116     bindCount = src->bindCount;
1117     pBinds = nullptr;
1118     if (bindCount && src->pBinds) {
1119         pBinds = new VkSparseMemoryBind[bindCount];
1120         for (uint32_t i = 0; i < bindCount; ++i) {
1121             pBinds[i] = src->pBinds[i];
1122         }
1123     }
1124 }
1125 
safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo * in_struct)1126 safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* in_struct) :
1127     image(in_struct->image),
1128     bindCount(in_struct->bindCount),
1129     pBinds(nullptr)
1130 {
1131     if (bindCount && in_struct->pBinds) {
1132         pBinds = new VkSparseImageMemoryBind[bindCount];
1133         for (uint32_t i = 0; i < bindCount; ++i) {
1134             pBinds[i] = in_struct->pBinds[i];
1135         }
1136     }
1137 }
1138 
safe_VkSparseImageMemoryBindInfo()1139 safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo() :
1140     pBinds(nullptr)
1141 {}
1142 
safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo & src)1143 safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo& src)
1144 {
1145     image = src.image;
1146     bindCount = src.bindCount;
1147     pBinds = nullptr;
1148     if (bindCount && src.pBinds) {
1149         pBinds = new VkSparseImageMemoryBind[bindCount];
1150         for (uint32_t i = 0; i < bindCount; ++i) {
1151             pBinds[i] = src.pBinds[i];
1152         }
1153     }
1154 }
1155 
operator =(const safe_VkSparseImageMemoryBindInfo & src)1156 safe_VkSparseImageMemoryBindInfo& safe_VkSparseImageMemoryBindInfo::operator=(const safe_VkSparseImageMemoryBindInfo& src)
1157 {
1158     if (&src == this) return *this;
1159 
1160     if (pBinds)
1161         delete[] pBinds;
1162 
1163     image = src.image;
1164     bindCount = src.bindCount;
1165     pBinds = nullptr;
1166     if (bindCount && src.pBinds) {
1167         pBinds = new VkSparseImageMemoryBind[bindCount];
1168         for (uint32_t i = 0; i < bindCount; ++i) {
1169             pBinds[i] = src.pBinds[i];
1170         }
1171     }
1172 
1173     return *this;
1174 }
1175 
~safe_VkSparseImageMemoryBindInfo()1176 safe_VkSparseImageMemoryBindInfo::~safe_VkSparseImageMemoryBindInfo()
1177 {
1178     if (pBinds)
1179         delete[] pBinds;
1180 }
1181 
initialize(const VkSparseImageMemoryBindInfo * in_struct)1182 void safe_VkSparseImageMemoryBindInfo::initialize(const VkSparseImageMemoryBindInfo* in_struct)
1183 {
1184     image = in_struct->image;
1185     bindCount = in_struct->bindCount;
1186     pBinds = nullptr;
1187     if (bindCount && in_struct->pBinds) {
1188         pBinds = new VkSparseImageMemoryBind[bindCount];
1189         for (uint32_t i = 0; i < bindCount; ++i) {
1190             pBinds[i] = in_struct->pBinds[i];
1191         }
1192     }
1193 }
1194 
initialize(const safe_VkSparseImageMemoryBindInfo * src)1195 void safe_VkSparseImageMemoryBindInfo::initialize(const safe_VkSparseImageMemoryBindInfo* src)
1196 {
1197     image = src->image;
1198     bindCount = src->bindCount;
1199     pBinds = nullptr;
1200     if (bindCount && src->pBinds) {
1201         pBinds = new VkSparseImageMemoryBind[bindCount];
1202         for (uint32_t i = 0; i < bindCount; ++i) {
1203             pBinds[i] = src->pBinds[i];
1204         }
1205     }
1206 }
1207 
safe_VkBindSparseInfo(const VkBindSparseInfo * in_struct)1208 safe_VkBindSparseInfo::safe_VkBindSparseInfo(const VkBindSparseInfo* in_struct) :
1209     sType(in_struct->sType),
1210     waitSemaphoreCount(in_struct->waitSemaphoreCount),
1211     pWaitSemaphores(nullptr),
1212     bufferBindCount(in_struct->bufferBindCount),
1213     pBufferBinds(nullptr),
1214     imageOpaqueBindCount(in_struct->imageOpaqueBindCount),
1215     pImageOpaqueBinds(nullptr),
1216     imageBindCount(in_struct->imageBindCount),
1217     pImageBinds(nullptr),
1218     signalSemaphoreCount(in_struct->signalSemaphoreCount),
1219     pSignalSemaphores(nullptr)
1220 {
1221     pNext = SafePnextCopy(in_struct->pNext);
1222     if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
1223         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1224         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
1225             pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
1226         }
1227     }
1228     if (bufferBindCount && in_struct->pBufferBinds) {
1229         pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1230         for (uint32_t i = 0; i < bufferBindCount; ++i) {
1231             pBufferBinds[i].initialize(&in_struct->pBufferBinds[i]);
1232         }
1233     }
1234     if (imageOpaqueBindCount && in_struct->pImageOpaqueBinds) {
1235         pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1236         for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) {
1237             pImageOpaqueBinds[i].initialize(&in_struct->pImageOpaqueBinds[i]);
1238         }
1239     }
1240     if (imageBindCount && in_struct->pImageBinds) {
1241         pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1242         for (uint32_t i = 0; i < imageBindCount; ++i) {
1243             pImageBinds[i].initialize(&in_struct->pImageBinds[i]);
1244         }
1245     }
1246     if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
1247         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1248         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
1249             pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
1250         }
1251     }
1252 }
1253 
safe_VkBindSparseInfo()1254 safe_VkBindSparseInfo::safe_VkBindSparseInfo() :
1255     pNext(nullptr),
1256     pWaitSemaphores(nullptr),
1257     pBufferBinds(nullptr),
1258     pImageOpaqueBinds(nullptr),
1259     pImageBinds(nullptr),
1260     pSignalSemaphores(nullptr)
1261 {}
1262 
safe_VkBindSparseInfo(const safe_VkBindSparseInfo & src)1263 safe_VkBindSparseInfo::safe_VkBindSparseInfo(const safe_VkBindSparseInfo& src)
1264 {
1265     sType = src.sType;
1266     waitSemaphoreCount = src.waitSemaphoreCount;
1267     pWaitSemaphores = nullptr;
1268     bufferBindCount = src.bufferBindCount;
1269     pBufferBinds = nullptr;
1270     imageOpaqueBindCount = src.imageOpaqueBindCount;
1271     pImageOpaqueBinds = nullptr;
1272     imageBindCount = src.imageBindCount;
1273     pImageBinds = nullptr;
1274     signalSemaphoreCount = src.signalSemaphoreCount;
1275     pSignalSemaphores = nullptr;
1276     pNext = SafePnextCopy(src.pNext);
1277     if (waitSemaphoreCount && src.pWaitSemaphores) {
1278         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1279         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
1280             pWaitSemaphores[i] = src.pWaitSemaphores[i];
1281         }
1282     }
1283     if (bufferBindCount && src.pBufferBinds) {
1284         pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1285         for (uint32_t i = 0; i < bufferBindCount; ++i) {
1286             pBufferBinds[i].initialize(&src.pBufferBinds[i]);
1287         }
1288     }
1289     if (imageOpaqueBindCount && src.pImageOpaqueBinds) {
1290         pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1291         for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) {
1292             pImageOpaqueBinds[i].initialize(&src.pImageOpaqueBinds[i]);
1293         }
1294     }
1295     if (imageBindCount && src.pImageBinds) {
1296         pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1297         for (uint32_t i = 0; i < imageBindCount; ++i) {
1298             pImageBinds[i].initialize(&src.pImageBinds[i]);
1299         }
1300     }
1301     if (signalSemaphoreCount && src.pSignalSemaphores) {
1302         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1303         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
1304             pSignalSemaphores[i] = src.pSignalSemaphores[i];
1305         }
1306     }
1307 }
1308 
operator =(const safe_VkBindSparseInfo & src)1309 safe_VkBindSparseInfo& safe_VkBindSparseInfo::operator=(const safe_VkBindSparseInfo& src)
1310 {
1311     if (&src == this) return *this;
1312 
1313     if (pWaitSemaphores)
1314         delete[] pWaitSemaphores;
1315     if (pBufferBinds)
1316         delete[] pBufferBinds;
1317     if (pImageOpaqueBinds)
1318         delete[] pImageOpaqueBinds;
1319     if (pImageBinds)
1320         delete[] pImageBinds;
1321     if (pSignalSemaphores)
1322         delete[] pSignalSemaphores;
1323     if (pNext)
1324         FreePnextChain(pNext);
1325 
1326     sType = src.sType;
1327     waitSemaphoreCount = src.waitSemaphoreCount;
1328     pWaitSemaphores = nullptr;
1329     bufferBindCount = src.bufferBindCount;
1330     pBufferBinds = nullptr;
1331     imageOpaqueBindCount = src.imageOpaqueBindCount;
1332     pImageOpaqueBinds = nullptr;
1333     imageBindCount = src.imageBindCount;
1334     pImageBinds = nullptr;
1335     signalSemaphoreCount = src.signalSemaphoreCount;
1336     pSignalSemaphores = nullptr;
1337     pNext = SafePnextCopy(src.pNext);
1338     if (waitSemaphoreCount && src.pWaitSemaphores) {
1339         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1340         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
1341             pWaitSemaphores[i] = src.pWaitSemaphores[i];
1342         }
1343     }
1344     if (bufferBindCount && src.pBufferBinds) {
1345         pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1346         for (uint32_t i = 0; i < bufferBindCount; ++i) {
1347             pBufferBinds[i].initialize(&src.pBufferBinds[i]);
1348         }
1349     }
1350     if (imageOpaqueBindCount && src.pImageOpaqueBinds) {
1351         pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1352         for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) {
1353             pImageOpaqueBinds[i].initialize(&src.pImageOpaqueBinds[i]);
1354         }
1355     }
1356     if (imageBindCount && src.pImageBinds) {
1357         pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1358         for (uint32_t i = 0; i < imageBindCount; ++i) {
1359             pImageBinds[i].initialize(&src.pImageBinds[i]);
1360         }
1361     }
1362     if (signalSemaphoreCount && src.pSignalSemaphores) {
1363         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1364         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
1365             pSignalSemaphores[i] = src.pSignalSemaphores[i];
1366         }
1367     }
1368 
1369     return *this;
1370 }
1371 
~safe_VkBindSparseInfo()1372 safe_VkBindSparseInfo::~safe_VkBindSparseInfo()
1373 {
1374     if (pWaitSemaphores)
1375         delete[] pWaitSemaphores;
1376     if (pBufferBinds)
1377         delete[] pBufferBinds;
1378     if (pImageOpaqueBinds)
1379         delete[] pImageOpaqueBinds;
1380     if (pImageBinds)
1381         delete[] pImageBinds;
1382     if (pSignalSemaphores)
1383         delete[] pSignalSemaphores;
1384     if (pNext)
1385         FreePnextChain(pNext);
1386 }
1387 
initialize(const VkBindSparseInfo * in_struct)1388 void safe_VkBindSparseInfo::initialize(const VkBindSparseInfo* in_struct)
1389 {
1390     sType = in_struct->sType;
1391     waitSemaphoreCount = in_struct->waitSemaphoreCount;
1392     pWaitSemaphores = nullptr;
1393     bufferBindCount = in_struct->bufferBindCount;
1394     pBufferBinds = nullptr;
1395     imageOpaqueBindCount = in_struct->imageOpaqueBindCount;
1396     pImageOpaqueBinds = nullptr;
1397     imageBindCount = in_struct->imageBindCount;
1398     pImageBinds = nullptr;
1399     signalSemaphoreCount = in_struct->signalSemaphoreCount;
1400     pSignalSemaphores = nullptr;
1401     pNext = SafePnextCopy(in_struct->pNext);
1402     if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
1403         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1404         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
1405             pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
1406         }
1407     }
1408     if (bufferBindCount && in_struct->pBufferBinds) {
1409         pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1410         for (uint32_t i = 0; i < bufferBindCount; ++i) {
1411             pBufferBinds[i].initialize(&in_struct->pBufferBinds[i]);
1412         }
1413     }
1414     if (imageOpaqueBindCount && in_struct->pImageOpaqueBinds) {
1415         pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1416         for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) {
1417             pImageOpaqueBinds[i].initialize(&in_struct->pImageOpaqueBinds[i]);
1418         }
1419     }
1420     if (imageBindCount && in_struct->pImageBinds) {
1421         pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1422         for (uint32_t i = 0; i < imageBindCount; ++i) {
1423             pImageBinds[i].initialize(&in_struct->pImageBinds[i]);
1424         }
1425     }
1426     if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
1427         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1428         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
1429             pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
1430         }
1431     }
1432 }
1433 
initialize(const safe_VkBindSparseInfo * src)1434 void safe_VkBindSparseInfo::initialize(const safe_VkBindSparseInfo* src)
1435 {
1436     sType = src->sType;
1437     waitSemaphoreCount = src->waitSemaphoreCount;
1438     pWaitSemaphores = nullptr;
1439     bufferBindCount = src->bufferBindCount;
1440     pBufferBinds = nullptr;
1441     imageOpaqueBindCount = src->imageOpaqueBindCount;
1442     pImageOpaqueBinds = nullptr;
1443     imageBindCount = src->imageBindCount;
1444     pImageBinds = nullptr;
1445     signalSemaphoreCount = src->signalSemaphoreCount;
1446     pSignalSemaphores = nullptr;
1447     pNext = SafePnextCopy(src->pNext);
1448     if (waitSemaphoreCount && src->pWaitSemaphores) {
1449         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1450         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
1451             pWaitSemaphores[i] = src->pWaitSemaphores[i];
1452         }
1453     }
1454     if (bufferBindCount && src->pBufferBinds) {
1455         pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1456         for (uint32_t i = 0; i < bufferBindCount; ++i) {
1457             pBufferBinds[i].initialize(&src->pBufferBinds[i]);
1458         }
1459     }
1460     if (imageOpaqueBindCount && src->pImageOpaqueBinds) {
1461         pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1462         for (uint32_t i = 0; i < imageOpaqueBindCount; ++i) {
1463             pImageOpaqueBinds[i].initialize(&src->pImageOpaqueBinds[i]);
1464         }
1465     }
1466     if (imageBindCount && src->pImageBinds) {
1467         pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1468         for (uint32_t i = 0; i < imageBindCount; ++i) {
1469             pImageBinds[i].initialize(&src->pImageBinds[i]);
1470         }
1471     }
1472     if (signalSemaphoreCount && src->pSignalSemaphores) {
1473         pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1474         for (uint32_t i = 0; i < signalSemaphoreCount; ++i) {
1475             pSignalSemaphores[i] = src->pSignalSemaphores[i];
1476         }
1477     }
1478 }
1479 
safe_VkFenceCreateInfo(const VkFenceCreateInfo * in_struct)1480 safe_VkFenceCreateInfo::safe_VkFenceCreateInfo(const VkFenceCreateInfo* in_struct) :
1481     sType(in_struct->sType),
1482     flags(in_struct->flags)
1483 {
1484     pNext = SafePnextCopy(in_struct->pNext);
1485 }
1486 
safe_VkFenceCreateInfo()1487 safe_VkFenceCreateInfo::safe_VkFenceCreateInfo() :
1488     pNext(nullptr)
1489 {}
1490 
safe_VkFenceCreateInfo(const safe_VkFenceCreateInfo & src)1491 safe_VkFenceCreateInfo::safe_VkFenceCreateInfo(const safe_VkFenceCreateInfo& src)
1492 {
1493     sType = src.sType;
1494     flags = src.flags;
1495     pNext = SafePnextCopy(src.pNext);
1496 }
1497 
operator =(const safe_VkFenceCreateInfo & src)1498 safe_VkFenceCreateInfo& safe_VkFenceCreateInfo::operator=(const safe_VkFenceCreateInfo& src)
1499 {
1500     if (&src == this) return *this;
1501 
1502     if (pNext)
1503         FreePnextChain(pNext);
1504 
1505     sType = src.sType;
1506     flags = src.flags;
1507     pNext = SafePnextCopy(src.pNext);
1508 
1509     return *this;
1510 }
1511 
~safe_VkFenceCreateInfo()1512 safe_VkFenceCreateInfo::~safe_VkFenceCreateInfo()
1513 {
1514     if (pNext)
1515         FreePnextChain(pNext);
1516 }
1517 
initialize(const VkFenceCreateInfo * in_struct)1518 void safe_VkFenceCreateInfo::initialize(const VkFenceCreateInfo* in_struct)
1519 {
1520     sType = in_struct->sType;
1521     flags = in_struct->flags;
1522     pNext = SafePnextCopy(in_struct->pNext);
1523 }
1524 
initialize(const safe_VkFenceCreateInfo * src)1525 void safe_VkFenceCreateInfo::initialize(const safe_VkFenceCreateInfo* src)
1526 {
1527     sType = src->sType;
1528     flags = src->flags;
1529     pNext = SafePnextCopy(src->pNext);
1530 }
1531 
safe_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo * in_struct)1532 safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo* in_struct) :
1533     sType(in_struct->sType),
1534     flags(in_struct->flags)
1535 {
1536     pNext = SafePnextCopy(in_struct->pNext);
1537 }
1538 
safe_VkSemaphoreCreateInfo()1539 safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo() :
1540     pNext(nullptr)
1541 {}
1542 
safe_VkSemaphoreCreateInfo(const safe_VkSemaphoreCreateInfo & src)1543 safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo(const safe_VkSemaphoreCreateInfo& src)
1544 {
1545     sType = src.sType;
1546     flags = src.flags;
1547     pNext = SafePnextCopy(src.pNext);
1548 }
1549 
operator =(const safe_VkSemaphoreCreateInfo & src)1550 safe_VkSemaphoreCreateInfo& safe_VkSemaphoreCreateInfo::operator=(const safe_VkSemaphoreCreateInfo& src)
1551 {
1552     if (&src == this) return *this;
1553 
1554     if (pNext)
1555         FreePnextChain(pNext);
1556 
1557     sType = src.sType;
1558     flags = src.flags;
1559     pNext = SafePnextCopy(src.pNext);
1560 
1561     return *this;
1562 }
1563 
~safe_VkSemaphoreCreateInfo()1564 safe_VkSemaphoreCreateInfo::~safe_VkSemaphoreCreateInfo()
1565 {
1566     if (pNext)
1567         FreePnextChain(pNext);
1568 }
1569 
initialize(const VkSemaphoreCreateInfo * in_struct)1570 void safe_VkSemaphoreCreateInfo::initialize(const VkSemaphoreCreateInfo* in_struct)
1571 {
1572     sType = in_struct->sType;
1573     flags = in_struct->flags;
1574     pNext = SafePnextCopy(in_struct->pNext);
1575 }
1576 
initialize(const safe_VkSemaphoreCreateInfo * src)1577 void safe_VkSemaphoreCreateInfo::initialize(const safe_VkSemaphoreCreateInfo* src)
1578 {
1579     sType = src->sType;
1580     flags = src->flags;
1581     pNext = SafePnextCopy(src->pNext);
1582 }
1583 
safe_VkEventCreateInfo(const VkEventCreateInfo * in_struct)1584 safe_VkEventCreateInfo::safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct) :
1585     sType(in_struct->sType),
1586     flags(in_struct->flags)
1587 {
1588     pNext = SafePnextCopy(in_struct->pNext);
1589 }
1590 
safe_VkEventCreateInfo()1591 safe_VkEventCreateInfo::safe_VkEventCreateInfo() :
1592     pNext(nullptr)
1593 {}
1594 
safe_VkEventCreateInfo(const safe_VkEventCreateInfo & src)1595 safe_VkEventCreateInfo::safe_VkEventCreateInfo(const safe_VkEventCreateInfo& src)
1596 {
1597     sType = src.sType;
1598     flags = src.flags;
1599     pNext = SafePnextCopy(src.pNext);
1600 }
1601 
operator =(const safe_VkEventCreateInfo & src)1602 safe_VkEventCreateInfo& safe_VkEventCreateInfo::operator=(const safe_VkEventCreateInfo& src)
1603 {
1604     if (&src == this) return *this;
1605 
1606     if (pNext)
1607         FreePnextChain(pNext);
1608 
1609     sType = src.sType;
1610     flags = src.flags;
1611     pNext = SafePnextCopy(src.pNext);
1612 
1613     return *this;
1614 }
1615 
~safe_VkEventCreateInfo()1616 safe_VkEventCreateInfo::~safe_VkEventCreateInfo()
1617 {
1618     if (pNext)
1619         FreePnextChain(pNext);
1620 }
1621 
initialize(const VkEventCreateInfo * in_struct)1622 void safe_VkEventCreateInfo::initialize(const VkEventCreateInfo* in_struct)
1623 {
1624     sType = in_struct->sType;
1625     flags = in_struct->flags;
1626     pNext = SafePnextCopy(in_struct->pNext);
1627 }
1628 
initialize(const safe_VkEventCreateInfo * src)1629 void safe_VkEventCreateInfo::initialize(const safe_VkEventCreateInfo* src)
1630 {
1631     sType = src->sType;
1632     flags = src->flags;
1633     pNext = SafePnextCopy(src->pNext);
1634 }
1635 
safe_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo * in_struct)1636 safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo* in_struct) :
1637     sType(in_struct->sType),
1638     flags(in_struct->flags),
1639     queryType(in_struct->queryType),
1640     queryCount(in_struct->queryCount),
1641     pipelineStatistics(in_struct->pipelineStatistics)
1642 {
1643     pNext = SafePnextCopy(in_struct->pNext);
1644 }
1645 
safe_VkQueryPoolCreateInfo()1646 safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo() :
1647     pNext(nullptr)
1648 {}
1649 
safe_VkQueryPoolCreateInfo(const safe_VkQueryPoolCreateInfo & src)1650 safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const safe_VkQueryPoolCreateInfo& src)
1651 {
1652     sType = src.sType;
1653     flags = src.flags;
1654     queryType = src.queryType;
1655     queryCount = src.queryCount;
1656     pipelineStatistics = src.pipelineStatistics;
1657     pNext = SafePnextCopy(src.pNext);
1658 }
1659 
operator =(const safe_VkQueryPoolCreateInfo & src)1660 safe_VkQueryPoolCreateInfo& safe_VkQueryPoolCreateInfo::operator=(const safe_VkQueryPoolCreateInfo& src)
1661 {
1662     if (&src == this) return *this;
1663 
1664     if (pNext)
1665         FreePnextChain(pNext);
1666 
1667     sType = src.sType;
1668     flags = src.flags;
1669     queryType = src.queryType;
1670     queryCount = src.queryCount;
1671     pipelineStatistics = src.pipelineStatistics;
1672     pNext = SafePnextCopy(src.pNext);
1673 
1674     return *this;
1675 }
1676 
~safe_VkQueryPoolCreateInfo()1677 safe_VkQueryPoolCreateInfo::~safe_VkQueryPoolCreateInfo()
1678 {
1679     if (pNext)
1680         FreePnextChain(pNext);
1681 }
1682 
initialize(const VkQueryPoolCreateInfo * in_struct)1683 void safe_VkQueryPoolCreateInfo::initialize(const VkQueryPoolCreateInfo* in_struct)
1684 {
1685     sType = in_struct->sType;
1686     flags = in_struct->flags;
1687     queryType = in_struct->queryType;
1688     queryCount = in_struct->queryCount;
1689     pipelineStatistics = in_struct->pipelineStatistics;
1690     pNext = SafePnextCopy(in_struct->pNext);
1691 }
1692 
initialize(const safe_VkQueryPoolCreateInfo * src)1693 void safe_VkQueryPoolCreateInfo::initialize(const safe_VkQueryPoolCreateInfo* src)
1694 {
1695     sType = src->sType;
1696     flags = src->flags;
1697     queryType = src->queryType;
1698     queryCount = src->queryCount;
1699     pipelineStatistics = src->pipelineStatistics;
1700     pNext = SafePnextCopy(src->pNext);
1701 }
1702 
safe_VkBufferCreateInfo(const VkBufferCreateInfo * in_struct)1703 safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const VkBufferCreateInfo* in_struct) :
1704     sType(in_struct->sType),
1705     flags(in_struct->flags),
1706     size(in_struct->size),
1707     usage(in_struct->usage),
1708     sharingMode(in_struct->sharingMode),
1709     queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
1710     pQueueFamilyIndices(nullptr)
1711 {
1712     pNext = SafePnextCopy(in_struct->pNext);
1713     if (in_struct->pQueueFamilyIndices) {
1714         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1715         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1716     }
1717 }
1718 
safe_VkBufferCreateInfo()1719 safe_VkBufferCreateInfo::safe_VkBufferCreateInfo() :
1720     pNext(nullptr),
1721     pQueueFamilyIndices(nullptr)
1722 {}
1723 
safe_VkBufferCreateInfo(const safe_VkBufferCreateInfo & src)1724 safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const safe_VkBufferCreateInfo& src)
1725 {
1726     sType = src.sType;
1727     flags = src.flags;
1728     size = src.size;
1729     usage = src.usage;
1730     sharingMode = src.sharingMode;
1731     queueFamilyIndexCount = src.queueFamilyIndexCount;
1732     pQueueFamilyIndices = nullptr;
1733     pNext = SafePnextCopy(src.pNext);
1734     if (src.pQueueFamilyIndices) {
1735         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1736         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1737     }
1738 }
1739 
operator =(const safe_VkBufferCreateInfo & src)1740 safe_VkBufferCreateInfo& safe_VkBufferCreateInfo::operator=(const safe_VkBufferCreateInfo& src)
1741 {
1742     if (&src == this) return *this;
1743 
1744     if (pQueueFamilyIndices)
1745         delete[] pQueueFamilyIndices;
1746     if (pNext)
1747         FreePnextChain(pNext);
1748 
1749     sType = src.sType;
1750     flags = src.flags;
1751     size = src.size;
1752     usage = src.usage;
1753     sharingMode = src.sharingMode;
1754     queueFamilyIndexCount = src.queueFamilyIndexCount;
1755     pQueueFamilyIndices = nullptr;
1756     pNext = SafePnextCopy(src.pNext);
1757     if (src.pQueueFamilyIndices) {
1758         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1759         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1760     }
1761 
1762     return *this;
1763 }
1764 
~safe_VkBufferCreateInfo()1765 safe_VkBufferCreateInfo::~safe_VkBufferCreateInfo()
1766 {
1767     if (pQueueFamilyIndices)
1768         delete[] pQueueFamilyIndices;
1769     if (pNext)
1770         FreePnextChain(pNext);
1771 }
1772 
initialize(const VkBufferCreateInfo * in_struct)1773 void safe_VkBufferCreateInfo::initialize(const VkBufferCreateInfo* in_struct)
1774 {
1775     sType = in_struct->sType;
1776     flags = in_struct->flags;
1777     size = in_struct->size;
1778     usage = in_struct->usage;
1779     sharingMode = in_struct->sharingMode;
1780     queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
1781     pQueueFamilyIndices = nullptr;
1782     pNext = SafePnextCopy(in_struct->pNext);
1783     if (in_struct->pQueueFamilyIndices) {
1784         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1785         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1786     }
1787 }
1788 
initialize(const safe_VkBufferCreateInfo * src)1789 void safe_VkBufferCreateInfo::initialize(const safe_VkBufferCreateInfo* src)
1790 {
1791     sType = src->sType;
1792     flags = src->flags;
1793     size = src->size;
1794     usage = src->usage;
1795     sharingMode = src->sharingMode;
1796     queueFamilyIndexCount = src->queueFamilyIndexCount;
1797     pQueueFamilyIndices = nullptr;
1798     pNext = SafePnextCopy(src->pNext);
1799     if (src->pQueueFamilyIndices) {
1800         pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
1801         memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
1802     }
1803 }
1804 
safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo * in_struct)1805 safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct) :
1806     sType(in_struct->sType),
1807     flags(in_struct->flags),
1808     buffer(in_struct->buffer),
1809     format(in_struct->format),
1810     offset(in_struct->offset),
1811     range(in_struct->range)
1812 {
1813     pNext = SafePnextCopy(in_struct->pNext);
1814 }
1815 
safe_VkBufferViewCreateInfo()1816 safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo() :
1817     pNext(nullptr)
1818 {}
1819 
safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo & src)1820 safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& src)
1821 {
1822     sType = src.sType;
1823     flags = src.flags;
1824     buffer = src.buffer;
1825     format = src.format;
1826     offset = src.offset;
1827     range = src.range;
1828     pNext = SafePnextCopy(src.pNext);
1829 }
1830 
operator =(const safe_VkBufferViewCreateInfo & src)1831 safe_VkBufferViewCreateInfo& safe_VkBufferViewCreateInfo::operator=(const safe_VkBufferViewCreateInfo& src)
1832 {
1833     if (&src == this) return *this;
1834 
1835     if (pNext)
1836         FreePnextChain(pNext);
1837 
1838     sType = src.sType;
1839     flags = src.flags;
1840     buffer = src.buffer;
1841     format = src.format;
1842     offset = src.offset;
1843     range = src.range;
1844     pNext = SafePnextCopy(src.pNext);
1845 
1846     return *this;
1847 }
1848 
~safe_VkBufferViewCreateInfo()1849 safe_VkBufferViewCreateInfo::~safe_VkBufferViewCreateInfo()
1850 {
1851     if (pNext)
1852         FreePnextChain(pNext);
1853 }
1854 
initialize(const VkBufferViewCreateInfo * in_struct)1855 void safe_VkBufferViewCreateInfo::initialize(const VkBufferViewCreateInfo* in_struct)
1856 {
1857     sType = in_struct->sType;
1858     flags = in_struct->flags;
1859     buffer = in_struct->buffer;
1860     format = in_struct->format;
1861     offset = in_struct->offset;
1862     range = in_struct->range;
1863     pNext = SafePnextCopy(in_struct->pNext);
1864 }
1865 
initialize(const safe_VkBufferViewCreateInfo * src)1866 void safe_VkBufferViewCreateInfo::initialize(const safe_VkBufferViewCreateInfo* src)
1867 {
1868     sType = src->sType;
1869     flags = src->flags;
1870     buffer = src->buffer;
1871     format = src->format;
1872     offset = src->offset;
1873     range = src->range;
1874     pNext = SafePnextCopy(src->pNext);
1875 }
1876 
safe_VkImageCreateInfo(const VkImageCreateInfo * in_struct)1877 safe_VkImageCreateInfo::safe_VkImageCreateInfo(const VkImageCreateInfo* in_struct) :
1878     sType(in_struct->sType),
1879     flags(in_struct->flags),
1880     imageType(in_struct->imageType),
1881     format(in_struct->format),
1882     extent(in_struct->extent),
1883     mipLevels(in_struct->mipLevels),
1884     arrayLayers(in_struct->arrayLayers),
1885     samples(in_struct->samples),
1886     tiling(in_struct->tiling),
1887     usage(in_struct->usage),
1888     sharingMode(in_struct->sharingMode),
1889     queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
1890     pQueueFamilyIndices(nullptr),
1891     initialLayout(in_struct->initialLayout)
1892 {
1893     pNext = SafePnextCopy(in_struct->pNext);
1894     if (in_struct->pQueueFamilyIndices) {
1895         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1896         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1897     }
1898 }
1899 
safe_VkImageCreateInfo()1900 safe_VkImageCreateInfo::safe_VkImageCreateInfo() :
1901     pNext(nullptr),
1902     pQueueFamilyIndices(nullptr)
1903 {}
1904 
safe_VkImageCreateInfo(const safe_VkImageCreateInfo & src)1905 safe_VkImageCreateInfo::safe_VkImageCreateInfo(const safe_VkImageCreateInfo& src)
1906 {
1907     sType = src.sType;
1908     flags = src.flags;
1909     imageType = src.imageType;
1910     format = src.format;
1911     extent = src.extent;
1912     mipLevels = src.mipLevels;
1913     arrayLayers = src.arrayLayers;
1914     samples = src.samples;
1915     tiling = src.tiling;
1916     usage = src.usage;
1917     sharingMode = src.sharingMode;
1918     queueFamilyIndexCount = src.queueFamilyIndexCount;
1919     pQueueFamilyIndices = nullptr;
1920     initialLayout = src.initialLayout;
1921     pNext = SafePnextCopy(src.pNext);
1922     if (src.pQueueFamilyIndices) {
1923         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1924         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1925     }
1926 }
1927 
operator =(const safe_VkImageCreateInfo & src)1928 safe_VkImageCreateInfo& safe_VkImageCreateInfo::operator=(const safe_VkImageCreateInfo& src)
1929 {
1930     if (&src == this) return *this;
1931 
1932     if (pQueueFamilyIndices)
1933         delete[] pQueueFamilyIndices;
1934     if (pNext)
1935         FreePnextChain(pNext);
1936 
1937     sType = src.sType;
1938     flags = src.flags;
1939     imageType = src.imageType;
1940     format = src.format;
1941     extent = src.extent;
1942     mipLevels = src.mipLevels;
1943     arrayLayers = src.arrayLayers;
1944     samples = src.samples;
1945     tiling = src.tiling;
1946     usage = src.usage;
1947     sharingMode = src.sharingMode;
1948     queueFamilyIndexCount = src.queueFamilyIndexCount;
1949     pQueueFamilyIndices = nullptr;
1950     initialLayout = src.initialLayout;
1951     pNext = SafePnextCopy(src.pNext);
1952     if (src.pQueueFamilyIndices) {
1953         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1954         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1955     }
1956 
1957     return *this;
1958 }
1959 
~safe_VkImageCreateInfo()1960 safe_VkImageCreateInfo::~safe_VkImageCreateInfo()
1961 {
1962     if (pQueueFamilyIndices)
1963         delete[] pQueueFamilyIndices;
1964     if (pNext)
1965         FreePnextChain(pNext);
1966 }
1967 
initialize(const VkImageCreateInfo * in_struct)1968 void safe_VkImageCreateInfo::initialize(const VkImageCreateInfo* in_struct)
1969 {
1970     sType = in_struct->sType;
1971     flags = in_struct->flags;
1972     imageType = in_struct->imageType;
1973     format = in_struct->format;
1974     extent = in_struct->extent;
1975     mipLevels = in_struct->mipLevels;
1976     arrayLayers = in_struct->arrayLayers;
1977     samples = in_struct->samples;
1978     tiling = in_struct->tiling;
1979     usage = in_struct->usage;
1980     sharingMode = in_struct->sharingMode;
1981     queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
1982     pQueueFamilyIndices = nullptr;
1983     initialLayout = in_struct->initialLayout;
1984     pNext = SafePnextCopy(in_struct->pNext);
1985     if (in_struct->pQueueFamilyIndices) {
1986         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1987         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1988     }
1989 }
1990 
initialize(const safe_VkImageCreateInfo * src)1991 void safe_VkImageCreateInfo::initialize(const safe_VkImageCreateInfo* src)
1992 {
1993     sType = src->sType;
1994     flags = src->flags;
1995     imageType = src->imageType;
1996     format = src->format;
1997     extent = src->extent;
1998     mipLevels = src->mipLevels;
1999     arrayLayers = src->arrayLayers;
2000     samples = src->samples;
2001     tiling = src->tiling;
2002     usage = src->usage;
2003     sharingMode = src->sharingMode;
2004     queueFamilyIndexCount = src->queueFamilyIndexCount;
2005     pQueueFamilyIndices = nullptr;
2006     initialLayout = src->initialLayout;
2007     pNext = SafePnextCopy(src->pNext);
2008     if (src->pQueueFamilyIndices) {
2009         pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
2010         memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
2011     }
2012 }
2013 
safe_VkImageViewCreateInfo(const VkImageViewCreateInfo * in_struct)2014 safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const VkImageViewCreateInfo* in_struct) :
2015     sType(in_struct->sType),
2016     flags(in_struct->flags),
2017     image(in_struct->image),
2018     viewType(in_struct->viewType),
2019     format(in_struct->format),
2020     components(in_struct->components),
2021     subresourceRange(in_struct->subresourceRange)
2022 {
2023     pNext = SafePnextCopy(in_struct->pNext);
2024 }
2025 
safe_VkImageViewCreateInfo()2026 safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo() :
2027     pNext(nullptr)
2028 {}
2029 
safe_VkImageViewCreateInfo(const safe_VkImageViewCreateInfo & src)2030 safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const safe_VkImageViewCreateInfo& src)
2031 {
2032     sType = src.sType;
2033     flags = src.flags;
2034     image = src.image;
2035     viewType = src.viewType;
2036     format = src.format;
2037     components = src.components;
2038     subresourceRange = src.subresourceRange;
2039     pNext = SafePnextCopy(src.pNext);
2040 }
2041 
operator =(const safe_VkImageViewCreateInfo & src)2042 safe_VkImageViewCreateInfo& safe_VkImageViewCreateInfo::operator=(const safe_VkImageViewCreateInfo& src)
2043 {
2044     if (&src == this) return *this;
2045 
2046     if (pNext)
2047         FreePnextChain(pNext);
2048 
2049     sType = src.sType;
2050     flags = src.flags;
2051     image = src.image;
2052     viewType = src.viewType;
2053     format = src.format;
2054     components = src.components;
2055     subresourceRange = src.subresourceRange;
2056     pNext = SafePnextCopy(src.pNext);
2057 
2058     return *this;
2059 }
2060 
~safe_VkImageViewCreateInfo()2061 safe_VkImageViewCreateInfo::~safe_VkImageViewCreateInfo()
2062 {
2063     if (pNext)
2064         FreePnextChain(pNext);
2065 }
2066 
initialize(const VkImageViewCreateInfo * in_struct)2067 void safe_VkImageViewCreateInfo::initialize(const VkImageViewCreateInfo* in_struct)
2068 {
2069     sType = in_struct->sType;
2070     flags = in_struct->flags;
2071     image = in_struct->image;
2072     viewType = in_struct->viewType;
2073     format = in_struct->format;
2074     components = in_struct->components;
2075     subresourceRange = in_struct->subresourceRange;
2076     pNext = SafePnextCopy(in_struct->pNext);
2077 }
2078 
initialize(const safe_VkImageViewCreateInfo * src)2079 void safe_VkImageViewCreateInfo::initialize(const safe_VkImageViewCreateInfo* src)
2080 {
2081     sType = src->sType;
2082     flags = src->flags;
2083     image = src->image;
2084     viewType = src->viewType;
2085     format = src->format;
2086     components = src->components;
2087     subresourceRange = src->subresourceRange;
2088     pNext = SafePnextCopy(src->pNext);
2089 }
2090 
safe_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo * in_struct)2091 safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo* in_struct) :
2092     sType(in_struct->sType),
2093     flags(in_struct->flags),
2094     codeSize(in_struct->codeSize),
2095     pCode(nullptr)
2096 {
2097     pNext = SafePnextCopy(in_struct->pNext);
2098     if (in_struct->pCode) {
2099         pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2100         memcpy((void *)pCode, (void *)in_struct->pCode, codeSize);
2101     }
2102 }
2103 
safe_VkShaderModuleCreateInfo()2104 safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo() :
2105     pNext(nullptr),
2106     pCode(nullptr)
2107 {}
2108 
safe_VkShaderModuleCreateInfo(const safe_VkShaderModuleCreateInfo & src)2109 safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const safe_VkShaderModuleCreateInfo& src)
2110 {
2111     sType = src.sType;
2112     flags = src.flags;
2113     codeSize = src.codeSize;
2114     pCode = nullptr;
2115     pNext = SafePnextCopy(src.pNext);
2116     if (src.pCode) {
2117         pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2118         memcpy((void *)pCode, (void *)src.pCode, codeSize);
2119     }
2120 }
2121 
operator =(const safe_VkShaderModuleCreateInfo & src)2122 safe_VkShaderModuleCreateInfo& safe_VkShaderModuleCreateInfo::operator=(const safe_VkShaderModuleCreateInfo& src)
2123 {
2124     if (&src == this) return *this;
2125 
2126     if (pCode)
2127         delete[] reinterpret_cast<const uint8_t *>(pCode);
2128     if (pNext)
2129         FreePnextChain(pNext);
2130 
2131     sType = src.sType;
2132     flags = src.flags;
2133     codeSize = src.codeSize;
2134     pCode = nullptr;
2135     pNext = SafePnextCopy(src.pNext);
2136     if (src.pCode) {
2137         pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2138         memcpy((void *)pCode, (void *)src.pCode, codeSize);
2139     }
2140 
2141     return *this;
2142 }
2143 
~safe_VkShaderModuleCreateInfo()2144 safe_VkShaderModuleCreateInfo::~safe_VkShaderModuleCreateInfo()
2145 {
2146     if (pCode)
2147         delete[] reinterpret_cast<const uint8_t *>(pCode);
2148     if (pNext)
2149         FreePnextChain(pNext);
2150 }
2151 
initialize(const VkShaderModuleCreateInfo * in_struct)2152 void safe_VkShaderModuleCreateInfo::initialize(const VkShaderModuleCreateInfo* in_struct)
2153 {
2154     sType = in_struct->sType;
2155     flags = in_struct->flags;
2156     codeSize = in_struct->codeSize;
2157     pCode = nullptr;
2158     pNext = SafePnextCopy(in_struct->pNext);
2159     if (in_struct->pCode) {
2160         pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2161         memcpy((void *)pCode, (void *)in_struct->pCode, codeSize);
2162     }
2163 }
2164 
initialize(const safe_VkShaderModuleCreateInfo * src)2165 void safe_VkShaderModuleCreateInfo::initialize(const safe_VkShaderModuleCreateInfo* src)
2166 {
2167     sType = src->sType;
2168     flags = src->flags;
2169     codeSize = src->codeSize;
2170     pCode = nullptr;
2171     pNext = SafePnextCopy(src->pNext);
2172     if (src->pCode) {
2173         pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2174         memcpy((void *)pCode, (void *)src->pCode, codeSize);
2175     }
2176 }
2177 
safe_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo * in_struct)2178 safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo* in_struct) :
2179     sType(in_struct->sType),
2180     flags(in_struct->flags),
2181     initialDataSize(in_struct->initialDataSize),
2182     pInitialData(in_struct->pInitialData)
2183 {
2184     pNext = SafePnextCopy(in_struct->pNext);
2185 }
2186 
safe_VkPipelineCacheCreateInfo()2187 safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo() :
2188     pNext(nullptr),
2189     pInitialData(nullptr)
2190 {}
2191 
safe_VkPipelineCacheCreateInfo(const safe_VkPipelineCacheCreateInfo & src)2192 safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo(const safe_VkPipelineCacheCreateInfo& src)
2193 {
2194     sType = src.sType;
2195     flags = src.flags;
2196     initialDataSize = src.initialDataSize;
2197     pInitialData = src.pInitialData;
2198     pNext = SafePnextCopy(src.pNext);
2199 }
2200 
operator =(const safe_VkPipelineCacheCreateInfo & src)2201 safe_VkPipelineCacheCreateInfo& safe_VkPipelineCacheCreateInfo::operator=(const safe_VkPipelineCacheCreateInfo& src)
2202 {
2203     if (&src == this) return *this;
2204 
2205     if (pNext)
2206         FreePnextChain(pNext);
2207 
2208     sType = src.sType;
2209     flags = src.flags;
2210     initialDataSize = src.initialDataSize;
2211     pInitialData = src.pInitialData;
2212     pNext = SafePnextCopy(src.pNext);
2213 
2214     return *this;
2215 }
2216 
~safe_VkPipelineCacheCreateInfo()2217 safe_VkPipelineCacheCreateInfo::~safe_VkPipelineCacheCreateInfo()
2218 {
2219     if (pNext)
2220         FreePnextChain(pNext);
2221 }
2222 
initialize(const VkPipelineCacheCreateInfo * in_struct)2223 void safe_VkPipelineCacheCreateInfo::initialize(const VkPipelineCacheCreateInfo* in_struct)
2224 {
2225     sType = in_struct->sType;
2226     flags = in_struct->flags;
2227     initialDataSize = in_struct->initialDataSize;
2228     pInitialData = in_struct->pInitialData;
2229     pNext = SafePnextCopy(in_struct->pNext);
2230 }
2231 
initialize(const safe_VkPipelineCacheCreateInfo * src)2232 void safe_VkPipelineCacheCreateInfo::initialize(const safe_VkPipelineCacheCreateInfo* src)
2233 {
2234     sType = src->sType;
2235     flags = src->flags;
2236     initialDataSize = src->initialDataSize;
2237     pInitialData = src->pInitialData;
2238     pNext = SafePnextCopy(src->pNext);
2239 }
2240 
safe_VkSpecializationInfo(const VkSpecializationInfo * in_struct)2241 safe_VkSpecializationInfo::safe_VkSpecializationInfo(const VkSpecializationInfo* in_struct) :
2242     mapEntryCount(in_struct->mapEntryCount),
2243     pMapEntries(nullptr),
2244     dataSize(in_struct->dataSize),
2245     pData(in_struct->pData)
2246 {
2247     if (in_struct->pMapEntries) {
2248         pMapEntries = new VkSpecializationMapEntry[in_struct->mapEntryCount];
2249         memcpy ((void *)pMapEntries, (void *)in_struct->pMapEntries, sizeof(VkSpecializationMapEntry)*in_struct->mapEntryCount);
2250     }
2251 }
2252 
safe_VkSpecializationInfo()2253 safe_VkSpecializationInfo::safe_VkSpecializationInfo() :
2254     pMapEntries(nullptr),
2255     pData(nullptr)
2256 {}
2257 
safe_VkSpecializationInfo(const safe_VkSpecializationInfo & src)2258 safe_VkSpecializationInfo::safe_VkSpecializationInfo(const safe_VkSpecializationInfo& src)
2259 {
2260     mapEntryCount = src.mapEntryCount;
2261     pMapEntries = nullptr;
2262     dataSize = src.dataSize;
2263     pData = src.pData;
2264     if (src.pMapEntries) {
2265         pMapEntries = new VkSpecializationMapEntry[src.mapEntryCount];
2266         memcpy ((void *)pMapEntries, (void *)src.pMapEntries, sizeof(VkSpecializationMapEntry)*src.mapEntryCount);
2267     }
2268 }
2269 
operator =(const safe_VkSpecializationInfo & src)2270 safe_VkSpecializationInfo& safe_VkSpecializationInfo::operator=(const safe_VkSpecializationInfo& src)
2271 {
2272     if (&src == this) return *this;
2273 
2274     if (pMapEntries)
2275         delete[] pMapEntries;
2276 
2277     mapEntryCount = src.mapEntryCount;
2278     pMapEntries = nullptr;
2279     dataSize = src.dataSize;
2280     pData = src.pData;
2281     if (src.pMapEntries) {
2282         pMapEntries = new VkSpecializationMapEntry[src.mapEntryCount];
2283         memcpy ((void *)pMapEntries, (void *)src.pMapEntries, sizeof(VkSpecializationMapEntry)*src.mapEntryCount);
2284     }
2285 
2286     return *this;
2287 }
2288 
~safe_VkSpecializationInfo()2289 safe_VkSpecializationInfo::~safe_VkSpecializationInfo()
2290 {
2291     if (pMapEntries)
2292         delete[] pMapEntries;
2293 }
2294 
initialize(const VkSpecializationInfo * in_struct)2295 void safe_VkSpecializationInfo::initialize(const VkSpecializationInfo* in_struct)
2296 {
2297     mapEntryCount = in_struct->mapEntryCount;
2298     pMapEntries = nullptr;
2299     dataSize = in_struct->dataSize;
2300     pData = in_struct->pData;
2301     if (in_struct->pMapEntries) {
2302         pMapEntries = new VkSpecializationMapEntry[in_struct->mapEntryCount];
2303         memcpy ((void *)pMapEntries, (void *)in_struct->pMapEntries, sizeof(VkSpecializationMapEntry)*in_struct->mapEntryCount);
2304     }
2305 }
2306 
initialize(const safe_VkSpecializationInfo * src)2307 void safe_VkSpecializationInfo::initialize(const safe_VkSpecializationInfo* src)
2308 {
2309     mapEntryCount = src->mapEntryCount;
2310     pMapEntries = nullptr;
2311     dataSize = src->dataSize;
2312     pData = src->pData;
2313     if (src->pMapEntries) {
2314         pMapEntries = new VkSpecializationMapEntry[src->mapEntryCount];
2315         memcpy ((void *)pMapEntries, (void *)src->pMapEntries, sizeof(VkSpecializationMapEntry)*src->mapEntryCount);
2316     }
2317 }
2318 
safe_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo * in_struct)2319 safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo* in_struct) :
2320     sType(in_struct->sType),
2321     flags(in_struct->flags),
2322     stage(in_struct->stage),
2323     module(in_struct->module),
2324     pSpecializationInfo(nullptr)
2325 {
2326     pNext = SafePnextCopy(in_struct->pNext);
2327     pName = SafeStringCopy(in_struct->pName);
2328     if (in_struct->pSpecializationInfo)
2329         pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo);
2330 }
2331 
safe_VkPipelineShaderStageCreateInfo()2332 safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo() :
2333     pNext(nullptr),
2334     pName(nullptr),
2335     pSpecializationInfo(nullptr)
2336 {}
2337 
safe_VkPipelineShaderStageCreateInfo(const safe_VkPipelineShaderStageCreateInfo & src)2338 safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo(const safe_VkPipelineShaderStageCreateInfo& src)
2339 {
2340     sType = src.sType;
2341     flags = src.flags;
2342     stage = src.stage;
2343     module = src.module;
2344     pSpecializationInfo = nullptr;
2345     pNext = SafePnextCopy(src.pNext);
2346     pName = SafeStringCopy(src.pName);
2347     if (src.pSpecializationInfo)
2348         pSpecializationInfo = new safe_VkSpecializationInfo(*src.pSpecializationInfo);
2349 }
2350 
operator =(const safe_VkPipelineShaderStageCreateInfo & src)2351 safe_VkPipelineShaderStageCreateInfo& safe_VkPipelineShaderStageCreateInfo::operator=(const safe_VkPipelineShaderStageCreateInfo& src)
2352 {
2353     if (&src == this) return *this;
2354 
2355     if (pName) delete [] pName;
2356     if (pSpecializationInfo)
2357         delete pSpecializationInfo;
2358     if (pNext)
2359         FreePnextChain(pNext);
2360 
2361     sType = src.sType;
2362     flags = src.flags;
2363     stage = src.stage;
2364     module = src.module;
2365     pSpecializationInfo = nullptr;
2366     pNext = SafePnextCopy(src.pNext);
2367     pName = SafeStringCopy(src.pName);
2368     if (src.pSpecializationInfo)
2369         pSpecializationInfo = new safe_VkSpecializationInfo(*src.pSpecializationInfo);
2370 
2371     return *this;
2372 }
2373 
~safe_VkPipelineShaderStageCreateInfo()2374 safe_VkPipelineShaderStageCreateInfo::~safe_VkPipelineShaderStageCreateInfo()
2375 {
2376     if (pName) delete [] pName;
2377     if (pSpecializationInfo)
2378         delete pSpecializationInfo;
2379     if (pNext)
2380         FreePnextChain(pNext);
2381 }
2382 
initialize(const VkPipelineShaderStageCreateInfo * in_struct)2383 void safe_VkPipelineShaderStageCreateInfo::initialize(const VkPipelineShaderStageCreateInfo* in_struct)
2384 {
2385     sType = in_struct->sType;
2386     flags = in_struct->flags;
2387     stage = in_struct->stage;
2388     module = in_struct->module;
2389     pSpecializationInfo = nullptr;
2390     pNext = SafePnextCopy(in_struct->pNext);
2391     pName = SafeStringCopy(in_struct->pName);
2392     if (in_struct->pSpecializationInfo)
2393         pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo);
2394 }
2395 
initialize(const safe_VkPipelineShaderStageCreateInfo * src)2396 void safe_VkPipelineShaderStageCreateInfo::initialize(const safe_VkPipelineShaderStageCreateInfo* src)
2397 {
2398     sType = src->sType;
2399     flags = src->flags;
2400     stage = src->stage;
2401     module = src->module;
2402     pSpecializationInfo = nullptr;
2403     pNext = SafePnextCopy(src->pNext);
2404     pName = SafeStringCopy(src->pName);
2405     if (src->pSpecializationInfo)
2406         pSpecializationInfo = new safe_VkSpecializationInfo(*src->pSpecializationInfo);
2407 }
2408 
safe_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo * in_struct)2409 safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo* in_struct) :
2410     sType(in_struct->sType),
2411     flags(in_struct->flags),
2412     vertexBindingDescriptionCount(in_struct->vertexBindingDescriptionCount),
2413     pVertexBindingDescriptions(nullptr),
2414     vertexAttributeDescriptionCount(in_struct->vertexAttributeDescriptionCount),
2415     pVertexAttributeDescriptions(nullptr)
2416 {
2417     pNext = SafePnextCopy(in_struct->pNext);
2418     if (in_struct->pVertexBindingDescriptions) {
2419         pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount];
2420         memcpy ((void *)pVertexBindingDescriptions, (void *)in_struct->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*in_struct->vertexBindingDescriptionCount);
2421     }
2422     if (in_struct->pVertexAttributeDescriptions) {
2423         pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount];
2424         memcpy ((void *)pVertexAttributeDescriptions, (void *)in_struct->pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*in_struct->vertexAttributeDescriptionCount);
2425     }
2426 }
2427 
safe_VkPipelineVertexInputStateCreateInfo()2428 safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo() :
2429     pNext(nullptr),
2430     pVertexBindingDescriptions(nullptr),
2431     pVertexAttributeDescriptions(nullptr)
2432 {}
2433 
safe_VkPipelineVertexInputStateCreateInfo(const safe_VkPipelineVertexInputStateCreateInfo & src)2434 safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo(const safe_VkPipelineVertexInputStateCreateInfo& src)
2435 {
2436     sType = src.sType;
2437     flags = src.flags;
2438     vertexBindingDescriptionCount = src.vertexBindingDescriptionCount;
2439     pVertexBindingDescriptions = nullptr;
2440     vertexAttributeDescriptionCount = src.vertexAttributeDescriptionCount;
2441     pVertexAttributeDescriptions = nullptr;
2442     pNext = SafePnextCopy(src.pNext);
2443     if (src.pVertexBindingDescriptions) {
2444         pVertexBindingDescriptions = new VkVertexInputBindingDescription[src.vertexBindingDescriptionCount];
2445         memcpy ((void *)pVertexBindingDescriptions, (void *)src.pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src.vertexBindingDescriptionCount);
2446     }
2447     if (src.pVertexAttributeDescriptions) {
2448         pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[src.vertexAttributeDescriptionCount];
2449         memcpy ((void *)pVertexAttributeDescriptions, (void *)src.pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*src.vertexAttributeDescriptionCount);
2450     }
2451 }
2452 
operator =(const safe_VkPipelineVertexInputStateCreateInfo & src)2453 safe_VkPipelineVertexInputStateCreateInfo& safe_VkPipelineVertexInputStateCreateInfo::operator=(const safe_VkPipelineVertexInputStateCreateInfo& src)
2454 {
2455     if (&src == this) return *this;
2456 
2457     if (pVertexBindingDescriptions)
2458         delete[] pVertexBindingDescriptions;
2459     if (pVertexAttributeDescriptions)
2460         delete[] pVertexAttributeDescriptions;
2461     if (pNext)
2462         FreePnextChain(pNext);
2463 
2464     sType = src.sType;
2465     flags = src.flags;
2466     vertexBindingDescriptionCount = src.vertexBindingDescriptionCount;
2467     pVertexBindingDescriptions = nullptr;
2468     vertexAttributeDescriptionCount = src.vertexAttributeDescriptionCount;
2469     pVertexAttributeDescriptions = nullptr;
2470     pNext = SafePnextCopy(src.pNext);
2471     if (src.pVertexBindingDescriptions) {
2472         pVertexBindingDescriptions = new VkVertexInputBindingDescription[src.vertexBindingDescriptionCount];
2473         memcpy ((void *)pVertexBindingDescriptions, (void *)src.pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src.vertexBindingDescriptionCount);
2474     }
2475     if (src.pVertexAttributeDescriptions) {
2476         pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[src.vertexAttributeDescriptionCount];
2477         memcpy ((void *)pVertexAttributeDescriptions, (void *)src.pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*src.vertexAttributeDescriptionCount);
2478     }
2479 
2480     return *this;
2481 }
2482 
~safe_VkPipelineVertexInputStateCreateInfo()2483 safe_VkPipelineVertexInputStateCreateInfo::~safe_VkPipelineVertexInputStateCreateInfo()
2484 {
2485     if (pVertexBindingDescriptions)
2486         delete[] pVertexBindingDescriptions;
2487     if (pVertexAttributeDescriptions)
2488         delete[] pVertexAttributeDescriptions;
2489     if (pNext)
2490         FreePnextChain(pNext);
2491 }
2492 
initialize(const VkPipelineVertexInputStateCreateInfo * in_struct)2493 void safe_VkPipelineVertexInputStateCreateInfo::initialize(const VkPipelineVertexInputStateCreateInfo* in_struct)
2494 {
2495     sType = in_struct->sType;
2496     flags = in_struct->flags;
2497     vertexBindingDescriptionCount = in_struct->vertexBindingDescriptionCount;
2498     pVertexBindingDescriptions = nullptr;
2499     vertexAttributeDescriptionCount = in_struct->vertexAttributeDescriptionCount;
2500     pVertexAttributeDescriptions = nullptr;
2501     pNext = SafePnextCopy(in_struct->pNext);
2502     if (in_struct->pVertexBindingDescriptions) {
2503         pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount];
2504         memcpy ((void *)pVertexBindingDescriptions, (void *)in_struct->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*in_struct->vertexBindingDescriptionCount);
2505     }
2506     if (in_struct->pVertexAttributeDescriptions) {
2507         pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount];
2508         memcpy ((void *)pVertexAttributeDescriptions, (void *)in_struct->pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*in_struct->vertexAttributeDescriptionCount);
2509     }
2510 }
2511 
initialize(const safe_VkPipelineVertexInputStateCreateInfo * src)2512 void safe_VkPipelineVertexInputStateCreateInfo::initialize(const safe_VkPipelineVertexInputStateCreateInfo* src)
2513 {
2514     sType = src->sType;
2515     flags = src->flags;
2516     vertexBindingDescriptionCount = src->vertexBindingDescriptionCount;
2517     pVertexBindingDescriptions = nullptr;
2518     vertexAttributeDescriptionCount = src->vertexAttributeDescriptionCount;
2519     pVertexAttributeDescriptions = nullptr;
2520     pNext = SafePnextCopy(src->pNext);
2521     if (src->pVertexBindingDescriptions) {
2522         pVertexBindingDescriptions = new VkVertexInputBindingDescription[src->vertexBindingDescriptionCount];
2523         memcpy ((void *)pVertexBindingDescriptions, (void *)src->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src->vertexBindingDescriptionCount);
2524     }
2525     if (src->pVertexAttributeDescriptions) {
2526         pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[src->vertexAttributeDescriptionCount];
2527         memcpy ((void *)pVertexAttributeDescriptions, (void *)src->pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*src->vertexAttributeDescriptionCount);
2528     }
2529 }
2530 
safe_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo * in_struct)2531 safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo* in_struct) :
2532     sType(in_struct->sType),
2533     flags(in_struct->flags),
2534     topology(in_struct->topology),
2535     primitiveRestartEnable(in_struct->primitiveRestartEnable)
2536 {
2537     pNext = SafePnextCopy(in_struct->pNext);
2538 }
2539 
safe_VkPipelineInputAssemblyStateCreateInfo()2540 safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo() :
2541     pNext(nullptr)
2542 {}
2543 
safe_VkPipelineInputAssemblyStateCreateInfo(const safe_VkPipelineInputAssemblyStateCreateInfo & src)2544 safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo(const safe_VkPipelineInputAssemblyStateCreateInfo& src)
2545 {
2546     sType = src.sType;
2547     flags = src.flags;
2548     topology = src.topology;
2549     primitiveRestartEnable = src.primitiveRestartEnable;
2550     pNext = SafePnextCopy(src.pNext);
2551 }
2552 
operator =(const safe_VkPipelineInputAssemblyStateCreateInfo & src)2553 safe_VkPipelineInputAssemblyStateCreateInfo& safe_VkPipelineInputAssemblyStateCreateInfo::operator=(const safe_VkPipelineInputAssemblyStateCreateInfo& src)
2554 {
2555     if (&src == this) return *this;
2556 
2557     if (pNext)
2558         FreePnextChain(pNext);
2559 
2560     sType = src.sType;
2561     flags = src.flags;
2562     topology = src.topology;
2563     primitiveRestartEnable = src.primitiveRestartEnable;
2564     pNext = SafePnextCopy(src.pNext);
2565 
2566     return *this;
2567 }
2568 
~safe_VkPipelineInputAssemblyStateCreateInfo()2569 safe_VkPipelineInputAssemblyStateCreateInfo::~safe_VkPipelineInputAssemblyStateCreateInfo()
2570 {
2571     if (pNext)
2572         FreePnextChain(pNext);
2573 }
2574 
initialize(const VkPipelineInputAssemblyStateCreateInfo * in_struct)2575 void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct)
2576 {
2577     sType = in_struct->sType;
2578     flags = in_struct->flags;
2579     topology = in_struct->topology;
2580     primitiveRestartEnable = in_struct->primitiveRestartEnable;
2581     pNext = SafePnextCopy(in_struct->pNext);
2582 }
2583 
initialize(const safe_VkPipelineInputAssemblyStateCreateInfo * src)2584 void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* src)
2585 {
2586     sType = src->sType;
2587     flags = src->flags;
2588     topology = src->topology;
2589     primitiveRestartEnable = src->primitiveRestartEnable;
2590     pNext = SafePnextCopy(src->pNext);
2591 }
2592 
safe_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo * in_struct)2593 safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo* in_struct) :
2594     sType(in_struct->sType),
2595     flags(in_struct->flags),
2596     patchControlPoints(in_struct->patchControlPoints)
2597 {
2598     pNext = SafePnextCopy(in_struct->pNext);
2599 }
2600 
safe_VkPipelineTessellationStateCreateInfo()2601 safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo() :
2602     pNext(nullptr)
2603 {}
2604 
safe_VkPipelineTessellationStateCreateInfo(const safe_VkPipelineTessellationStateCreateInfo & src)2605 safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo(const safe_VkPipelineTessellationStateCreateInfo& src)
2606 {
2607     sType = src.sType;
2608     flags = src.flags;
2609     patchControlPoints = src.patchControlPoints;
2610     pNext = SafePnextCopy(src.pNext);
2611 }
2612 
operator =(const safe_VkPipelineTessellationStateCreateInfo & src)2613 safe_VkPipelineTessellationStateCreateInfo& safe_VkPipelineTessellationStateCreateInfo::operator=(const safe_VkPipelineTessellationStateCreateInfo& src)
2614 {
2615     if (&src == this) return *this;
2616 
2617     if (pNext)
2618         FreePnextChain(pNext);
2619 
2620     sType = src.sType;
2621     flags = src.flags;
2622     patchControlPoints = src.patchControlPoints;
2623     pNext = SafePnextCopy(src.pNext);
2624 
2625     return *this;
2626 }
2627 
~safe_VkPipelineTessellationStateCreateInfo()2628 safe_VkPipelineTessellationStateCreateInfo::~safe_VkPipelineTessellationStateCreateInfo()
2629 {
2630     if (pNext)
2631         FreePnextChain(pNext);
2632 }
2633 
initialize(const VkPipelineTessellationStateCreateInfo * in_struct)2634 void safe_VkPipelineTessellationStateCreateInfo::initialize(const VkPipelineTessellationStateCreateInfo* in_struct)
2635 {
2636     sType = in_struct->sType;
2637     flags = in_struct->flags;
2638     patchControlPoints = in_struct->patchControlPoints;
2639     pNext = SafePnextCopy(in_struct->pNext);
2640 }
2641 
initialize(const safe_VkPipelineTessellationStateCreateInfo * src)2642 void safe_VkPipelineTessellationStateCreateInfo::initialize(const safe_VkPipelineTessellationStateCreateInfo* src)
2643 {
2644     sType = src->sType;
2645     flags = src->flags;
2646     patchControlPoints = src->patchControlPoints;
2647     pNext = SafePnextCopy(src->pNext);
2648 }
2649 
safe_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo * in_struct,const bool is_dynamic_viewports,const bool is_dynamic_scissors)2650 safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, const bool is_dynamic_scissors) :
2651     sType(in_struct->sType),
2652     flags(in_struct->flags),
2653     viewportCount(in_struct->viewportCount),
2654     pViewports(nullptr),
2655     scissorCount(in_struct->scissorCount),
2656     pScissors(nullptr)
2657 {
2658     pNext = SafePnextCopy(in_struct->pNext);
2659     if (in_struct->pViewports && !is_dynamic_viewports) {
2660         pViewports = new VkViewport[in_struct->viewportCount];
2661         memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount);
2662     }
2663     else
2664         pViewports = NULL;
2665     if (in_struct->pScissors && !is_dynamic_scissors) {
2666         pScissors = new VkRect2D[in_struct->scissorCount];
2667         memcpy ((void *)pScissors, (void *)in_struct->pScissors, sizeof(VkRect2D)*in_struct->scissorCount);
2668     }
2669     else
2670         pScissors = NULL;
2671 }
2672 
safe_VkPipelineViewportStateCreateInfo()2673 safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo() :
2674     pNext(nullptr),
2675     pViewports(nullptr),
2676     pScissors(nullptr)
2677 {}
2678 
safe_VkPipelineViewportStateCreateInfo(const safe_VkPipelineViewportStateCreateInfo & src)2679 safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(const safe_VkPipelineViewportStateCreateInfo& src)
2680 {
2681     sType = src.sType;
2682     flags = src.flags;
2683     viewportCount = src.viewportCount;
2684     pViewports = nullptr;
2685     scissorCount = src.scissorCount;
2686     pScissors = nullptr;
2687     pNext = SafePnextCopy(src.pNext);
2688     if (src.pViewports) {
2689         pViewports = new VkViewport[src.viewportCount];
2690         memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount);
2691     }
2692     else
2693         pViewports = NULL;
2694     if (src.pScissors) {
2695         pScissors = new VkRect2D[src.scissorCount];
2696         memcpy ((void *)pScissors, (void *)src.pScissors, sizeof(VkRect2D)*src.scissorCount);
2697     }
2698     else
2699         pScissors = NULL;
2700 }
2701 
operator =(const safe_VkPipelineViewportStateCreateInfo & src)2702 safe_VkPipelineViewportStateCreateInfo& safe_VkPipelineViewportStateCreateInfo::operator=(const safe_VkPipelineViewportStateCreateInfo& src)
2703 {
2704     if (&src == this) return *this;
2705 
2706     if (pViewports)
2707         delete[] pViewports;
2708     if (pScissors)
2709         delete[] pScissors;
2710     if (pNext)
2711         FreePnextChain(pNext);
2712 
2713     sType = src.sType;
2714     flags = src.flags;
2715     viewportCount = src.viewportCount;
2716     pViewports = nullptr;
2717     scissorCount = src.scissorCount;
2718     pScissors = nullptr;
2719     pNext = SafePnextCopy(src.pNext);
2720     if (src.pViewports) {
2721         pViewports = new VkViewport[src.viewportCount];
2722         memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount);
2723     }
2724     else
2725         pViewports = NULL;
2726     if (src.pScissors) {
2727         pScissors = new VkRect2D[src.scissorCount];
2728         memcpy ((void *)pScissors, (void *)src.pScissors, sizeof(VkRect2D)*src.scissorCount);
2729     }
2730     else
2731         pScissors = NULL;
2732 
2733     return *this;
2734 }
2735 
~safe_VkPipelineViewportStateCreateInfo()2736 safe_VkPipelineViewportStateCreateInfo::~safe_VkPipelineViewportStateCreateInfo()
2737 {
2738     if (pViewports)
2739         delete[] pViewports;
2740     if (pScissors)
2741         delete[] pScissors;
2742     if (pNext)
2743         FreePnextChain(pNext);
2744 }
2745 
initialize(const VkPipelineViewportStateCreateInfo * in_struct,const bool is_dynamic_viewports,const bool is_dynamic_scissors)2746 void safe_VkPipelineViewportStateCreateInfo::initialize(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, const bool is_dynamic_scissors)
2747 {
2748     sType = in_struct->sType;
2749     flags = in_struct->flags;
2750     viewportCount = in_struct->viewportCount;
2751     pViewports = nullptr;
2752     scissorCount = in_struct->scissorCount;
2753     pScissors = nullptr;
2754     pNext = SafePnextCopy(in_struct->pNext);
2755     if (in_struct->pViewports && !is_dynamic_viewports) {
2756         pViewports = new VkViewport[in_struct->viewportCount];
2757         memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount);
2758     }
2759     else
2760         pViewports = NULL;
2761     if (in_struct->pScissors && !is_dynamic_scissors) {
2762         pScissors = new VkRect2D[in_struct->scissorCount];
2763         memcpy ((void *)pScissors, (void *)in_struct->pScissors, sizeof(VkRect2D)*in_struct->scissorCount);
2764     }
2765     else
2766         pScissors = NULL;
2767 }
2768 
initialize(const safe_VkPipelineViewportStateCreateInfo * src)2769 void safe_VkPipelineViewportStateCreateInfo::initialize(const safe_VkPipelineViewportStateCreateInfo* src)
2770 {
2771     sType = src->sType;
2772     flags = src->flags;
2773     viewportCount = src->viewportCount;
2774     pViewports = nullptr;
2775     scissorCount = src->scissorCount;
2776     pScissors = nullptr;
2777     pNext = SafePnextCopy(src->pNext);
2778     if (src->pViewports) {
2779         pViewports = new VkViewport[src->viewportCount];
2780         memcpy ((void *)pViewports, (void *)src->pViewports, sizeof(VkViewport)*src->viewportCount);
2781     }
2782     else
2783         pViewports = NULL;
2784     if (src->pScissors) {
2785         pScissors = new VkRect2D[src->scissorCount];
2786         memcpy ((void *)pScissors, (void *)src->pScissors, sizeof(VkRect2D)*src->scissorCount);
2787     }
2788     else
2789         pScissors = NULL;
2790 }
2791 
safe_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo * in_struct)2792 safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo* in_struct) :
2793     sType(in_struct->sType),
2794     flags(in_struct->flags),
2795     depthClampEnable(in_struct->depthClampEnable),
2796     rasterizerDiscardEnable(in_struct->rasterizerDiscardEnable),
2797     polygonMode(in_struct->polygonMode),
2798     cullMode(in_struct->cullMode),
2799     frontFace(in_struct->frontFace),
2800     depthBiasEnable(in_struct->depthBiasEnable),
2801     depthBiasConstantFactor(in_struct->depthBiasConstantFactor),
2802     depthBiasClamp(in_struct->depthBiasClamp),
2803     depthBiasSlopeFactor(in_struct->depthBiasSlopeFactor),
2804     lineWidth(in_struct->lineWidth)
2805 {
2806     pNext = SafePnextCopy(in_struct->pNext);
2807 }
2808 
safe_VkPipelineRasterizationStateCreateInfo()2809 safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo() :
2810     pNext(nullptr)
2811 {}
2812 
safe_VkPipelineRasterizationStateCreateInfo(const safe_VkPipelineRasterizationStateCreateInfo & src)2813 safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo(const safe_VkPipelineRasterizationStateCreateInfo& src)
2814 {
2815     sType = src.sType;
2816     flags = src.flags;
2817     depthClampEnable = src.depthClampEnable;
2818     rasterizerDiscardEnable = src.rasterizerDiscardEnable;
2819     polygonMode = src.polygonMode;
2820     cullMode = src.cullMode;
2821     frontFace = src.frontFace;
2822     depthBiasEnable = src.depthBiasEnable;
2823     depthBiasConstantFactor = src.depthBiasConstantFactor;
2824     depthBiasClamp = src.depthBiasClamp;
2825     depthBiasSlopeFactor = src.depthBiasSlopeFactor;
2826     lineWidth = src.lineWidth;
2827     pNext = SafePnextCopy(src.pNext);
2828 }
2829 
operator =(const safe_VkPipelineRasterizationStateCreateInfo & src)2830 safe_VkPipelineRasterizationStateCreateInfo& safe_VkPipelineRasterizationStateCreateInfo::operator=(const safe_VkPipelineRasterizationStateCreateInfo& src)
2831 {
2832     if (&src == this) return *this;
2833 
2834     if (pNext)
2835         FreePnextChain(pNext);
2836 
2837     sType = src.sType;
2838     flags = src.flags;
2839     depthClampEnable = src.depthClampEnable;
2840     rasterizerDiscardEnable = src.rasterizerDiscardEnable;
2841     polygonMode = src.polygonMode;
2842     cullMode = src.cullMode;
2843     frontFace = src.frontFace;
2844     depthBiasEnable = src.depthBiasEnable;
2845     depthBiasConstantFactor = src.depthBiasConstantFactor;
2846     depthBiasClamp = src.depthBiasClamp;
2847     depthBiasSlopeFactor = src.depthBiasSlopeFactor;
2848     lineWidth = src.lineWidth;
2849     pNext = SafePnextCopy(src.pNext);
2850 
2851     return *this;
2852 }
2853 
~safe_VkPipelineRasterizationStateCreateInfo()2854 safe_VkPipelineRasterizationStateCreateInfo::~safe_VkPipelineRasterizationStateCreateInfo()
2855 {
2856     if (pNext)
2857         FreePnextChain(pNext);
2858 }
2859 
initialize(const VkPipelineRasterizationStateCreateInfo * in_struct)2860 void safe_VkPipelineRasterizationStateCreateInfo::initialize(const VkPipelineRasterizationStateCreateInfo* in_struct)
2861 {
2862     sType = in_struct->sType;
2863     flags = in_struct->flags;
2864     depthClampEnable = in_struct->depthClampEnable;
2865     rasterizerDiscardEnable = in_struct->rasterizerDiscardEnable;
2866     polygonMode = in_struct->polygonMode;
2867     cullMode = in_struct->cullMode;
2868     frontFace = in_struct->frontFace;
2869     depthBiasEnable = in_struct->depthBiasEnable;
2870     depthBiasConstantFactor = in_struct->depthBiasConstantFactor;
2871     depthBiasClamp = in_struct->depthBiasClamp;
2872     depthBiasSlopeFactor = in_struct->depthBiasSlopeFactor;
2873     lineWidth = in_struct->lineWidth;
2874     pNext = SafePnextCopy(in_struct->pNext);
2875 }
2876 
initialize(const safe_VkPipelineRasterizationStateCreateInfo * src)2877 void safe_VkPipelineRasterizationStateCreateInfo::initialize(const safe_VkPipelineRasterizationStateCreateInfo* src)
2878 {
2879     sType = src->sType;
2880     flags = src->flags;
2881     depthClampEnable = src->depthClampEnable;
2882     rasterizerDiscardEnable = src->rasterizerDiscardEnable;
2883     polygonMode = src->polygonMode;
2884     cullMode = src->cullMode;
2885     frontFace = src->frontFace;
2886     depthBiasEnable = src->depthBiasEnable;
2887     depthBiasConstantFactor = src->depthBiasConstantFactor;
2888     depthBiasClamp = src->depthBiasClamp;
2889     depthBiasSlopeFactor = src->depthBiasSlopeFactor;
2890     lineWidth = src->lineWidth;
2891     pNext = SafePnextCopy(src->pNext);
2892 }
2893 
safe_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo * in_struct)2894 safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo* in_struct) :
2895     sType(in_struct->sType),
2896     flags(in_struct->flags),
2897     rasterizationSamples(in_struct->rasterizationSamples),
2898     sampleShadingEnable(in_struct->sampleShadingEnable),
2899     minSampleShading(in_struct->minSampleShading),
2900     pSampleMask(nullptr),
2901     alphaToCoverageEnable(in_struct->alphaToCoverageEnable),
2902     alphaToOneEnable(in_struct->alphaToOneEnable)
2903 {
2904     pNext = SafePnextCopy(in_struct->pNext);
2905     if (in_struct->pSampleMask) {
2906         pSampleMask = new VkSampleMask(*in_struct->pSampleMask);
2907     }
2908 }
2909 
safe_VkPipelineMultisampleStateCreateInfo()2910 safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo() :
2911     pNext(nullptr),
2912     pSampleMask(nullptr)
2913 {}
2914 
safe_VkPipelineMultisampleStateCreateInfo(const safe_VkPipelineMultisampleStateCreateInfo & src)2915 safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo(const safe_VkPipelineMultisampleStateCreateInfo& src)
2916 {
2917     sType = src.sType;
2918     flags = src.flags;
2919     rasterizationSamples = src.rasterizationSamples;
2920     sampleShadingEnable = src.sampleShadingEnable;
2921     minSampleShading = src.minSampleShading;
2922     pSampleMask = nullptr;
2923     alphaToCoverageEnable = src.alphaToCoverageEnable;
2924     alphaToOneEnable = src.alphaToOneEnable;
2925     pNext = SafePnextCopy(src.pNext);
2926     if (src.pSampleMask) {
2927         pSampleMask = new VkSampleMask(*src.pSampleMask);
2928     }
2929 }
2930 
operator =(const safe_VkPipelineMultisampleStateCreateInfo & src)2931 safe_VkPipelineMultisampleStateCreateInfo& safe_VkPipelineMultisampleStateCreateInfo::operator=(const safe_VkPipelineMultisampleStateCreateInfo& src)
2932 {
2933     if (&src == this) return *this;
2934 
2935     if (pSampleMask)
2936         delete pSampleMask;
2937     if (pNext)
2938         FreePnextChain(pNext);
2939 
2940     sType = src.sType;
2941     flags = src.flags;
2942     rasterizationSamples = src.rasterizationSamples;
2943     sampleShadingEnable = src.sampleShadingEnable;
2944     minSampleShading = src.minSampleShading;
2945     pSampleMask = nullptr;
2946     alphaToCoverageEnable = src.alphaToCoverageEnable;
2947     alphaToOneEnable = src.alphaToOneEnable;
2948     pNext = SafePnextCopy(src.pNext);
2949     if (src.pSampleMask) {
2950         pSampleMask = new VkSampleMask(*src.pSampleMask);
2951     }
2952 
2953     return *this;
2954 }
2955 
~safe_VkPipelineMultisampleStateCreateInfo()2956 safe_VkPipelineMultisampleStateCreateInfo::~safe_VkPipelineMultisampleStateCreateInfo()
2957 {
2958     if (pSampleMask)
2959         delete pSampleMask;
2960     if (pNext)
2961         FreePnextChain(pNext);
2962 }
2963 
initialize(const VkPipelineMultisampleStateCreateInfo * in_struct)2964 void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMultisampleStateCreateInfo* in_struct)
2965 {
2966     sType = in_struct->sType;
2967     flags = in_struct->flags;
2968     rasterizationSamples = in_struct->rasterizationSamples;
2969     sampleShadingEnable = in_struct->sampleShadingEnable;
2970     minSampleShading = in_struct->minSampleShading;
2971     pSampleMask = nullptr;
2972     alphaToCoverageEnable = in_struct->alphaToCoverageEnable;
2973     alphaToOneEnable = in_struct->alphaToOneEnable;
2974     pNext = SafePnextCopy(in_struct->pNext);
2975     if (in_struct->pSampleMask) {
2976         pSampleMask = new VkSampleMask(*in_struct->pSampleMask);
2977     }
2978 }
2979 
initialize(const safe_VkPipelineMultisampleStateCreateInfo * src)2980 void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipelineMultisampleStateCreateInfo* src)
2981 {
2982     sType = src->sType;
2983     flags = src->flags;
2984     rasterizationSamples = src->rasterizationSamples;
2985     sampleShadingEnable = src->sampleShadingEnable;
2986     minSampleShading = src->minSampleShading;
2987     pSampleMask = nullptr;
2988     alphaToCoverageEnable = src->alphaToCoverageEnable;
2989     alphaToOneEnable = src->alphaToOneEnable;
2990     pNext = SafePnextCopy(src->pNext);
2991     if (src->pSampleMask) {
2992         pSampleMask = new VkSampleMask(*src->pSampleMask);
2993     }
2994 }
2995 
safe_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo * in_struct)2996 safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo* in_struct) :
2997     sType(in_struct->sType),
2998     flags(in_struct->flags),
2999     depthTestEnable(in_struct->depthTestEnable),
3000     depthWriteEnable(in_struct->depthWriteEnable),
3001     depthCompareOp(in_struct->depthCompareOp),
3002     depthBoundsTestEnable(in_struct->depthBoundsTestEnable),
3003     stencilTestEnable(in_struct->stencilTestEnable),
3004     front(in_struct->front),
3005     back(in_struct->back),
3006     minDepthBounds(in_struct->minDepthBounds),
3007     maxDepthBounds(in_struct->maxDepthBounds)
3008 {
3009     pNext = SafePnextCopy(in_struct->pNext);
3010 }
3011 
safe_VkPipelineDepthStencilStateCreateInfo()3012 safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo() :
3013     pNext(nullptr)
3014 {}
3015 
safe_VkPipelineDepthStencilStateCreateInfo(const safe_VkPipelineDepthStencilStateCreateInfo & src)3016 safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo(const safe_VkPipelineDepthStencilStateCreateInfo& src)
3017 {
3018     sType = src.sType;
3019     flags = src.flags;
3020     depthTestEnable = src.depthTestEnable;
3021     depthWriteEnable = src.depthWriteEnable;
3022     depthCompareOp = src.depthCompareOp;
3023     depthBoundsTestEnable = src.depthBoundsTestEnable;
3024     stencilTestEnable = src.stencilTestEnable;
3025     front = src.front;
3026     back = src.back;
3027     minDepthBounds = src.minDepthBounds;
3028     maxDepthBounds = src.maxDepthBounds;
3029     pNext = SafePnextCopy(src.pNext);
3030 }
3031 
operator =(const safe_VkPipelineDepthStencilStateCreateInfo & src)3032 safe_VkPipelineDepthStencilStateCreateInfo& safe_VkPipelineDepthStencilStateCreateInfo::operator=(const safe_VkPipelineDepthStencilStateCreateInfo& src)
3033 {
3034     if (&src == this) return *this;
3035 
3036     if (pNext)
3037         FreePnextChain(pNext);
3038 
3039     sType = src.sType;
3040     flags = src.flags;
3041     depthTestEnable = src.depthTestEnable;
3042     depthWriteEnable = src.depthWriteEnable;
3043     depthCompareOp = src.depthCompareOp;
3044     depthBoundsTestEnable = src.depthBoundsTestEnable;
3045     stencilTestEnable = src.stencilTestEnable;
3046     front = src.front;
3047     back = src.back;
3048     minDepthBounds = src.minDepthBounds;
3049     maxDepthBounds = src.maxDepthBounds;
3050     pNext = SafePnextCopy(src.pNext);
3051 
3052     return *this;
3053 }
3054 
~safe_VkPipelineDepthStencilStateCreateInfo()3055 safe_VkPipelineDepthStencilStateCreateInfo::~safe_VkPipelineDepthStencilStateCreateInfo()
3056 {
3057     if (pNext)
3058         FreePnextChain(pNext);
3059 }
3060 
initialize(const VkPipelineDepthStencilStateCreateInfo * in_struct)3061 void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct)
3062 {
3063     sType = in_struct->sType;
3064     flags = in_struct->flags;
3065     depthTestEnable = in_struct->depthTestEnable;
3066     depthWriteEnable = in_struct->depthWriteEnable;
3067     depthCompareOp = in_struct->depthCompareOp;
3068     depthBoundsTestEnable = in_struct->depthBoundsTestEnable;
3069     stencilTestEnable = in_struct->stencilTestEnable;
3070     front = in_struct->front;
3071     back = in_struct->back;
3072     minDepthBounds = in_struct->minDepthBounds;
3073     maxDepthBounds = in_struct->maxDepthBounds;
3074     pNext = SafePnextCopy(in_struct->pNext);
3075 }
3076 
initialize(const safe_VkPipelineDepthStencilStateCreateInfo * src)3077 void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const safe_VkPipelineDepthStencilStateCreateInfo* src)
3078 {
3079     sType = src->sType;
3080     flags = src->flags;
3081     depthTestEnable = src->depthTestEnable;
3082     depthWriteEnable = src->depthWriteEnable;
3083     depthCompareOp = src->depthCompareOp;
3084     depthBoundsTestEnable = src->depthBoundsTestEnable;
3085     stencilTestEnable = src->stencilTestEnable;
3086     front = src->front;
3087     back = src->back;
3088     minDepthBounds = src->minDepthBounds;
3089     maxDepthBounds = src->maxDepthBounds;
3090     pNext = SafePnextCopy(src->pNext);
3091 }
3092 
safe_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo * in_struct)3093 safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo* in_struct) :
3094     sType(in_struct->sType),
3095     flags(in_struct->flags),
3096     logicOpEnable(in_struct->logicOpEnable),
3097     logicOp(in_struct->logicOp),
3098     attachmentCount(in_struct->attachmentCount),
3099     pAttachments(nullptr)
3100 {
3101     pNext = SafePnextCopy(in_struct->pNext);
3102     if (in_struct->pAttachments) {
3103         pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount];
3104         memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*in_struct->attachmentCount);
3105     }
3106     for (uint32_t i = 0; i < 4; ++i) {
3107         blendConstants[i] = in_struct->blendConstants[i];
3108     }
3109 }
3110 
safe_VkPipelineColorBlendStateCreateInfo()3111 safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo() :
3112     pNext(nullptr),
3113     pAttachments(nullptr)
3114 {}
3115 
safe_VkPipelineColorBlendStateCreateInfo(const safe_VkPipelineColorBlendStateCreateInfo & src)3116 safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo(const safe_VkPipelineColorBlendStateCreateInfo& src)
3117 {
3118     sType = src.sType;
3119     flags = src.flags;
3120     logicOpEnable = src.logicOpEnable;
3121     logicOp = src.logicOp;
3122     attachmentCount = src.attachmentCount;
3123     pAttachments = nullptr;
3124     pNext = SafePnextCopy(src.pNext);
3125     if (src.pAttachments) {
3126         pAttachments = new VkPipelineColorBlendAttachmentState[src.attachmentCount];
3127         memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src.attachmentCount);
3128     }
3129     for (uint32_t i = 0; i < 4; ++i) {
3130         blendConstants[i] = src.blendConstants[i];
3131     }
3132 }
3133 
operator =(const safe_VkPipelineColorBlendStateCreateInfo & src)3134 safe_VkPipelineColorBlendStateCreateInfo& safe_VkPipelineColorBlendStateCreateInfo::operator=(const safe_VkPipelineColorBlendStateCreateInfo& src)
3135 {
3136     if (&src == this) return *this;
3137 
3138     if (pAttachments)
3139         delete[] pAttachments;
3140     if (pNext)
3141         FreePnextChain(pNext);
3142 
3143     sType = src.sType;
3144     flags = src.flags;
3145     logicOpEnable = src.logicOpEnable;
3146     logicOp = src.logicOp;
3147     attachmentCount = src.attachmentCount;
3148     pAttachments = nullptr;
3149     pNext = SafePnextCopy(src.pNext);
3150     if (src.pAttachments) {
3151         pAttachments = new VkPipelineColorBlendAttachmentState[src.attachmentCount];
3152         memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src.attachmentCount);
3153     }
3154     for (uint32_t i = 0; i < 4; ++i) {
3155         blendConstants[i] = src.blendConstants[i];
3156     }
3157 
3158     return *this;
3159 }
3160 
~safe_VkPipelineColorBlendStateCreateInfo()3161 safe_VkPipelineColorBlendStateCreateInfo::~safe_VkPipelineColorBlendStateCreateInfo()
3162 {
3163     if (pAttachments)
3164         delete[] pAttachments;
3165     if (pNext)
3166         FreePnextChain(pNext);
3167 }
3168 
initialize(const VkPipelineColorBlendStateCreateInfo * in_struct)3169 void safe_VkPipelineColorBlendStateCreateInfo::initialize(const VkPipelineColorBlendStateCreateInfo* in_struct)
3170 {
3171     sType = in_struct->sType;
3172     flags = in_struct->flags;
3173     logicOpEnable = in_struct->logicOpEnable;
3174     logicOp = in_struct->logicOp;
3175     attachmentCount = in_struct->attachmentCount;
3176     pAttachments = nullptr;
3177     pNext = SafePnextCopy(in_struct->pNext);
3178     if (in_struct->pAttachments) {
3179         pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount];
3180         memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*in_struct->attachmentCount);
3181     }
3182     for (uint32_t i = 0; i < 4; ++i) {
3183         blendConstants[i] = in_struct->blendConstants[i];
3184     }
3185 }
3186 
initialize(const safe_VkPipelineColorBlendStateCreateInfo * src)3187 void safe_VkPipelineColorBlendStateCreateInfo::initialize(const safe_VkPipelineColorBlendStateCreateInfo* src)
3188 {
3189     sType = src->sType;
3190     flags = src->flags;
3191     logicOpEnable = src->logicOpEnable;
3192     logicOp = src->logicOp;
3193     attachmentCount = src->attachmentCount;
3194     pAttachments = nullptr;
3195     pNext = SafePnextCopy(src->pNext);
3196     if (src->pAttachments) {
3197         pAttachments = new VkPipelineColorBlendAttachmentState[src->attachmentCount];
3198         memcpy ((void *)pAttachments, (void *)src->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src->attachmentCount);
3199     }
3200     for (uint32_t i = 0; i < 4; ++i) {
3201         blendConstants[i] = src->blendConstants[i];
3202     }
3203 }
3204 
safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo * in_struct)3205 safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct) :
3206     sType(in_struct->sType),
3207     flags(in_struct->flags),
3208     dynamicStateCount(in_struct->dynamicStateCount),
3209     pDynamicStates(nullptr)
3210 {
3211     pNext = SafePnextCopy(in_struct->pNext);
3212     if (in_struct->pDynamicStates) {
3213         pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount];
3214         memcpy ((void *)pDynamicStates, (void *)in_struct->pDynamicStates, sizeof(VkDynamicState)*in_struct->dynamicStateCount);
3215     }
3216 }
3217 
safe_VkPipelineDynamicStateCreateInfo()3218 safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo() :
3219     pNext(nullptr),
3220     pDynamicStates(nullptr)
3221 {}
3222 
safe_VkPipelineDynamicStateCreateInfo(const safe_VkPipelineDynamicStateCreateInfo & src)3223 safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const safe_VkPipelineDynamicStateCreateInfo& src)
3224 {
3225     sType = src.sType;
3226     flags = src.flags;
3227     dynamicStateCount = src.dynamicStateCount;
3228     pDynamicStates = nullptr;
3229     pNext = SafePnextCopy(src.pNext);
3230     if (src.pDynamicStates) {
3231         pDynamicStates = new VkDynamicState[src.dynamicStateCount];
3232         memcpy ((void *)pDynamicStates, (void *)src.pDynamicStates, sizeof(VkDynamicState)*src.dynamicStateCount);
3233     }
3234 }
3235 
operator =(const safe_VkPipelineDynamicStateCreateInfo & src)3236 safe_VkPipelineDynamicStateCreateInfo& safe_VkPipelineDynamicStateCreateInfo::operator=(const safe_VkPipelineDynamicStateCreateInfo& src)
3237 {
3238     if (&src == this) return *this;
3239 
3240     if (pDynamicStates)
3241         delete[] pDynamicStates;
3242     if (pNext)
3243         FreePnextChain(pNext);
3244 
3245     sType = src.sType;
3246     flags = src.flags;
3247     dynamicStateCount = src.dynamicStateCount;
3248     pDynamicStates = nullptr;
3249     pNext = SafePnextCopy(src.pNext);
3250     if (src.pDynamicStates) {
3251         pDynamicStates = new VkDynamicState[src.dynamicStateCount];
3252         memcpy ((void *)pDynamicStates, (void *)src.pDynamicStates, sizeof(VkDynamicState)*src.dynamicStateCount);
3253     }
3254 
3255     return *this;
3256 }
3257 
~safe_VkPipelineDynamicStateCreateInfo()3258 safe_VkPipelineDynamicStateCreateInfo::~safe_VkPipelineDynamicStateCreateInfo()
3259 {
3260     if (pDynamicStates)
3261         delete[] pDynamicStates;
3262     if (pNext)
3263         FreePnextChain(pNext);
3264 }
3265 
initialize(const VkPipelineDynamicStateCreateInfo * in_struct)3266 void safe_VkPipelineDynamicStateCreateInfo::initialize(const VkPipelineDynamicStateCreateInfo* in_struct)
3267 {
3268     sType = in_struct->sType;
3269     flags = in_struct->flags;
3270     dynamicStateCount = in_struct->dynamicStateCount;
3271     pDynamicStates = nullptr;
3272     pNext = SafePnextCopy(in_struct->pNext);
3273     if (in_struct->pDynamicStates) {
3274         pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount];
3275         memcpy ((void *)pDynamicStates, (void *)in_struct->pDynamicStates, sizeof(VkDynamicState)*in_struct->dynamicStateCount);
3276     }
3277 }
3278 
initialize(const safe_VkPipelineDynamicStateCreateInfo * src)3279 void safe_VkPipelineDynamicStateCreateInfo::initialize(const safe_VkPipelineDynamicStateCreateInfo* src)
3280 {
3281     sType = src->sType;
3282     flags = src->flags;
3283     dynamicStateCount = src->dynamicStateCount;
3284     pDynamicStates = nullptr;
3285     pNext = SafePnextCopy(src->pNext);
3286     if (src->pDynamicStates) {
3287         pDynamicStates = new VkDynamicState[src->dynamicStateCount];
3288         memcpy ((void *)pDynamicStates, (void *)src->pDynamicStates, sizeof(VkDynamicState)*src->dynamicStateCount);
3289     }
3290 }
3291 
safe_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo * in_struct,const bool uses_color_attachment,const bool uses_depthstencil_attachment)3292 safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, const bool uses_depthstencil_attachment) :
3293     sType(in_struct->sType),
3294     flags(in_struct->flags),
3295     stageCount(in_struct->stageCount),
3296     pStages(nullptr),
3297     pVertexInputState(nullptr),
3298     pInputAssemblyState(nullptr),
3299     pTessellationState(nullptr),
3300     pViewportState(nullptr),
3301     pRasterizationState(nullptr),
3302     pMultisampleState(nullptr),
3303     pDepthStencilState(nullptr),
3304     pColorBlendState(nullptr),
3305     pDynamicState(nullptr),
3306     layout(in_struct->layout),
3307     renderPass(in_struct->renderPass),
3308     subpass(in_struct->subpass),
3309     basePipelineHandle(in_struct->basePipelineHandle),
3310     basePipelineIndex(in_struct->basePipelineIndex)
3311 {
3312     pNext = SafePnextCopy(in_struct->pNext);
3313     if (stageCount && in_struct->pStages) {
3314         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3315         for (uint32_t i = 0; i < stageCount; ++i) {
3316             pStages[i].initialize(&in_struct->pStages[i]);
3317         }
3318     }
3319     if (in_struct->pVertexInputState)
3320         pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(in_struct->pVertexInputState);
3321     else
3322         pVertexInputState = NULL;
3323     if (in_struct->pInputAssemblyState)
3324         pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(in_struct->pInputAssemblyState);
3325     else
3326         pInputAssemblyState = NULL;
3327     bool has_tessellation_stage = false;
3328     if (stageCount && pStages)
3329         for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i)
3330             if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3331                 has_tessellation_stage = true;
3332     if (in_struct->pTessellationState && has_tessellation_stage)
3333         pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(in_struct->pTessellationState);
3334     else
3335         pTessellationState = NULL; // original pTessellationState pointer ignored
3336     bool has_rasterization = in_struct->pRasterizationState ? !in_struct->pRasterizationState->rasterizerDiscardEnable : false;
3337     if (in_struct->pViewportState && has_rasterization) {
3338         bool is_dynamic_viewports = false;
3339         bool is_dynamic_scissors = false;
3340         if (in_struct->pDynamicState && in_struct->pDynamicState->pDynamicStates) {
3341             for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_viewports; ++i)
3342                 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_VIEWPORT)
3343                     is_dynamic_viewports = true;
3344             for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_scissors; ++i)
3345                 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_SCISSOR)
3346                     is_dynamic_scissors = true;
3347         }
3348         pViewportState = new safe_VkPipelineViewportStateCreateInfo(in_struct->pViewportState, is_dynamic_viewports, is_dynamic_scissors);
3349     } else
3350         pViewportState = NULL; // original pViewportState pointer ignored
3351     if (in_struct->pRasterizationState)
3352         pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(in_struct->pRasterizationState);
3353     else
3354         pRasterizationState = NULL;
3355     if (in_struct->pMultisampleState && has_rasterization)
3356         pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(in_struct->pMultisampleState);
3357     else
3358         pMultisampleState = NULL; // original pMultisampleState pointer ignored
3359     // needs a tracked subpass state uses_depthstencil_attachment
3360     if (in_struct->pDepthStencilState && has_rasterization && uses_depthstencil_attachment)
3361         pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(in_struct->pDepthStencilState);
3362     else
3363         pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3364     // needs a tracked subpass state usesColorAttachment
3365     if (in_struct->pColorBlendState && has_rasterization && uses_color_attachment)
3366         pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(in_struct->pColorBlendState);
3367     else
3368         pColorBlendState = NULL; // original pColorBlendState pointer ignored
3369     if (in_struct->pDynamicState)
3370         pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(in_struct->pDynamicState);
3371     else
3372         pDynamicState = NULL;
3373 }
3374 
safe_VkGraphicsPipelineCreateInfo()3375 safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo() :
3376     pNext(nullptr),
3377     pStages(nullptr),
3378     pVertexInputState(nullptr),
3379     pInputAssemblyState(nullptr),
3380     pTessellationState(nullptr),
3381     pViewportState(nullptr),
3382     pRasterizationState(nullptr),
3383     pMultisampleState(nullptr),
3384     pDepthStencilState(nullptr),
3385     pColorBlendState(nullptr),
3386     pDynamicState(nullptr)
3387 {}
3388 
safe_VkGraphicsPipelineCreateInfo(const safe_VkGraphicsPipelineCreateInfo & src)3389 safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const safe_VkGraphicsPipelineCreateInfo& src)
3390 {
3391     sType = src.sType;
3392     flags = src.flags;
3393     stageCount = src.stageCount;
3394     pStages = nullptr;
3395     pVertexInputState = nullptr;
3396     pInputAssemblyState = nullptr;
3397     pTessellationState = nullptr;
3398     pViewportState = nullptr;
3399     pRasterizationState = nullptr;
3400     pMultisampleState = nullptr;
3401     pDepthStencilState = nullptr;
3402     pColorBlendState = nullptr;
3403     pDynamicState = nullptr;
3404     layout = src.layout;
3405     renderPass = src.renderPass;
3406     subpass = src.subpass;
3407     basePipelineHandle = src.basePipelineHandle;
3408     basePipelineIndex = src.basePipelineIndex;
3409     pNext = SafePnextCopy(src.pNext);
3410     if (stageCount && src.pStages) {
3411         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3412         for (uint32_t i = 0; i < stageCount; ++i) {
3413             pStages[i].initialize(&src.pStages[i]);
3414         }
3415     }
3416     if (src.pVertexInputState)
3417         pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src.pVertexInputState);
3418     else
3419         pVertexInputState = NULL;
3420     if (src.pInputAssemblyState)
3421         pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src.pInputAssemblyState);
3422     else
3423         pInputAssemblyState = NULL;
3424     bool has_tessellation_stage = false;
3425     if (stageCount && pStages)
3426         for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i)
3427             if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3428                 has_tessellation_stage = true;
3429     if (src.pTessellationState && has_tessellation_stage)
3430         pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src.pTessellationState);
3431     else
3432         pTessellationState = NULL; // original pTessellationState pointer ignored
3433     bool has_rasterization = src.pRasterizationState ? !src.pRasterizationState->rasterizerDiscardEnable : false;
3434     if (src.pViewportState && has_rasterization) {
3435         pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src.pViewportState);
3436     } else
3437         pViewportState = NULL; // original pViewportState pointer ignored
3438     if (src.pRasterizationState)
3439         pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src.pRasterizationState);
3440     else
3441         pRasterizationState = NULL;
3442     if (src.pMultisampleState && has_rasterization)
3443         pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src.pMultisampleState);
3444     else
3445         pMultisampleState = NULL; // original pMultisampleState pointer ignored
3446     if (src.pDepthStencilState && has_rasterization)
3447         pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src.pDepthStencilState);
3448     else
3449         pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3450     if (src.pColorBlendState && has_rasterization)
3451         pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src.pColorBlendState);
3452     else
3453         pColorBlendState = NULL; // original pColorBlendState pointer ignored
3454     if (src.pDynamicState)
3455         pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src.pDynamicState);
3456     else
3457         pDynamicState = NULL;
3458 }
3459 
operator =(const safe_VkGraphicsPipelineCreateInfo & src)3460 safe_VkGraphicsPipelineCreateInfo& safe_VkGraphicsPipelineCreateInfo::operator=(const safe_VkGraphicsPipelineCreateInfo& src)
3461 {
3462     if (&src == this) return *this;
3463 
3464     if (pStages)
3465         delete[] pStages;
3466     if (pVertexInputState)
3467         delete pVertexInputState;
3468     if (pInputAssemblyState)
3469         delete pInputAssemblyState;
3470     if (pTessellationState)
3471         delete pTessellationState;
3472     if (pViewportState)
3473         delete pViewportState;
3474     if (pRasterizationState)
3475         delete pRasterizationState;
3476     if (pMultisampleState)
3477         delete pMultisampleState;
3478     if (pDepthStencilState)
3479         delete pDepthStencilState;
3480     if (pColorBlendState)
3481         delete pColorBlendState;
3482     if (pDynamicState)
3483         delete pDynamicState;
3484     if (pNext)
3485         FreePnextChain(pNext);
3486 
3487     sType = src.sType;
3488     flags = src.flags;
3489     stageCount = src.stageCount;
3490     pStages = nullptr;
3491     pVertexInputState = nullptr;
3492     pInputAssemblyState = nullptr;
3493     pTessellationState = nullptr;
3494     pViewportState = nullptr;
3495     pRasterizationState = nullptr;
3496     pMultisampleState = nullptr;
3497     pDepthStencilState = nullptr;
3498     pColorBlendState = nullptr;
3499     pDynamicState = nullptr;
3500     layout = src.layout;
3501     renderPass = src.renderPass;
3502     subpass = src.subpass;
3503     basePipelineHandle = src.basePipelineHandle;
3504     basePipelineIndex = src.basePipelineIndex;
3505     pNext = SafePnextCopy(src.pNext);
3506     if (stageCount && src.pStages) {
3507         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3508         for (uint32_t i = 0; i < stageCount; ++i) {
3509             pStages[i].initialize(&src.pStages[i]);
3510         }
3511     }
3512     if (src.pVertexInputState)
3513         pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src.pVertexInputState);
3514     else
3515         pVertexInputState = NULL;
3516     if (src.pInputAssemblyState)
3517         pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src.pInputAssemblyState);
3518     else
3519         pInputAssemblyState = NULL;
3520     bool has_tessellation_stage = false;
3521     if (stageCount && pStages)
3522         for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i)
3523             if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3524                 has_tessellation_stage = true;
3525     if (src.pTessellationState && has_tessellation_stage)
3526         pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src.pTessellationState);
3527     else
3528         pTessellationState = NULL; // original pTessellationState pointer ignored
3529     bool has_rasterization = src.pRasterizationState ? !src.pRasterizationState->rasterizerDiscardEnable : false;
3530     if (src.pViewportState && has_rasterization) {
3531         pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src.pViewportState);
3532     } else
3533         pViewportState = NULL; // original pViewportState pointer ignored
3534     if (src.pRasterizationState)
3535         pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src.pRasterizationState);
3536     else
3537         pRasterizationState = NULL;
3538     if (src.pMultisampleState && has_rasterization)
3539         pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src.pMultisampleState);
3540     else
3541         pMultisampleState = NULL; // original pMultisampleState pointer ignored
3542     if (src.pDepthStencilState && has_rasterization)
3543         pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src.pDepthStencilState);
3544     else
3545         pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3546     if (src.pColorBlendState && has_rasterization)
3547         pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src.pColorBlendState);
3548     else
3549         pColorBlendState = NULL; // original pColorBlendState pointer ignored
3550     if (src.pDynamicState)
3551         pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src.pDynamicState);
3552     else
3553         pDynamicState = NULL;
3554 
3555     return *this;
3556 }
3557 
~safe_VkGraphicsPipelineCreateInfo()3558 safe_VkGraphicsPipelineCreateInfo::~safe_VkGraphicsPipelineCreateInfo()
3559 {
3560     if (pStages)
3561         delete[] pStages;
3562     if (pVertexInputState)
3563         delete pVertexInputState;
3564     if (pInputAssemblyState)
3565         delete pInputAssemblyState;
3566     if (pTessellationState)
3567         delete pTessellationState;
3568     if (pViewportState)
3569         delete pViewportState;
3570     if (pRasterizationState)
3571         delete pRasterizationState;
3572     if (pMultisampleState)
3573         delete pMultisampleState;
3574     if (pDepthStencilState)
3575         delete pDepthStencilState;
3576     if (pColorBlendState)
3577         delete pColorBlendState;
3578     if (pDynamicState)
3579         delete pDynamicState;
3580     if (pNext)
3581         FreePnextChain(pNext);
3582 }
3583 
initialize(const VkGraphicsPipelineCreateInfo * in_struct,const bool uses_color_attachment,const bool uses_depthstencil_attachment)3584 void safe_VkGraphicsPipelineCreateInfo::initialize(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, const bool uses_depthstencil_attachment)
3585 {
3586     sType = in_struct->sType;
3587     flags = in_struct->flags;
3588     stageCount = in_struct->stageCount;
3589     pStages = nullptr;
3590     pVertexInputState = nullptr;
3591     pInputAssemblyState = nullptr;
3592     pTessellationState = nullptr;
3593     pViewportState = nullptr;
3594     pRasterizationState = nullptr;
3595     pMultisampleState = nullptr;
3596     pDepthStencilState = nullptr;
3597     pColorBlendState = nullptr;
3598     pDynamicState = nullptr;
3599     layout = in_struct->layout;
3600     renderPass = in_struct->renderPass;
3601     subpass = in_struct->subpass;
3602     basePipelineHandle = in_struct->basePipelineHandle;
3603     basePipelineIndex = in_struct->basePipelineIndex;
3604     pNext = SafePnextCopy(in_struct->pNext);
3605     if (stageCount && in_struct->pStages) {
3606         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3607         for (uint32_t i = 0; i < stageCount; ++i) {
3608             pStages[i].initialize(&in_struct->pStages[i]);
3609         }
3610     }
3611     if (in_struct->pVertexInputState)
3612         pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(in_struct->pVertexInputState);
3613     else
3614         pVertexInputState = NULL;
3615     if (in_struct->pInputAssemblyState)
3616         pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(in_struct->pInputAssemblyState);
3617     else
3618         pInputAssemblyState = NULL;
3619     bool has_tessellation_stage = false;
3620     if (stageCount && pStages)
3621         for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i)
3622             if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3623                 has_tessellation_stage = true;
3624     if (in_struct->pTessellationState && has_tessellation_stage)
3625         pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(in_struct->pTessellationState);
3626     else
3627         pTessellationState = NULL; // original pTessellationState pointer ignored
3628     bool has_rasterization = in_struct->pRasterizationState ? !in_struct->pRasterizationState->rasterizerDiscardEnable : false;
3629     if (in_struct->pViewportState && has_rasterization) {
3630         bool is_dynamic_viewports = false;
3631         bool is_dynamic_scissors = false;
3632         if (in_struct->pDynamicState && in_struct->pDynamicState->pDynamicStates) {
3633             for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_viewports; ++i)
3634                 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_VIEWPORT)
3635                     is_dynamic_viewports = true;
3636             for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_scissors; ++i)
3637                 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_SCISSOR)
3638                     is_dynamic_scissors = true;
3639         }
3640         pViewportState = new safe_VkPipelineViewportStateCreateInfo(in_struct->pViewportState, is_dynamic_viewports, is_dynamic_scissors);
3641     } else
3642         pViewportState = NULL; // original pViewportState pointer ignored
3643     if (in_struct->pRasterizationState)
3644         pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(in_struct->pRasterizationState);
3645     else
3646         pRasterizationState = NULL;
3647     if (in_struct->pMultisampleState && has_rasterization)
3648         pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(in_struct->pMultisampleState);
3649     else
3650         pMultisampleState = NULL; // original pMultisampleState pointer ignored
3651     // needs a tracked subpass state uses_depthstencil_attachment
3652     if (in_struct->pDepthStencilState && has_rasterization && uses_depthstencil_attachment)
3653         pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(in_struct->pDepthStencilState);
3654     else
3655         pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3656     // needs a tracked subpass state usesColorAttachment
3657     if (in_struct->pColorBlendState && has_rasterization && uses_color_attachment)
3658         pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(in_struct->pColorBlendState);
3659     else
3660         pColorBlendState = NULL; // original pColorBlendState pointer ignored
3661     if (in_struct->pDynamicState)
3662         pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(in_struct->pDynamicState);
3663     else
3664         pDynamicState = NULL;
3665 }
3666 
initialize(const safe_VkGraphicsPipelineCreateInfo * src)3667 void safe_VkGraphicsPipelineCreateInfo::initialize(const safe_VkGraphicsPipelineCreateInfo* src)
3668 {
3669     sType = src->sType;
3670     flags = src->flags;
3671     stageCount = src->stageCount;
3672     pStages = nullptr;
3673     pVertexInputState = nullptr;
3674     pInputAssemblyState = nullptr;
3675     pTessellationState = nullptr;
3676     pViewportState = nullptr;
3677     pRasterizationState = nullptr;
3678     pMultisampleState = nullptr;
3679     pDepthStencilState = nullptr;
3680     pColorBlendState = nullptr;
3681     pDynamicState = nullptr;
3682     layout = src->layout;
3683     renderPass = src->renderPass;
3684     subpass = src->subpass;
3685     basePipelineHandle = src->basePipelineHandle;
3686     basePipelineIndex = src->basePipelineIndex;
3687     pNext = SafePnextCopy(src->pNext);
3688     if (stageCount && src->pStages) {
3689         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3690         for (uint32_t i = 0; i < stageCount; ++i) {
3691             pStages[i].initialize(&src->pStages[i]);
3692         }
3693     }
3694     if (src->pVertexInputState)
3695         pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src->pVertexInputState);
3696     else
3697         pVertexInputState = NULL;
3698     if (src->pInputAssemblyState)
3699         pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src->pInputAssemblyState);
3700     else
3701         pInputAssemblyState = NULL;
3702     bool has_tessellation_stage = false;
3703     if (stageCount && pStages)
3704         for (uint32_t i = 0; i < stageCount && !has_tessellation_stage; ++i)
3705             if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3706                 has_tessellation_stage = true;
3707     if (src->pTessellationState && has_tessellation_stage)
3708         pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src->pTessellationState);
3709     else
3710         pTessellationState = NULL; // original pTessellationState pointer ignored
3711     bool has_rasterization = src->pRasterizationState ? !src->pRasterizationState->rasterizerDiscardEnable : false;
3712     if (src->pViewportState && has_rasterization) {
3713         pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src->pViewportState);
3714     } else
3715         pViewportState = NULL; // original pViewportState pointer ignored
3716     if (src->pRasterizationState)
3717         pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src->pRasterizationState);
3718     else
3719         pRasterizationState = NULL;
3720     if (src->pMultisampleState && has_rasterization)
3721         pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src->pMultisampleState);
3722     else
3723         pMultisampleState = NULL; // original pMultisampleState pointer ignored
3724     if (src->pDepthStencilState && has_rasterization)
3725         pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src->pDepthStencilState);
3726     else
3727         pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3728     if (src->pColorBlendState && has_rasterization)
3729         pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src->pColorBlendState);
3730     else
3731         pColorBlendState = NULL; // original pColorBlendState pointer ignored
3732     if (src->pDynamicState)
3733         pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src->pDynamicState);
3734     else
3735         pDynamicState = NULL;
3736 }
3737 
safe_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo * in_struct)3738 safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo* in_struct) :
3739     sType(in_struct->sType),
3740     flags(in_struct->flags),
3741     stage(&in_struct->stage),
3742     layout(in_struct->layout),
3743     basePipelineHandle(in_struct->basePipelineHandle),
3744     basePipelineIndex(in_struct->basePipelineIndex)
3745 {
3746     pNext = SafePnextCopy(in_struct->pNext);
3747 }
3748 
safe_VkComputePipelineCreateInfo()3749 safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo() :
3750     pNext(nullptr)
3751 {}
3752 
safe_VkComputePipelineCreateInfo(const safe_VkComputePipelineCreateInfo & src)3753 safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo(const safe_VkComputePipelineCreateInfo& src)
3754 {
3755     sType = src.sType;
3756     flags = src.flags;
3757     stage.initialize(&src.stage);
3758     layout = src.layout;
3759     basePipelineHandle = src.basePipelineHandle;
3760     basePipelineIndex = src.basePipelineIndex;
3761     pNext = SafePnextCopy(src.pNext);
3762 }
3763 
operator =(const safe_VkComputePipelineCreateInfo & src)3764 safe_VkComputePipelineCreateInfo& safe_VkComputePipelineCreateInfo::operator=(const safe_VkComputePipelineCreateInfo& src)
3765 {
3766     if (&src == this) return *this;
3767 
3768     if (pNext)
3769         FreePnextChain(pNext);
3770 
3771     sType = src.sType;
3772     flags = src.flags;
3773     stage.initialize(&src.stage);
3774     layout = src.layout;
3775     basePipelineHandle = src.basePipelineHandle;
3776     basePipelineIndex = src.basePipelineIndex;
3777     pNext = SafePnextCopy(src.pNext);
3778 
3779     return *this;
3780 }
3781 
~safe_VkComputePipelineCreateInfo()3782 safe_VkComputePipelineCreateInfo::~safe_VkComputePipelineCreateInfo()
3783 {
3784     if (pNext)
3785         FreePnextChain(pNext);
3786 }
3787 
initialize(const VkComputePipelineCreateInfo * in_struct)3788 void safe_VkComputePipelineCreateInfo::initialize(const VkComputePipelineCreateInfo* in_struct)
3789 {
3790     sType = in_struct->sType;
3791     flags = in_struct->flags;
3792     stage.initialize(&in_struct->stage);
3793     layout = in_struct->layout;
3794     basePipelineHandle = in_struct->basePipelineHandle;
3795     basePipelineIndex = in_struct->basePipelineIndex;
3796     pNext = SafePnextCopy(in_struct->pNext);
3797 }
3798 
initialize(const safe_VkComputePipelineCreateInfo * src)3799 void safe_VkComputePipelineCreateInfo::initialize(const safe_VkComputePipelineCreateInfo* src)
3800 {
3801     sType = src->sType;
3802     flags = src->flags;
3803     stage.initialize(&src->stage);
3804     layout = src->layout;
3805     basePipelineHandle = src->basePipelineHandle;
3806     basePipelineIndex = src->basePipelineIndex;
3807     pNext = SafePnextCopy(src->pNext);
3808 }
3809 
safe_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo * in_struct)3810 safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo* in_struct) :
3811     sType(in_struct->sType),
3812     flags(in_struct->flags),
3813     setLayoutCount(in_struct->setLayoutCount),
3814     pSetLayouts(nullptr),
3815     pushConstantRangeCount(in_struct->pushConstantRangeCount),
3816     pPushConstantRanges(nullptr)
3817 {
3818     pNext = SafePnextCopy(in_struct->pNext);
3819     if (setLayoutCount && in_struct->pSetLayouts) {
3820         pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3821         for (uint32_t i = 0; i < setLayoutCount; ++i) {
3822             pSetLayouts[i] = in_struct->pSetLayouts[i];
3823         }
3824     }
3825     if (in_struct->pPushConstantRanges) {
3826         pPushConstantRanges = new VkPushConstantRange[in_struct->pushConstantRangeCount];
3827         memcpy ((void *)pPushConstantRanges, (void *)in_struct->pPushConstantRanges, sizeof(VkPushConstantRange)*in_struct->pushConstantRangeCount);
3828     }
3829 }
3830 
safe_VkPipelineLayoutCreateInfo()3831 safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo() :
3832     pNext(nullptr),
3833     pSetLayouts(nullptr),
3834     pPushConstantRanges(nullptr)
3835 {}
3836 
safe_VkPipelineLayoutCreateInfo(const safe_VkPipelineLayoutCreateInfo & src)3837 safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const safe_VkPipelineLayoutCreateInfo& src)
3838 {
3839     sType = src.sType;
3840     flags = src.flags;
3841     setLayoutCount = src.setLayoutCount;
3842     pSetLayouts = nullptr;
3843     pushConstantRangeCount = src.pushConstantRangeCount;
3844     pPushConstantRanges = nullptr;
3845     pNext = SafePnextCopy(src.pNext);
3846     if (setLayoutCount && src.pSetLayouts) {
3847         pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3848         for (uint32_t i = 0; i < setLayoutCount; ++i) {
3849             pSetLayouts[i] = src.pSetLayouts[i];
3850         }
3851     }
3852     if (src.pPushConstantRanges) {
3853         pPushConstantRanges = new VkPushConstantRange[src.pushConstantRangeCount];
3854         memcpy ((void *)pPushConstantRanges, (void *)src.pPushConstantRanges, sizeof(VkPushConstantRange)*src.pushConstantRangeCount);
3855     }
3856 }
3857 
operator =(const safe_VkPipelineLayoutCreateInfo & src)3858 safe_VkPipelineLayoutCreateInfo& safe_VkPipelineLayoutCreateInfo::operator=(const safe_VkPipelineLayoutCreateInfo& src)
3859 {
3860     if (&src == this) return *this;
3861 
3862     if (pSetLayouts)
3863         delete[] pSetLayouts;
3864     if (pPushConstantRanges)
3865         delete[] pPushConstantRanges;
3866     if (pNext)
3867         FreePnextChain(pNext);
3868 
3869     sType = src.sType;
3870     flags = src.flags;
3871     setLayoutCount = src.setLayoutCount;
3872     pSetLayouts = nullptr;
3873     pushConstantRangeCount = src.pushConstantRangeCount;
3874     pPushConstantRanges = nullptr;
3875     pNext = SafePnextCopy(src.pNext);
3876     if (setLayoutCount && src.pSetLayouts) {
3877         pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3878         for (uint32_t i = 0; i < setLayoutCount; ++i) {
3879             pSetLayouts[i] = src.pSetLayouts[i];
3880         }
3881     }
3882     if (src.pPushConstantRanges) {
3883         pPushConstantRanges = new VkPushConstantRange[src.pushConstantRangeCount];
3884         memcpy ((void *)pPushConstantRanges, (void *)src.pPushConstantRanges, sizeof(VkPushConstantRange)*src.pushConstantRangeCount);
3885     }
3886 
3887     return *this;
3888 }
3889 
~safe_VkPipelineLayoutCreateInfo()3890 safe_VkPipelineLayoutCreateInfo::~safe_VkPipelineLayoutCreateInfo()
3891 {
3892     if (pSetLayouts)
3893         delete[] pSetLayouts;
3894     if (pPushConstantRanges)
3895         delete[] pPushConstantRanges;
3896     if (pNext)
3897         FreePnextChain(pNext);
3898 }
3899 
initialize(const VkPipelineLayoutCreateInfo * in_struct)3900 void safe_VkPipelineLayoutCreateInfo::initialize(const VkPipelineLayoutCreateInfo* in_struct)
3901 {
3902     sType = in_struct->sType;
3903     flags = in_struct->flags;
3904     setLayoutCount = in_struct->setLayoutCount;
3905     pSetLayouts = nullptr;
3906     pushConstantRangeCount = in_struct->pushConstantRangeCount;
3907     pPushConstantRanges = nullptr;
3908     pNext = SafePnextCopy(in_struct->pNext);
3909     if (setLayoutCount && in_struct->pSetLayouts) {
3910         pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3911         for (uint32_t i = 0; i < setLayoutCount; ++i) {
3912             pSetLayouts[i] = in_struct->pSetLayouts[i];
3913         }
3914     }
3915     if (in_struct->pPushConstantRanges) {
3916         pPushConstantRanges = new VkPushConstantRange[in_struct->pushConstantRangeCount];
3917         memcpy ((void *)pPushConstantRanges, (void *)in_struct->pPushConstantRanges, sizeof(VkPushConstantRange)*in_struct->pushConstantRangeCount);
3918     }
3919 }
3920 
initialize(const safe_VkPipelineLayoutCreateInfo * src)3921 void safe_VkPipelineLayoutCreateInfo::initialize(const safe_VkPipelineLayoutCreateInfo* src)
3922 {
3923     sType = src->sType;
3924     flags = src->flags;
3925     setLayoutCount = src->setLayoutCount;
3926     pSetLayouts = nullptr;
3927     pushConstantRangeCount = src->pushConstantRangeCount;
3928     pPushConstantRanges = nullptr;
3929     pNext = SafePnextCopy(src->pNext);
3930     if (setLayoutCount && src->pSetLayouts) {
3931         pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3932         for (uint32_t i = 0; i < setLayoutCount; ++i) {
3933             pSetLayouts[i] = src->pSetLayouts[i];
3934         }
3935     }
3936     if (src->pPushConstantRanges) {
3937         pPushConstantRanges = new VkPushConstantRange[src->pushConstantRangeCount];
3938         memcpy ((void *)pPushConstantRanges, (void *)src->pPushConstantRanges, sizeof(VkPushConstantRange)*src->pushConstantRangeCount);
3939     }
3940 }
3941 
safe_VkSamplerCreateInfo(const VkSamplerCreateInfo * in_struct)3942 safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const VkSamplerCreateInfo* in_struct) :
3943     sType(in_struct->sType),
3944     flags(in_struct->flags),
3945     magFilter(in_struct->magFilter),
3946     minFilter(in_struct->minFilter),
3947     mipmapMode(in_struct->mipmapMode),
3948     addressModeU(in_struct->addressModeU),
3949     addressModeV(in_struct->addressModeV),
3950     addressModeW(in_struct->addressModeW),
3951     mipLodBias(in_struct->mipLodBias),
3952     anisotropyEnable(in_struct->anisotropyEnable),
3953     maxAnisotropy(in_struct->maxAnisotropy),
3954     compareEnable(in_struct->compareEnable),
3955     compareOp(in_struct->compareOp),
3956     minLod(in_struct->minLod),
3957     maxLod(in_struct->maxLod),
3958     borderColor(in_struct->borderColor),
3959     unnormalizedCoordinates(in_struct->unnormalizedCoordinates)
3960 {
3961     pNext = SafePnextCopy(in_struct->pNext);
3962 }
3963 
safe_VkSamplerCreateInfo()3964 safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo() :
3965     pNext(nullptr)
3966 {}
3967 
safe_VkSamplerCreateInfo(const safe_VkSamplerCreateInfo & src)3968 safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const safe_VkSamplerCreateInfo& src)
3969 {
3970     sType = src.sType;
3971     flags = src.flags;
3972     magFilter = src.magFilter;
3973     minFilter = src.minFilter;
3974     mipmapMode = src.mipmapMode;
3975     addressModeU = src.addressModeU;
3976     addressModeV = src.addressModeV;
3977     addressModeW = src.addressModeW;
3978     mipLodBias = src.mipLodBias;
3979     anisotropyEnable = src.anisotropyEnable;
3980     maxAnisotropy = src.maxAnisotropy;
3981     compareEnable = src.compareEnable;
3982     compareOp = src.compareOp;
3983     minLod = src.minLod;
3984     maxLod = src.maxLod;
3985     borderColor = src.borderColor;
3986     unnormalizedCoordinates = src.unnormalizedCoordinates;
3987     pNext = SafePnextCopy(src.pNext);
3988 }
3989 
operator =(const safe_VkSamplerCreateInfo & src)3990 safe_VkSamplerCreateInfo& safe_VkSamplerCreateInfo::operator=(const safe_VkSamplerCreateInfo& src)
3991 {
3992     if (&src == this) return *this;
3993 
3994     if (pNext)
3995         FreePnextChain(pNext);
3996 
3997     sType = src.sType;
3998     flags = src.flags;
3999     magFilter = src.magFilter;
4000     minFilter = src.minFilter;
4001     mipmapMode = src.mipmapMode;
4002     addressModeU = src.addressModeU;
4003     addressModeV = src.addressModeV;
4004     addressModeW = src.addressModeW;
4005     mipLodBias = src.mipLodBias;
4006     anisotropyEnable = src.anisotropyEnable;
4007     maxAnisotropy = src.maxAnisotropy;
4008     compareEnable = src.compareEnable;
4009     compareOp = src.compareOp;
4010     minLod = src.minLod;
4011     maxLod = src.maxLod;
4012     borderColor = src.borderColor;
4013     unnormalizedCoordinates = src.unnormalizedCoordinates;
4014     pNext = SafePnextCopy(src.pNext);
4015 
4016     return *this;
4017 }
4018 
~safe_VkSamplerCreateInfo()4019 safe_VkSamplerCreateInfo::~safe_VkSamplerCreateInfo()
4020 {
4021     if (pNext)
4022         FreePnextChain(pNext);
4023 }
4024 
initialize(const VkSamplerCreateInfo * in_struct)4025 void safe_VkSamplerCreateInfo::initialize(const VkSamplerCreateInfo* in_struct)
4026 {
4027     sType = in_struct->sType;
4028     flags = in_struct->flags;
4029     magFilter = in_struct->magFilter;
4030     minFilter = in_struct->minFilter;
4031     mipmapMode = in_struct->mipmapMode;
4032     addressModeU = in_struct->addressModeU;
4033     addressModeV = in_struct->addressModeV;
4034     addressModeW = in_struct->addressModeW;
4035     mipLodBias = in_struct->mipLodBias;
4036     anisotropyEnable = in_struct->anisotropyEnable;
4037     maxAnisotropy = in_struct->maxAnisotropy;
4038     compareEnable = in_struct->compareEnable;
4039     compareOp = in_struct->compareOp;
4040     minLod = in_struct->minLod;
4041     maxLod = in_struct->maxLod;
4042     borderColor = in_struct->borderColor;
4043     unnormalizedCoordinates = in_struct->unnormalizedCoordinates;
4044     pNext = SafePnextCopy(in_struct->pNext);
4045 }
4046 
initialize(const safe_VkSamplerCreateInfo * src)4047 void safe_VkSamplerCreateInfo::initialize(const safe_VkSamplerCreateInfo* src)
4048 {
4049     sType = src->sType;
4050     flags = src->flags;
4051     magFilter = src->magFilter;
4052     minFilter = src->minFilter;
4053     mipmapMode = src->mipmapMode;
4054     addressModeU = src->addressModeU;
4055     addressModeV = src->addressModeV;
4056     addressModeW = src->addressModeW;
4057     mipLodBias = src->mipLodBias;
4058     anisotropyEnable = src->anisotropyEnable;
4059     maxAnisotropy = src->maxAnisotropy;
4060     compareEnable = src->compareEnable;
4061     compareOp = src->compareOp;
4062     minLod = src->minLod;
4063     maxLod = src->maxLod;
4064     borderColor = src->borderColor;
4065     unnormalizedCoordinates = src->unnormalizedCoordinates;
4066     pNext = SafePnextCopy(src->pNext);
4067 }
4068 
safe_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding * in_struct)4069 safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding* in_struct) :
4070     binding(in_struct->binding),
4071     descriptorType(in_struct->descriptorType),
4072     descriptorCount(in_struct->descriptorCount),
4073     stageFlags(in_struct->stageFlags),
4074     pImmutableSamplers(nullptr)
4075 {
4076     const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
4077     if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) {
4078         pImmutableSamplers = new VkSampler[descriptorCount];
4079         for (uint32_t i = 0; i < descriptorCount; ++i) {
4080             pImmutableSamplers[i] = in_struct->pImmutableSamplers[i];
4081         }
4082     }
4083 }
4084 
safe_VkDescriptorSetLayoutBinding()4085 safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding() :
4086     pImmutableSamplers(nullptr)
4087 {}
4088 
safe_VkDescriptorSetLayoutBinding(const safe_VkDescriptorSetLayoutBinding & src)4089 safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const safe_VkDescriptorSetLayoutBinding& src)
4090 {
4091     binding = src.binding;
4092     descriptorType = src.descriptorType;
4093     descriptorCount = src.descriptorCount;
4094     stageFlags = src.stageFlags;
4095     pImmutableSamplers = nullptr;
4096     const bool sampler_type = src.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
4097     if (descriptorCount && src.pImmutableSamplers && sampler_type) {
4098         pImmutableSamplers = new VkSampler[descriptorCount];
4099         for (uint32_t i = 0; i < descriptorCount; ++i) {
4100             pImmutableSamplers[i] = src.pImmutableSamplers[i];
4101         }
4102     }
4103 }
4104 
operator =(const safe_VkDescriptorSetLayoutBinding & src)4105 safe_VkDescriptorSetLayoutBinding& safe_VkDescriptorSetLayoutBinding::operator=(const safe_VkDescriptorSetLayoutBinding& src)
4106 {
4107     if (&src == this) return *this;
4108 
4109     if (pImmutableSamplers)
4110         delete[] pImmutableSamplers;
4111 
4112     binding = src.binding;
4113     descriptorType = src.descriptorType;
4114     descriptorCount = src.descriptorCount;
4115     stageFlags = src.stageFlags;
4116     pImmutableSamplers = nullptr;
4117     const bool sampler_type = src.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
4118     if (descriptorCount && src.pImmutableSamplers && sampler_type) {
4119         pImmutableSamplers = new VkSampler[descriptorCount];
4120         for (uint32_t i = 0; i < descriptorCount; ++i) {
4121             pImmutableSamplers[i] = src.pImmutableSamplers[i];
4122         }
4123     }
4124 
4125     return *this;
4126 }
4127 
~safe_VkDescriptorSetLayoutBinding()4128 safe_VkDescriptorSetLayoutBinding::~safe_VkDescriptorSetLayoutBinding()
4129 {
4130     if (pImmutableSamplers)
4131         delete[] pImmutableSamplers;
4132 }
4133 
initialize(const VkDescriptorSetLayoutBinding * in_struct)4134 void safe_VkDescriptorSetLayoutBinding::initialize(const VkDescriptorSetLayoutBinding* in_struct)
4135 {
4136     binding = in_struct->binding;
4137     descriptorType = in_struct->descriptorType;
4138     descriptorCount = in_struct->descriptorCount;
4139     stageFlags = in_struct->stageFlags;
4140     pImmutableSamplers = nullptr;
4141     const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
4142     if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) {
4143         pImmutableSamplers = new VkSampler[descriptorCount];
4144         for (uint32_t i = 0; i < descriptorCount; ++i) {
4145             pImmutableSamplers[i] = in_struct->pImmutableSamplers[i];
4146         }
4147     }
4148 }
4149 
initialize(const safe_VkDescriptorSetLayoutBinding * src)4150 void safe_VkDescriptorSetLayoutBinding::initialize(const safe_VkDescriptorSetLayoutBinding* src)
4151 {
4152     binding = src->binding;
4153     descriptorType = src->descriptorType;
4154     descriptorCount = src->descriptorCount;
4155     stageFlags = src->stageFlags;
4156     pImmutableSamplers = nullptr;
4157     const bool sampler_type = src->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
4158     if (descriptorCount && src->pImmutableSamplers && sampler_type) {
4159         pImmutableSamplers = new VkSampler[descriptorCount];
4160         for (uint32_t i = 0; i < descriptorCount; ++i) {
4161             pImmutableSamplers[i] = src->pImmutableSamplers[i];
4162         }
4163     }
4164 }
4165 
safe_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo * in_struct)4166 safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo* in_struct) :
4167     sType(in_struct->sType),
4168     flags(in_struct->flags),
4169     bindingCount(in_struct->bindingCount),
4170     pBindings(nullptr)
4171 {
4172     pNext = SafePnextCopy(in_struct->pNext);
4173     if (bindingCount && in_struct->pBindings) {
4174         pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4175         for (uint32_t i = 0; i < bindingCount; ++i) {
4176             pBindings[i].initialize(&in_struct->pBindings[i]);
4177         }
4178     }
4179 }
4180 
safe_VkDescriptorSetLayoutCreateInfo()4181 safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo() :
4182     pNext(nullptr),
4183     pBindings(nullptr)
4184 {}
4185 
safe_VkDescriptorSetLayoutCreateInfo(const safe_VkDescriptorSetLayoutCreateInfo & src)4186 safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo(const safe_VkDescriptorSetLayoutCreateInfo& src)
4187 {
4188     sType = src.sType;
4189     flags = src.flags;
4190     bindingCount = src.bindingCount;
4191     pBindings = nullptr;
4192     pNext = SafePnextCopy(src.pNext);
4193     if (bindingCount && src.pBindings) {
4194         pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4195         for (uint32_t i = 0; i < bindingCount; ++i) {
4196             pBindings[i].initialize(&src.pBindings[i]);
4197         }
4198     }
4199 }
4200 
operator =(const safe_VkDescriptorSetLayoutCreateInfo & src)4201 safe_VkDescriptorSetLayoutCreateInfo& safe_VkDescriptorSetLayoutCreateInfo::operator=(const safe_VkDescriptorSetLayoutCreateInfo& src)
4202 {
4203     if (&src == this) return *this;
4204 
4205     if (pBindings)
4206         delete[] pBindings;
4207     if (pNext)
4208         FreePnextChain(pNext);
4209 
4210     sType = src.sType;
4211     flags = src.flags;
4212     bindingCount = src.bindingCount;
4213     pBindings = nullptr;
4214     pNext = SafePnextCopy(src.pNext);
4215     if (bindingCount && src.pBindings) {
4216         pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4217         for (uint32_t i = 0; i < bindingCount; ++i) {
4218             pBindings[i].initialize(&src.pBindings[i]);
4219         }
4220     }
4221 
4222     return *this;
4223 }
4224 
~safe_VkDescriptorSetLayoutCreateInfo()4225 safe_VkDescriptorSetLayoutCreateInfo::~safe_VkDescriptorSetLayoutCreateInfo()
4226 {
4227     if (pBindings)
4228         delete[] pBindings;
4229     if (pNext)
4230         FreePnextChain(pNext);
4231 }
4232 
initialize(const VkDescriptorSetLayoutCreateInfo * in_struct)4233 void safe_VkDescriptorSetLayoutCreateInfo::initialize(const VkDescriptorSetLayoutCreateInfo* in_struct)
4234 {
4235     sType = in_struct->sType;
4236     flags = in_struct->flags;
4237     bindingCount = in_struct->bindingCount;
4238     pBindings = nullptr;
4239     pNext = SafePnextCopy(in_struct->pNext);
4240     if (bindingCount && in_struct->pBindings) {
4241         pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4242         for (uint32_t i = 0; i < bindingCount; ++i) {
4243             pBindings[i].initialize(&in_struct->pBindings[i]);
4244         }
4245     }
4246 }
4247 
initialize(const safe_VkDescriptorSetLayoutCreateInfo * src)4248 void safe_VkDescriptorSetLayoutCreateInfo::initialize(const safe_VkDescriptorSetLayoutCreateInfo* src)
4249 {
4250     sType = src->sType;
4251     flags = src->flags;
4252     bindingCount = src->bindingCount;
4253     pBindings = nullptr;
4254     pNext = SafePnextCopy(src->pNext);
4255     if (bindingCount && src->pBindings) {
4256         pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4257         for (uint32_t i = 0; i < bindingCount; ++i) {
4258             pBindings[i].initialize(&src->pBindings[i]);
4259         }
4260     }
4261 }
4262 
safe_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo * in_struct)4263 safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo* in_struct) :
4264     sType(in_struct->sType),
4265     flags(in_struct->flags),
4266     maxSets(in_struct->maxSets),
4267     poolSizeCount(in_struct->poolSizeCount),
4268     pPoolSizes(nullptr)
4269 {
4270     pNext = SafePnextCopy(in_struct->pNext);
4271     if (in_struct->pPoolSizes) {
4272         pPoolSizes = new VkDescriptorPoolSize[in_struct->poolSizeCount];
4273         memcpy ((void *)pPoolSizes, (void *)in_struct->pPoolSizes, sizeof(VkDescriptorPoolSize)*in_struct->poolSizeCount);
4274     }
4275 }
4276 
safe_VkDescriptorPoolCreateInfo()4277 safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo() :
4278     pNext(nullptr),
4279     pPoolSizes(nullptr)
4280 {}
4281 
safe_VkDescriptorPoolCreateInfo(const safe_VkDescriptorPoolCreateInfo & src)4282 safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const safe_VkDescriptorPoolCreateInfo& src)
4283 {
4284     sType = src.sType;
4285     flags = src.flags;
4286     maxSets = src.maxSets;
4287     poolSizeCount = src.poolSizeCount;
4288     pPoolSizes = nullptr;
4289     pNext = SafePnextCopy(src.pNext);
4290     if (src.pPoolSizes) {
4291         pPoolSizes = new VkDescriptorPoolSize[src.poolSizeCount];
4292         memcpy ((void *)pPoolSizes, (void *)src.pPoolSizes, sizeof(VkDescriptorPoolSize)*src.poolSizeCount);
4293     }
4294 }
4295 
operator =(const safe_VkDescriptorPoolCreateInfo & src)4296 safe_VkDescriptorPoolCreateInfo& safe_VkDescriptorPoolCreateInfo::operator=(const safe_VkDescriptorPoolCreateInfo& src)
4297 {
4298     if (&src == this) return *this;
4299 
4300     if (pPoolSizes)
4301         delete[] pPoolSizes;
4302     if (pNext)
4303         FreePnextChain(pNext);
4304 
4305     sType = src.sType;
4306     flags = src.flags;
4307     maxSets = src.maxSets;
4308     poolSizeCount = src.poolSizeCount;
4309     pPoolSizes = nullptr;
4310     pNext = SafePnextCopy(src.pNext);
4311     if (src.pPoolSizes) {
4312         pPoolSizes = new VkDescriptorPoolSize[src.poolSizeCount];
4313         memcpy ((void *)pPoolSizes, (void *)src.pPoolSizes, sizeof(VkDescriptorPoolSize)*src.poolSizeCount);
4314     }
4315 
4316     return *this;
4317 }
4318 
~safe_VkDescriptorPoolCreateInfo()4319 safe_VkDescriptorPoolCreateInfo::~safe_VkDescriptorPoolCreateInfo()
4320 {
4321     if (pPoolSizes)
4322         delete[] pPoolSizes;
4323     if (pNext)
4324         FreePnextChain(pNext);
4325 }
4326 
initialize(const VkDescriptorPoolCreateInfo * in_struct)4327 void safe_VkDescriptorPoolCreateInfo::initialize(const VkDescriptorPoolCreateInfo* in_struct)
4328 {
4329     sType = in_struct->sType;
4330     flags = in_struct->flags;
4331     maxSets = in_struct->maxSets;
4332     poolSizeCount = in_struct->poolSizeCount;
4333     pPoolSizes = nullptr;
4334     pNext = SafePnextCopy(in_struct->pNext);
4335     if (in_struct->pPoolSizes) {
4336         pPoolSizes = new VkDescriptorPoolSize[in_struct->poolSizeCount];
4337         memcpy ((void *)pPoolSizes, (void *)in_struct->pPoolSizes, sizeof(VkDescriptorPoolSize)*in_struct->poolSizeCount);
4338     }
4339 }
4340 
initialize(const safe_VkDescriptorPoolCreateInfo * src)4341 void safe_VkDescriptorPoolCreateInfo::initialize(const safe_VkDescriptorPoolCreateInfo* src)
4342 {
4343     sType = src->sType;
4344     flags = src->flags;
4345     maxSets = src->maxSets;
4346     poolSizeCount = src->poolSizeCount;
4347     pPoolSizes = nullptr;
4348     pNext = SafePnextCopy(src->pNext);
4349     if (src->pPoolSizes) {
4350         pPoolSizes = new VkDescriptorPoolSize[src->poolSizeCount];
4351         memcpy ((void *)pPoolSizes, (void *)src->pPoolSizes, sizeof(VkDescriptorPoolSize)*src->poolSizeCount);
4352     }
4353 }
4354 
safe_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo * in_struct)4355 safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo* in_struct) :
4356     sType(in_struct->sType),
4357     descriptorPool(in_struct->descriptorPool),
4358     descriptorSetCount(in_struct->descriptorSetCount),
4359     pSetLayouts(nullptr)
4360 {
4361     pNext = SafePnextCopy(in_struct->pNext);
4362     if (descriptorSetCount && in_struct->pSetLayouts) {
4363         pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4364         for (uint32_t i = 0; i < descriptorSetCount; ++i) {
4365             pSetLayouts[i] = in_struct->pSetLayouts[i];
4366         }
4367     }
4368 }
4369 
safe_VkDescriptorSetAllocateInfo()4370 safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo() :
4371     pNext(nullptr),
4372     pSetLayouts(nullptr)
4373 {}
4374 
safe_VkDescriptorSetAllocateInfo(const safe_VkDescriptorSetAllocateInfo & src)4375 safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo(const safe_VkDescriptorSetAllocateInfo& src)
4376 {
4377     sType = src.sType;
4378     descriptorPool = src.descriptorPool;
4379     descriptorSetCount = src.descriptorSetCount;
4380     pSetLayouts = nullptr;
4381     pNext = SafePnextCopy(src.pNext);
4382     if (descriptorSetCount && src.pSetLayouts) {
4383         pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4384         for (uint32_t i = 0; i < descriptorSetCount; ++i) {
4385             pSetLayouts[i] = src.pSetLayouts[i];
4386         }
4387     }
4388 }
4389 
operator =(const safe_VkDescriptorSetAllocateInfo & src)4390 safe_VkDescriptorSetAllocateInfo& safe_VkDescriptorSetAllocateInfo::operator=(const safe_VkDescriptorSetAllocateInfo& src)
4391 {
4392     if (&src == this) return *this;
4393 
4394     if (pSetLayouts)
4395         delete[] pSetLayouts;
4396     if (pNext)
4397         FreePnextChain(pNext);
4398 
4399     sType = src.sType;
4400     descriptorPool = src.descriptorPool;
4401     descriptorSetCount = src.descriptorSetCount;
4402     pSetLayouts = nullptr;
4403     pNext = SafePnextCopy(src.pNext);
4404     if (descriptorSetCount && src.pSetLayouts) {
4405         pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4406         for (uint32_t i = 0; i < descriptorSetCount; ++i) {
4407             pSetLayouts[i] = src.pSetLayouts[i];
4408         }
4409     }
4410 
4411     return *this;
4412 }
4413 
~safe_VkDescriptorSetAllocateInfo()4414 safe_VkDescriptorSetAllocateInfo::~safe_VkDescriptorSetAllocateInfo()
4415 {
4416     if (pSetLayouts)
4417         delete[] pSetLayouts;
4418     if (pNext)
4419         FreePnextChain(pNext);
4420 }
4421 
initialize(const VkDescriptorSetAllocateInfo * in_struct)4422 void safe_VkDescriptorSetAllocateInfo::initialize(const VkDescriptorSetAllocateInfo* in_struct)
4423 {
4424     sType = in_struct->sType;
4425     descriptorPool = in_struct->descriptorPool;
4426     descriptorSetCount = in_struct->descriptorSetCount;
4427     pSetLayouts = nullptr;
4428     pNext = SafePnextCopy(in_struct->pNext);
4429     if (descriptorSetCount && in_struct->pSetLayouts) {
4430         pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4431         for (uint32_t i = 0; i < descriptorSetCount; ++i) {
4432             pSetLayouts[i] = in_struct->pSetLayouts[i];
4433         }
4434     }
4435 }
4436 
initialize(const safe_VkDescriptorSetAllocateInfo * src)4437 void safe_VkDescriptorSetAllocateInfo::initialize(const safe_VkDescriptorSetAllocateInfo* src)
4438 {
4439     sType = src->sType;
4440     descriptorPool = src->descriptorPool;
4441     descriptorSetCount = src->descriptorSetCount;
4442     pSetLayouts = nullptr;
4443     pNext = SafePnextCopy(src->pNext);
4444     if (descriptorSetCount && src->pSetLayouts) {
4445         pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4446         for (uint32_t i = 0; i < descriptorSetCount; ++i) {
4447             pSetLayouts[i] = src->pSetLayouts[i];
4448         }
4449     }
4450 }
4451 
safe_VkWriteDescriptorSet(const VkWriteDescriptorSet * in_struct)4452 safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* in_struct) :
4453     sType(in_struct->sType),
4454     dstSet(in_struct->dstSet),
4455     dstBinding(in_struct->dstBinding),
4456     dstArrayElement(in_struct->dstArrayElement),
4457     descriptorCount(in_struct->descriptorCount),
4458     descriptorType(in_struct->descriptorType),
4459     pImageInfo(nullptr),
4460     pBufferInfo(nullptr),
4461     pTexelBufferView(nullptr)
4462 {
4463     pNext = SafePnextCopy(in_struct->pNext);
4464     switch (descriptorType) {
4465         case VK_DESCRIPTOR_TYPE_SAMPLER:
4466         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4467         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4468         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4469         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4470         if (descriptorCount && in_struct->pImageInfo) {
4471             pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4472             for (uint32_t i = 0; i < descriptorCount; ++i) {
4473                 pImageInfo[i] = in_struct->pImageInfo[i];
4474             }
4475         }
4476         break;
4477         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4478         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4479         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4480         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4481         if (descriptorCount && in_struct->pBufferInfo) {
4482             pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4483             for (uint32_t i = 0; i < descriptorCount; ++i) {
4484                 pBufferInfo[i] = in_struct->pBufferInfo[i];
4485             }
4486         }
4487         break;
4488         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4489         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4490         if (descriptorCount && in_struct->pTexelBufferView) {
4491             pTexelBufferView = new VkBufferView[descriptorCount];
4492             for (uint32_t i = 0; i < descriptorCount; ++i) {
4493                 pTexelBufferView[i] = in_struct->pTexelBufferView[i];
4494             }
4495         }
4496         break;
4497         default:
4498         break;
4499     }
4500 }
4501 
safe_VkWriteDescriptorSet()4502 safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet() :
4503     pNext(nullptr),
4504     pImageInfo(nullptr),
4505     pBufferInfo(nullptr),
4506     pTexelBufferView(nullptr)
4507 {}
4508 
safe_VkWriteDescriptorSet(const safe_VkWriteDescriptorSet & src)4509 safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescriptorSet& src)
4510 {
4511     sType = src.sType;
4512     dstSet = src.dstSet;
4513     dstBinding = src.dstBinding;
4514     dstArrayElement = src.dstArrayElement;
4515     descriptorCount = src.descriptorCount;
4516     descriptorType = src.descriptorType;
4517     pImageInfo = nullptr;
4518     pBufferInfo = nullptr;
4519     pTexelBufferView = nullptr;
4520     pNext = SafePnextCopy(src.pNext);
4521     switch (descriptorType) {
4522         case VK_DESCRIPTOR_TYPE_SAMPLER:
4523         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4524         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4525         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4526         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4527         if (descriptorCount && src.pImageInfo) {
4528             pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4529             for (uint32_t i = 0; i < descriptorCount; ++i) {
4530                 pImageInfo[i] = src.pImageInfo[i];
4531             }
4532         }
4533         break;
4534         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4535         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4536         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4537         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4538         if (descriptorCount && src.pBufferInfo) {
4539             pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4540             for (uint32_t i = 0; i < descriptorCount; ++i) {
4541                 pBufferInfo[i] = src.pBufferInfo[i];
4542             }
4543         }
4544         break;
4545         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4546         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4547         if (descriptorCount && src.pTexelBufferView) {
4548             pTexelBufferView = new VkBufferView[descriptorCount];
4549             for (uint32_t i = 0; i < descriptorCount; ++i) {
4550                 pTexelBufferView[i] = src.pTexelBufferView[i];
4551             }
4552         }
4553         break;
4554         default:
4555         break;
4556     }
4557 }
4558 
operator =(const safe_VkWriteDescriptorSet & src)4559 safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWriteDescriptorSet& src)
4560 {
4561     if (&src == this) return *this;
4562 
4563     if (pImageInfo)
4564         delete[] pImageInfo;
4565     if (pBufferInfo)
4566         delete[] pBufferInfo;
4567     if (pTexelBufferView)
4568         delete[] pTexelBufferView;
4569     if (pNext)
4570         FreePnextChain(pNext);
4571 
4572     sType = src.sType;
4573     dstSet = src.dstSet;
4574     dstBinding = src.dstBinding;
4575     dstArrayElement = src.dstArrayElement;
4576     descriptorCount = src.descriptorCount;
4577     descriptorType = src.descriptorType;
4578     pImageInfo = nullptr;
4579     pBufferInfo = nullptr;
4580     pTexelBufferView = nullptr;
4581     pNext = SafePnextCopy(src.pNext);
4582     switch (descriptorType) {
4583         case VK_DESCRIPTOR_TYPE_SAMPLER:
4584         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4585         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4586         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4587         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4588         if (descriptorCount && src.pImageInfo) {
4589             pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4590             for (uint32_t i = 0; i < descriptorCount; ++i) {
4591                 pImageInfo[i] = src.pImageInfo[i];
4592             }
4593         }
4594         break;
4595         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4596         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4597         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4598         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4599         if (descriptorCount && src.pBufferInfo) {
4600             pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4601             for (uint32_t i = 0; i < descriptorCount; ++i) {
4602                 pBufferInfo[i] = src.pBufferInfo[i];
4603             }
4604         }
4605         break;
4606         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4607         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4608         if (descriptorCount && src.pTexelBufferView) {
4609             pTexelBufferView = new VkBufferView[descriptorCount];
4610             for (uint32_t i = 0; i < descriptorCount; ++i) {
4611                 pTexelBufferView[i] = src.pTexelBufferView[i];
4612             }
4613         }
4614         break;
4615         default:
4616         break;
4617     }
4618 
4619     return *this;
4620 }
4621 
~safe_VkWriteDescriptorSet()4622 safe_VkWriteDescriptorSet::~safe_VkWriteDescriptorSet()
4623 {
4624     if (pImageInfo)
4625         delete[] pImageInfo;
4626     if (pBufferInfo)
4627         delete[] pBufferInfo;
4628     if (pTexelBufferView)
4629         delete[] pTexelBufferView;
4630     if (pNext)
4631         FreePnextChain(pNext);
4632 }
4633 
initialize(const VkWriteDescriptorSet * in_struct)4634 void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct)
4635 {
4636     sType = in_struct->sType;
4637     dstSet = in_struct->dstSet;
4638     dstBinding = in_struct->dstBinding;
4639     dstArrayElement = in_struct->dstArrayElement;
4640     descriptorCount = in_struct->descriptorCount;
4641     descriptorType = in_struct->descriptorType;
4642     pImageInfo = nullptr;
4643     pBufferInfo = nullptr;
4644     pTexelBufferView = nullptr;
4645     pNext = SafePnextCopy(in_struct->pNext);
4646     switch (descriptorType) {
4647         case VK_DESCRIPTOR_TYPE_SAMPLER:
4648         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4649         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4650         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4651         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4652         if (descriptorCount && in_struct->pImageInfo) {
4653             pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4654             for (uint32_t i = 0; i < descriptorCount; ++i) {
4655                 pImageInfo[i] = in_struct->pImageInfo[i];
4656             }
4657         }
4658         break;
4659         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4660         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4661         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4662         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4663         if (descriptorCount && in_struct->pBufferInfo) {
4664             pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4665             for (uint32_t i = 0; i < descriptorCount; ++i) {
4666                 pBufferInfo[i] = in_struct->pBufferInfo[i];
4667             }
4668         }
4669         break;
4670         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4671         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4672         if (descriptorCount && in_struct->pTexelBufferView) {
4673             pTexelBufferView = new VkBufferView[descriptorCount];
4674             for (uint32_t i = 0; i < descriptorCount; ++i) {
4675                 pTexelBufferView[i] = in_struct->pTexelBufferView[i];
4676             }
4677         }
4678         break;
4679         default:
4680         break;
4681     }
4682 }
4683 
initialize(const safe_VkWriteDescriptorSet * src)4684 void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src)
4685 {
4686     sType = src->sType;
4687     dstSet = src->dstSet;
4688     dstBinding = src->dstBinding;
4689     dstArrayElement = src->dstArrayElement;
4690     descriptorCount = src->descriptorCount;
4691     descriptorType = src->descriptorType;
4692     pImageInfo = nullptr;
4693     pBufferInfo = nullptr;
4694     pTexelBufferView = nullptr;
4695     pNext = SafePnextCopy(src->pNext);
4696     switch (descriptorType) {
4697         case VK_DESCRIPTOR_TYPE_SAMPLER:
4698         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4699         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4700         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4701         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4702         if (descriptorCount && src->pImageInfo) {
4703             pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4704             for (uint32_t i = 0; i < descriptorCount; ++i) {
4705                 pImageInfo[i] = src->pImageInfo[i];
4706             }
4707         }
4708         break;
4709         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4710         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4711         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4712         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4713         if (descriptorCount && src->pBufferInfo) {
4714             pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4715             for (uint32_t i = 0; i < descriptorCount; ++i) {
4716                 pBufferInfo[i] = src->pBufferInfo[i];
4717             }
4718         }
4719         break;
4720         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4721         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4722         if (descriptorCount && src->pTexelBufferView) {
4723             pTexelBufferView = new VkBufferView[descriptorCount];
4724             for (uint32_t i = 0; i < descriptorCount; ++i) {
4725                 pTexelBufferView[i] = src->pTexelBufferView[i];
4726             }
4727         }
4728         break;
4729         default:
4730         break;
4731     }
4732 }
4733 
safe_VkCopyDescriptorSet(const VkCopyDescriptorSet * in_struct)4734 safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const VkCopyDescriptorSet* in_struct) :
4735     sType(in_struct->sType),
4736     srcSet(in_struct->srcSet),
4737     srcBinding(in_struct->srcBinding),
4738     srcArrayElement(in_struct->srcArrayElement),
4739     dstSet(in_struct->dstSet),
4740     dstBinding(in_struct->dstBinding),
4741     dstArrayElement(in_struct->dstArrayElement),
4742     descriptorCount(in_struct->descriptorCount)
4743 {
4744     pNext = SafePnextCopy(in_struct->pNext);
4745 }
4746 
safe_VkCopyDescriptorSet()4747 safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet() :
4748     pNext(nullptr)
4749 {}
4750 
safe_VkCopyDescriptorSet(const safe_VkCopyDescriptorSet & src)4751 safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const safe_VkCopyDescriptorSet& src)
4752 {
4753     sType = src.sType;
4754     srcSet = src.srcSet;
4755     srcBinding = src.srcBinding;
4756     srcArrayElement = src.srcArrayElement;
4757     dstSet = src.dstSet;
4758     dstBinding = src.dstBinding;
4759     dstArrayElement = src.dstArrayElement;
4760     descriptorCount = src.descriptorCount;
4761     pNext = SafePnextCopy(src.pNext);
4762 }
4763 
operator =(const safe_VkCopyDescriptorSet & src)4764 safe_VkCopyDescriptorSet& safe_VkCopyDescriptorSet::operator=(const safe_VkCopyDescriptorSet& src)
4765 {
4766     if (&src == this) return *this;
4767 
4768     if (pNext)
4769         FreePnextChain(pNext);
4770 
4771     sType = src.sType;
4772     srcSet = src.srcSet;
4773     srcBinding = src.srcBinding;
4774     srcArrayElement = src.srcArrayElement;
4775     dstSet = src.dstSet;
4776     dstBinding = src.dstBinding;
4777     dstArrayElement = src.dstArrayElement;
4778     descriptorCount = src.descriptorCount;
4779     pNext = SafePnextCopy(src.pNext);
4780 
4781     return *this;
4782 }
4783 
~safe_VkCopyDescriptorSet()4784 safe_VkCopyDescriptorSet::~safe_VkCopyDescriptorSet()
4785 {
4786     if (pNext)
4787         FreePnextChain(pNext);
4788 }
4789 
initialize(const VkCopyDescriptorSet * in_struct)4790 void safe_VkCopyDescriptorSet::initialize(const VkCopyDescriptorSet* in_struct)
4791 {
4792     sType = in_struct->sType;
4793     srcSet = in_struct->srcSet;
4794     srcBinding = in_struct->srcBinding;
4795     srcArrayElement = in_struct->srcArrayElement;
4796     dstSet = in_struct->dstSet;
4797     dstBinding = in_struct->dstBinding;
4798     dstArrayElement = in_struct->dstArrayElement;
4799     descriptorCount = in_struct->descriptorCount;
4800     pNext = SafePnextCopy(in_struct->pNext);
4801 }
4802 
initialize(const safe_VkCopyDescriptorSet * src)4803 void safe_VkCopyDescriptorSet::initialize(const safe_VkCopyDescriptorSet* src)
4804 {
4805     sType = src->sType;
4806     srcSet = src->srcSet;
4807     srcBinding = src->srcBinding;
4808     srcArrayElement = src->srcArrayElement;
4809     dstSet = src->dstSet;
4810     dstBinding = src->dstBinding;
4811     dstArrayElement = src->dstArrayElement;
4812     descriptorCount = src->descriptorCount;
4813     pNext = SafePnextCopy(src->pNext);
4814 }
4815 
safe_VkFramebufferCreateInfo(const VkFramebufferCreateInfo * in_struct)4816 safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const VkFramebufferCreateInfo* in_struct) :
4817     sType(in_struct->sType),
4818     flags(in_struct->flags),
4819     renderPass(in_struct->renderPass),
4820     attachmentCount(in_struct->attachmentCount),
4821     pAttachments(nullptr),
4822     width(in_struct->width),
4823     height(in_struct->height),
4824     layers(in_struct->layers)
4825 {
4826     pNext = SafePnextCopy(in_struct->pNext);
4827     if (attachmentCount && in_struct->pAttachments) {
4828         pAttachments = new VkImageView[attachmentCount];
4829         for (uint32_t i = 0; i < attachmentCount; ++i) {
4830             pAttachments[i] = in_struct->pAttachments[i];
4831         }
4832     }
4833 }
4834 
safe_VkFramebufferCreateInfo()4835 safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo() :
4836     pNext(nullptr),
4837     pAttachments(nullptr)
4838 {}
4839 
safe_VkFramebufferCreateInfo(const safe_VkFramebufferCreateInfo & src)4840 safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const safe_VkFramebufferCreateInfo& src)
4841 {
4842     sType = src.sType;
4843     flags = src.flags;
4844     renderPass = src.renderPass;
4845     attachmentCount = src.attachmentCount;
4846     pAttachments = nullptr;
4847     width = src.width;
4848     height = src.height;
4849     layers = src.layers;
4850     pNext = SafePnextCopy(src.pNext);
4851     if (attachmentCount && src.pAttachments) {
4852         pAttachments = new VkImageView[attachmentCount];
4853         for (uint32_t i = 0; i < attachmentCount; ++i) {
4854             pAttachments[i] = src.pAttachments[i];
4855         }
4856     }
4857 }
4858 
operator =(const safe_VkFramebufferCreateInfo & src)4859 safe_VkFramebufferCreateInfo& safe_VkFramebufferCreateInfo::operator=(const safe_VkFramebufferCreateInfo& src)
4860 {
4861     if (&src == this) return *this;
4862 
4863     if (pAttachments)
4864         delete[] pAttachments;
4865     if (pNext)
4866         FreePnextChain(pNext);
4867 
4868     sType = src.sType;
4869     flags = src.flags;
4870     renderPass = src.renderPass;
4871     attachmentCount = src.attachmentCount;
4872     pAttachments = nullptr;
4873     width = src.width;
4874     height = src.height;
4875     layers = src.layers;
4876     pNext = SafePnextCopy(src.pNext);
4877     if (attachmentCount && src.pAttachments) {
4878         pAttachments = new VkImageView[attachmentCount];
4879         for (uint32_t i = 0; i < attachmentCount; ++i) {
4880             pAttachments[i] = src.pAttachments[i];
4881         }
4882     }
4883 
4884     return *this;
4885 }
4886 
~safe_VkFramebufferCreateInfo()4887 safe_VkFramebufferCreateInfo::~safe_VkFramebufferCreateInfo()
4888 {
4889     if (pAttachments)
4890         delete[] pAttachments;
4891     if (pNext)
4892         FreePnextChain(pNext);
4893 }
4894 
initialize(const VkFramebufferCreateInfo * in_struct)4895 void safe_VkFramebufferCreateInfo::initialize(const VkFramebufferCreateInfo* in_struct)
4896 {
4897     sType = in_struct->sType;
4898     flags = in_struct->flags;
4899     renderPass = in_struct->renderPass;
4900     attachmentCount = in_struct->attachmentCount;
4901     pAttachments = nullptr;
4902     width = in_struct->width;
4903     height = in_struct->height;
4904     layers = in_struct->layers;
4905     pNext = SafePnextCopy(in_struct->pNext);
4906     if (attachmentCount && in_struct->pAttachments) {
4907         pAttachments = new VkImageView[attachmentCount];
4908         for (uint32_t i = 0; i < attachmentCount; ++i) {
4909             pAttachments[i] = in_struct->pAttachments[i];
4910         }
4911     }
4912 }
4913 
initialize(const safe_VkFramebufferCreateInfo * src)4914 void safe_VkFramebufferCreateInfo::initialize(const safe_VkFramebufferCreateInfo* src)
4915 {
4916     sType = src->sType;
4917     flags = src->flags;
4918     renderPass = src->renderPass;
4919     attachmentCount = src->attachmentCount;
4920     pAttachments = nullptr;
4921     width = src->width;
4922     height = src->height;
4923     layers = src->layers;
4924     pNext = SafePnextCopy(src->pNext);
4925     if (attachmentCount && src->pAttachments) {
4926         pAttachments = new VkImageView[attachmentCount];
4927         for (uint32_t i = 0; i < attachmentCount; ++i) {
4928             pAttachments[i] = src->pAttachments[i];
4929         }
4930     }
4931 }
4932 
safe_VkSubpassDescription(const VkSubpassDescription * in_struct)4933 safe_VkSubpassDescription::safe_VkSubpassDescription(const VkSubpassDescription* in_struct) :
4934     flags(in_struct->flags),
4935     pipelineBindPoint(in_struct->pipelineBindPoint),
4936     inputAttachmentCount(in_struct->inputAttachmentCount),
4937     pInputAttachments(nullptr),
4938     colorAttachmentCount(in_struct->colorAttachmentCount),
4939     pColorAttachments(nullptr),
4940     pResolveAttachments(nullptr),
4941     pDepthStencilAttachment(nullptr),
4942     preserveAttachmentCount(in_struct->preserveAttachmentCount),
4943     pPreserveAttachments(nullptr)
4944 {
4945     if (in_struct->pInputAttachments) {
4946         pInputAttachments = new VkAttachmentReference[in_struct->inputAttachmentCount];
4947         memcpy ((void *)pInputAttachments, (void *)in_struct->pInputAttachments, sizeof(VkAttachmentReference)*in_struct->inputAttachmentCount);
4948     }
4949     if (in_struct->pColorAttachments) {
4950         pColorAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
4951         memcpy ((void *)pColorAttachments, (void *)in_struct->pColorAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
4952     }
4953     if (in_struct->pResolveAttachments) {
4954         pResolveAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
4955         memcpy ((void *)pResolveAttachments, (void *)in_struct->pResolveAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
4956     }
4957     if (in_struct->pDepthStencilAttachment) {
4958         pDepthStencilAttachment = new VkAttachmentReference(*in_struct->pDepthStencilAttachment);
4959     }
4960     if (in_struct->pPreserveAttachments) {
4961         pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
4962         memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
4963     }
4964 }
4965 
safe_VkSubpassDescription()4966 safe_VkSubpassDescription::safe_VkSubpassDescription() :
4967     pInputAttachments(nullptr),
4968     pColorAttachments(nullptr),
4969     pResolveAttachments(nullptr),
4970     pDepthStencilAttachment(nullptr),
4971     pPreserveAttachments(nullptr)
4972 {}
4973 
safe_VkSubpassDescription(const safe_VkSubpassDescription & src)4974 safe_VkSubpassDescription::safe_VkSubpassDescription(const safe_VkSubpassDescription& src)
4975 {
4976     flags = src.flags;
4977     pipelineBindPoint = src.pipelineBindPoint;
4978     inputAttachmentCount = src.inputAttachmentCount;
4979     pInputAttachments = nullptr;
4980     colorAttachmentCount = src.colorAttachmentCount;
4981     pColorAttachments = nullptr;
4982     pResolveAttachments = nullptr;
4983     pDepthStencilAttachment = nullptr;
4984     preserveAttachmentCount = src.preserveAttachmentCount;
4985     pPreserveAttachments = nullptr;
4986     if (src.pInputAttachments) {
4987         pInputAttachments = new VkAttachmentReference[src.inputAttachmentCount];
4988         memcpy ((void *)pInputAttachments, (void *)src.pInputAttachments, sizeof(VkAttachmentReference)*src.inputAttachmentCount);
4989     }
4990     if (src.pColorAttachments) {
4991         pColorAttachments = new VkAttachmentReference[src.colorAttachmentCount];
4992         memcpy ((void *)pColorAttachments, (void *)src.pColorAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
4993     }
4994     if (src.pResolveAttachments) {
4995         pResolveAttachments = new VkAttachmentReference[src.colorAttachmentCount];
4996         memcpy ((void *)pResolveAttachments, (void *)src.pResolveAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
4997     }
4998     if (src.pDepthStencilAttachment) {
4999         pDepthStencilAttachment = new VkAttachmentReference(*src.pDepthStencilAttachment);
5000     }
5001     if (src.pPreserveAttachments) {
5002         pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
5003         memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
5004     }
5005 }
5006 
operator =(const safe_VkSubpassDescription & src)5007 safe_VkSubpassDescription& safe_VkSubpassDescription::operator=(const safe_VkSubpassDescription& src)
5008 {
5009     if (&src == this) return *this;
5010 
5011     if (pInputAttachments)
5012         delete[] pInputAttachments;
5013     if (pColorAttachments)
5014         delete[] pColorAttachments;
5015     if (pResolveAttachments)
5016         delete[] pResolveAttachments;
5017     if (pDepthStencilAttachment)
5018         delete pDepthStencilAttachment;
5019     if (pPreserveAttachments)
5020         delete[] pPreserveAttachments;
5021 
5022     flags = src.flags;
5023     pipelineBindPoint = src.pipelineBindPoint;
5024     inputAttachmentCount = src.inputAttachmentCount;
5025     pInputAttachments = nullptr;
5026     colorAttachmentCount = src.colorAttachmentCount;
5027     pColorAttachments = nullptr;
5028     pResolveAttachments = nullptr;
5029     pDepthStencilAttachment = nullptr;
5030     preserveAttachmentCount = src.preserveAttachmentCount;
5031     pPreserveAttachments = nullptr;
5032     if (src.pInputAttachments) {
5033         pInputAttachments = new VkAttachmentReference[src.inputAttachmentCount];
5034         memcpy ((void *)pInputAttachments, (void *)src.pInputAttachments, sizeof(VkAttachmentReference)*src.inputAttachmentCount);
5035     }
5036     if (src.pColorAttachments) {
5037         pColorAttachments = new VkAttachmentReference[src.colorAttachmentCount];
5038         memcpy ((void *)pColorAttachments, (void *)src.pColorAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
5039     }
5040     if (src.pResolveAttachments) {
5041         pResolveAttachments = new VkAttachmentReference[src.colorAttachmentCount];
5042         memcpy ((void *)pResolveAttachments, (void *)src.pResolveAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
5043     }
5044     if (src.pDepthStencilAttachment) {
5045         pDepthStencilAttachment = new VkAttachmentReference(*src.pDepthStencilAttachment);
5046     }
5047     if (src.pPreserveAttachments) {
5048         pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
5049         memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
5050     }
5051 
5052     return *this;
5053 }
5054 
~safe_VkSubpassDescription()5055 safe_VkSubpassDescription::~safe_VkSubpassDescription()
5056 {
5057     if (pInputAttachments)
5058         delete[] pInputAttachments;
5059     if (pColorAttachments)
5060         delete[] pColorAttachments;
5061     if (pResolveAttachments)
5062         delete[] pResolveAttachments;
5063     if (pDepthStencilAttachment)
5064         delete pDepthStencilAttachment;
5065     if (pPreserveAttachments)
5066         delete[] pPreserveAttachments;
5067 }
5068 
initialize(const VkSubpassDescription * in_struct)5069 void safe_VkSubpassDescription::initialize(const VkSubpassDescription* in_struct)
5070 {
5071     flags = in_struct->flags;
5072     pipelineBindPoint = in_struct->pipelineBindPoint;
5073     inputAttachmentCount = in_struct->inputAttachmentCount;
5074     pInputAttachments = nullptr;
5075     colorAttachmentCount = in_struct->colorAttachmentCount;
5076     pColorAttachments = nullptr;
5077     pResolveAttachments = nullptr;
5078     pDepthStencilAttachment = nullptr;
5079     preserveAttachmentCount = in_struct->preserveAttachmentCount;
5080     pPreserveAttachments = nullptr;
5081     if (in_struct->pInputAttachments) {
5082         pInputAttachments = new VkAttachmentReference[in_struct->inputAttachmentCount];
5083         memcpy ((void *)pInputAttachments, (void *)in_struct->pInputAttachments, sizeof(VkAttachmentReference)*in_struct->inputAttachmentCount);
5084     }
5085     if (in_struct->pColorAttachments) {
5086         pColorAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
5087         memcpy ((void *)pColorAttachments, (void *)in_struct->pColorAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
5088     }
5089     if (in_struct->pResolveAttachments) {
5090         pResolveAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
5091         memcpy ((void *)pResolveAttachments, (void *)in_struct->pResolveAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
5092     }
5093     if (in_struct->pDepthStencilAttachment) {
5094         pDepthStencilAttachment = new VkAttachmentReference(*in_struct->pDepthStencilAttachment);
5095     }
5096     if (in_struct->pPreserveAttachments) {
5097         pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
5098         memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
5099     }
5100 }
5101 
initialize(const safe_VkSubpassDescription * src)5102 void safe_VkSubpassDescription::initialize(const safe_VkSubpassDescription* src)
5103 {
5104     flags = src->flags;
5105     pipelineBindPoint = src->pipelineBindPoint;
5106     inputAttachmentCount = src->inputAttachmentCount;
5107     pInputAttachments = nullptr;
5108     colorAttachmentCount = src->colorAttachmentCount;
5109     pColorAttachments = nullptr;
5110     pResolveAttachments = nullptr;
5111     pDepthStencilAttachment = nullptr;
5112     preserveAttachmentCount = src->preserveAttachmentCount;
5113     pPreserveAttachments = nullptr;
5114     if (src->pInputAttachments) {
5115         pInputAttachments = new VkAttachmentReference[src->inputAttachmentCount];
5116         memcpy ((void *)pInputAttachments, (void *)src->pInputAttachments, sizeof(VkAttachmentReference)*src->inputAttachmentCount);
5117     }
5118     if (src->pColorAttachments) {
5119         pColorAttachments = new VkAttachmentReference[src->colorAttachmentCount];
5120         memcpy ((void *)pColorAttachments, (void *)src->pColorAttachments, sizeof(VkAttachmentReference)*src->colorAttachmentCount);
5121     }
5122     if (src->pResolveAttachments) {
5123         pResolveAttachments = new VkAttachmentReference[src->colorAttachmentCount];
5124         memcpy ((void *)pResolveAttachments, (void *)src->pResolveAttachments, sizeof(VkAttachmentReference)*src->colorAttachmentCount);
5125     }
5126     if (src->pDepthStencilAttachment) {
5127         pDepthStencilAttachment = new VkAttachmentReference(*src->pDepthStencilAttachment);
5128     }
5129     if (src->pPreserveAttachments) {
5130         pPreserveAttachments = new uint32_t[src->preserveAttachmentCount];
5131         memcpy ((void *)pPreserveAttachments, (void *)src->pPreserveAttachments, sizeof(uint32_t)*src->preserveAttachmentCount);
5132     }
5133 }
5134 
safe_VkRenderPassCreateInfo(const VkRenderPassCreateInfo * in_struct)5135 safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const VkRenderPassCreateInfo* in_struct) :
5136     sType(in_struct->sType),
5137     flags(in_struct->flags),
5138     attachmentCount(in_struct->attachmentCount),
5139     pAttachments(nullptr),
5140     subpassCount(in_struct->subpassCount),
5141     pSubpasses(nullptr),
5142     dependencyCount(in_struct->dependencyCount),
5143     pDependencies(nullptr)
5144 {
5145     pNext = SafePnextCopy(in_struct->pNext);
5146     if (in_struct->pAttachments) {
5147         pAttachments = new VkAttachmentDescription[in_struct->attachmentCount];
5148         memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkAttachmentDescription)*in_struct->attachmentCount);
5149     }
5150     if (subpassCount && in_struct->pSubpasses) {
5151         pSubpasses = new safe_VkSubpassDescription[subpassCount];
5152         for (uint32_t i = 0; i < subpassCount; ++i) {
5153             pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
5154         }
5155     }
5156     if (in_struct->pDependencies) {
5157         pDependencies = new VkSubpassDependency[in_struct->dependencyCount];
5158         memcpy ((void *)pDependencies, (void *)in_struct->pDependencies, sizeof(VkSubpassDependency)*in_struct->dependencyCount);
5159     }
5160 }
5161 
safe_VkRenderPassCreateInfo()5162 safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo() :
5163     pNext(nullptr),
5164     pAttachments(nullptr),
5165     pSubpasses(nullptr),
5166     pDependencies(nullptr)
5167 {}
5168 
safe_VkRenderPassCreateInfo(const safe_VkRenderPassCreateInfo & src)5169 safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const safe_VkRenderPassCreateInfo& src)
5170 {
5171     sType = src.sType;
5172     flags = src.flags;
5173     attachmentCount = src.attachmentCount;
5174     pAttachments = nullptr;
5175     subpassCount = src.subpassCount;
5176     pSubpasses = nullptr;
5177     dependencyCount = src.dependencyCount;
5178     pDependencies = nullptr;
5179     pNext = SafePnextCopy(src.pNext);
5180     if (src.pAttachments) {
5181         pAttachments = new VkAttachmentDescription[src.attachmentCount];
5182         memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkAttachmentDescription)*src.attachmentCount);
5183     }
5184     if (subpassCount && src.pSubpasses) {
5185         pSubpasses = new safe_VkSubpassDescription[subpassCount];
5186         for (uint32_t i = 0; i < subpassCount; ++i) {
5187             pSubpasses[i].initialize(&src.pSubpasses[i]);
5188         }
5189     }
5190     if (src.pDependencies) {
5191         pDependencies = new VkSubpassDependency[src.dependencyCount];
5192         memcpy ((void *)pDependencies, (void *)src.pDependencies, sizeof(VkSubpassDependency)*src.dependencyCount);
5193     }
5194 }
5195 
operator =(const safe_VkRenderPassCreateInfo & src)5196 safe_VkRenderPassCreateInfo& safe_VkRenderPassCreateInfo::operator=(const safe_VkRenderPassCreateInfo& src)
5197 {
5198     if (&src == this) return *this;
5199 
5200     if (pAttachments)
5201         delete[] pAttachments;
5202     if (pSubpasses)
5203         delete[] pSubpasses;
5204     if (pDependencies)
5205         delete[] pDependencies;
5206     if (pNext)
5207         FreePnextChain(pNext);
5208 
5209     sType = src.sType;
5210     flags = src.flags;
5211     attachmentCount = src.attachmentCount;
5212     pAttachments = nullptr;
5213     subpassCount = src.subpassCount;
5214     pSubpasses = nullptr;
5215     dependencyCount = src.dependencyCount;
5216     pDependencies = nullptr;
5217     pNext = SafePnextCopy(src.pNext);
5218     if (src.pAttachments) {
5219         pAttachments = new VkAttachmentDescription[src.attachmentCount];
5220         memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkAttachmentDescription)*src.attachmentCount);
5221     }
5222     if (subpassCount && src.pSubpasses) {
5223         pSubpasses = new safe_VkSubpassDescription[subpassCount];
5224         for (uint32_t i = 0; i < subpassCount; ++i) {
5225             pSubpasses[i].initialize(&src.pSubpasses[i]);
5226         }
5227     }
5228     if (src.pDependencies) {
5229         pDependencies = new VkSubpassDependency[src.dependencyCount];
5230         memcpy ((void *)pDependencies, (void *)src.pDependencies, sizeof(VkSubpassDependency)*src.dependencyCount);
5231     }
5232 
5233     return *this;
5234 }
5235 
~safe_VkRenderPassCreateInfo()5236 safe_VkRenderPassCreateInfo::~safe_VkRenderPassCreateInfo()
5237 {
5238     if (pAttachments)
5239         delete[] pAttachments;
5240     if (pSubpasses)
5241         delete[] pSubpasses;
5242     if (pDependencies)
5243         delete[] pDependencies;
5244     if (pNext)
5245         FreePnextChain(pNext);
5246 }
5247 
initialize(const VkRenderPassCreateInfo * in_struct)5248 void safe_VkRenderPassCreateInfo::initialize(const VkRenderPassCreateInfo* in_struct)
5249 {
5250     sType = in_struct->sType;
5251     flags = in_struct->flags;
5252     attachmentCount = in_struct->attachmentCount;
5253     pAttachments = nullptr;
5254     subpassCount = in_struct->subpassCount;
5255     pSubpasses = nullptr;
5256     dependencyCount = in_struct->dependencyCount;
5257     pDependencies = nullptr;
5258     pNext = SafePnextCopy(in_struct->pNext);
5259     if (in_struct->pAttachments) {
5260         pAttachments = new VkAttachmentDescription[in_struct->attachmentCount];
5261         memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkAttachmentDescription)*in_struct->attachmentCount);
5262     }
5263     if (subpassCount && in_struct->pSubpasses) {
5264         pSubpasses = new safe_VkSubpassDescription[subpassCount];
5265         for (uint32_t i = 0; i < subpassCount; ++i) {
5266             pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
5267         }
5268     }
5269     if (in_struct->pDependencies) {
5270         pDependencies = new VkSubpassDependency[in_struct->dependencyCount];
5271         memcpy ((void *)pDependencies, (void *)in_struct->pDependencies, sizeof(VkSubpassDependency)*in_struct->dependencyCount);
5272     }
5273 }
5274 
initialize(const safe_VkRenderPassCreateInfo * src)5275 void safe_VkRenderPassCreateInfo::initialize(const safe_VkRenderPassCreateInfo* src)
5276 {
5277     sType = src->sType;
5278     flags = src->flags;
5279     attachmentCount = src->attachmentCount;
5280     pAttachments = nullptr;
5281     subpassCount = src->subpassCount;
5282     pSubpasses = nullptr;
5283     dependencyCount = src->dependencyCount;
5284     pDependencies = nullptr;
5285     pNext = SafePnextCopy(src->pNext);
5286     if (src->pAttachments) {
5287         pAttachments = new VkAttachmentDescription[src->attachmentCount];
5288         memcpy ((void *)pAttachments, (void *)src->pAttachments, sizeof(VkAttachmentDescription)*src->attachmentCount);
5289     }
5290     if (subpassCount && src->pSubpasses) {
5291         pSubpasses = new safe_VkSubpassDescription[subpassCount];
5292         for (uint32_t i = 0; i < subpassCount; ++i) {
5293             pSubpasses[i].initialize(&src->pSubpasses[i]);
5294         }
5295     }
5296     if (src->pDependencies) {
5297         pDependencies = new VkSubpassDependency[src->dependencyCount];
5298         memcpy ((void *)pDependencies, (void *)src->pDependencies, sizeof(VkSubpassDependency)*src->dependencyCount);
5299     }
5300 }
5301 
safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo * in_struct)5302 safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct) :
5303     sType(in_struct->sType),
5304     flags(in_struct->flags),
5305     queueFamilyIndex(in_struct->queueFamilyIndex)
5306 {
5307     pNext = SafePnextCopy(in_struct->pNext);
5308 }
5309 
safe_VkCommandPoolCreateInfo()5310 safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo() :
5311     pNext(nullptr)
5312 {}
5313 
safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo & src)5314 safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& src)
5315 {
5316     sType = src.sType;
5317     flags = src.flags;
5318     queueFamilyIndex = src.queueFamilyIndex;
5319     pNext = SafePnextCopy(src.pNext);
5320 }
5321 
operator =(const safe_VkCommandPoolCreateInfo & src)5322 safe_VkCommandPoolCreateInfo& safe_VkCommandPoolCreateInfo::operator=(const safe_VkCommandPoolCreateInfo& src)
5323 {
5324     if (&src == this) return *this;
5325 
5326     if (pNext)
5327         FreePnextChain(pNext);
5328 
5329     sType = src.sType;
5330     flags = src.flags;
5331     queueFamilyIndex = src.queueFamilyIndex;
5332     pNext = SafePnextCopy(src.pNext);
5333 
5334     return *this;
5335 }
5336 
~safe_VkCommandPoolCreateInfo()5337 safe_VkCommandPoolCreateInfo::~safe_VkCommandPoolCreateInfo()
5338 {
5339     if (pNext)
5340         FreePnextChain(pNext);
5341 }
5342 
initialize(const VkCommandPoolCreateInfo * in_struct)5343 void safe_VkCommandPoolCreateInfo::initialize(const VkCommandPoolCreateInfo* in_struct)
5344 {
5345     sType = in_struct->sType;
5346     flags = in_struct->flags;
5347     queueFamilyIndex = in_struct->queueFamilyIndex;
5348     pNext = SafePnextCopy(in_struct->pNext);
5349 }
5350 
initialize(const safe_VkCommandPoolCreateInfo * src)5351 void safe_VkCommandPoolCreateInfo::initialize(const safe_VkCommandPoolCreateInfo* src)
5352 {
5353     sType = src->sType;
5354     flags = src->flags;
5355     queueFamilyIndex = src->queueFamilyIndex;
5356     pNext = SafePnextCopy(src->pNext);
5357 }
5358 
safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo * in_struct)5359 safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct) :
5360     sType(in_struct->sType),
5361     commandPool(in_struct->commandPool),
5362     level(in_struct->level),
5363     commandBufferCount(in_struct->commandBufferCount)
5364 {
5365     pNext = SafePnextCopy(in_struct->pNext);
5366 }
5367 
safe_VkCommandBufferAllocateInfo()5368 safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo() :
5369     pNext(nullptr)
5370 {}
5371 
safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo & src)5372 safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& src)
5373 {
5374     sType = src.sType;
5375     commandPool = src.commandPool;
5376     level = src.level;
5377     commandBufferCount = src.commandBufferCount;
5378     pNext = SafePnextCopy(src.pNext);
5379 }
5380 
operator =(const safe_VkCommandBufferAllocateInfo & src)5381 safe_VkCommandBufferAllocateInfo& safe_VkCommandBufferAllocateInfo::operator=(const safe_VkCommandBufferAllocateInfo& src)
5382 {
5383     if (&src == this) return *this;
5384 
5385     if (pNext)
5386         FreePnextChain(pNext);
5387 
5388     sType = src.sType;
5389     commandPool = src.commandPool;
5390     level = src.level;
5391     commandBufferCount = src.commandBufferCount;
5392     pNext = SafePnextCopy(src.pNext);
5393 
5394     return *this;
5395 }
5396 
~safe_VkCommandBufferAllocateInfo()5397 safe_VkCommandBufferAllocateInfo::~safe_VkCommandBufferAllocateInfo()
5398 {
5399     if (pNext)
5400         FreePnextChain(pNext);
5401 }
5402 
initialize(const VkCommandBufferAllocateInfo * in_struct)5403 void safe_VkCommandBufferAllocateInfo::initialize(const VkCommandBufferAllocateInfo* in_struct)
5404 {
5405     sType = in_struct->sType;
5406     commandPool = in_struct->commandPool;
5407     level = in_struct->level;
5408     commandBufferCount = in_struct->commandBufferCount;
5409     pNext = SafePnextCopy(in_struct->pNext);
5410 }
5411 
initialize(const safe_VkCommandBufferAllocateInfo * src)5412 void safe_VkCommandBufferAllocateInfo::initialize(const safe_VkCommandBufferAllocateInfo* src)
5413 {
5414     sType = src->sType;
5415     commandPool = src->commandPool;
5416     level = src->level;
5417     commandBufferCount = src->commandBufferCount;
5418     pNext = SafePnextCopy(src->pNext);
5419 }
5420 
safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo * in_struct)5421 safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct) :
5422     sType(in_struct->sType),
5423     renderPass(in_struct->renderPass),
5424     subpass(in_struct->subpass),
5425     framebuffer(in_struct->framebuffer),
5426     occlusionQueryEnable(in_struct->occlusionQueryEnable),
5427     queryFlags(in_struct->queryFlags),
5428     pipelineStatistics(in_struct->pipelineStatistics)
5429 {
5430     pNext = SafePnextCopy(in_struct->pNext);
5431 }
5432 
safe_VkCommandBufferInheritanceInfo()5433 safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo() :
5434     pNext(nullptr)
5435 {}
5436 
safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo & src)5437 safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& src)
5438 {
5439     sType = src.sType;
5440     renderPass = src.renderPass;
5441     subpass = src.subpass;
5442     framebuffer = src.framebuffer;
5443     occlusionQueryEnable = src.occlusionQueryEnable;
5444     queryFlags = src.queryFlags;
5445     pipelineStatistics = src.pipelineStatistics;
5446     pNext = SafePnextCopy(src.pNext);
5447 }
5448 
operator =(const safe_VkCommandBufferInheritanceInfo & src)5449 safe_VkCommandBufferInheritanceInfo& safe_VkCommandBufferInheritanceInfo::operator=(const safe_VkCommandBufferInheritanceInfo& src)
5450 {
5451     if (&src == this) return *this;
5452 
5453     if (pNext)
5454         FreePnextChain(pNext);
5455 
5456     sType = src.sType;
5457     renderPass = src.renderPass;
5458     subpass = src.subpass;
5459     framebuffer = src.framebuffer;
5460     occlusionQueryEnable = src.occlusionQueryEnable;
5461     queryFlags = src.queryFlags;
5462     pipelineStatistics = src.pipelineStatistics;
5463     pNext = SafePnextCopy(src.pNext);
5464 
5465     return *this;
5466 }
5467 
~safe_VkCommandBufferInheritanceInfo()5468 safe_VkCommandBufferInheritanceInfo::~safe_VkCommandBufferInheritanceInfo()
5469 {
5470     if (pNext)
5471         FreePnextChain(pNext);
5472 }
5473 
initialize(const VkCommandBufferInheritanceInfo * in_struct)5474 void safe_VkCommandBufferInheritanceInfo::initialize(const VkCommandBufferInheritanceInfo* in_struct)
5475 {
5476     sType = in_struct->sType;
5477     renderPass = in_struct->renderPass;
5478     subpass = in_struct->subpass;
5479     framebuffer = in_struct->framebuffer;
5480     occlusionQueryEnable = in_struct->occlusionQueryEnable;
5481     queryFlags = in_struct->queryFlags;
5482     pipelineStatistics = in_struct->pipelineStatistics;
5483     pNext = SafePnextCopy(in_struct->pNext);
5484 }
5485 
initialize(const safe_VkCommandBufferInheritanceInfo * src)5486 void safe_VkCommandBufferInheritanceInfo::initialize(const safe_VkCommandBufferInheritanceInfo* src)
5487 {
5488     sType = src->sType;
5489     renderPass = src->renderPass;
5490     subpass = src->subpass;
5491     framebuffer = src->framebuffer;
5492     occlusionQueryEnable = src->occlusionQueryEnable;
5493     queryFlags = src->queryFlags;
5494     pipelineStatistics = src->pipelineStatistics;
5495     pNext = SafePnextCopy(src->pNext);
5496 }
5497 
safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo * in_struct)5498 safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct) :
5499     sType(in_struct->sType),
5500     flags(in_struct->flags),
5501     pInheritanceInfo(nullptr)
5502 {
5503     pNext = SafePnextCopy(in_struct->pNext);
5504     if (in_struct->pInheritanceInfo)
5505         pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo);
5506 }
5507 
safe_VkCommandBufferBeginInfo()5508 safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo() :
5509     pNext(nullptr),
5510     pInheritanceInfo(nullptr)
5511 {}
5512 
safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo & src)5513 safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& src)
5514 {
5515     sType = src.sType;
5516     flags = src.flags;
5517     pInheritanceInfo = nullptr;
5518     pNext = SafePnextCopy(src.pNext);
5519     if (src.pInheritanceInfo)
5520         pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src.pInheritanceInfo);
5521 }
5522 
operator =(const safe_VkCommandBufferBeginInfo & src)5523 safe_VkCommandBufferBeginInfo& safe_VkCommandBufferBeginInfo::operator=(const safe_VkCommandBufferBeginInfo& src)
5524 {
5525     if (&src == this) return *this;
5526 
5527     if (pInheritanceInfo)
5528         delete pInheritanceInfo;
5529     if (pNext)
5530         FreePnextChain(pNext);
5531 
5532     sType = src.sType;
5533     flags = src.flags;
5534     pInheritanceInfo = nullptr;
5535     pNext = SafePnextCopy(src.pNext);
5536     if (src.pInheritanceInfo)
5537         pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src.pInheritanceInfo);
5538 
5539     return *this;
5540 }
5541 
~safe_VkCommandBufferBeginInfo()5542 safe_VkCommandBufferBeginInfo::~safe_VkCommandBufferBeginInfo()
5543 {
5544     if (pInheritanceInfo)
5545         delete pInheritanceInfo;
5546     if (pNext)
5547         FreePnextChain(pNext);
5548 }
5549 
initialize(const VkCommandBufferBeginInfo * in_struct)5550 void safe_VkCommandBufferBeginInfo::initialize(const VkCommandBufferBeginInfo* in_struct)
5551 {
5552     sType = in_struct->sType;
5553     flags = in_struct->flags;
5554     pInheritanceInfo = nullptr;
5555     pNext = SafePnextCopy(in_struct->pNext);
5556     if (in_struct->pInheritanceInfo)
5557         pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo);
5558 }
5559 
initialize(const safe_VkCommandBufferBeginInfo * src)5560 void safe_VkCommandBufferBeginInfo::initialize(const safe_VkCommandBufferBeginInfo* src)
5561 {
5562     sType = src->sType;
5563     flags = src->flags;
5564     pInheritanceInfo = nullptr;
5565     pNext = SafePnextCopy(src->pNext);
5566     if (src->pInheritanceInfo)
5567         pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src->pInheritanceInfo);
5568 }
5569 
safe_VkMemoryBarrier(const VkMemoryBarrier * in_struct)5570 safe_VkMemoryBarrier::safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct) :
5571     sType(in_struct->sType),
5572     srcAccessMask(in_struct->srcAccessMask),
5573     dstAccessMask(in_struct->dstAccessMask)
5574 {
5575     pNext = SafePnextCopy(in_struct->pNext);
5576 }
5577 
safe_VkMemoryBarrier()5578 safe_VkMemoryBarrier::safe_VkMemoryBarrier() :
5579     pNext(nullptr)
5580 {}
5581 
safe_VkMemoryBarrier(const safe_VkMemoryBarrier & src)5582 safe_VkMemoryBarrier::safe_VkMemoryBarrier(const safe_VkMemoryBarrier& src)
5583 {
5584     sType = src.sType;
5585     srcAccessMask = src.srcAccessMask;
5586     dstAccessMask = src.dstAccessMask;
5587     pNext = SafePnextCopy(src.pNext);
5588 }
5589 
operator =(const safe_VkMemoryBarrier & src)5590 safe_VkMemoryBarrier& safe_VkMemoryBarrier::operator=(const safe_VkMemoryBarrier& src)
5591 {
5592     if (&src == this) return *this;
5593 
5594     if (pNext)
5595         FreePnextChain(pNext);
5596 
5597     sType = src.sType;
5598     srcAccessMask = src.srcAccessMask;
5599     dstAccessMask = src.dstAccessMask;
5600     pNext = SafePnextCopy(src.pNext);
5601 
5602     return *this;
5603 }
5604 
~safe_VkMemoryBarrier()5605 safe_VkMemoryBarrier::~safe_VkMemoryBarrier()
5606 {
5607     if (pNext)
5608         FreePnextChain(pNext);
5609 }
5610 
initialize(const VkMemoryBarrier * in_struct)5611 void safe_VkMemoryBarrier::initialize(const VkMemoryBarrier* in_struct)
5612 {
5613     sType = in_struct->sType;
5614     srcAccessMask = in_struct->srcAccessMask;
5615     dstAccessMask = in_struct->dstAccessMask;
5616     pNext = SafePnextCopy(in_struct->pNext);
5617 }
5618 
initialize(const safe_VkMemoryBarrier * src)5619 void safe_VkMemoryBarrier::initialize(const safe_VkMemoryBarrier* src)
5620 {
5621     sType = src->sType;
5622     srcAccessMask = src->srcAccessMask;
5623     dstAccessMask = src->dstAccessMask;
5624     pNext = SafePnextCopy(src->pNext);
5625 }
5626 
safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier * in_struct)5627 safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct) :
5628     sType(in_struct->sType),
5629     srcAccessMask(in_struct->srcAccessMask),
5630     dstAccessMask(in_struct->dstAccessMask),
5631     srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex),
5632     dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex),
5633     buffer(in_struct->buffer),
5634     offset(in_struct->offset),
5635     size(in_struct->size)
5636 {
5637     pNext = SafePnextCopy(in_struct->pNext);
5638 }
5639 
safe_VkBufferMemoryBarrier()5640 safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier() :
5641     pNext(nullptr)
5642 {}
5643 
safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier & src)5644 safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& src)
5645 {
5646     sType = src.sType;
5647     srcAccessMask = src.srcAccessMask;
5648     dstAccessMask = src.dstAccessMask;
5649     srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5650     dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5651     buffer = src.buffer;
5652     offset = src.offset;
5653     size = src.size;
5654     pNext = SafePnextCopy(src.pNext);
5655 }
5656 
operator =(const safe_VkBufferMemoryBarrier & src)5657 safe_VkBufferMemoryBarrier& safe_VkBufferMemoryBarrier::operator=(const safe_VkBufferMemoryBarrier& src)
5658 {
5659     if (&src == this) return *this;
5660 
5661     if (pNext)
5662         FreePnextChain(pNext);
5663 
5664     sType = src.sType;
5665     srcAccessMask = src.srcAccessMask;
5666     dstAccessMask = src.dstAccessMask;
5667     srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5668     dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5669     buffer = src.buffer;
5670     offset = src.offset;
5671     size = src.size;
5672     pNext = SafePnextCopy(src.pNext);
5673 
5674     return *this;
5675 }
5676 
~safe_VkBufferMemoryBarrier()5677 safe_VkBufferMemoryBarrier::~safe_VkBufferMemoryBarrier()
5678 {
5679     if (pNext)
5680         FreePnextChain(pNext);
5681 }
5682 
initialize(const VkBufferMemoryBarrier * in_struct)5683 void safe_VkBufferMemoryBarrier::initialize(const VkBufferMemoryBarrier* in_struct)
5684 {
5685     sType = in_struct->sType;
5686     srcAccessMask = in_struct->srcAccessMask;
5687     dstAccessMask = in_struct->dstAccessMask;
5688     srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex;
5689     dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex;
5690     buffer = in_struct->buffer;
5691     offset = in_struct->offset;
5692     size = in_struct->size;
5693     pNext = SafePnextCopy(in_struct->pNext);
5694 }
5695 
initialize(const safe_VkBufferMemoryBarrier * src)5696 void safe_VkBufferMemoryBarrier::initialize(const safe_VkBufferMemoryBarrier* src)
5697 {
5698     sType = src->sType;
5699     srcAccessMask = src->srcAccessMask;
5700     dstAccessMask = src->dstAccessMask;
5701     srcQueueFamilyIndex = src->srcQueueFamilyIndex;
5702     dstQueueFamilyIndex = src->dstQueueFamilyIndex;
5703     buffer = src->buffer;
5704     offset = src->offset;
5705     size = src->size;
5706     pNext = SafePnextCopy(src->pNext);
5707 }
5708 
safe_VkImageMemoryBarrier(const VkImageMemoryBarrier * in_struct)5709 safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct) :
5710     sType(in_struct->sType),
5711     srcAccessMask(in_struct->srcAccessMask),
5712     dstAccessMask(in_struct->dstAccessMask),
5713     oldLayout(in_struct->oldLayout),
5714     newLayout(in_struct->newLayout),
5715     srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex),
5716     dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex),
5717     image(in_struct->image),
5718     subresourceRange(in_struct->subresourceRange)
5719 {
5720     pNext = SafePnextCopy(in_struct->pNext);
5721 }
5722 
safe_VkImageMemoryBarrier()5723 safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier() :
5724     pNext(nullptr)
5725 {}
5726 
safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier & src)5727 safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& src)
5728 {
5729     sType = src.sType;
5730     srcAccessMask = src.srcAccessMask;
5731     dstAccessMask = src.dstAccessMask;
5732     oldLayout = src.oldLayout;
5733     newLayout = src.newLayout;
5734     srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5735     dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5736     image = src.image;
5737     subresourceRange = src.subresourceRange;
5738     pNext = SafePnextCopy(src.pNext);
5739 }
5740 
operator =(const safe_VkImageMemoryBarrier & src)5741 safe_VkImageMemoryBarrier& safe_VkImageMemoryBarrier::operator=(const safe_VkImageMemoryBarrier& src)
5742 {
5743     if (&src == this) return *this;
5744 
5745     if (pNext)
5746         FreePnextChain(pNext);
5747 
5748     sType = src.sType;
5749     srcAccessMask = src.srcAccessMask;
5750     dstAccessMask = src.dstAccessMask;
5751     oldLayout = src.oldLayout;
5752     newLayout = src.newLayout;
5753     srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5754     dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5755     image = src.image;
5756     subresourceRange = src.subresourceRange;
5757     pNext = SafePnextCopy(src.pNext);
5758 
5759     return *this;
5760 }
5761 
~safe_VkImageMemoryBarrier()5762 safe_VkImageMemoryBarrier::~safe_VkImageMemoryBarrier()
5763 {
5764     if (pNext)
5765         FreePnextChain(pNext);
5766 }
5767 
initialize(const VkImageMemoryBarrier * in_struct)5768 void safe_VkImageMemoryBarrier::initialize(const VkImageMemoryBarrier* in_struct)
5769 {
5770     sType = in_struct->sType;
5771     srcAccessMask = in_struct->srcAccessMask;
5772     dstAccessMask = in_struct->dstAccessMask;
5773     oldLayout = in_struct->oldLayout;
5774     newLayout = in_struct->newLayout;
5775     srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex;
5776     dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex;
5777     image = in_struct->image;
5778     subresourceRange = in_struct->subresourceRange;
5779     pNext = SafePnextCopy(in_struct->pNext);
5780 }
5781 
initialize(const safe_VkImageMemoryBarrier * src)5782 void safe_VkImageMemoryBarrier::initialize(const safe_VkImageMemoryBarrier* src)
5783 {
5784     sType = src->sType;
5785     srcAccessMask = src->srcAccessMask;
5786     dstAccessMask = src->dstAccessMask;
5787     oldLayout = src->oldLayout;
5788     newLayout = src->newLayout;
5789     srcQueueFamilyIndex = src->srcQueueFamilyIndex;
5790     dstQueueFamilyIndex = src->dstQueueFamilyIndex;
5791     image = src->image;
5792     subresourceRange = src->subresourceRange;
5793     pNext = SafePnextCopy(src->pNext);
5794 }
5795 
safe_VkRenderPassBeginInfo(const VkRenderPassBeginInfo * in_struct)5796 safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const VkRenderPassBeginInfo* in_struct) :
5797     sType(in_struct->sType),
5798     renderPass(in_struct->renderPass),
5799     framebuffer(in_struct->framebuffer),
5800     renderArea(in_struct->renderArea),
5801     clearValueCount(in_struct->clearValueCount),
5802     pClearValues(nullptr)
5803 {
5804     pNext = SafePnextCopy(in_struct->pNext);
5805     if (in_struct->pClearValues) {
5806         pClearValues = new VkClearValue[in_struct->clearValueCount];
5807         memcpy ((void *)pClearValues, (void *)in_struct->pClearValues, sizeof(VkClearValue)*in_struct->clearValueCount);
5808     }
5809 }
5810 
safe_VkRenderPassBeginInfo()5811 safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo() :
5812     pNext(nullptr),
5813     pClearValues(nullptr)
5814 {}
5815 
safe_VkRenderPassBeginInfo(const safe_VkRenderPassBeginInfo & src)5816 safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const safe_VkRenderPassBeginInfo& src)
5817 {
5818     sType = src.sType;
5819     renderPass = src.renderPass;
5820     framebuffer = src.framebuffer;
5821     renderArea = src.renderArea;
5822     clearValueCount = src.clearValueCount;
5823     pClearValues = nullptr;
5824     pNext = SafePnextCopy(src.pNext);
5825     if (src.pClearValues) {
5826         pClearValues = new VkClearValue[src.clearValueCount];
5827         memcpy ((void *)pClearValues, (void *)src.pClearValues, sizeof(VkClearValue)*src.clearValueCount);
5828     }
5829 }
5830 
operator =(const safe_VkRenderPassBeginInfo & src)5831 safe_VkRenderPassBeginInfo& safe_VkRenderPassBeginInfo::operator=(const safe_VkRenderPassBeginInfo& src)
5832 {
5833     if (&src == this) return *this;
5834 
5835     if (pClearValues)
5836         delete[] pClearValues;
5837     if (pNext)
5838         FreePnextChain(pNext);
5839 
5840     sType = src.sType;
5841     renderPass = src.renderPass;
5842     framebuffer = src.framebuffer;
5843     renderArea = src.renderArea;
5844     clearValueCount = src.clearValueCount;
5845     pClearValues = nullptr;
5846     pNext = SafePnextCopy(src.pNext);
5847     if (src.pClearValues) {
5848         pClearValues = new VkClearValue[src.clearValueCount];
5849         memcpy ((void *)pClearValues, (void *)src.pClearValues, sizeof(VkClearValue)*src.clearValueCount);
5850     }
5851 
5852     return *this;
5853 }
5854 
~safe_VkRenderPassBeginInfo()5855 safe_VkRenderPassBeginInfo::~safe_VkRenderPassBeginInfo()
5856 {
5857     if (pClearValues)
5858         delete[] pClearValues;
5859     if (pNext)
5860         FreePnextChain(pNext);
5861 }
5862 
initialize(const VkRenderPassBeginInfo * in_struct)5863 void safe_VkRenderPassBeginInfo::initialize(const VkRenderPassBeginInfo* in_struct)
5864 {
5865     sType = in_struct->sType;
5866     renderPass = in_struct->renderPass;
5867     framebuffer = in_struct->framebuffer;
5868     renderArea = in_struct->renderArea;
5869     clearValueCount = in_struct->clearValueCount;
5870     pClearValues = nullptr;
5871     pNext = SafePnextCopy(in_struct->pNext);
5872     if (in_struct->pClearValues) {
5873         pClearValues = new VkClearValue[in_struct->clearValueCount];
5874         memcpy ((void *)pClearValues, (void *)in_struct->pClearValues, sizeof(VkClearValue)*in_struct->clearValueCount);
5875     }
5876 }
5877 
initialize(const safe_VkRenderPassBeginInfo * src)5878 void safe_VkRenderPassBeginInfo::initialize(const safe_VkRenderPassBeginInfo* src)
5879 {
5880     sType = src->sType;
5881     renderPass = src->renderPass;
5882     framebuffer = src->framebuffer;
5883     renderArea = src->renderArea;
5884     clearValueCount = src->clearValueCount;
5885     pClearValues = nullptr;
5886     pNext = SafePnextCopy(src->pNext);
5887     if (src->pClearValues) {
5888         pClearValues = new VkClearValue[src->clearValueCount];
5889         memcpy ((void *)pClearValues, (void *)src->pClearValues, sizeof(VkClearValue)*src->clearValueCount);
5890     }
5891 }
5892 
safe_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties * in_struct)5893 safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties* in_struct) :
5894     sType(in_struct->sType),
5895     subgroupSize(in_struct->subgroupSize),
5896     supportedStages(in_struct->supportedStages),
5897     supportedOperations(in_struct->supportedOperations),
5898     quadOperationsInAllStages(in_struct->quadOperationsInAllStages)
5899 {
5900     pNext = SafePnextCopy(in_struct->pNext);
5901 }
5902 
safe_VkPhysicalDeviceSubgroupProperties()5903 safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties() :
5904     pNext(nullptr)
5905 {}
5906 
safe_VkPhysicalDeviceSubgroupProperties(const safe_VkPhysicalDeviceSubgroupProperties & src)5907 safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties(const safe_VkPhysicalDeviceSubgroupProperties& src)
5908 {
5909     sType = src.sType;
5910     subgroupSize = src.subgroupSize;
5911     supportedStages = src.supportedStages;
5912     supportedOperations = src.supportedOperations;
5913     quadOperationsInAllStages = src.quadOperationsInAllStages;
5914     pNext = SafePnextCopy(src.pNext);
5915 }
5916 
operator =(const safe_VkPhysicalDeviceSubgroupProperties & src)5917 safe_VkPhysicalDeviceSubgroupProperties& safe_VkPhysicalDeviceSubgroupProperties::operator=(const safe_VkPhysicalDeviceSubgroupProperties& src)
5918 {
5919     if (&src == this) return *this;
5920 
5921     if (pNext)
5922         FreePnextChain(pNext);
5923 
5924     sType = src.sType;
5925     subgroupSize = src.subgroupSize;
5926     supportedStages = src.supportedStages;
5927     supportedOperations = src.supportedOperations;
5928     quadOperationsInAllStages = src.quadOperationsInAllStages;
5929     pNext = SafePnextCopy(src.pNext);
5930 
5931     return *this;
5932 }
5933 
~safe_VkPhysicalDeviceSubgroupProperties()5934 safe_VkPhysicalDeviceSubgroupProperties::~safe_VkPhysicalDeviceSubgroupProperties()
5935 {
5936     if (pNext)
5937         FreePnextChain(pNext);
5938 }
5939 
initialize(const VkPhysicalDeviceSubgroupProperties * in_struct)5940 void safe_VkPhysicalDeviceSubgroupProperties::initialize(const VkPhysicalDeviceSubgroupProperties* in_struct)
5941 {
5942     sType = in_struct->sType;
5943     subgroupSize = in_struct->subgroupSize;
5944     supportedStages = in_struct->supportedStages;
5945     supportedOperations = in_struct->supportedOperations;
5946     quadOperationsInAllStages = in_struct->quadOperationsInAllStages;
5947     pNext = SafePnextCopy(in_struct->pNext);
5948 }
5949 
initialize(const safe_VkPhysicalDeviceSubgroupProperties * src)5950 void safe_VkPhysicalDeviceSubgroupProperties::initialize(const safe_VkPhysicalDeviceSubgroupProperties* src)
5951 {
5952     sType = src->sType;
5953     subgroupSize = src->subgroupSize;
5954     supportedStages = src->supportedStages;
5955     supportedOperations = src->supportedOperations;
5956     quadOperationsInAllStages = src->quadOperationsInAllStages;
5957     pNext = SafePnextCopy(src->pNext);
5958 }
5959 
safe_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo * in_struct)5960 safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo* in_struct) :
5961     sType(in_struct->sType),
5962     buffer(in_struct->buffer),
5963     memory(in_struct->memory),
5964     memoryOffset(in_struct->memoryOffset)
5965 {
5966     pNext = SafePnextCopy(in_struct->pNext);
5967 }
5968 
safe_VkBindBufferMemoryInfo()5969 safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo() :
5970     pNext(nullptr)
5971 {}
5972 
safe_VkBindBufferMemoryInfo(const safe_VkBindBufferMemoryInfo & src)5973 safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const safe_VkBindBufferMemoryInfo& src)
5974 {
5975     sType = src.sType;
5976     buffer = src.buffer;
5977     memory = src.memory;
5978     memoryOffset = src.memoryOffset;
5979     pNext = SafePnextCopy(src.pNext);
5980 }
5981 
operator =(const safe_VkBindBufferMemoryInfo & src)5982 safe_VkBindBufferMemoryInfo& safe_VkBindBufferMemoryInfo::operator=(const safe_VkBindBufferMemoryInfo& src)
5983 {
5984     if (&src == this) return *this;
5985 
5986     if (pNext)
5987         FreePnextChain(pNext);
5988 
5989     sType = src.sType;
5990     buffer = src.buffer;
5991     memory = src.memory;
5992     memoryOffset = src.memoryOffset;
5993     pNext = SafePnextCopy(src.pNext);
5994 
5995     return *this;
5996 }
5997 
~safe_VkBindBufferMemoryInfo()5998 safe_VkBindBufferMemoryInfo::~safe_VkBindBufferMemoryInfo()
5999 {
6000     if (pNext)
6001         FreePnextChain(pNext);
6002 }
6003 
initialize(const VkBindBufferMemoryInfo * in_struct)6004 void safe_VkBindBufferMemoryInfo::initialize(const VkBindBufferMemoryInfo* in_struct)
6005 {
6006     sType = in_struct->sType;
6007     buffer = in_struct->buffer;
6008     memory = in_struct->memory;
6009     memoryOffset = in_struct->memoryOffset;
6010     pNext = SafePnextCopy(in_struct->pNext);
6011 }
6012 
initialize(const safe_VkBindBufferMemoryInfo * src)6013 void safe_VkBindBufferMemoryInfo::initialize(const safe_VkBindBufferMemoryInfo* src)
6014 {
6015     sType = src->sType;
6016     buffer = src->buffer;
6017     memory = src->memory;
6018     memoryOffset = src->memoryOffset;
6019     pNext = SafePnextCopy(src->pNext);
6020 }
6021 
safe_VkBindImageMemoryInfo(const VkBindImageMemoryInfo * in_struct)6022 safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo(const VkBindImageMemoryInfo* in_struct) :
6023     sType(in_struct->sType),
6024     image(in_struct->image),
6025     memory(in_struct->memory),
6026     memoryOffset(in_struct->memoryOffset)
6027 {
6028     pNext = SafePnextCopy(in_struct->pNext);
6029 }
6030 
safe_VkBindImageMemoryInfo()6031 safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo() :
6032     pNext(nullptr)
6033 {}
6034 
safe_VkBindImageMemoryInfo(const safe_VkBindImageMemoryInfo & src)6035 safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo(const safe_VkBindImageMemoryInfo& src)
6036 {
6037     sType = src.sType;
6038     image = src.image;
6039     memory = src.memory;
6040     memoryOffset = src.memoryOffset;
6041     pNext = SafePnextCopy(src.pNext);
6042 }
6043 
operator =(const safe_VkBindImageMemoryInfo & src)6044 safe_VkBindImageMemoryInfo& safe_VkBindImageMemoryInfo::operator=(const safe_VkBindImageMemoryInfo& src)
6045 {
6046     if (&src == this) return *this;
6047 
6048     if (pNext)
6049         FreePnextChain(pNext);
6050 
6051     sType = src.sType;
6052     image = src.image;
6053     memory = src.memory;
6054     memoryOffset = src.memoryOffset;
6055     pNext = SafePnextCopy(src.pNext);
6056 
6057     return *this;
6058 }
6059 
~safe_VkBindImageMemoryInfo()6060 safe_VkBindImageMemoryInfo::~safe_VkBindImageMemoryInfo()
6061 {
6062     if (pNext)
6063         FreePnextChain(pNext);
6064 }
6065 
initialize(const VkBindImageMemoryInfo * in_struct)6066 void safe_VkBindImageMemoryInfo::initialize(const VkBindImageMemoryInfo* in_struct)
6067 {
6068     sType = in_struct->sType;
6069     image = in_struct->image;
6070     memory = in_struct->memory;
6071     memoryOffset = in_struct->memoryOffset;
6072     pNext = SafePnextCopy(in_struct->pNext);
6073 }
6074 
initialize(const safe_VkBindImageMemoryInfo * src)6075 void safe_VkBindImageMemoryInfo::initialize(const safe_VkBindImageMemoryInfo* src)
6076 {
6077     sType = src->sType;
6078     image = src->image;
6079     memory = src->memory;
6080     memoryOffset = src->memoryOffset;
6081     pNext = SafePnextCopy(src->pNext);
6082 }
6083 
safe_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures * in_struct)6084 safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures* in_struct) :
6085     sType(in_struct->sType),
6086     storageBuffer16BitAccess(in_struct->storageBuffer16BitAccess),
6087     uniformAndStorageBuffer16BitAccess(in_struct->uniformAndStorageBuffer16BitAccess),
6088     storagePushConstant16(in_struct->storagePushConstant16),
6089     storageInputOutput16(in_struct->storageInputOutput16)
6090 {
6091     pNext = SafePnextCopy(in_struct->pNext);
6092 }
6093 
safe_VkPhysicalDevice16BitStorageFeatures()6094 safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures() :
6095     pNext(nullptr)
6096 {}
6097 
safe_VkPhysicalDevice16BitStorageFeatures(const safe_VkPhysicalDevice16BitStorageFeatures & src)6098 safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures(const safe_VkPhysicalDevice16BitStorageFeatures& src)
6099 {
6100     sType = src.sType;
6101     storageBuffer16BitAccess = src.storageBuffer16BitAccess;
6102     uniformAndStorageBuffer16BitAccess = src.uniformAndStorageBuffer16BitAccess;
6103     storagePushConstant16 = src.storagePushConstant16;
6104     storageInputOutput16 = src.storageInputOutput16;
6105     pNext = SafePnextCopy(src.pNext);
6106 }
6107 
operator =(const safe_VkPhysicalDevice16BitStorageFeatures & src)6108 safe_VkPhysicalDevice16BitStorageFeatures& safe_VkPhysicalDevice16BitStorageFeatures::operator=(const safe_VkPhysicalDevice16BitStorageFeatures& src)
6109 {
6110     if (&src == this) return *this;
6111 
6112     if (pNext)
6113         FreePnextChain(pNext);
6114 
6115     sType = src.sType;
6116     storageBuffer16BitAccess = src.storageBuffer16BitAccess;
6117     uniformAndStorageBuffer16BitAccess = src.uniformAndStorageBuffer16BitAccess;
6118     storagePushConstant16 = src.storagePushConstant16;
6119     storageInputOutput16 = src.storageInputOutput16;
6120     pNext = SafePnextCopy(src.pNext);
6121 
6122     return *this;
6123 }
6124 
~safe_VkPhysicalDevice16BitStorageFeatures()6125 safe_VkPhysicalDevice16BitStorageFeatures::~safe_VkPhysicalDevice16BitStorageFeatures()
6126 {
6127     if (pNext)
6128         FreePnextChain(pNext);
6129 }
6130 
initialize(const VkPhysicalDevice16BitStorageFeatures * in_struct)6131 void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct)
6132 {
6133     sType = in_struct->sType;
6134     storageBuffer16BitAccess = in_struct->storageBuffer16BitAccess;
6135     uniformAndStorageBuffer16BitAccess = in_struct->uniformAndStorageBuffer16BitAccess;
6136     storagePushConstant16 = in_struct->storagePushConstant16;
6137     storageInputOutput16 = in_struct->storageInputOutput16;
6138     pNext = SafePnextCopy(in_struct->pNext);
6139 }
6140 
initialize(const safe_VkPhysicalDevice16BitStorageFeatures * src)6141 void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const safe_VkPhysicalDevice16BitStorageFeatures* src)
6142 {
6143     sType = src->sType;
6144     storageBuffer16BitAccess = src->storageBuffer16BitAccess;
6145     uniformAndStorageBuffer16BitAccess = src->uniformAndStorageBuffer16BitAccess;
6146     storagePushConstant16 = src->storagePushConstant16;
6147     storageInputOutput16 = src->storageInputOutput16;
6148     pNext = SafePnextCopy(src->pNext);
6149 }
6150 
safe_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements * in_struct)6151 safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements* in_struct) :
6152     sType(in_struct->sType),
6153     prefersDedicatedAllocation(in_struct->prefersDedicatedAllocation),
6154     requiresDedicatedAllocation(in_struct->requiresDedicatedAllocation)
6155 {
6156     pNext = SafePnextCopy(in_struct->pNext);
6157 }
6158 
safe_VkMemoryDedicatedRequirements()6159 safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements() :
6160     pNext(nullptr)
6161 {}
6162 
safe_VkMemoryDedicatedRequirements(const safe_VkMemoryDedicatedRequirements & src)6163 safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const safe_VkMemoryDedicatedRequirements& src)
6164 {
6165     sType = src.sType;
6166     prefersDedicatedAllocation = src.prefersDedicatedAllocation;
6167     requiresDedicatedAllocation = src.requiresDedicatedAllocation;
6168     pNext = SafePnextCopy(src.pNext);
6169 }
6170 
operator =(const safe_VkMemoryDedicatedRequirements & src)6171 safe_VkMemoryDedicatedRequirements& safe_VkMemoryDedicatedRequirements::operator=(const safe_VkMemoryDedicatedRequirements& src)
6172 {
6173     if (&src == this) return *this;
6174 
6175     if (pNext)
6176         FreePnextChain(pNext);
6177 
6178     sType = src.sType;
6179     prefersDedicatedAllocation = src.prefersDedicatedAllocation;
6180     requiresDedicatedAllocation = src.requiresDedicatedAllocation;
6181     pNext = SafePnextCopy(src.pNext);
6182 
6183     return *this;
6184 }
6185 
~safe_VkMemoryDedicatedRequirements()6186 safe_VkMemoryDedicatedRequirements::~safe_VkMemoryDedicatedRequirements()
6187 {
6188     if (pNext)
6189         FreePnextChain(pNext);
6190 }
6191 
initialize(const VkMemoryDedicatedRequirements * in_struct)6192 void safe_VkMemoryDedicatedRequirements::initialize(const VkMemoryDedicatedRequirements* in_struct)
6193 {
6194     sType = in_struct->sType;
6195     prefersDedicatedAllocation = in_struct->prefersDedicatedAllocation;
6196     requiresDedicatedAllocation = in_struct->requiresDedicatedAllocation;
6197     pNext = SafePnextCopy(in_struct->pNext);
6198 }
6199 
initialize(const safe_VkMemoryDedicatedRequirements * src)6200 void safe_VkMemoryDedicatedRequirements::initialize(const safe_VkMemoryDedicatedRequirements* src)
6201 {
6202     sType = src->sType;
6203     prefersDedicatedAllocation = src->prefersDedicatedAllocation;
6204     requiresDedicatedAllocation = src->requiresDedicatedAllocation;
6205     pNext = SafePnextCopy(src->pNext);
6206 }
6207 
safe_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo * in_struct)6208 safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo* in_struct) :
6209     sType(in_struct->sType),
6210     image(in_struct->image),
6211     buffer(in_struct->buffer)
6212 {
6213     pNext = SafePnextCopy(in_struct->pNext);
6214 }
6215 
safe_VkMemoryDedicatedAllocateInfo()6216 safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo() :
6217     pNext(nullptr)
6218 {}
6219 
safe_VkMemoryDedicatedAllocateInfo(const safe_VkMemoryDedicatedAllocateInfo & src)6220 safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo(const safe_VkMemoryDedicatedAllocateInfo& src)
6221 {
6222     sType = src.sType;
6223     image = src.image;
6224     buffer = src.buffer;
6225     pNext = SafePnextCopy(src.pNext);
6226 }
6227 
operator =(const safe_VkMemoryDedicatedAllocateInfo & src)6228 safe_VkMemoryDedicatedAllocateInfo& safe_VkMemoryDedicatedAllocateInfo::operator=(const safe_VkMemoryDedicatedAllocateInfo& src)
6229 {
6230     if (&src == this) return *this;
6231 
6232     if (pNext)
6233         FreePnextChain(pNext);
6234 
6235     sType = src.sType;
6236     image = src.image;
6237     buffer = src.buffer;
6238     pNext = SafePnextCopy(src.pNext);
6239 
6240     return *this;
6241 }
6242 
~safe_VkMemoryDedicatedAllocateInfo()6243 safe_VkMemoryDedicatedAllocateInfo::~safe_VkMemoryDedicatedAllocateInfo()
6244 {
6245     if (pNext)
6246         FreePnextChain(pNext);
6247 }
6248 
initialize(const VkMemoryDedicatedAllocateInfo * in_struct)6249 void safe_VkMemoryDedicatedAllocateInfo::initialize(const VkMemoryDedicatedAllocateInfo* in_struct)
6250 {
6251     sType = in_struct->sType;
6252     image = in_struct->image;
6253     buffer = in_struct->buffer;
6254     pNext = SafePnextCopy(in_struct->pNext);
6255 }
6256 
initialize(const safe_VkMemoryDedicatedAllocateInfo * src)6257 void safe_VkMemoryDedicatedAllocateInfo::initialize(const safe_VkMemoryDedicatedAllocateInfo* src)
6258 {
6259     sType = src->sType;
6260     image = src->image;
6261     buffer = src->buffer;
6262     pNext = SafePnextCopy(src->pNext);
6263 }
6264 
safe_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo * in_struct)6265 safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo* in_struct) :
6266     sType(in_struct->sType),
6267     flags(in_struct->flags),
6268     deviceMask(in_struct->deviceMask)
6269 {
6270     pNext = SafePnextCopy(in_struct->pNext);
6271 }
6272 
safe_VkMemoryAllocateFlagsInfo()6273 safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo() :
6274     pNext(nullptr)
6275 {}
6276 
safe_VkMemoryAllocateFlagsInfo(const safe_VkMemoryAllocateFlagsInfo & src)6277 safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo(const safe_VkMemoryAllocateFlagsInfo& src)
6278 {
6279     sType = src.sType;
6280     flags = src.flags;
6281     deviceMask = src.deviceMask;
6282     pNext = SafePnextCopy(src.pNext);
6283 }
6284 
operator =(const safe_VkMemoryAllocateFlagsInfo & src)6285 safe_VkMemoryAllocateFlagsInfo& safe_VkMemoryAllocateFlagsInfo::operator=(const safe_VkMemoryAllocateFlagsInfo& src)
6286 {
6287     if (&src == this) return *this;
6288 
6289     if (pNext)
6290         FreePnextChain(pNext);
6291 
6292     sType = src.sType;
6293     flags = src.flags;
6294     deviceMask = src.deviceMask;
6295     pNext = SafePnextCopy(src.pNext);
6296 
6297     return *this;
6298 }
6299 
~safe_VkMemoryAllocateFlagsInfo()6300 safe_VkMemoryAllocateFlagsInfo::~safe_VkMemoryAllocateFlagsInfo()
6301 {
6302     if (pNext)
6303         FreePnextChain(pNext);
6304 }
6305 
initialize(const VkMemoryAllocateFlagsInfo * in_struct)6306 void safe_VkMemoryAllocateFlagsInfo::initialize(const VkMemoryAllocateFlagsInfo* in_struct)
6307 {
6308     sType = in_struct->sType;
6309     flags = in_struct->flags;
6310     deviceMask = in_struct->deviceMask;
6311     pNext = SafePnextCopy(in_struct->pNext);
6312 }
6313 
initialize(const safe_VkMemoryAllocateFlagsInfo * src)6314 void safe_VkMemoryAllocateFlagsInfo::initialize(const safe_VkMemoryAllocateFlagsInfo* src)
6315 {
6316     sType = src->sType;
6317     flags = src->flags;
6318     deviceMask = src->deviceMask;
6319     pNext = SafePnextCopy(src->pNext);
6320 }
6321 
safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo * in_struct)6322 safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct) :
6323     sType(in_struct->sType),
6324     deviceMask(in_struct->deviceMask),
6325     deviceRenderAreaCount(in_struct->deviceRenderAreaCount),
6326     pDeviceRenderAreas(nullptr)
6327 {
6328     pNext = SafePnextCopy(in_struct->pNext);
6329     if (in_struct->pDeviceRenderAreas) {
6330         pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount];
6331         memcpy ((void *)pDeviceRenderAreas, (void *)in_struct->pDeviceRenderAreas, sizeof(VkRect2D)*in_struct->deviceRenderAreaCount);
6332     }
6333 }
6334 
safe_VkDeviceGroupRenderPassBeginInfo()6335 safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo() :
6336     pNext(nullptr),
6337     pDeviceRenderAreas(nullptr)
6338 {}
6339 
safe_VkDeviceGroupRenderPassBeginInfo(const safe_VkDeviceGroupRenderPassBeginInfo & src)6340 safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const safe_VkDeviceGroupRenderPassBeginInfo& src)
6341 {
6342     sType = src.sType;
6343     deviceMask = src.deviceMask;
6344     deviceRenderAreaCount = src.deviceRenderAreaCount;
6345     pDeviceRenderAreas = nullptr;
6346     pNext = SafePnextCopy(src.pNext);
6347     if (src.pDeviceRenderAreas) {
6348         pDeviceRenderAreas = new VkRect2D[src.deviceRenderAreaCount];
6349         memcpy ((void *)pDeviceRenderAreas, (void *)src.pDeviceRenderAreas, sizeof(VkRect2D)*src.deviceRenderAreaCount);
6350     }
6351 }
6352 
operator =(const safe_VkDeviceGroupRenderPassBeginInfo & src)6353 safe_VkDeviceGroupRenderPassBeginInfo& safe_VkDeviceGroupRenderPassBeginInfo::operator=(const safe_VkDeviceGroupRenderPassBeginInfo& src)
6354 {
6355     if (&src == this) return *this;
6356 
6357     if (pDeviceRenderAreas)
6358         delete[] pDeviceRenderAreas;
6359     if (pNext)
6360         FreePnextChain(pNext);
6361 
6362     sType = src.sType;
6363     deviceMask = src.deviceMask;
6364     deviceRenderAreaCount = src.deviceRenderAreaCount;
6365     pDeviceRenderAreas = nullptr;
6366     pNext = SafePnextCopy(src.pNext);
6367     if (src.pDeviceRenderAreas) {
6368         pDeviceRenderAreas = new VkRect2D[src.deviceRenderAreaCount];
6369         memcpy ((void *)pDeviceRenderAreas, (void *)src.pDeviceRenderAreas, sizeof(VkRect2D)*src.deviceRenderAreaCount);
6370     }
6371 
6372     return *this;
6373 }
6374 
~safe_VkDeviceGroupRenderPassBeginInfo()6375 safe_VkDeviceGroupRenderPassBeginInfo::~safe_VkDeviceGroupRenderPassBeginInfo()
6376 {
6377     if (pDeviceRenderAreas)
6378         delete[] pDeviceRenderAreas;
6379     if (pNext)
6380         FreePnextChain(pNext);
6381 }
6382 
initialize(const VkDeviceGroupRenderPassBeginInfo * in_struct)6383 void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct)
6384 {
6385     sType = in_struct->sType;
6386     deviceMask = in_struct->deviceMask;
6387     deviceRenderAreaCount = in_struct->deviceRenderAreaCount;
6388     pDeviceRenderAreas = nullptr;
6389     pNext = SafePnextCopy(in_struct->pNext);
6390     if (in_struct->pDeviceRenderAreas) {
6391         pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount];
6392         memcpy ((void *)pDeviceRenderAreas, (void *)in_struct->pDeviceRenderAreas, sizeof(VkRect2D)*in_struct->deviceRenderAreaCount);
6393     }
6394 }
6395 
initialize(const safe_VkDeviceGroupRenderPassBeginInfo * src)6396 void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const safe_VkDeviceGroupRenderPassBeginInfo* src)
6397 {
6398     sType = src->sType;
6399     deviceMask = src->deviceMask;
6400     deviceRenderAreaCount = src->deviceRenderAreaCount;
6401     pDeviceRenderAreas = nullptr;
6402     pNext = SafePnextCopy(src->pNext);
6403     if (src->pDeviceRenderAreas) {
6404         pDeviceRenderAreas = new VkRect2D[src->deviceRenderAreaCount];
6405         memcpy ((void *)pDeviceRenderAreas, (void *)src->pDeviceRenderAreas, sizeof(VkRect2D)*src->deviceRenderAreaCount);
6406     }
6407 }
6408 
safe_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo * in_struct)6409 safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo* in_struct) :
6410     sType(in_struct->sType),
6411     deviceMask(in_struct->deviceMask)
6412 {
6413     pNext = SafePnextCopy(in_struct->pNext);
6414 }
6415 
safe_VkDeviceGroupCommandBufferBeginInfo()6416 safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo() :
6417     pNext(nullptr)
6418 {}
6419 
safe_VkDeviceGroupCommandBufferBeginInfo(const safe_VkDeviceGroupCommandBufferBeginInfo & src)6420 safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo(const safe_VkDeviceGroupCommandBufferBeginInfo& src)
6421 {
6422     sType = src.sType;
6423     deviceMask = src.deviceMask;
6424     pNext = SafePnextCopy(src.pNext);
6425 }
6426 
operator =(const safe_VkDeviceGroupCommandBufferBeginInfo & src)6427 safe_VkDeviceGroupCommandBufferBeginInfo& safe_VkDeviceGroupCommandBufferBeginInfo::operator=(const safe_VkDeviceGroupCommandBufferBeginInfo& src)
6428 {
6429     if (&src == this) return *this;
6430 
6431     if (pNext)
6432         FreePnextChain(pNext);
6433 
6434     sType = src.sType;
6435     deviceMask = src.deviceMask;
6436     pNext = SafePnextCopy(src.pNext);
6437 
6438     return *this;
6439 }
6440 
~safe_VkDeviceGroupCommandBufferBeginInfo()6441 safe_VkDeviceGroupCommandBufferBeginInfo::~safe_VkDeviceGroupCommandBufferBeginInfo()
6442 {
6443     if (pNext)
6444         FreePnextChain(pNext);
6445 }
6446 
initialize(const VkDeviceGroupCommandBufferBeginInfo * in_struct)6447 void safe_VkDeviceGroupCommandBufferBeginInfo::initialize(const VkDeviceGroupCommandBufferBeginInfo* in_struct)
6448 {
6449     sType = in_struct->sType;
6450     deviceMask = in_struct->deviceMask;
6451     pNext = SafePnextCopy(in_struct->pNext);
6452 }
6453 
initialize(const safe_VkDeviceGroupCommandBufferBeginInfo * src)6454 void safe_VkDeviceGroupCommandBufferBeginInfo::initialize(const safe_VkDeviceGroupCommandBufferBeginInfo* src)
6455 {
6456     sType = src->sType;
6457     deviceMask = src->deviceMask;
6458     pNext = SafePnextCopy(src->pNext);
6459 }
6460 
safe_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo * in_struct)6461 safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo* in_struct) :
6462     sType(in_struct->sType),
6463     waitSemaphoreCount(in_struct->waitSemaphoreCount),
6464     pWaitSemaphoreDeviceIndices(nullptr),
6465     commandBufferCount(in_struct->commandBufferCount),
6466     pCommandBufferDeviceMasks(nullptr),
6467     signalSemaphoreCount(in_struct->signalSemaphoreCount),
6468     pSignalSemaphoreDeviceIndices(nullptr)
6469 {
6470     pNext = SafePnextCopy(in_struct->pNext);
6471     if (in_struct->pWaitSemaphoreDeviceIndices) {
6472         pWaitSemaphoreDeviceIndices = new uint32_t[in_struct->waitSemaphoreCount];
6473         memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)in_struct->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->waitSemaphoreCount);
6474     }
6475     if (in_struct->pCommandBufferDeviceMasks) {
6476         pCommandBufferDeviceMasks = new uint32_t[in_struct->commandBufferCount];
6477         memcpy ((void *)pCommandBufferDeviceMasks, (void *)in_struct->pCommandBufferDeviceMasks, sizeof(uint32_t)*in_struct->commandBufferCount);
6478     }
6479     if (in_struct->pSignalSemaphoreDeviceIndices) {
6480         pSignalSemaphoreDeviceIndices = new uint32_t[in_struct->signalSemaphoreCount];
6481         memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)in_struct->pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->signalSemaphoreCount);
6482     }
6483 }
6484 
safe_VkDeviceGroupSubmitInfo()6485 safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo() :
6486     pNext(nullptr),
6487     pWaitSemaphoreDeviceIndices(nullptr),
6488     pCommandBufferDeviceMasks(nullptr),
6489     pSignalSemaphoreDeviceIndices(nullptr)
6490 {}
6491 
safe_VkDeviceGroupSubmitInfo(const safe_VkDeviceGroupSubmitInfo & src)6492 safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const safe_VkDeviceGroupSubmitInfo& src)
6493 {
6494     sType = src.sType;
6495     waitSemaphoreCount = src.waitSemaphoreCount;
6496     pWaitSemaphoreDeviceIndices = nullptr;
6497     commandBufferCount = src.commandBufferCount;
6498     pCommandBufferDeviceMasks = nullptr;
6499     signalSemaphoreCount = src.signalSemaphoreCount;
6500     pSignalSemaphoreDeviceIndices = nullptr;
6501     pNext = SafePnextCopy(src.pNext);
6502     if (src.pWaitSemaphoreDeviceIndices) {
6503         pWaitSemaphoreDeviceIndices = new uint32_t[src.waitSemaphoreCount];
6504         memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src.pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src.waitSemaphoreCount);
6505     }
6506     if (src.pCommandBufferDeviceMasks) {
6507         pCommandBufferDeviceMasks = new uint32_t[src.commandBufferCount];
6508         memcpy ((void *)pCommandBufferDeviceMasks, (void *)src.pCommandBufferDeviceMasks, sizeof(uint32_t)*src.commandBufferCount);
6509     }
6510     if (src.pSignalSemaphoreDeviceIndices) {
6511         pSignalSemaphoreDeviceIndices = new uint32_t[src.signalSemaphoreCount];
6512         memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)src.pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*src.signalSemaphoreCount);
6513     }
6514 }
6515 
operator =(const safe_VkDeviceGroupSubmitInfo & src)6516 safe_VkDeviceGroupSubmitInfo& safe_VkDeviceGroupSubmitInfo::operator=(const safe_VkDeviceGroupSubmitInfo& src)
6517 {
6518     if (&src == this) return *this;
6519 
6520     if (pWaitSemaphoreDeviceIndices)
6521         delete[] pWaitSemaphoreDeviceIndices;
6522     if (pCommandBufferDeviceMasks)
6523         delete[] pCommandBufferDeviceMasks;
6524     if (pSignalSemaphoreDeviceIndices)
6525         delete[] pSignalSemaphoreDeviceIndices;
6526     if (pNext)
6527         FreePnextChain(pNext);
6528 
6529     sType = src.sType;
6530     waitSemaphoreCount = src.waitSemaphoreCount;
6531     pWaitSemaphoreDeviceIndices = nullptr;
6532     commandBufferCount = src.commandBufferCount;
6533     pCommandBufferDeviceMasks = nullptr;
6534     signalSemaphoreCount = src.signalSemaphoreCount;
6535     pSignalSemaphoreDeviceIndices = nullptr;
6536     pNext = SafePnextCopy(src.pNext);
6537     if (src.pWaitSemaphoreDeviceIndices) {
6538         pWaitSemaphoreDeviceIndices = new uint32_t[src.waitSemaphoreCount];
6539         memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src.pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src.waitSemaphoreCount);
6540     }
6541     if (src.pCommandBufferDeviceMasks) {
6542         pCommandBufferDeviceMasks = new uint32_t[src.commandBufferCount];
6543         memcpy ((void *)pCommandBufferDeviceMasks, (void *)src.pCommandBufferDeviceMasks, sizeof(uint32_t)*src.commandBufferCount);
6544     }
6545     if (src.pSignalSemaphoreDeviceIndices) {
6546         pSignalSemaphoreDeviceIndices = new uint32_t[src.signalSemaphoreCount];
6547         memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)src.pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*src.signalSemaphoreCount);
6548     }
6549 
6550     return *this;
6551 }
6552 
~safe_VkDeviceGroupSubmitInfo()6553 safe_VkDeviceGroupSubmitInfo::~safe_VkDeviceGroupSubmitInfo()
6554 {
6555     if (pWaitSemaphoreDeviceIndices)
6556         delete[] pWaitSemaphoreDeviceIndices;
6557     if (pCommandBufferDeviceMasks)
6558         delete[] pCommandBufferDeviceMasks;
6559     if (pSignalSemaphoreDeviceIndices)
6560         delete[] pSignalSemaphoreDeviceIndices;
6561     if (pNext)
6562         FreePnextChain(pNext);
6563 }
6564 
initialize(const VkDeviceGroupSubmitInfo * in_struct)6565 void safe_VkDeviceGroupSubmitInfo::initialize(const VkDeviceGroupSubmitInfo* in_struct)
6566 {
6567     sType = in_struct->sType;
6568     waitSemaphoreCount = in_struct->waitSemaphoreCount;
6569     pWaitSemaphoreDeviceIndices = nullptr;
6570     commandBufferCount = in_struct->commandBufferCount;
6571     pCommandBufferDeviceMasks = nullptr;
6572     signalSemaphoreCount = in_struct->signalSemaphoreCount;
6573     pSignalSemaphoreDeviceIndices = nullptr;
6574     pNext = SafePnextCopy(in_struct->pNext);
6575     if (in_struct->pWaitSemaphoreDeviceIndices) {
6576         pWaitSemaphoreDeviceIndices = new uint32_t[in_struct->waitSemaphoreCount];
6577         memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)in_struct->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->waitSemaphoreCount);
6578     }
6579     if (in_struct->pCommandBufferDeviceMasks) {
6580         pCommandBufferDeviceMasks = new uint32_t[in_struct->commandBufferCount];
6581         memcpy ((void *)pCommandBufferDeviceMasks, (void *)in_struct->pCommandBufferDeviceMasks, sizeof(uint32_t)*in_struct->commandBufferCount);
6582     }
6583     if (in_struct->pSignalSemaphoreDeviceIndices) {
6584         pSignalSemaphoreDeviceIndices = new uint32_t[in_struct->signalSemaphoreCount];
6585         memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)in_struct->pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->signalSemaphoreCount);
6586     }
6587 }
6588 
initialize(const safe_VkDeviceGroupSubmitInfo * src)6589 void safe_VkDeviceGroupSubmitInfo::initialize(const safe_VkDeviceGroupSubmitInfo* src)
6590 {
6591     sType = src->sType;
6592     waitSemaphoreCount = src->waitSemaphoreCount;
6593     pWaitSemaphoreDeviceIndices = nullptr;
6594     commandBufferCount = src->commandBufferCount;
6595     pCommandBufferDeviceMasks = nullptr;
6596     signalSemaphoreCount = src->signalSemaphoreCount;
6597     pSignalSemaphoreDeviceIndices = nullptr;
6598     pNext = SafePnextCopy(src->pNext);
6599     if (src->pWaitSemaphoreDeviceIndices) {
6600         pWaitSemaphoreDeviceIndices = new uint32_t[src->waitSemaphoreCount];
6601         memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src->waitSemaphoreCount);
6602     }
6603     if (src->pCommandBufferDeviceMasks) {
6604         pCommandBufferDeviceMasks = new uint32_t[src->commandBufferCount];
6605         memcpy ((void *)pCommandBufferDeviceMasks, (void *)src->pCommandBufferDeviceMasks, sizeof(uint32_t)*src->commandBufferCount);
6606     }
6607     if (src->pSignalSemaphoreDeviceIndices) {
6608         pSignalSemaphoreDeviceIndices = new uint32_t[src->signalSemaphoreCount];
6609         memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)src->pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*src->signalSemaphoreCount);
6610     }
6611 }
6612 
safe_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo * in_struct)6613 safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo* in_struct) :
6614     sType(in_struct->sType),
6615     resourceDeviceIndex(in_struct->resourceDeviceIndex),
6616     memoryDeviceIndex(in_struct->memoryDeviceIndex)
6617 {
6618     pNext = SafePnextCopy(in_struct->pNext);
6619 }
6620 
safe_VkDeviceGroupBindSparseInfo()6621 safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo() :
6622     pNext(nullptr)
6623 {}
6624 
safe_VkDeviceGroupBindSparseInfo(const safe_VkDeviceGroupBindSparseInfo & src)6625 safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo(const safe_VkDeviceGroupBindSparseInfo& src)
6626 {
6627     sType = src.sType;
6628     resourceDeviceIndex = src.resourceDeviceIndex;
6629     memoryDeviceIndex = src.memoryDeviceIndex;
6630     pNext = SafePnextCopy(src.pNext);
6631 }
6632 
operator =(const safe_VkDeviceGroupBindSparseInfo & src)6633 safe_VkDeviceGroupBindSparseInfo& safe_VkDeviceGroupBindSparseInfo::operator=(const safe_VkDeviceGroupBindSparseInfo& src)
6634 {
6635     if (&src == this) return *this;
6636 
6637     if (pNext)
6638         FreePnextChain(pNext);
6639 
6640     sType = src.sType;
6641     resourceDeviceIndex = src.resourceDeviceIndex;
6642     memoryDeviceIndex = src.memoryDeviceIndex;
6643     pNext = SafePnextCopy(src.pNext);
6644 
6645     return *this;
6646 }
6647 
~safe_VkDeviceGroupBindSparseInfo()6648 safe_VkDeviceGroupBindSparseInfo::~safe_VkDeviceGroupBindSparseInfo()
6649 {
6650     if (pNext)
6651         FreePnextChain(pNext);
6652 }
6653 
initialize(const VkDeviceGroupBindSparseInfo * in_struct)6654 void safe_VkDeviceGroupBindSparseInfo::initialize(const VkDeviceGroupBindSparseInfo* in_struct)
6655 {
6656     sType = in_struct->sType;
6657     resourceDeviceIndex = in_struct->resourceDeviceIndex;
6658     memoryDeviceIndex = in_struct->memoryDeviceIndex;
6659     pNext = SafePnextCopy(in_struct->pNext);
6660 }
6661 
initialize(const safe_VkDeviceGroupBindSparseInfo * src)6662 void safe_VkDeviceGroupBindSparseInfo::initialize(const safe_VkDeviceGroupBindSparseInfo* src)
6663 {
6664     sType = src->sType;
6665     resourceDeviceIndex = src->resourceDeviceIndex;
6666     memoryDeviceIndex = src->memoryDeviceIndex;
6667     pNext = SafePnextCopy(src->pNext);
6668 }
6669 
safe_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo * in_struct)6670 safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo* in_struct) :
6671     sType(in_struct->sType),
6672     deviceIndexCount(in_struct->deviceIndexCount),
6673     pDeviceIndices(nullptr)
6674 {
6675     pNext = SafePnextCopy(in_struct->pNext);
6676     if (in_struct->pDeviceIndices) {
6677         pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6678         memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6679     }
6680 }
6681 
safe_VkBindBufferMemoryDeviceGroupInfo()6682 safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo() :
6683     pNext(nullptr),
6684     pDeviceIndices(nullptr)
6685 {}
6686 
safe_VkBindBufferMemoryDeviceGroupInfo(const safe_VkBindBufferMemoryDeviceGroupInfo & src)6687 safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(const safe_VkBindBufferMemoryDeviceGroupInfo& src)
6688 {
6689     sType = src.sType;
6690     deviceIndexCount = src.deviceIndexCount;
6691     pDeviceIndices = nullptr;
6692     pNext = SafePnextCopy(src.pNext);
6693     if (src.pDeviceIndices) {
6694         pDeviceIndices = new uint32_t[src.deviceIndexCount];
6695         memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6696     }
6697 }
6698 
operator =(const safe_VkBindBufferMemoryDeviceGroupInfo & src)6699 safe_VkBindBufferMemoryDeviceGroupInfo& safe_VkBindBufferMemoryDeviceGroupInfo::operator=(const safe_VkBindBufferMemoryDeviceGroupInfo& src)
6700 {
6701     if (&src == this) return *this;
6702 
6703     if (pDeviceIndices)
6704         delete[] pDeviceIndices;
6705     if (pNext)
6706         FreePnextChain(pNext);
6707 
6708     sType = src.sType;
6709     deviceIndexCount = src.deviceIndexCount;
6710     pDeviceIndices = nullptr;
6711     pNext = SafePnextCopy(src.pNext);
6712     if (src.pDeviceIndices) {
6713         pDeviceIndices = new uint32_t[src.deviceIndexCount];
6714         memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6715     }
6716 
6717     return *this;
6718 }
6719 
~safe_VkBindBufferMemoryDeviceGroupInfo()6720 safe_VkBindBufferMemoryDeviceGroupInfo::~safe_VkBindBufferMemoryDeviceGroupInfo()
6721 {
6722     if (pDeviceIndices)
6723         delete[] pDeviceIndices;
6724     if (pNext)
6725         FreePnextChain(pNext);
6726 }
6727 
initialize(const VkBindBufferMemoryDeviceGroupInfo * in_struct)6728 void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const VkBindBufferMemoryDeviceGroupInfo* in_struct)
6729 {
6730     sType = in_struct->sType;
6731     deviceIndexCount = in_struct->deviceIndexCount;
6732     pDeviceIndices = nullptr;
6733     pNext = SafePnextCopy(in_struct->pNext);
6734     if (in_struct->pDeviceIndices) {
6735         pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6736         memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6737     }
6738 }
6739 
initialize(const safe_VkBindBufferMemoryDeviceGroupInfo * src)6740 void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const safe_VkBindBufferMemoryDeviceGroupInfo* src)
6741 {
6742     sType = src->sType;
6743     deviceIndexCount = src->deviceIndexCount;
6744     pDeviceIndices = nullptr;
6745     pNext = SafePnextCopy(src->pNext);
6746     if (src->pDeviceIndices) {
6747         pDeviceIndices = new uint32_t[src->deviceIndexCount];
6748         memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount);
6749     }
6750 }
6751 
safe_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo * in_struct)6752 safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo* in_struct) :
6753     sType(in_struct->sType),
6754     deviceIndexCount(in_struct->deviceIndexCount),
6755     pDeviceIndices(nullptr),
6756     splitInstanceBindRegionCount(in_struct->splitInstanceBindRegionCount),
6757     pSplitInstanceBindRegions(nullptr)
6758 {
6759     pNext = SafePnextCopy(in_struct->pNext);
6760     if (in_struct->pDeviceIndices) {
6761         pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6762         memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6763     }
6764     if (in_struct->pSplitInstanceBindRegions) {
6765         pSplitInstanceBindRegions = new VkRect2D[in_struct->splitInstanceBindRegionCount];
6766         memcpy ((void *)pSplitInstanceBindRegions, (void *)in_struct->pSplitInstanceBindRegions, sizeof(VkRect2D)*in_struct->splitInstanceBindRegionCount);
6767     }
6768 }
6769 
safe_VkBindImageMemoryDeviceGroupInfo()6770 safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo() :
6771     pNext(nullptr),
6772     pDeviceIndices(nullptr),
6773     pSplitInstanceBindRegions(nullptr)
6774 {}
6775 
safe_VkBindImageMemoryDeviceGroupInfo(const safe_VkBindImageMemoryDeviceGroupInfo & src)6776 safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(const safe_VkBindImageMemoryDeviceGroupInfo& src)
6777 {
6778     sType = src.sType;
6779     deviceIndexCount = src.deviceIndexCount;
6780     pDeviceIndices = nullptr;
6781     splitInstanceBindRegionCount = src.splitInstanceBindRegionCount;
6782     pSplitInstanceBindRegions = nullptr;
6783     pNext = SafePnextCopy(src.pNext);
6784     if (src.pDeviceIndices) {
6785         pDeviceIndices = new uint32_t[src.deviceIndexCount];
6786         memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6787     }
6788     if (src.pSplitInstanceBindRegions) {
6789         pSplitInstanceBindRegions = new VkRect2D[src.splitInstanceBindRegionCount];
6790         memcpy ((void *)pSplitInstanceBindRegions, (void *)src.pSplitInstanceBindRegions, sizeof(VkRect2D)*src.splitInstanceBindRegionCount);
6791     }
6792 }
6793 
operator =(const safe_VkBindImageMemoryDeviceGroupInfo & src)6794 safe_VkBindImageMemoryDeviceGroupInfo& safe_VkBindImageMemoryDeviceGroupInfo::operator=(const safe_VkBindImageMemoryDeviceGroupInfo& src)
6795 {
6796     if (&src == this) return *this;
6797 
6798     if (pDeviceIndices)
6799         delete[] pDeviceIndices;
6800     if (pSplitInstanceBindRegions)
6801         delete[] pSplitInstanceBindRegions;
6802     if (pNext)
6803         FreePnextChain(pNext);
6804 
6805     sType = src.sType;
6806     deviceIndexCount = src.deviceIndexCount;
6807     pDeviceIndices = nullptr;
6808     splitInstanceBindRegionCount = src.splitInstanceBindRegionCount;
6809     pSplitInstanceBindRegions = nullptr;
6810     pNext = SafePnextCopy(src.pNext);
6811     if (src.pDeviceIndices) {
6812         pDeviceIndices = new uint32_t[src.deviceIndexCount];
6813         memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6814     }
6815     if (src.pSplitInstanceBindRegions) {
6816         pSplitInstanceBindRegions = new VkRect2D[src.splitInstanceBindRegionCount];
6817         memcpy ((void *)pSplitInstanceBindRegions, (void *)src.pSplitInstanceBindRegions, sizeof(VkRect2D)*src.splitInstanceBindRegionCount);
6818     }
6819 
6820     return *this;
6821 }
6822 
~safe_VkBindImageMemoryDeviceGroupInfo()6823 safe_VkBindImageMemoryDeviceGroupInfo::~safe_VkBindImageMemoryDeviceGroupInfo()
6824 {
6825     if (pDeviceIndices)
6826         delete[] pDeviceIndices;
6827     if (pSplitInstanceBindRegions)
6828         delete[] pSplitInstanceBindRegions;
6829     if (pNext)
6830         FreePnextChain(pNext);
6831 }
6832 
initialize(const VkBindImageMemoryDeviceGroupInfo * in_struct)6833 void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const VkBindImageMemoryDeviceGroupInfo* in_struct)
6834 {
6835     sType = in_struct->sType;
6836     deviceIndexCount = in_struct->deviceIndexCount;
6837     pDeviceIndices = nullptr;
6838     splitInstanceBindRegionCount = in_struct->splitInstanceBindRegionCount;
6839     pSplitInstanceBindRegions = nullptr;
6840     pNext = SafePnextCopy(in_struct->pNext);
6841     if (in_struct->pDeviceIndices) {
6842         pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6843         memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6844     }
6845     if (in_struct->pSplitInstanceBindRegions) {
6846         pSplitInstanceBindRegions = new VkRect2D[in_struct->splitInstanceBindRegionCount];
6847         memcpy ((void *)pSplitInstanceBindRegions, (void *)in_struct->pSplitInstanceBindRegions, sizeof(VkRect2D)*in_struct->splitInstanceBindRegionCount);
6848     }
6849 }
6850 
initialize(const safe_VkBindImageMemoryDeviceGroupInfo * src)6851 void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const safe_VkBindImageMemoryDeviceGroupInfo* src)
6852 {
6853     sType = src->sType;
6854     deviceIndexCount = src->deviceIndexCount;
6855     pDeviceIndices = nullptr;
6856     splitInstanceBindRegionCount = src->splitInstanceBindRegionCount;
6857     pSplitInstanceBindRegions = nullptr;
6858     pNext = SafePnextCopy(src->pNext);
6859     if (src->pDeviceIndices) {
6860         pDeviceIndices = new uint32_t[src->deviceIndexCount];
6861         memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount);
6862     }
6863     if (src->pSplitInstanceBindRegions) {
6864         pSplitInstanceBindRegions = new VkRect2D[src->splitInstanceBindRegionCount];
6865         memcpy ((void *)pSplitInstanceBindRegions, (void *)src->pSplitInstanceBindRegions, sizeof(VkRect2D)*src->splitInstanceBindRegionCount);
6866     }
6867 }
6868 
safe_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties * in_struct)6869 safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties* in_struct) :
6870     sType(in_struct->sType),
6871     physicalDeviceCount(in_struct->physicalDeviceCount),
6872     subsetAllocation(in_struct->subsetAllocation)
6873 {
6874     pNext = SafePnextCopy(in_struct->pNext);
6875     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6876         physicalDevices[i] = in_struct->physicalDevices[i];
6877     }
6878 }
6879 
safe_VkPhysicalDeviceGroupProperties()6880 safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties() :
6881     pNext(nullptr)
6882 {}
6883 
safe_VkPhysicalDeviceGroupProperties(const safe_VkPhysicalDeviceGroupProperties & src)6884 safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties(const safe_VkPhysicalDeviceGroupProperties& src)
6885 {
6886     sType = src.sType;
6887     physicalDeviceCount = src.physicalDeviceCount;
6888     subsetAllocation = src.subsetAllocation;
6889     pNext = SafePnextCopy(src.pNext);
6890     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6891         physicalDevices[i] = src.physicalDevices[i];
6892     }
6893 }
6894 
operator =(const safe_VkPhysicalDeviceGroupProperties & src)6895 safe_VkPhysicalDeviceGroupProperties& safe_VkPhysicalDeviceGroupProperties::operator=(const safe_VkPhysicalDeviceGroupProperties& src)
6896 {
6897     if (&src == this) return *this;
6898 
6899     if (pNext)
6900         FreePnextChain(pNext);
6901 
6902     sType = src.sType;
6903     physicalDeviceCount = src.physicalDeviceCount;
6904     subsetAllocation = src.subsetAllocation;
6905     pNext = SafePnextCopy(src.pNext);
6906     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6907         physicalDevices[i] = src.physicalDevices[i];
6908     }
6909 
6910     return *this;
6911 }
6912 
~safe_VkPhysicalDeviceGroupProperties()6913 safe_VkPhysicalDeviceGroupProperties::~safe_VkPhysicalDeviceGroupProperties()
6914 {
6915     if (pNext)
6916         FreePnextChain(pNext);
6917 }
6918 
initialize(const VkPhysicalDeviceGroupProperties * in_struct)6919 void safe_VkPhysicalDeviceGroupProperties::initialize(const VkPhysicalDeviceGroupProperties* in_struct)
6920 {
6921     sType = in_struct->sType;
6922     physicalDeviceCount = in_struct->physicalDeviceCount;
6923     subsetAllocation = in_struct->subsetAllocation;
6924     pNext = SafePnextCopy(in_struct->pNext);
6925     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6926         physicalDevices[i] = in_struct->physicalDevices[i];
6927     }
6928 }
6929 
initialize(const safe_VkPhysicalDeviceGroupProperties * src)6930 void safe_VkPhysicalDeviceGroupProperties::initialize(const safe_VkPhysicalDeviceGroupProperties* src)
6931 {
6932     sType = src->sType;
6933     physicalDeviceCount = src->physicalDeviceCount;
6934     subsetAllocation = src->subsetAllocation;
6935     pNext = SafePnextCopy(src->pNext);
6936     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6937         physicalDevices[i] = src->physicalDevices[i];
6938     }
6939 }
6940 
safe_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo * in_struct)6941 safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo* in_struct) :
6942     sType(in_struct->sType),
6943     physicalDeviceCount(in_struct->physicalDeviceCount),
6944     pPhysicalDevices(nullptr)
6945 {
6946     pNext = SafePnextCopy(in_struct->pNext);
6947     if (in_struct->pPhysicalDevices) {
6948         pPhysicalDevices = new VkPhysicalDevice[in_struct->physicalDeviceCount];
6949         memcpy ((void *)pPhysicalDevices, (void *)in_struct->pPhysicalDevices, sizeof(VkPhysicalDevice)*in_struct->physicalDeviceCount);
6950     }
6951 }
6952 
safe_VkDeviceGroupDeviceCreateInfo()6953 safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo() :
6954     pNext(nullptr),
6955     pPhysicalDevices(nullptr)
6956 {}
6957 
safe_VkDeviceGroupDeviceCreateInfo(const safe_VkDeviceGroupDeviceCreateInfo & src)6958 safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const safe_VkDeviceGroupDeviceCreateInfo& src)
6959 {
6960     sType = src.sType;
6961     physicalDeviceCount = src.physicalDeviceCount;
6962     pPhysicalDevices = nullptr;
6963     pNext = SafePnextCopy(src.pNext);
6964     if (src.pPhysicalDevices) {
6965         pPhysicalDevices = new VkPhysicalDevice[src.physicalDeviceCount];
6966         memcpy ((void *)pPhysicalDevices, (void *)src.pPhysicalDevices, sizeof(VkPhysicalDevice)*src.physicalDeviceCount);
6967     }
6968 }
6969 
operator =(const safe_VkDeviceGroupDeviceCreateInfo & src)6970 safe_VkDeviceGroupDeviceCreateInfo& safe_VkDeviceGroupDeviceCreateInfo::operator=(const safe_VkDeviceGroupDeviceCreateInfo& src)
6971 {
6972     if (&src == this) return *this;
6973 
6974     if (pPhysicalDevices)
6975         delete[] pPhysicalDevices;
6976     if (pNext)
6977         FreePnextChain(pNext);
6978 
6979     sType = src.sType;
6980     physicalDeviceCount = src.physicalDeviceCount;
6981     pPhysicalDevices = nullptr;
6982     pNext = SafePnextCopy(src.pNext);
6983     if (src.pPhysicalDevices) {
6984         pPhysicalDevices = new VkPhysicalDevice[src.physicalDeviceCount];
6985         memcpy ((void *)pPhysicalDevices, (void *)src.pPhysicalDevices, sizeof(VkPhysicalDevice)*src.physicalDeviceCount);
6986     }
6987 
6988     return *this;
6989 }
6990 
~safe_VkDeviceGroupDeviceCreateInfo()6991 safe_VkDeviceGroupDeviceCreateInfo::~safe_VkDeviceGroupDeviceCreateInfo()
6992 {
6993     if (pPhysicalDevices)
6994         delete[] pPhysicalDevices;
6995     if (pNext)
6996         FreePnextChain(pNext);
6997 }
6998 
initialize(const VkDeviceGroupDeviceCreateInfo * in_struct)6999 void safe_VkDeviceGroupDeviceCreateInfo::initialize(const VkDeviceGroupDeviceCreateInfo* in_struct)
7000 {
7001     sType = in_struct->sType;
7002     physicalDeviceCount = in_struct->physicalDeviceCount;
7003     pPhysicalDevices = nullptr;
7004     pNext = SafePnextCopy(in_struct->pNext);
7005     if (in_struct->pPhysicalDevices) {
7006         pPhysicalDevices = new VkPhysicalDevice[in_struct->physicalDeviceCount];
7007         memcpy ((void *)pPhysicalDevices, (void *)in_struct->pPhysicalDevices, sizeof(VkPhysicalDevice)*in_struct->physicalDeviceCount);
7008     }
7009 }
7010 
initialize(const safe_VkDeviceGroupDeviceCreateInfo * src)7011 void safe_VkDeviceGroupDeviceCreateInfo::initialize(const safe_VkDeviceGroupDeviceCreateInfo* src)
7012 {
7013     sType = src->sType;
7014     physicalDeviceCount = src->physicalDeviceCount;
7015     pPhysicalDevices = nullptr;
7016     pNext = SafePnextCopy(src->pNext);
7017     if (src->pPhysicalDevices) {
7018         pPhysicalDevices = new VkPhysicalDevice[src->physicalDeviceCount];
7019         memcpy ((void *)pPhysicalDevices, (void *)src->pPhysicalDevices, sizeof(VkPhysicalDevice)*src->physicalDeviceCount);
7020     }
7021 }
7022 
safe_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2 * in_struct)7023 safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2* in_struct) :
7024     sType(in_struct->sType),
7025     buffer(in_struct->buffer)
7026 {
7027     pNext = SafePnextCopy(in_struct->pNext);
7028 }
7029 
safe_VkBufferMemoryRequirementsInfo2()7030 safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2() :
7031     pNext(nullptr)
7032 {}
7033 
safe_VkBufferMemoryRequirementsInfo2(const safe_VkBufferMemoryRequirementsInfo2 & src)7034 safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2(const safe_VkBufferMemoryRequirementsInfo2& src)
7035 {
7036     sType = src.sType;
7037     buffer = src.buffer;
7038     pNext = SafePnextCopy(src.pNext);
7039 }
7040 
operator =(const safe_VkBufferMemoryRequirementsInfo2 & src)7041 safe_VkBufferMemoryRequirementsInfo2& safe_VkBufferMemoryRequirementsInfo2::operator=(const safe_VkBufferMemoryRequirementsInfo2& src)
7042 {
7043     if (&src == this) return *this;
7044 
7045     if (pNext)
7046         FreePnextChain(pNext);
7047 
7048     sType = src.sType;
7049     buffer = src.buffer;
7050     pNext = SafePnextCopy(src.pNext);
7051 
7052     return *this;
7053 }
7054 
~safe_VkBufferMemoryRequirementsInfo2()7055 safe_VkBufferMemoryRequirementsInfo2::~safe_VkBufferMemoryRequirementsInfo2()
7056 {
7057     if (pNext)
7058         FreePnextChain(pNext);
7059 }
7060 
initialize(const VkBufferMemoryRequirementsInfo2 * in_struct)7061 void safe_VkBufferMemoryRequirementsInfo2::initialize(const VkBufferMemoryRequirementsInfo2* in_struct)
7062 {
7063     sType = in_struct->sType;
7064     buffer = in_struct->buffer;
7065     pNext = SafePnextCopy(in_struct->pNext);
7066 }
7067 
initialize(const safe_VkBufferMemoryRequirementsInfo2 * src)7068 void safe_VkBufferMemoryRequirementsInfo2::initialize(const safe_VkBufferMemoryRequirementsInfo2* src)
7069 {
7070     sType = src->sType;
7071     buffer = src->buffer;
7072     pNext = SafePnextCopy(src->pNext);
7073 }
7074 
safe_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2 * in_struct)7075 safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2* in_struct) :
7076     sType(in_struct->sType),
7077     image(in_struct->image)
7078 {
7079     pNext = SafePnextCopy(in_struct->pNext);
7080 }
7081 
safe_VkImageMemoryRequirementsInfo2()7082 safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2() :
7083     pNext(nullptr)
7084 {}
7085 
safe_VkImageMemoryRequirementsInfo2(const safe_VkImageMemoryRequirementsInfo2 & src)7086 safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2(const safe_VkImageMemoryRequirementsInfo2& src)
7087 {
7088     sType = src.sType;
7089     image = src.image;
7090     pNext = SafePnextCopy(src.pNext);
7091 }
7092 
operator =(const safe_VkImageMemoryRequirementsInfo2 & src)7093 safe_VkImageMemoryRequirementsInfo2& safe_VkImageMemoryRequirementsInfo2::operator=(const safe_VkImageMemoryRequirementsInfo2& src)
7094 {
7095     if (&src == this) return *this;
7096 
7097     if (pNext)
7098         FreePnextChain(pNext);
7099 
7100     sType = src.sType;
7101     image = src.image;
7102     pNext = SafePnextCopy(src.pNext);
7103 
7104     return *this;
7105 }
7106 
~safe_VkImageMemoryRequirementsInfo2()7107 safe_VkImageMemoryRequirementsInfo2::~safe_VkImageMemoryRequirementsInfo2()
7108 {
7109     if (pNext)
7110         FreePnextChain(pNext);
7111 }
7112 
initialize(const VkImageMemoryRequirementsInfo2 * in_struct)7113 void safe_VkImageMemoryRequirementsInfo2::initialize(const VkImageMemoryRequirementsInfo2* in_struct)
7114 {
7115     sType = in_struct->sType;
7116     image = in_struct->image;
7117     pNext = SafePnextCopy(in_struct->pNext);
7118 }
7119 
initialize(const safe_VkImageMemoryRequirementsInfo2 * src)7120 void safe_VkImageMemoryRequirementsInfo2::initialize(const safe_VkImageMemoryRequirementsInfo2* src)
7121 {
7122     sType = src->sType;
7123     image = src->image;
7124     pNext = SafePnextCopy(src->pNext);
7125 }
7126 
safe_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2 * in_struct)7127 safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2* in_struct) :
7128     sType(in_struct->sType),
7129     image(in_struct->image)
7130 {
7131     pNext = SafePnextCopy(in_struct->pNext);
7132 }
7133 
safe_VkImageSparseMemoryRequirementsInfo2()7134 safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2() :
7135     pNext(nullptr)
7136 {}
7137 
safe_VkImageSparseMemoryRequirementsInfo2(const safe_VkImageSparseMemoryRequirementsInfo2 & src)7138 safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2(const safe_VkImageSparseMemoryRequirementsInfo2& src)
7139 {
7140     sType = src.sType;
7141     image = src.image;
7142     pNext = SafePnextCopy(src.pNext);
7143 }
7144 
operator =(const safe_VkImageSparseMemoryRequirementsInfo2 & src)7145 safe_VkImageSparseMemoryRequirementsInfo2& safe_VkImageSparseMemoryRequirementsInfo2::operator=(const safe_VkImageSparseMemoryRequirementsInfo2& src)
7146 {
7147     if (&src == this) return *this;
7148 
7149     if (pNext)
7150         FreePnextChain(pNext);
7151 
7152     sType = src.sType;
7153     image = src.image;
7154     pNext = SafePnextCopy(src.pNext);
7155 
7156     return *this;
7157 }
7158 
~safe_VkImageSparseMemoryRequirementsInfo2()7159 safe_VkImageSparseMemoryRequirementsInfo2::~safe_VkImageSparseMemoryRequirementsInfo2()
7160 {
7161     if (pNext)
7162         FreePnextChain(pNext);
7163 }
7164 
initialize(const VkImageSparseMemoryRequirementsInfo2 * in_struct)7165 void safe_VkImageSparseMemoryRequirementsInfo2::initialize(const VkImageSparseMemoryRequirementsInfo2* in_struct)
7166 {
7167     sType = in_struct->sType;
7168     image = in_struct->image;
7169     pNext = SafePnextCopy(in_struct->pNext);
7170 }
7171 
initialize(const safe_VkImageSparseMemoryRequirementsInfo2 * src)7172 void safe_VkImageSparseMemoryRequirementsInfo2::initialize(const safe_VkImageSparseMemoryRequirementsInfo2* src)
7173 {
7174     sType = src->sType;
7175     image = src->image;
7176     pNext = SafePnextCopy(src->pNext);
7177 }
7178 
safe_VkMemoryRequirements2(const VkMemoryRequirements2 * in_struct)7179 safe_VkMemoryRequirements2::safe_VkMemoryRequirements2(const VkMemoryRequirements2* in_struct) :
7180     sType(in_struct->sType),
7181     memoryRequirements(in_struct->memoryRequirements)
7182 {
7183     pNext = SafePnextCopy(in_struct->pNext);
7184 }
7185 
safe_VkMemoryRequirements2()7186 safe_VkMemoryRequirements2::safe_VkMemoryRequirements2() :
7187     pNext(nullptr)
7188 {}
7189 
safe_VkMemoryRequirements2(const safe_VkMemoryRequirements2 & src)7190 safe_VkMemoryRequirements2::safe_VkMemoryRequirements2(const safe_VkMemoryRequirements2& src)
7191 {
7192     sType = src.sType;
7193     memoryRequirements = src.memoryRequirements;
7194     pNext = SafePnextCopy(src.pNext);
7195 }
7196 
operator =(const safe_VkMemoryRequirements2 & src)7197 safe_VkMemoryRequirements2& safe_VkMemoryRequirements2::operator=(const safe_VkMemoryRequirements2& src)
7198 {
7199     if (&src == this) return *this;
7200 
7201     if (pNext)
7202         FreePnextChain(pNext);
7203 
7204     sType = src.sType;
7205     memoryRequirements = src.memoryRequirements;
7206     pNext = SafePnextCopy(src.pNext);
7207 
7208     return *this;
7209 }
7210 
~safe_VkMemoryRequirements2()7211 safe_VkMemoryRequirements2::~safe_VkMemoryRequirements2()
7212 {
7213     if (pNext)
7214         FreePnextChain(pNext);
7215 }
7216 
initialize(const VkMemoryRequirements2 * in_struct)7217 void safe_VkMemoryRequirements2::initialize(const VkMemoryRequirements2* in_struct)
7218 {
7219     sType = in_struct->sType;
7220     memoryRequirements = in_struct->memoryRequirements;
7221     pNext = SafePnextCopy(in_struct->pNext);
7222 }
7223 
initialize(const safe_VkMemoryRequirements2 * src)7224 void safe_VkMemoryRequirements2::initialize(const safe_VkMemoryRequirements2* src)
7225 {
7226     sType = src->sType;
7227     memoryRequirements = src->memoryRequirements;
7228     pNext = SafePnextCopy(src->pNext);
7229 }
7230 
safe_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2 * in_struct)7231 safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2* in_struct) :
7232     sType(in_struct->sType),
7233     memoryRequirements(in_struct->memoryRequirements)
7234 {
7235     pNext = SafePnextCopy(in_struct->pNext);
7236 }
7237 
safe_VkSparseImageMemoryRequirements2()7238 safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2() :
7239     pNext(nullptr)
7240 {}
7241 
safe_VkSparseImageMemoryRequirements2(const safe_VkSparseImageMemoryRequirements2 & src)7242 safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2(const safe_VkSparseImageMemoryRequirements2& src)
7243 {
7244     sType = src.sType;
7245     memoryRequirements = src.memoryRequirements;
7246     pNext = SafePnextCopy(src.pNext);
7247 }
7248 
operator =(const safe_VkSparseImageMemoryRequirements2 & src)7249 safe_VkSparseImageMemoryRequirements2& safe_VkSparseImageMemoryRequirements2::operator=(const safe_VkSparseImageMemoryRequirements2& src)
7250 {
7251     if (&src == this) return *this;
7252 
7253     if (pNext)
7254         FreePnextChain(pNext);
7255 
7256     sType = src.sType;
7257     memoryRequirements = src.memoryRequirements;
7258     pNext = SafePnextCopy(src.pNext);
7259 
7260     return *this;
7261 }
7262 
~safe_VkSparseImageMemoryRequirements2()7263 safe_VkSparseImageMemoryRequirements2::~safe_VkSparseImageMemoryRequirements2()
7264 {
7265     if (pNext)
7266         FreePnextChain(pNext);
7267 }
7268 
initialize(const VkSparseImageMemoryRequirements2 * in_struct)7269 void safe_VkSparseImageMemoryRequirements2::initialize(const VkSparseImageMemoryRequirements2* in_struct)
7270 {
7271     sType = in_struct->sType;
7272     memoryRequirements = in_struct->memoryRequirements;
7273     pNext = SafePnextCopy(in_struct->pNext);
7274 }
7275 
initialize(const safe_VkSparseImageMemoryRequirements2 * src)7276 void safe_VkSparseImageMemoryRequirements2::initialize(const safe_VkSparseImageMemoryRequirements2* src)
7277 {
7278     sType = src->sType;
7279     memoryRequirements = src->memoryRequirements;
7280     pNext = SafePnextCopy(src->pNext);
7281 }
7282 
safe_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2 * in_struct)7283 safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2* in_struct) :
7284     sType(in_struct->sType),
7285     features(in_struct->features)
7286 {
7287     pNext = SafePnextCopy(in_struct->pNext);
7288 }
7289 
safe_VkPhysicalDeviceFeatures2()7290 safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2() :
7291     pNext(nullptr)
7292 {}
7293 
safe_VkPhysicalDeviceFeatures2(const safe_VkPhysicalDeviceFeatures2 & src)7294 safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2(const safe_VkPhysicalDeviceFeatures2& src)
7295 {
7296     sType = src.sType;
7297     features = src.features;
7298     pNext = SafePnextCopy(src.pNext);
7299 }
7300 
operator =(const safe_VkPhysicalDeviceFeatures2 & src)7301 safe_VkPhysicalDeviceFeatures2& safe_VkPhysicalDeviceFeatures2::operator=(const safe_VkPhysicalDeviceFeatures2& src)
7302 {
7303     if (&src == this) return *this;
7304 
7305     if (pNext)
7306         FreePnextChain(pNext);
7307 
7308     sType = src.sType;
7309     features = src.features;
7310     pNext = SafePnextCopy(src.pNext);
7311 
7312     return *this;
7313 }
7314 
~safe_VkPhysicalDeviceFeatures2()7315 safe_VkPhysicalDeviceFeatures2::~safe_VkPhysicalDeviceFeatures2()
7316 {
7317     if (pNext)
7318         FreePnextChain(pNext);
7319 }
7320 
initialize(const VkPhysicalDeviceFeatures2 * in_struct)7321 void safe_VkPhysicalDeviceFeatures2::initialize(const VkPhysicalDeviceFeatures2* in_struct)
7322 {
7323     sType = in_struct->sType;
7324     features = in_struct->features;
7325     pNext = SafePnextCopy(in_struct->pNext);
7326 }
7327 
initialize(const safe_VkPhysicalDeviceFeatures2 * src)7328 void safe_VkPhysicalDeviceFeatures2::initialize(const safe_VkPhysicalDeviceFeatures2* src)
7329 {
7330     sType = src->sType;
7331     features = src->features;
7332     pNext = SafePnextCopy(src->pNext);
7333 }
7334 
safe_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2 * in_struct)7335 safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2* in_struct) :
7336     sType(in_struct->sType),
7337     properties(in_struct->properties)
7338 {
7339     pNext = SafePnextCopy(in_struct->pNext);
7340 }
7341 
safe_VkPhysicalDeviceProperties2()7342 safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2() :
7343     pNext(nullptr)
7344 {}
7345 
safe_VkPhysicalDeviceProperties2(const safe_VkPhysicalDeviceProperties2 & src)7346 safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2(const safe_VkPhysicalDeviceProperties2& src)
7347 {
7348     sType = src.sType;
7349     properties = src.properties;
7350     pNext = SafePnextCopy(src.pNext);
7351 }
7352 
operator =(const safe_VkPhysicalDeviceProperties2 & src)7353 safe_VkPhysicalDeviceProperties2& safe_VkPhysicalDeviceProperties2::operator=(const safe_VkPhysicalDeviceProperties2& src)
7354 {
7355     if (&src == this) return *this;
7356 
7357     if (pNext)
7358         FreePnextChain(pNext);
7359 
7360     sType = src.sType;
7361     properties = src.properties;
7362     pNext = SafePnextCopy(src.pNext);
7363 
7364     return *this;
7365 }
7366 
~safe_VkPhysicalDeviceProperties2()7367 safe_VkPhysicalDeviceProperties2::~safe_VkPhysicalDeviceProperties2()
7368 {
7369     if (pNext)
7370         FreePnextChain(pNext);
7371 }
7372 
initialize(const VkPhysicalDeviceProperties2 * in_struct)7373 void safe_VkPhysicalDeviceProperties2::initialize(const VkPhysicalDeviceProperties2* in_struct)
7374 {
7375     sType = in_struct->sType;
7376     properties = in_struct->properties;
7377     pNext = SafePnextCopy(in_struct->pNext);
7378 }
7379 
initialize(const safe_VkPhysicalDeviceProperties2 * src)7380 void safe_VkPhysicalDeviceProperties2::initialize(const safe_VkPhysicalDeviceProperties2* src)
7381 {
7382     sType = src->sType;
7383     properties = src->properties;
7384     pNext = SafePnextCopy(src->pNext);
7385 }
7386 
safe_VkFormatProperties2(const VkFormatProperties2 * in_struct)7387 safe_VkFormatProperties2::safe_VkFormatProperties2(const VkFormatProperties2* in_struct) :
7388     sType(in_struct->sType),
7389     formatProperties(in_struct->formatProperties)
7390 {
7391     pNext = SafePnextCopy(in_struct->pNext);
7392 }
7393 
safe_VkFormatProperties2()7394 safe_VkFormatProperties2::safe_VkFormatProperties2() :
7395     pNext(nullptr)
7396 {}
7397 
safe_VkFormatProperties2(const safe_VkFormatProperties2 & src)7398 safe_VkFormatProperties2::safe_VkFormatProperties2(const safe_VkFormatProperties2& src)
7399 {
7400     sType = src.sType;
7401     formatProperties = src.formatProperties;
7402     pNext = SafePnextCopy(src.pNext);
7403 }
7404 
operator =(const safe_VkFormatProperties2 & src)7405 safe_VkFormatProperties2& safe_VkFormatProperties2::operator=(const safe_VkFormatProperties2& src)
7406 {
7407     if (&src == this) return *this;
7408 
7409     if (pNext)
7410         FreePnextChain(pNext);
7411 
7412     sType = src.sType;
7413     formatProperties = src.formatProperties;
7414     pNext = SafePnextCopy(src.pNext);
7415 
7416     return *this;
7417 }
7418 
~safe_VkFormatProperties2()7419 safe_VkFormatProperties2::~safe_VkFormatProperties2()
7420 {
7421     if (pNext)
7422         FreePnextChain(pNext);
7423 }
7424 
initialize(const VkFormatProperties2 * in_struct)7425 void safe_VkFormatProperties2::initialize(const VkFormatProperties2* in_struct)
7426 {
7427     sType = in_struct->sType;
7428     formatProperties = in_struct->formatProperties;
7429     pNext = SafePnextCopy(in_struct->pNext);
7430 }
7431 
initialize(const safe_VkFormatProperties2 * src)7432 void safe_VkFormatProperties2::initialize(const safe_VkFormatProperties2* src)
7433 {
7434     sType = src->sType;
7435     formatProperties = src->formatProperties;
7436     pNext = SafePnextCopy(src->pNext);
7437 }
7438 
safe_VkImageFormatProperties2(const VkImageFormatProperties2 * in_struct)7439 safe_VkImageFormatProperties2::safe_VkImageFormatProperties2(const VkImageFormatProperties2* in_struct) :
7440     sType(in_struct->sType),
7441     imageFormatProperties(in_struct->imageFormatProperties)
7442 {
7443     pNext = SafePnextCopy(in_struct->pNext);
7444 }
7445 
safe_VkImageFormatProperties2()7446 safe_VkImageFormatProperties2::safe_VkImageFormatProperties2() :
7447     pNext(nullptr)
7448 {}
7449 
safe_VkImageFormatProperties2(const safe_VkImageFormatProperties2 & src)7450 safe_VkImageFormatProperties2::safe_VkImageFormatProperties2(const safe_VkImageFormatProperties2& src)
7451 {
7452     sType = src.sType;
7453     imageFormatProperties = src.imageFormatProperties;
7454     pNext = SafePnextCopy(src.pNext);
7455 }
7456 
operator =(const safe_VkImageFormatProperties2 & src)7457 safe_VkImageFormatProperties2& safe_VkImageFormatProperties2::operator=(const safe_VkImageFormatProperties2& src)
7458 {
7459     if (&src == this) return *this;
7460 
7461     if (pNext)
7462         FreePnextChain(pNext);
7463 
7464     sType = src.sType;
7465     imageFormatProperties = src.imageFormatProperties;
7466     pNext = SafePnextCopy(src.pNext);
7467 
7468     return *this;
7469 }
7470 
~safe_VkImageFormatProperties2()7471 safe_VkImageFormatProperties2::~safe_VkImageFormatProperties2()
7472 {
7473     if (pNext)
7474         FreePnextChain(pNext);
7475 }
7476 
initialize(const VkImageFormatProperties2 * in_struct)7477 void safe_VkImageFormatProperties2::initialize(const VkImageFormatProperties2* in_struct)
7478 {
7479     sType = in_struct->sType;
7480     imageFormatProperties = in_struct->imageFormatProperties;
7481     pNext = SafePnextCopy(in_struct->pNext);
7482 }
7483 
initialize(const safe_VkImageFormatProperties2 * src)7484 void safe_VkImageFormatProperties2::initialize(const safe_VkImageFormatProperties2* src)
7485 {
7486     sType = src->sType;
7487     imageFormatProperties = src->imageFormatProperties;
7488     pNext = SafePnextCopy(src->pNext);
7489 }
7490 
safe_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2 * in_struct)7491 safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2* in_struct) :
7492     sType(in_struct->sType),
7493     format(in_struct->format),
7494     type(in_struct->type),
7495     tiling(in_struct->tiling),
7496     usage(in_struct->usage),
7497     flags(in_struct->flags)
7498 {
7499     pNext = SafePnextCopy(in_struct->pNext);
7500 }
7501 
safe_VkPhysicalDeviceImageFormatInfo2()7502 safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2() :
7503     pNext(nullptr)
7504 {}
7505 
safe_VkPhysicalDeviceImageFormatInfo2(const safe_VkPhysicalDeviceImageFormatInfo2 & src)7506 safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2(const safe_VkPhysicalDeviceImageFormatInfo2& src)
7507 {
7508     sType = src.sType;
7509     format = src.format;
7510     type = src.type;
7511     tiling = src.tiling;
7512     usage = src.usage;
7513     flags = src.flags;
7514     pNext = SafePnextCopy(src.pNext);
7515 }
7516 
operator =(const safe_VkPhysicalDeviceImageFormatInfo2 & src)7517 safe_VkPhysicalDeviceImageFormatInfo2& safe_VkPhysicalDeviceImageFormatInfo2::operator=(const safe_VkPhysicalDeviceImageFormatInfo2& src)
7518 {
7519     if (&src == this) return *this;
7520 
7521     if (pNext)
7522         FreePnextChain(pNext);
7523 
7524     sType = src.sType;
7525     format = src.format;
7526     type = src.type;
7527     tiling = src.tiling;
7528     usage = src.usage;
7529     flags = src.flags;
7530     pNext = SafePnextCopy(src.pNext);
7531 
7532     return *this;
7533 }
7534 
~safe_VkPhysicalDeviceImageFormatInfo2()7535 safe_VkPhysicalDeviceImageFormatInfo2::~safe_VkPhysicalDeviceImageFormatInfo2()
7536 {
7537     if (pNext)
7538         FreePnextChain(pNext);
7539 }
7540 
initialize(const VkPhysicalDeviceImageFormatInfo2 * in_struct)7541 void safe_VkPhysicalDeviceImageFormatInfo2::initialize(const VkPhysicalDeviceImageFormatInfo2* in_struct)
7542 {
7543     sType = in_struct->sType;
7544     format = in_struct->format;
7545     type = in_struct->type;
7546     tiling = in_struct->tiling;
7547     usage = in_struct->usage;
7548     flags = in_struct->flags;
7549     pNext = SafePnextCopy(in_struct->pNext);
7550 }
7551 
initialize(const safe_VkPhysicalDeviceImageFormatInfo2 * src)7552 void safe_VkPhysicalDeviceImageFormatInfo2::initialize(const safe_VkPhysicalDeviceImageFormatInfo2* src)
7553 {
7554     sType = src->sType;
7555     format = src->format;
7556     type = src->type;
7557     tiling = src->tiling;
7558     usage = src->usage;
7559     flags = src->flags;
7560     pNext = SafePnextCopy(src->pNext);
7561 }
7562 
safe_VkQueueFamilyProperties2(const VkQueueFamilyProperties2 * in_struct)7563 safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2(const VkQueueFamilyProperties2* in_struct) :
7564     sType(in_struct->sType),
7565     queueFamilyProperties(in_struct->queueFamilyProperties)
7566 {
7567     pNext = SafePnextCopy(in_struct->pNext);
7568 }
7569 
safe_VkQueueFamilyProperties2()7570 safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2() :
7571     pNext(nullptr)
7572 {}
7573 
safe_VkQueueFamilyProperties2(const safe_VkQueueFamilyProperties2 & src)7574 safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2(const safe_VkQueueFamilyProperties2& src)
7575 {
7576     sType = src.sType;
7577     queueFamilyProperties = src.queueFamilyProperties;
7578     pNext = SafePnextCopy(src.pNext);
7579 }
7580 
operator =(const safe_VkQueueFamilyProperties2 & src)7581 safe_VkQueueFamilyProperties2& safe_VkQueueFamilyProperties2::operator=(const safe_VkQueueFamilyProperties2& src)
7582 {
7583     if (&src == this) return *this;
7584 
7585     if (pNext)
7586         FreePnextChain(pNext);
7587 
7588     sType = src.sType;
7589     queueFamilyProperties = src.queueFamilyProperties;
7590     pNext = SafePnextCopy(src.pNext);
7591 
7592     return *this;
7593 }
7594 
~safe_VkQueueFamilyProperties2()7595 safe_VkQueueFamilyProperties2::~safe_VkQueueFamilyProperties2()
7596 {
7597     if (pNext)
7598         FreePnextChain(pNext);
7599 }
7600 
initialize(const VkQueueFamilyProperties2 * in_struct)7601 void safe_VkQueueFamilyProperties2::initialize(const VkQueueFamilyProperties2* in_struct)
7602 {
7603     sType = in_struct->sType;
7604     queueFamilyProperties = in_struct->queueFamilyProperties;
7605     pNext = SafePnextCopy(in_struct->pNext);
7606 }
7607 
initialize(const safe_VkQueueFamilyProperties2 * src)7608 void safe_VkQueueFamilyProperties2::initialize(const safe_VkQueueFamilyProperties2* src)
7609 {
7610     sType = src->sType;
7611     queueFamilyProperties = src->queueFamilyProperties;
7612     pNext = SafePnextCopy(src->pNext);
7613 }
7614 
safe_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2 * in_struct)7615 safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2* in_struct) :
7616     sType(in_struct->sType),
7617     memoryProperties(in_struct->memoryProperties)
7618 {
7619     pNext = SafePnextCopy(in_struct->pNext);
7620 }
7621 
safe_VkPhysicalDeviceMemoryProperties2()7622 safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2() :
7623     pNext(nullptr)
7624 {}
7625 
safe_VkPhysicalDeviceMemoryProperties2(const safe_VkPhysicalDeviceMemoryProperties2 & src)7626 safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2(const safe_VkPhysicalDeviceMemoryProperties2& src)
7627 {
7628     sType = src.sType;
7629     memoryProperties = src.memoryProperties;
7630     pNext = SafePnextCopy(src.pNext);
7631 }
7632 
operator =(const safe_VkPhysicalDeviceMemoryProperties2 & src)7633 safe_VkPhysicalDeviceMemoryProperties2& safe_VkPhysicalDeviceMemoryProperties2::operator=(const safe_VkPhysicalDeviceMemoryProperties2& src)
7634 {
7635     if (&src == this) return *this;
7636 
7637     if (pNext)
7638         FreePnextChain(pNext);
7639 
7640     sType = src.sType;
7641     memoryProperties = src.memoryProperties;
7642     pNext = SafePnextCopy(src.pNext);
7643 
7644     return *this;
7645 }
7646 
~safe_VkPhysicalDeviceMemoryProperties2()7647 safe_VkPhysicalDeviceMemoryProperties2::~safe_VkPhysicalDeviceMemoryProperties2()
7648 {
7649     if (pNext)
7650         FreePnextChain(pNext);
7651 }
7652 
initialize(const VkPhysicalDeviceMemoryProperties2 * in_struct)7653 void safe_VkPhysicalDeviceMemoryProperties2::initialize(const VkPhysicalDeviceMemoryProperties2* in_struct)
7654 {
7655     sType = in_struct->sType;
7656     memoryProperties = in_struct->memoryProperties;
7657     pNext = SafePnextCopy(in_struct->pNext);
7658 }
7659 
initialize(const safe_VkPhysicalDeviceMemoryProperties2 * src)7660 void safe_VkPhysicalDeviceMemoryProperties2::initialize(const safe_VkPhysicalDeviceMemoryProperties2* src)
7661 {
7662     sType = src->sType;
7663     memoryProperties = src->memoryProperties;
7664     pNext = SafePnextCopy(src->pNext);
7665 }
7666 
safe_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2 * in_struct)7667 safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2* in_struct) :
7668     sType(in_struct->sType),
7669     properties(in_struct->properties)
7670 {
7671     pNext = SafePnextCopy(in_struct->pNext);
7672 }
7673 
safe_VkSparseImageFormatProperties2()7674 safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2() :
7675     pNext(nullptr)
7676 {}
7677 
safe_VkSparseImageFormatProperties2(const safe_VkSparseImageFormatProperties2 & src)7678 safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2(const safe_VkSparseImageFormatProperties2& src)
7679 {
7680     sType = src.sType;
7681     properties = src.properties;
7682     pNext = SafePnextCopy(src.pNext);
7683 }
7684 
operator =(const safe_VkSparseImageFormatProperties2 & src)7685 safe_VkSparseImageFormatProperties2& safe_VkSparseImageFormatProperties2::operator=(const safe_VkSparseImageFormatProperties2& src)
7686 {
7687     if (&src == this) return *this;
7688 
7689     if (pNext)
7690         FreePnextChain(pNext);
7691 
7692     sType = src.sType;
7693     properties = src.properties;
7694     pNext = SafePnextCopy(src.pNext);
7695 
7696     return *this;
7697 }
7698 
~safe_VkSparseImageFormatProperties2()7699 safe_VkSparseImageFormatProperties2::~safe_VkSparseImageFormatProperties2()
7700 {
7701     if (pNext)
7702         FreePnextChain(pNext);
7703 }
7704 
initialize(const VkSparseImageFormatProperties2 * in_struct)7705 void safe_VkSparseImageFormatProperties2::initialize(const VkSparseImageFormatProperties2* in_struct)
7706 {
7707     sType = in_struct->sType;
7708     properties = in_struct->properties;
7709     pNext = SafePnextCopy(in_struct->pNext);
7710 }
7711 
initialize(const safe_VkSparseImageFormatProperties2 * src)7712 void safe_VkSparseImageFormatProperties2::initialize(const safe_VkSparseImageFormatProperties2* src)
7713 {
7714     sType = src->sType;
7715     properties = src->properties;
7716     pNext = SafePnextCopy(src->pNext);
7717 }
7718 
safe_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2 * in_struct)7719 safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2* in_struct) :
7720     sType(in_struct->sType),
7721     format(in_struct->format),
7722     type(in_struct->type),
7723     samples(in_struct->samples),
7724     usage(in_struct->usage),
7725     tiling(in_struct->tiling)
7726 {
7727     pNext = SafePnextCopy(in_struct->pNext);
7728 }
7729 
safe_VkPhysicalDeviceSparseImageFormatInfo2()7730 safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2() :
7731     pNext(nullptr)
7732 {}
7733 
safe_VkPhysicalDeviceSparseImageFormatInfo2(const safe_VkPhysicalDeviceSparseImageFormatInfo2 & src)7734 safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2(const safe_VkPhysicalDeviceSparseImageFormatInfo2& src)
7735 {
7736     sType = src.sType;
7737     format = src.format;
7738     type = src.type;
7739     samples = src.samples;
7740     usage = src.usage;
7741     tiling = src.tiling;
7742     pNext = SafePnextCopy(src.pNext);
7743 }
7744 
operator =(const safe_VkPhysicalDeviceSparseImageFormatInfo2 & src)7745 safe_VkPhysicalDeviceSparseImageFormatInfo2& safe_VkPhysicalDeviceSparseImageFormatInfo2::operator=(const safe_VkPhysicalDeviceSparseImageFormatInfo2& src)
7746 {
7747     if (&src == this) return *this;
7748 
7749     if (pNext)
7750         FreePnextChain(pNext);
7751 
7752     sType = src.sType;
7753     format = src.format;
7754     type = src.type;
7755     samples = src.samples;
7756     usage = src.usage;
7757     tiling = src.tiling;
7758     pNext = SafePnextCopy(src.pNext);
7759 
7760     return *this;
7761 }
7762 
~safe_VkPhysicalDeviceSparseImageFormatInfo2()7763 safe_VkPhysicalDeviceSparseImageFormatInfo2::~safe_VkPhysicalDeviceSparseImageFormatInfo2()
7764 {
7765     if (pNext)
7766         FreePnextChain(pNext);
7767 }
7768 
initialize(const VkPhysicalDeviceSparseImageFormatInfo2 * in_struct)7769 void safe_VkPhysicalDeviceSparseImageFormatInfo2::initialize(const VkPhysicalDeviceSparseImageFormatInfo2* in_struct)
7770 {
7771     sType = in_struct->sType;
7772     format = in_struct->format;
7773     type = in_struct->type;
7774     samples = in_struct->samples;
7775     usage = in_struct->usage;
7776     tiling = in_struct->tiling;
7777     pNext = SafePnextCopy(in_struct->pNext);
7778 }
7779 
initialize(const safe_VkPhysicalDeviceSparseImageFormatInfo2 * src)7780 void safe_VkPhysicalDeviceSparseImageFormatInfo2::initialize(const safe_VkPhysicalDeviceSparseImageFormatInfo2* src)
7781 {
7782     sType = src->sType;
7783     format = src->format;
7784     type = src->type;
7785     samples = src->samples;
7786     usage = src->usage;
7787     tiling = src->tiling;
7788     pNext = SafePnextCopy(src->pNext);
7789 }
7790 
safe_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties * in_struct)7791 safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties* in_struct) :
7792     sType(in_struct->sType),
7793     pointClippingBehavior(in_struct->pointClippingBehavior)
7794 {
7795     pNext = SafePnextCopy(in_struct->pNext);
7796 }
7797 
safe_VkPhysicalDevicePointClippingProperties()7798 safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties() :
7799     pNext(nullptr)
7800 {}
7801 
safe_VkPhysicalDevicePointClippingProperties(const safe_VkPhysicalDevicePointClippingProperties & src)7802 safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties(const safe_VkPhysicalDevicePointClippingProperties& src)
7803 {
7804     sType = src.sType;
7805     pointClippingBehavior = src.pointClippingBehavior;
7806     pNext = SafePnextCopy(src.pNext);
7807 }
7808 
operator =(const safe_VkPhysicalDevicePointClippingProperties & src)7809 safe_VkPhysicalDevicePointClippingProperties& safe_VkPhysicalDevicePointClippingProperties::operator=(const safe_VkPhysicalDevicePointClippingProperties& src)
7810 {
7811     if (&src == this) return *this;
7812 
7813     if (pNext)
7814         FreePnextChain(pNext);
7815 
7816     sType = src.sType;
7817     pointClippingBehavior = src.pointClippingBehavior;
7818     pNext = SafePnextCopy(src.pNext);
7819 
7820     return *this;
7821 }
7822 
~safe_VkPhysicalDevicePointClippingProperties()7823 safe_VkPhysicalDevicePointClippingProperties::~safe_VkPhysicalDevicePointClippingProperties()
7824 {
7825     if (pNext)
7826         FreePnextChain(pNext);
7827 }
7828 
initialize(const VkPhysicalDevicePointClippingProperties * in_struct)7829 void safe_VkPhysicalDevicePointClippingProperties::initialize(const VkPhysicalDevicePointClippingProperties* in_struct)
7830 {
7831     sType = in_struct->sType;
7832     pointClippingBehavior = in_struct->pointClippingBehavior;
7833     pNext = SafePnextCopy(in_struct->pNext);
7834 }
7835 
initialize(const safe_VkPhysicalDevicePointClippingProperties * src)7836 void safe_VkPhysicalDevicePointClippingProperties::initialize(const safe_VkPhysicalDevicePointClippingProperties* src)
7837 {
7838     sType = src->sType;
7839     pointClippingBehavior = src->pointClippingBehavior;
7840     pNext = SafePnextCopy(src->pNext);
7841 }
7842 
safe_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo * in_struct)7843 safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct) :
7844     sType(in_struct->sType),
7845     aspectReferenceCount(in_struct->aspectReferenceCount),
7846     pAspectReferences(nullptr)
7847 {
7848     pNext = SafePnextCopy(in_struct->pNext);
7849     if (in_struct->pAspectReferences) {
7850         pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount];
7851         memcpy ((void *)pAspectReferences, (void *)in_struct->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*in_struct->aspectReferenceCount);
7852     }
7853 }
7854 
safe_VkRenderPassInputAttachmentAspectCreateInfo()7855 safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo() :
7856     pNext(nullptr),
7857     pAspectReferences(nullptr)
7858 {}
7859 
safe_VkRenderPassInputAttachmentAspectCreateInfo(const safe_VkRenderPassInputAttachmentAspectCreateInfo & src)7860 safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo(const safe_VkRenderPassInputAttachmentAspectCreateInfo& src)
7861 {
7862     sType = src.sType;
7863     aspectReferenceCount = src.aspectReferenceCount;
7864     pAspectReferences = nullptr;
7865     pNext = SafePnextCopy(src.pNext);
7866     if (src.pAspectReferences) {
7867         pAspectReferences = new VkInputAttachmentAspectReference[src.aspectReferenceCount];
7868         memcpy ((void *)pAspectReferences, (void *)src.pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src.aspectReferenceCount);
7869     }
7870 }
7871 
operator =(const safe_VkRenderPassInputAttachmentAspectCreateInfo & src)7872 safe_VkRenderPassInputAttachmentAspectCreateInfo& safe_VkRenderPassInputAttachmentAspectCreateInfo::operator=(const safe_VkRenderPassInputAttachmentAspectCreateInfo& src)
7873 {
7874     if (&src == this) return *this;
7875 
7876     if (pAspectReferences)
7877         delete[] pAspectReferences;
7878     if (pNext)
7879         FreePnextChain(pNext);
7880 
7881     sType = src.sType;
7882     aspectReferenceCount = src.aspectReferenceCount;
7883     pAspectReferences = nullptr;
7884     pNext = SafePnextCopy(src.pNext);
7885     if (src.pAspectReferences) {
7886         pAspectReferences = new VkInputAttachmentAspectReference[src.aspectReferenceCount];
7887         memcpy ((void *)pAspectReferences, (void *)src.pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src.aspectReferenceCount);
7888     }
7889 
7890     return *this;
7891 }
7892 
~safe_VkRenderPassInputAttachmentAspectCreateInfo()7893 safe_VkRenderPassInputAttachmentAspectCreateInfo::~safe_VkRenderPassInputAttachmentAspectCreateInfo()
7894 {
7895     if (pAspectReferences)
7896         delete[] pAspectReferences;
7897     if (pNext)
7898         FreePnextChain(pNext);
7899 }
7900 
initialize(const VkRenderPassInputAttachmentAspectCreateInfo * in_struct)7901 void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct)
7902 {
7903     sType = in_struct->sType;
7904     aspectReferenceCount = in_struct->aspectReferenceCount;
7905     pAspectReferences = nullptr;
7906     pNext = SafePnextCopy(in_struct->pNext);
7907     if (in_struct->pAspectReferences) {
7908         pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount];
7909         memcpy ((void *)pAspectReferences, (void *)in_struct->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*in_struct->aspectReferenceCount);
7910     }
7911 }
7912 
initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo * src)7913 void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* src)
7914 {
7915     sType = src->sType;
7916     aspectReferenceCount = src->aspectReferenceCount;
7917     pAspectReferences = nullptr;
7918     pNext = SafePnextCopy(src->pNext);
7919     if (src->pAspectReferences) {
7920         pAspectReferences = new VkInputAttachmentAspectReference[src->aspectReferenceCount];
7921         memcpy ((void *)pAspectReferences, (void *)src->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src->aspectReferenceCount);
7922     }
7923 }
7924 
safe_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo * in_struct)7925 safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo* in_struct) :
7926     sType(in_struct->sType),
7927     usage(in_struct->usage)
7928 {
7929     pNext = SafePnextCopy(in_struct->pNext);
7930 }
7931 
safe_VkImageViewUsageCreateInfo()7932 safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo() :
7933     pNext(nullptr)
7934 {}
7935 
safe_VkImageViewUsageCreateInfo(const safe_VkImageViewUsageCreateInfo & src)7936 safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const safe_VkImageViewUsageCreateInfo& src)
7937 {
7938     sType = src.sType;
7939     usage = src.usage;
7940     pNext = SafePnextCopy(src.pNext);
7941 }
7942 
operator =(const safe_VkImageViewUsageCreateInfo & src)7943 safe_VkImageViewUsageCreateInfo& safe_VkImageViewUsageCreateInfo::operator=(const safe_VkImageViewUsageCreateInfo& src)
7944 {
7945     if (&src == this) return *this;
7946 
7947     if (pNext)
7948         FreePnextChain(pNext);
7949 
7950     sType = src.sType;
7951     usage = src.usage;
7952     pNext = SafePnextCopy(src.pNext);
7953 
7954     return *this;
7955 }
7956 
~safe_VkImageViewUsageCreateInfo()7957 safe_VkImageViewUsageCreateInfo::~safe_VkImageViewUsageCreateInfo()
7958 {
7959     if (pNext)
7960         FreePnextChain(pNext);
7961 }
7962 
initialize(const VkImageViewUsageCreateInfo * in_struct)7963 void safe_VkImageViewUsageCreateInfo::initialize(const VkImageViewUsageCreateInfo* in_struct)
7964 {
7965     sType = in_struct->sType;
7966     usage = in_struct->usage;
7967     pNext = SafePnextCopy(in_struct->pNext);
7968 }
7969 
initialize(const safe_VkImageViewUsageCreateInfo * src)7970 void safe_VkImageViewUsageCreateInfo::initialize(const safe_VkImageViewUsageCreateInfo* src)
7971 {
7972     sType = src->sType;
7973     usage = src->usage;
7974     pNext = SafePnextCopy(src->pNext);
7975 }
7976 
safe_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo * in_struct)7977 safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct) :
7978     sType(in_struct->sType),
7979     domainOrigin(in_struct->domainOrigin)
7980 {
7981     pNext = SafePnextCopy(in_struct->pNext);
7982 }
7983 
safe_VkPipelineTessellationDomainOriginStateCreateInfo()7984 safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo() :
7985     pNext(nullptr)
7986 {}
7987 
safe_VkPipelineTessellationDomainOriginStateCreateInfo(const safe_VkPipelineTessellationDomainOriginStateCreateInfo & src)7988 safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& src)
7989 {
7990     sType = src.sType;
7991     domainOrigin = src.domainOrigin;
7992     pNext = SafePnextCopy(src.pNext);
7993 }
7994 
operator =(const safe_VkPipelineTessellationDomainOriginStateCreateInfo & src)7995 safe_VkPipelineTessellationDomainOriginStateCreateInfo& safe_VkPipelineTessellationDomainOriginStateCreateInfo::operator=(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& src)
7996 {
7997     if (&src == this) return *this;
7998 
7999     if (pNext)
8000         FreePnextChain(pNext);
8001 
8002     sType = src.sType;
8003     domainOrigin = src.domainOrigin;
8004     pNext = SafePnextCopy(src.pNext);
8005 
8006     return *this;
8007 }
8008 
~safe_VkPipelineTessellationDomainOriginStateCreateInfo()8009 safe_VkPipelineTessellationDomainOriginStateCreateInfo::~safe_VkPipelineTessellationDomainOriginStateCreateInfo()
8010 {
8011     if (pNext)
8012         FreePnextChain(pNext);
8013 }
8014 
initialize(const VkPipelineTessellationDomainOriginStateCreateInfo * in_struct)8015 void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct)
8016 {
8017     sType = in_struct->sType;
8018     domainOrigin = in_struct->domainOrigin;
8019     pNext = SafePnextCopy(in_struct->pNext);
8020 }
8021 
initialize(const safe_VkPipelineTessellationDomainOriginStateCreateInfo * src)8022 void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize(const safe_VkPipelineTessellationDomainOriginStateCreateInfo* src)
8023 {
8024     sType = src->sType;
8025     domainOrigin = src->domainOrigin;
8026     pNext = SafePnextCopy(src->pNext);
8027 }
8028 
safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo * in_struct)8029 safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct) :
8030     sType(in_struct->sType),
8031     subpassCount(in_struct->subpassCount),
8032     pViewMasks(nullptr),
8033     dependencyCount(in_struct->dependencyCount),
8034     pViewOffsets(nullptr),
8035     correlationMaskCount(in_struct->correlationMaskCount),
8036     pCorrelationMasks(nullptr)
8037 {
8038     pNext = SafePnextCopy(in_struct->pNext);
8039     if (in_struct->pViewMasks) {
8040         pViewMasks = new uint32_t[in_struct->subpassCount];
8041         memcpy ((void *)pViewMasks, (void *)in_struct->pViewMasks, sizeof(uint32_t)*in_struct->subpassCount);
8042     }
8043     if (in_struct->pViewOffsets) {
8044         pViewOffsets = new int32_t[in_struct->dependencyCount];
8045         memcpy ((void *)pViewOffsets, (void *)in_struct->pViewOffsets, sizeof(int32_t)*in_struct->dependencyCount);
8046     }
8047     if (in_struct->pCorrelationMasks) {
8048         pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount];
8049         memcpy ((void *)pCorrelationMasks, (void *)in_struct->pCorrelationMasks, sizeof(uint32_t)*in_struct->correlationMaskCount);
8050     }
8051 }
8052 
safe_VkRenderPassMultiviewCreateInfo()8053 safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo() :
8054     pNext(nullptr),
8055     pViewMasks(nullptr),
8056     pViewOffsets(nullptr),
8057     pCorrelationMasks(nullptr)
8058 {}
8059 
safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo & src)8060 safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& src)
8061 {
8062     sType = src.sType;
8063     subpassCount = src.subpassCount;
8064     pViewMasks = nullptr;
8065     dependencyCount = src.dependencyCount;
8066     pViewOffsets = nullptr;
8067     correlationMaskCount = src.correlationMaskCount;
8068     pCorrelationMasks = nullptr;
8069     pNext = SafePnextCopy(src.pNext);
8070     if (src.pViewMasks) {
8071         pViewMasks = new uint32_t[src.subpassCount];
8072         memcpy ((void *)pViewMasks, (void *)src.pViewMasks, sizeof(uint32_t)*src.subpassCount);
8073     }
8074     if (src.pViewOffsets) {
8075         pViewOffsets = new int32_t[src.dependencyCount];
8076         memcpy ((void *)pViewOffsets, (void *)src.pViewOffsets, sizeof(int32_t)*src.dependencyCount);
8077     }
8078     if (src.pCorrelationMasks) {
8079         pCorrelationMasks = new uint32_t[src.correlationMaskCount];
8080         memcpy ((void *)pCorrelationMasks, (void *)src.pCorrelationMasks, sizeof(uint32_t)*src.correlationMaskCount);
8081     }
8082 }
8083 
operator =(const safe_VkRenderPassMultiviewCreateInfo & src)8084 safe_VkRenderPassMultiviewCreateInfo& safe_VkRenderPassMultiviewCreateInfo::operator=(const safe_VkRenderPassMultiviewCreateInfo& src)
8085 {
8086     if (&src == this) return *this;
8087 
8088     if (pViewMasks)
8089         delete[] pViewMasks;
8090     if (pViewOffsets)
8091         delete[] pViewOffsets;
8092     if (pCorrelationMasks)
8093         delete[] pCorrelationMasks;
8094     if (pNext)
8095         FreePnextChain(pNext);
8096 
8097     sType = src.sType;
8098     subpassCount = src.subpassCount;
8099     pViewMasks = nullptr;
8100     dependencyCount = src.dependencyCount;
8101     pViewOffsets = nullptr;
8102     correlationMaskCount = src.correlationMaskCount;
8103     pCorrelationMasks = nullptr;
8104     pNext = SafePnextCopy(src.pNext);
8105     if (src.pViewMasks) {
8106         pViewMasks = new uint32_t[src.subpassCount];
8107         memcpy ((void *)pViewMasks, (void *)src.pViewMasks, sizeof(uint32_t)*src.subpassCount);
8108     }
8109     if (src.pViewOffsets) {
8110         pViewOffsets = new int32_t[src.dependencyCount];
8111         memcpy ((void *)pViewOffsets, (void *)src.pViewOffsets, sizeof(int32_t)*src.dependencyCount);
8112     }
8113     if (src.pCorrelationMasks) {
8114         pCorrelationMasks = new uint32_t[src.correlationMaskCount];
8115         memcpy ((void *)pCorrelationMasks, (void *)src.pCorrelationMasks, sizeof(uint32_t)*src.correlationMaskCount);
8116     }
8117 
8118     return *this;
8119 }
8120 
~safe_VkRenderPassMultiviewCreateInfo()8121 safe_VkRenderPassMultiviewCreateInfo::~safe_VkRenderPassMultiviewCreateInfo()
8122 {
8123     if (pViewMasks)
8124         delete[] pViewMasks;
8125     if (pViewOffsets)
8126         delete[] pViewOffsets;
8127     if (pCorrelationMasks)
8128         delete[] pCorrelationMasks;
8129     if (pNext)
8130         FreePnextChain(pNext);
8131 }
8132 
initialize(const VkRenderPassMultiviewCreateInfo * in_struct)8133 void safe_VkRenderPassMultiviewCreateInfo::initialize(const VkRenderPassMultiviewCreateInfo* in_struct)
8134 {
8135     sType = in_struct->sType;
8136     subpassCount = in_struct->subpassCount;
8137     pViewMasks = nullptr;
8138     dependencyCount = in_struct->dependencyCount;
8139     pViewOffsets = nullptr;
8140     correlationMaskCount = in_struct->correlationMaskCount;
8141     pCorrelationMasks = nullptr;
8142     pNext = SafePnextCopy(in_struct->pNext);
8143     if (in_struct->pViewMasks) {
8144         pViewMasks = new uint32_t[in_struct->subpassCount];
8145         memcpy ((void *)pViewMasks, (void *)in_struct->pViewMasks, sizeof(uint32_t)*in_struct->subpassCount);
8146     }
8147     if (in_struct->pViewOffsets) {
8148         pViewOffsets = new int32_t[in_struct->dependencyCount];
8149         memcpy ((void *)pViewOffsets, (void *)in_struct->pViewOffsets, sizeof(int32_t)*in_struct->dependencyCount);
8150     }
8151     if (in_struct->pCorrelationMasks) {
8152         pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount];
8153         memcpy ((void *)pCorrelationMasks, (void *)in_struct->pCorrelationMasks, sizeof(uint32_t)*in_struct->correlationMaskCount);
8154     }
8155 }
8156 
initialize(const safe_VkRenderPassMultiviewCreateInfo * src)8157 void safe_VkRenderPassMultiviewCreateInfo::initialize(const safe_VkRenderPassMultiviewCreateInfo* src)
8158 {
8159     sType = src->sType;
8160     subpassCount = src->subpassCount;
8161     pViewMasks = nullptr;
8162     dependencyCount = src->dependencyCount;
8163     pViewOffsets = nullptr;
8164     correlationMaskCount = src->correlationMaskCount;
8165     pCorrelationMasks = nullptr;
8166     pNext = SafePnextCopy(src->pNext);
8167     if (src->pViewMasks) {
8168         pViewMasks = new uint32_t[src->subpassCount];
8169         memcpy ((void *)pViewMasks, (void *)src->pViewMasks, sizeof(uint32_t)*src->subpassCount);
8170     }
8171     if (src->pViewOffsets) {
8172         pViewOffsets = new int32_t[src->dependencyCount];
8173         memcpy ((void *)pViewOffsets, (void *)src->pViewOffsets, sizeof(int32_t)*src->dependencyCount);
8174     }
8175     if (src->pCorrelationMasks) {
8176         pCorrelationMasks = new uint32_t[src->correlationMaskCount];
8177         memcpy ((void *)pCorrelationMasks, (void *)src->pCorrelationMasks, sizeof(uint32_t)*src->correlationMaskCount);
8178     }
8179 }
8180 
safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures * in_struct)8181 safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct) :
8182     sType(in_struct->sType),
8183     multiview(in_struct->multiview),
8184     multiviewGeometryShader(in_struct->multiviewGeometryShader),
8185     multiviewTessellationShader(in_struct->multiviewTessellationShader)
8186 {
8187     pNext = SafePnextCopy(in_struct->pNext);
8188 }
8189 
safe_VkPhysicalDeviceMultiviewFeatures()8190 safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures() :
8191     pNext(nullptr)
8192 {}
8193 
safe_VkPhysicalDeviceMultiviewFeatures(const safe_VkPhysicalDeviceMultiviewFeatures & src)8194 safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const safe_VkPhysicalDeviceMultiviewFeatures& src)
8195 {
8196     sType = src.sType;
8197     multiview = src.multiview;
8198     multiviewGeometryShader = src.multiviewGeometryShader;
8199     multiviewTessellationShader = src.multiviewTessellationShader;
8200     pNext = SafePnextCopy(src.pNext);
8201 }
8202 
operator =(const safe_VkPhysicalDeviceMultiviewFeatures & src)8203 safe_VkPhysicalDeviceMultiviewFeatures& safe_VkPhysicalDeviceMultiviewFeatures::operator=(const safe_VkPhysicalDeviceMultiviewFeatures& src)
8204 {
8205     if (&src == this) return *this;
8206 
8207     if (pNext)
8208         FreePnextChain(pNext);
8209 
8210     sType = src.sType;
8211     multiview = src.multiview;
8212     multiviewGeometryShader = src.multiviewGeometryShader;
8213     multiviewTessellationShader = src.multiviewTessellationShader;
8214     pNext = SafePnextCopy(src.pNext);
8215 
8216     return *this;
8217 }
8218 
~safe_VkPhysicalDeviceMultiviewFeatures()8219 safe_VkPhysicalDeviceMultiviewFeatures::~safe_VkPhysicalDeviceMultiviewFeatures()
8220 {
8221     if (pNext)
8222         FreePnextChain(pNext);
8223 }
8224 
initialize(const VkPhysicalDeviceMultiviewFeatures * in_struct)8225 void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct)
8226 {
8227     sType = in_struct->sType;
8228     multiview = in_struct->multiview;
8229     multiviewGeometryShader = in_struct->multiviewGeometryShader;
8230     multiviewTessellationShader = in_struct->multiviewTessellationShader;
8231     pNext = SafePnextCopy(in_struct->pNext);
8232 }
8233 
initialize(const safe_VkPhysicalDeviceMultiviewFeatures * src)8234 void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const safe_VkPhysicalDeviceMultiviewFeatures* src)
8235 {
8236     sType = src->sType;
8237     multiview = src->multiview;
8238     multiviewGeometryShader = src->multiviewGeometryShader;
8239     multiviewTessellationShader = src->multiviewTessellationShader;
8240     pNext = SafePnextCopy(src->pNext);
8241 }
8242 
safe_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties * in_struct)8243 safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties* in_struct) :
8244     sType(in_struct->sType),
8245     maxMultiviewViewCount(in_struct->maxMultiviewViewCount),
8246     maxMultiviewInstanceIndex(in_struct->maxMultiviewInstanceIndex)
8247 {
8248     pNext = SafePnextCopy(in_struct->pNext);
8249 }
8250 
safe_VkPhysicalDeviceMultiviewProperties()8251 safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties() :
8252     pNext(nullptr)
8253 {}
8254 
safe_VkPhysicalDeviceMultiviewProperties(const safe_VkPhysicalDeviceMultiviewProperties & src)8255 safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties(const safe_VkPhysicalDeviceMultiviewProperties& src)
8256 {
8257     sType = src.sType;
8258     maxMultiviewViewCount = src.maxMultiviewViewCount;
8259     maxMultiviewInstanceIndex = src.maxMultiviewInstanceIndex;
8260     pNext = SafePnextCopy(src.pNext);
8261 }
8262 
operator =(const safe_VkPhysicalDeviceMultiviewProperties & src)8263 safe_VkPhysicalDeviceMultiviewProperties& safe_VkPhysicalDeviceMultiviewProperties::operator=(const safe_VkPhysicalDeviceMultiviewProperties& src)
8264 {
8265     if (&src == this) return *this;
8266 
8267     if (pNext)
8268         FreePnextChain(pNext);
8269 
8270     sType = src.sType;
8271     maxMultiviewViewCount = src.maxMultiviewViewCount;
8272     maxMultiviewInstanceIndex = src.maxMultiviewInstanceIndex;
8273     pNext = SafePnextCopy(src.pNext);
8274 
8275     return *this;
8276 }
8277 
~safe_VkPhysicalDeviceMultiviewProperties()8278 safe_VkPhysicalDeviceMultiviewProperties::~safe_VkPhysicalDeviceMultiviewProperties()
8279 {
8280     if (pNext)
8281         FreePnextChain(pNext);
8282 }
8283 
initialize(const VkPhysicalDeviceMultiviewProperties * in_struct)8284 void safe_VkPhysicalDeviceMultiviewProperties::initialize(const VkPhysicalDeviceMultiviewProperties* in_struct)
8285 {
8286     sType = in_struct->sType;
8287     maxMultiviewViewCount = in_struct->maxMultiviewViewCount;
8288     maxMultiviewInstanceIndex = in_struct->maxMultiviewInstanceIndex;
8289     pNext = SafePnextCopy(in_struct->pNext);
8290 }
8291 
initialize(const safe_VkPhysicalDeviceMultiviewProperties * src)8292 void safe_VkPhysicalDeviceMultiviewProperties::initialize(const safe_VkPhysicalDeviceMultiviewProperties* src)
8293 {
8294     sType = src->sType;
8295     maxMultiviewViewCount = src->maxMultiviewViewCount;
8296     maxMultiviewInstanceIndex = src->maxMultiviewInstanceIndex;
8297     pNext = SafePnextCopy(src->pNext);
8298 }
8299 
safe_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures * in_struct)8300 safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures* in_struct) :
8301     sType(in_struct->sType),
8302     variablePointersStorageBuffer(in_struct->variablePointersStorageBuffer),
8303     variablePointers(in_struct->variablePointers)
8304 {
8305     pNext = SafePnextCopy(in_struct->pNext);
8306 }
8307 
safe_VkPhysicalDeviceVariablePointersFeatures()8308 safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures() :
8309     pNext(nullptr)
8310 {}
8311 
safe_VkPhysicalDeviceVariablePointersFeatures(const safe_VkPhysicalDeviceVariablePointersFeatures & src)8312 safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures(const safe_VkPhysicalDeviceVariablePointersFeatures& src)
8313 {
8314     sType = src.sType;
8315     variablePointersStorageBuffer = src.variablePointersStorageBuffer;
8316     variablePointers = src.variablePointers;
8317     pNext = SafePnextCopy(src.pNext);
8318 }
8319 
operator =(const safe_VkPhysicalDeviceVariablePointersFeatures & src)8320 safe_VkPhysicalDeviceVariablePointersFeatures& safe_VkPhysicalDeviceVariablePointersFeatures::operator=(const safe_VkPhysicalDeviceVariablePointersFeatures& src)
8321 {
8322     if (&src == this) return *this;
8323 
8324     if (pNext)
8325         FreePnextChain(pNext);
8326 
8327     sType = src.sType;
8328     variablePointersStorageBuffer = src.variablePointersStorageBuffer;
8329     variablePointers = src.variablePointers;
8330     pNext = SafePnextCopy(src.pNext);
8331 
8332     return *this;
8333 }
8334 
~safe_VkPhysicalDeviceVariablePointersFeatures()8335 safe_VkPhysicalDeviceVariablePointersFeatures::~safe_VkPhysicalDeviceVariablePointersFeatures()
8336 {
8337     if (pNext)
8338         FreePnextChain(pNext);
8339 }
8340 
initialize(const VkPhysicalDeviceVariablePointersFeatures * in_struct)8341 void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct)
8342 {
8343     sType = in_struct->sType;
8344     variablePointersStorageBuffer = in_struct->variablePointersStorageBuffer;
8345     variablePointers = in_struct->variablePointers;
8346     pNext = SafePnextCopy(in_struct->pNext);
8347 }
8348 
initialize(const safe_VkPhysicalDeviceVariablePointersFeatures * src)8349 void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* src)
8350 {
8351     sType = src->sType;
8352     variablePointersStorageBuffer = src->variablePointersStorageBuffer;
8353     variablePointers = src->variablePointers;
8354     pNext = SafePnextCopy(src->pNext);
8355 }
8356 
safe_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures * in_struct)8357 safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures* in_struct) :
8358     sType(in_struct->sType),
8359     protectedMemory(in_struct->protectedMemory)
8360 {
8361     pNext = SafePnextCopy(in_struct->pNext);
8362 }
8363 
safe_VkPhysicalDeviceProtectedMemoryFeatures()8364 safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures() :
8365     pNext(nullptr)
8366 {}
8367 
safe_VkPhysicalDeviceProtectedMemoryFeatures(const safe_VkPhysicalDeviceProtectedMemoryFeatures & src)8368 safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures(const safe_VkPhysicalDeviceProtectedMemoryFeatures& src)
8369 {
8370     sType = src.sType;
8371     protectedMemory = src.protectedMemory;
8372     pNext = SafePnextCopy(src.pNext);
8373 }
8374 
operator =(const safe_VkPhysicalDeviceProtectedMemoryFeatures & src)8375 safe_VkPhysicalDeviceProtectedMemoryFeatures& safe_VkPhysicalDeviceProtectedMemoryFeatures::operator=(const safe_VkPhysicalDeviceProtectedMemoryFeatures& src)
8376 {
8377     if (&src == this) return *this;
8378 
8379     if (pNext)
8380         FreePnextChain(pNext);
8381 
8382     sType = src.sType;
8383     protectedMemory = src.protectedMemory;
8384     pNext = SafePnextCopy(src.pNext);
8385 
8386     return *this;
8387 }
8388 
~safe_VkPhysicalDeviceProtectedMemoryFeatures()8389 safe_VkPhysicalDeviceProtectedMemoryFeatures::~safe_VkPhysicalDeviceProtectedMemoryFeatures()
8390 {
8391     if (pNext)
8392         FreePnextChain(pNext);
8393 }
8394 
initialize(const VkPhysicalDeviceProtectedMemoryFeatures * in_struct)8395 void safe_VkPhysicalDeviceProtectedMemoryFeatures::initialize(const VkPhysicalDeviceProtectedMemoryFeatures* in_struct)
8396 {
8397     sType = in_struct->sType;
8398     protectedMemory = in_struct->protectedMemory;
8399     pNext = SafePnextCopy(in_struct->pNext);
8400 }
8401 
initialize(const safe_VkPhysicalDeviceProtectedMemoryFeatures * src)8402 void safe_VkPhysicalDeviceProtectedMemoryFeatures::initialize(const safe_VkPhysicalDeviceProtectedMemoryFeatures* src)
8403 {
8404     sType = src->sType;
8405     protectedMemory = src->protectedMemory;
8406     pNext = SafePnextCopy(src->pNext);
8407 }
8408 
safe_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties * in_struct)8409 safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties* in_struct) :
8410     sType(in_struct->sType),
8411     protectedNoFault(in_struct->protectedNoFault)
8412 {
8413     pNext = SafePnextCopy(in_struct->pNext);
8414 }
8415 
safe_VkPhysicalDeviceProtectedMemoryProperties()8416 safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties() :
8417     pNext(nullptr)
8418 {}
8419 
safe_VkPhysicalDeviceProtectedMemoryProperties(const safe_VkPhysicalDeviceProtectedMemoryProperties & src)8420 safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties(const safe_VkPhysicalDeviceProtectedMemoryProperties& src)
8421 {
8422     sType = src.sType;
8423     protectedNoFault = src.protectedNoFault;
8424     pNext = SafePnextCopy(src.pNext);
8425 }
8426 
operator =(const safe_VkPhysicalDeviceProtectedMemoryProperties & src)8427 safe_VkPhysicalDeviceProtectedMemoryProperties& safe_VkPhysicalDeviceProtectedMemoryProperties::operator=(const safe_VkPhysicalDeviceProtectedMemoryProperties& src)
8428 {
8429     if (&src == this) return *this;
8430 
8431     if (pNext)
8432         FreePnextChain(pNext);
8433 
8434     sType = src.sType;
8435     protectedNoFault = src.protectedNoFault;
8436     pNext = SafePnextCopy(src.pNext);
8437 
8438     return *this;
8439 }
8440 
~safe_VkPhysicalDeviceProtectedMemoryProperties()8441 safe_VkPhysicalDeviceProtectedMemoryProperties::~safe_VkPhysicalDeviceProtectedMemoryProperties()
8442 {
8443     if (pNext)
8444         FreePnextChain(pNext);
8445 }
8446 
initialize(const VkPhysicalDeviceProtectedMemoryProperties * in_struct)8447 void safe_VkPhysicalDeviceProtectedMemoryProperties::initialize(const VkPhysicalDeviceProtectedMemoryProperties* in_struct)
8448 {
8449     sType = in_struct->sType;
8450     protectedNoFault = in_struct->protectedNoFault;
8451     pNext = SafePnextCopy(in_struct->pNext);
8452 }
8453 
initialize(const safe_VkPhysicalDeviceProtectedMemoryProperties * src)8454 void safe_VkPhysicalDeviceProtectedMemoryProperties::initialize(const safe_VkPhysicalDeviceProtectedMemoryProperties* src)
8455 {
8456     sType = src->sType;
8457     protectedNoFault = src->protectedNoFault;
8458     pNext = SafePnextCopy(src->pNext);
8459 }
8460 
safe_VkDeviceQueueInfo2(const VkDeviceQueueInfo2 * in_struct)8461 safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2(const VkDeviceQueueInfo2* in_struct) :
8462     sType(in_struct->sType),
8463     flags(in_struct->flags),
8464     queueFamilyIndex(in_struct->queueFamilyIndex),
8465     queueIndex(in_struct->queueIndex)
8466 {
8467     pNext = SafePnextCopy(in_struct->pNext);
8468 }
8469 
safe_VkDeviceQueueInfo2()8470 safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2() :
8471     pNext(nullptr)
8472 {}
8473 
safe_VkDeviceQueueInfo2(const safe_VkDeviceQueueInfo2 & src)8474 safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2(const safe_VkDeviceQueueInfo2& src)
8475 {
8476     sType = src.sType;
8477     flags = src.flags;
8478     queueFamilyIndex = src.queueFamilyIndex;
8479     queueIndex = src.queueIndex;
8480     pNext = SafePnextCopy(src.pNext);
8481 }
8482 
operator =(const safe_VkDeviceQueueInfo2 & src)8483 safe_VkDeviceQueueInfo2& safe_VkDeviceQueueInfo2::operator=(const safe_VkDeviceQueueInfo2& src)
8484 {
8485     if (&src == this) return *this;
8486 
8487     if (pNext)
8488         FreePnextChain(pNext);
8489 
8490     sType = src.sType;
8491     flags = src.flags;
8492     queueFamilyIndex = src.queueFamilyIndex;
8493     queueIndex = src.queueIndex;
8494     pNext = SafePnextCopy(src.pNext);
8495 
8496     return *this;
8497 }
8498 
~safe_VkDeviceQueueInfo2()8499 safe_VkDeviceQueueInfo2::~safe_VkDeviceQueueInfo2()
8500 {
8501     if (pNext)
8502         FreePnextChain(pNext);
8503 }
8504 
initialize(const VkDeviceQueueInfo2 * in_struct)8505 void safe_VkDeviceQueueInfo2::initialize(const VkDeviceQueueInfo2* in_struct)
8506 {
8507     sType = in_struct->sType;
8508     flags = in_struct->flags;
8509     queueFamilyIndex = in_struct->queueFamilyIndex;
8510     queueIndex = in_struct->queueIndex;
8511     pNext = SafePnextCopy(in_struct->pNext);
8512 }
8513 
initialize(const safe_VkDeviceQueueInfo2 * src)8514 void safe_VkDeviceQueueInfo2::initialize(const safe_VkDeviceQueueInfo2* src)
8515 {
8516     sType = src->sType;
8517     flags = src->flags;
8518     queueFamilyIndex = src->queueFamilyIndex;
8519     queueIndex = src->queueIndex;
8520     pNext = SafePnextCopy(src->pNext);
8521 }
8522 
safe_VkProtectedSubmitInfo(const VkProtectedSubmitInfo * in_struct)8523 safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo(const VkProtectedSubmitInfo* in_struct) :
8524     sType(in_struct->sType),
8525     protectedSubmit(in_struct->protectedSubmit)
8526 {
8527     pNext = SafePnextCopy(in_struct->pNext);
8528 }
8529 
safe_VkProtectedSubmitInfo()8530 safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo() :
8531     pNext(nullptr)
8532 {}
8533 
safe_VkProtectedSubmitInfo(const safe_VkProtectedSubmitInfo & src)8534 safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo(const safe_VkProtectedSubmitInfo& src)
8535 {
8536     sType = src.sType;
8537     protectedSubmit = src.protectedSubmit;
8538     pNext = SafePnextCopy(src.pNext);
8539 }
8540 
operator =(const safe_VkProtectedSubmitInfo & src)8541 safe_VkProtectedSubmitInfo& safe_VkProtectedSubmitInfo::operator=(const safe_VkProtectedSubmitInfo& src)
8542 {
8543     if (&src == this) return *this;
8544 
8545     if (pNext)
8546         FreePnextChain(pNext);
8547 
8548     sType = src.sType;
8549     protectedSubmit = src.protectedSubmit;
8550     pNext = SafePnextCopy(src.pNext);
8551 
8552     return *this;
8553 }
8554 
~safe_VkProtectedSubmitInfo()8555 safe_VkProtectedSubmitInfo::~safe_VkProtectedSubmitInfo()
8556 {
8557     if (pNext)
8558         FreePnextChain(pNext);
8559 }
8560 
initialize(const VkProtectedSubmitInfo * in_struct)8561 void safe_VkProtectedSubmitInfo::initialize(const VkProtectedSubmitInfo* in_struct)
8562 {
8563     sType = in_struct->sType;
8564     protectedSubmit = in_struct->protectedSubmit;
8565     pNext = SafePnextCopy(in_struct->pNext);
8566 }
8567 
initialize(const safe_VkProtectedSubmitInfo * src)8568 void safe_VkProtectedSubmitInfo::initialize(const safe_VkProtectedSubmitInfo* src)
8569 {
8570     sType = src->sType;
8571     protectedSubmit = src->protectedSubmit;
8572     pNext = SafePnextCopy(src->pNext);
8573 }
8574 
safe_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo * in_struct)8575 safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo* in_struct) :
8576     sType(in_struct->sType),
8577     format(in_struct->format),
8578     ycbcrModel(in_struct->ycbcrModel),
8579     ycbcrRange(in_struct->ycbcrRange),
8580     components(in_struct->components),
8581     xChromaOffset(in_struct->xChromaOffset),
8582     yChromaOffset(in_struct->yChromaOffset),
8583     chromaFilter(in_struct->chromaFilter),
8584     forceExplicitReconstruction(in_struct->forceExplicitReconstruction)
8585 {
8586     pNext = SafePnextCopy(in_struct->pNext);
8587 }
8588 
safe_VkSamplerYcbcrConversionCreateInfo()8589 safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo() :
8590     pNext(nullptr)
8591 {}
8592 
safe_VkSamplerYcbcrConversionCreateInfo(const safe_VkSamplerYcbcrConversionCreateInfo & src)8593 safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo(const safe_VkSamplerYcbcrConversionCreateInfo& src)
8594 {
8595     sType = src.sType;
8596     format = src.format;
8597     ycbcrModel = src.ycbcrModel;
8598     ycbcrRange = src.ycbcrRange;
8599     components = src.components;
8600     xChromaOffset = src.xChromaOffset;
8601     yChromaOffset = src.yChromaOffset;
8602     chromaFilter = src.chromaFilter;
8603     forceExplicitReconstruction = src.forceExplicitReconstruction;
8604     pNext = SafePnextCopy(src.pNext);
8605 }
8606 
operator =(const safe_VkSamplerYcbcrConversionCreateInfo & src)8607 safe_VkSamplerYcbcrConversionCreateInfo& safe_VkSamplerYcbcrConversionCreateInfo::operator=(const safe_VkSamplerYcbcrConversionCreateInfo& src)
8608 {
8609     if (&src == this) return *this;
8610 
8611     if (pNext)
8612         FreePnextChain(pNext);
8613 
8614     sType = src.sType;
8615     format = src.format;
8616     ycbcrModel = src.ycbcrModel;
8617     ycbcrRange = src.ycbcrRange;
8618     components = src.components;
8619     xChromaOffset = src.xChromaOffset;
8620     yChromaOffset = src.yChromaOffset;
8621     chromaFilter = src.chromaFilter;
8622     forceExplicitReconstruction = src.forceExplicitReconstruction;
8623     pNext = SafePnextCopy(src.pNext);
8624 
8625     return *this;
8626 }
8627 
~safe_VkSamplerYcbcrConversionCreateInfo()8628 safe_VkSamplerYcbcrConversionCreateInfo::~safe_VkSamplerYcbcrConversionCreateInfo()
8629 {
8630     if (pNext)
8631         FreePnextChain(pNext);
8632 }
8633 
initialize(const VkSamplerYcbcrConversionCreateInfo * in_struct)8634 void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct)
8635 {
8636     sType = in_struct->sType;
8637     format = in_struct->format;
8638     ycbcrModel = in_struct->ycbcrModel;
8639     ycbcrRange = in_struct->ycbcrRange;
8640     components = in_struct->components;
8641     xChromaOffset = in_struct->xChromaOffset;
8642     yChromaOffset = in_struct->yChromaOffset;
8643     chromaFilter = in_struct->chromaFilter;
8644     forceExplicitReconstruction = in_struct->forceExplicitReconstruction;
8645     pNext = SafePnextCopy(in_struct->pNext);
8646 }
8647 
initialize(const safe_VkSamplerYcbcrConversionCreateInfo * src)8648 void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const safe_VkSamplerYcbcrConversionCreateInfo* src)
8649 {
8650     sType = src->sType;
8651     format = src->format;
8652     ycbcrModel = src->ycbcrModel;
8653     ycbcrRange = src->ycbcrRange;
8654     components = src->components;
8655     xChromaOffset = src->xChromaOffset;
8656     yChromaOffset = src->yChromaOffset;
8657     chromaFilter = src->chromaFilter;
8658     forceExplicitReconstruction = src->forceExplicitReconstruction;
8659     pNext = SafePnextCopy(src->pNext);
8660 }
8661 
safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo * in_struct)8662 safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct) :
8663     sType(in_struct->sType),
8664     conversion(in_struct->conversion)
8665 {
8666     pNext = SafePnextCopy(in_struct->pNext);
8667 }
8668 
safe_VkSamplerYcbcrConversionInfo()8669 safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo() :
8670     pNext(nullptr)
8671 {}
8672 
safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo & src)8673 safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& src)
8674 {
8675     sType = src.sType;
8676     conversion = src.conversion;
8677     pNext = SafePnextCopy(src.pNext);
8678 }
8679 
operator =(const safe_VkSamplerYcbcrConversionInfo & src)8680 safe_VkSamplerYcbcrConversionInfo& safe_VkSamplerYcbcrConversionInfo::operator=(const safe_VkSamplerYcbcrConversionInfo& src)
8681 {
8682     if (&src == this) return *this;
8683 
8684     if (pNext)
8685         FreePnextChain(pNext);
8686 
8687     sType = src.sType;
8688     conversion = src.conversion;
8689     pNext = SafePnextCopy(src.pNext);
8690 
8691     return *this;
8692 }
8693 
~safe_VkSamplerYcbcrConversionInfo()8694 safe_VkSamplerYcbcrConversionInfo::~safe_VkSamplerYcbcrConversionInfo()
8695 {
8696     if (pNext)
8697         FreePnextChain(pNext);
8698 }
8699 
initialize(const VkSamplerYcbcrConversionInfo * in_struct)8700 void safe_VkSamplerYcbcrConversionInfo::initialize(const VkSamplerYcbcrConversionInfo* in_struct)
8701 {
8702     sType = in_struct->sType;
8703     conversion = in_struct->conversion;
8704     pNext = SafePnextCopy(in_struct->pNext);
8705 }
8706 
initialize(const safe_VkSamplerYcbcrConversionInfo * src)8707 void safe_VkSamplerYcbcrConversionInfo::initialize(const safe_VkSamplerYcbcrConversionInfo* src)
8708 {
8709     sType = src->sType;
8710     conversion = src->conversion;
8711     pNext = SafePnextCopy(src->pNext);
8712 }
8713 
safe_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo * in_struct)8714 safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo* in_struct) :
8715     sType(in_struct->sType),
8716     planeAspect(in_struct->planeAspect)
8717 {
8718     pNext = SafePnextCopy(in_struct->pNext);
8719 }
8720 
safe_VkBindImagePlaneMemoryInfo()8721 safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo() :
8722     pNext(nullptr)
8723 {}
8724 
safe_VkBindImagePlaneMemoryInfo(const safe_VkBindImagePlaneMemoryInfo & src)8725 safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const safe_VkBindImagePlaneMemoryInfo& src)
8726 {
8727     sType = src.sType;
8728     planeAspect = src.planeAspect;
8729     pNext = SafePnextCopy(src.pNext);
8730 }
8731 
operator =(const safe_VkBindImagePlaneMemoryInfo & src)8732 safe_VkBindImagePlaneMemoryInfo& safe_VkBindImagePlaneMemoryInfo::operator=(const safe_VkBindImagePlaneMemoryInfo& src)
8733 {
8734     if (&src == this) return *this;
8735 
8736     if (pNext)
8737         FreePnextChain(pNext);
8738 
8739     sType = src.sType;
8740     planeAspect = src.planeAspect;
8741     pNext = SafePnextCopy(src.pNext);
8742 
8743     return *this;
8744 }
8745 
~safe_VkBindImagePlaneMemoryInfo()8746 safe_VkBindImagePlaneMemoryInfo::~safe_VkBindImagePlaneMemoryInfo()
8747 {
8748     if (pNext)
8749         FreePnextChain(pNext);
8750 }
8751 
initialize(const VkBindImagePlaneMemoryInfo * in_struct)8752 void safe_VkBindImagePlaneMemoryInfo::initialize(const VkBindImagePlaneMemoryInfo* in_struct)
8753 {
8754     sType = in_struct->sType;
8755     planeAspect = in_struct->planeAspect;
8756     pNext = SafePnextCopy(in_struct->pNext);
8757 }
8758 
initialize(const safe_VkBindImagePlaneMemoryInfo * src)8759 void safe_VkBindImagePlaneMemoryInfo::initialize(const safe_VkBindImagePlaneMemoryInfo* src)
8760 {
8761     sType = src->sType;
8762     planeAspect = src->planeAspect;
8763     pNext = SafePnextCopy(src->pNext);
8764 }
8765 
safe_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo * in_struct)8766 safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo* in_struct) :
8767     sType(in_struct->sType),
8768     planeAspect(in_struct->planeAspect)
8769 {
8770     pNext = SafePnextCopy(in_struct->pNext);
8771 }
8772 
safe_VkImagePlaneMemoryRequirementsInfo()8773 safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo() :
8774     pNext(nullptr)
8775 {}
8776 
safe_VkImagePlaneMemoryRequirementsInfo(const safe_VkImagePlaneMemoryRequirementsInfo & src)8777 safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo(const safe_VkImagePlaneMemoryRequirementsInfo& src)
8778 {
8779     sType = src.sType;
8780     planeAspect = src.planeAspect;
8781     pNext = SafePnextCopy(src.pNext);
8782 }
8783 
operator =(const safe_VkImagePlaneMemoryRequirementsInfo & src)8784 safe_VkImagePlaneMemoryRequirementsInfo& safe_VkImagePlaneMemoryRequirementsInfo::operator=(const safe_VkImagePlaneMemoryRequirementsInfo& src)
8785 {
8786     if (&src == this) return *this;
8787 
8788     if (pNext)
8789         FreePnextChain(pNext);
8790 
8791     sType = src.sType;
8792     planeAspect = src.planeAspect;
8793     pNext = SafePnextCopy(src.pNext);
8794 
8795     return *this;
8796 }
8797 
~safe_VkImagePlaneMemoryRequirementsInfo()8798 safe_VkImagePlaneMemoryRequirementsInfo::~safe_VkImagePlaneMemoryRequirementsInfo()
8799 {
8800     if (pNext)
8801         FreePnextChain(pNext);
8802 }
8803 
initialize(const VkImagePlaneMemoryRequirementsInfo * in_struct)8804 void safe_VkImagePlaneMemoryRequirementsInfo::initialize(const VkImagePlaneMemoryRequirementsInfo* in_struct)
8805 {
8806     sType = in_struct->sType;
8807     planeAspect = in_struct->planeAspect;
8808     pNext = SafePnextCopy(in_struct->pNext);
8809 }
8810 
initialize(const safe_VkImagePlaneMemoryRequirementsInfo * src)8811 void safe_VkImagePlaneMemoryRequirementsInfo::initialize(const safe_VkImagePlaneMemoryRequirementsInfo* src)
8812 {
8813     sType = src->sType;
8814     planeAspect = src->planeAspect;
8815     pNext = SafePnextCopy(src->pNext);
8816 }
8817 
safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures * in_struct)8818 safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct) :
8819     sType(in_struct->sType),
8820     samplerYcbcrConversion(in_struct->samplerYcbcrConversion)
8821 {
8822     pNext = SafePnextCopy(in_struct->pNext);
8823 }
8824 
safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures()8825 safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() :
8826     pNext(nullptr)
8827 {}
8828 
safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures & src)8829 safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& src)
8830 {
8831     sType = src.sType;
8832     samplerYcbcrConversion = src.samplerYcbcrConversion;
8833     pNext = SafePnextCopy(src.pNext);
8834 }
8835 
operator =(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures & src)8836 safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::operator=(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& src)
8837 {
8838     if (&src == this) return *this;
8839 
8840     if (pNext)
8841         FreePnextChain(pNext);
8842 
8843     sType = src.sType;
8844     samplerYcbcrConversion = src.samplerYcbcrConversion;
8845     pNext = SafePnextCopy(src.pNext);
8846 
8847     return *this;
8848 }
8849 
~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures()8850 safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures()
8851 {
8852     if (pNext)
8853         FreePnextChain(pNext);
8854 }
8855 
initialize(const VkPhysicalDeviceSamplerYcbcrConversionFeatures * in_struct)8856 void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct)
8857 {
8858     sType = in_struct->sType;
8859     samplerYcbcrConversion = in_struct->samplerYcbcrConversion;
8860     pNext = SafePnextCopy(in_struct->pNext);
8861 }
8862 
initialize(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures * src)8863 void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* src)
8864 {
8865     sType = src->sType;
8866     samplerYcbcrConversion = src->samplerYcbcrConversion;
8867     pNext = SafePnextCopy(src->pNext);
8868 }
8869 
safe_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties * in_struct)8870 safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties* in_struct) :
8871     sType(in_struct->sType),
8872     combinedImageSamplerDescriptorCount(in_struct->combinedImageSamplerDescriptorCount)
8873 {
8874     pNext = SafePnextCopy(in_struct->pNext);
8875 }
8876 
safe_VkSamplerYcbcrConversionImageFormatProperties()8877 safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties() :
8878     pNext(nullptr)
8879 {}
8880 
safe_VkSamplerYcbcrConversionImageFormatProperties(const safe_VkSamplerYcbcrConversionImageFormatProperties & src)8881 safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties(const safe_VkSamplerYcbcrConversionImageFormatProperties& src)
8882 {
8883     sType = src.sType;
8884     combinedImageSamplerDescriptorCount = src.combinedImageSamplerDescriptorCount;
8885     pNext = SafePnextCopy(src.pNext);
8886 }
8887 
operator =(const safe_VkSamplerYcbcrConversionImageFormatProperties & src)8888 safe_VkSamplerYcbcrConversionImageFormatProperties& safe_VkSamplerYcbcrConversionImageFormatProperties::operator=(const safe_VkSamplerYcbcrConversionImageFormatProperties& src)
8889 {
8890     if (&src == this) return *this;
8891 
8892     if (pNext)
8893         FreePnextChain(pNext);
8894 
8895     sType = src.sType;
8896     combinedImageSamplerDescriptorCount = src.combinedImageSamplerDescriptorCount;
8897     pNext = SafePnextCopy(src.pNext);
8898 
8899     return *this;
8900 }
8901 
~safe_VkSamplerYcbcrConversionImageFormatProperties()8902 safe_VkSamplerYcbcrConversionImageFormatProperties::~safe_VkSamplerYcbcrConversionImageFormatProperties()
8903 {
8904     if (pNext)
8905         FreePnextChain(pNext);
8906 }
8907 
initialize(const VkSamplerYcbcrConversionImageFormatProperties * in_struct)8908 void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct)
8909 {
8910     sType = in_struct->sType;
8911     combinedImageSamplerDescriptorCount = in_struct->combinedImageSamplerDescriptorCount;
8912     pNext = SafePnextCopy(in_struct->pNext);
8913 }
8914 
initialize(const safe_VkSamplerYcbcrConversionImageFormatProperties * src)8915 void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const safe_VkSamplerYcbcrConversionImageFormatProperties* src)
8916 {
8917     sType = src->sType;
8918     combinedImageSamplerDescriptorCount = src->combinedImageSamplerDescriptorCount;
8919     pNext = SafePnextCopy(src->pNext);
8920 }
8921 
safe_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo * in_struct)8922 safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo* in_struct) :
8923     sType(in_struct->sType),
8924     flags(in_struct->flags),
8925     descriptorUpdateEntryCount(in_struct->descriptorUpdateEntryCount),
8926     pDescriptorUpdateEntries(nullptr),
8927     templateType(in_struct->templateType),
8928     descriptorSetLayout(in_struct->descriptorSetLayout),
8929     pipelineBindPoint(in_struct->pipelineBindPoint),
8930     pipelineLayout(in_struct->pipelineLayout),
8931     set(in_struct->set)
8932 {
8933     pNext = SafePnextCopy(in_struct->pNext);
8934     if (in_struct->pDescriptorUpdateEntries) {
8935         pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount];
8936         memcpy ((void *)pDescriptorUpdateEntries, (void *)in_struct->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*in_struct->descriptorUpdateEntryCount);
8937     }
8938 }
8939 
safe_VkDescriptorUpdateTemplateCreateInfo()8940 safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo() :
8941     pNext(nullptr),
8942     pDescriptorUpdateEntries(nullptr)
8943 {}
8944 
safe_VkDescriptorUpdateTemplateCreateInfo(const safe_VkDescriptorUpdateTemplateCreateInfo & src)8945 safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo(const safe_VkDescriptorUpdateTemplateCreateInfo& src)
8946 {
8947     sType = src.sType;
8948     flags = src.flags;
8949     descriptorUpdateEntryCount = src.descriptorUpdateEntryCount;
8950     pDescriptorUpdateEntries = nullptr;
8951     templateType = src.templateType;
8952     descriptorSetLayout = src.descriptorSetLayout;
8953     pipelineBindPoint = src.pipelineBindPoint;
8954     pipelineLayout = src.pipelineLayout;
8955     set = src.set;
8956     pNext = SafePnextCopy(src.pNext);
8957     if (src.pDescriptorUpdateEntries) {
8958         pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src.descriptorUpdateEntryCount];
8959         memcpy ((void *)pDescriptorUpdateEntries, (void *)src.pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src.descriptorUpdateEntryCount);
8960     }
8961 }
8962 
operator =(const safe_VkDescriptorUpdateTemplateCreateInfo & src)8963 safe_VkDescriptorUpdateTemplateCreateInfo& safe_VkDescriptorUpdateTemplateCreateInfo::operator=(const safe_VkDescriptorUpdateTemplateCreateInfo& src)
8964 {
8965     if (&src == this) return *this;
8966 
8967     if (pDescriptorUpdateEntries)
8968         delete[] pDescriptorUpdateEntries;
8969     if (pNext)
8970         FreePnextChain(pNext);
8971 
8972     sType = src.sType;
8973     flags = src.flags;
8974     descriptorUpdateEntryCount = src.descriptorUpdateEntryCount;
8975     pDescriptorUpdateEntries = nullptr;
8976     templateType = src.templateType;
8977     descriptorSetLayout = src.descriptorSetLayout;
8978     pipelineBindPoint = src.pipelineBindPoint;
8979     pipelineLayout = src.pipelineLayout;
8980     set = src.set;
8981     pNext = SafePnextCopy(src.pNext);
8982     if (src.pDescriptorUpdateEntries) {
8983         pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src.descriptorUpdateEntryCount];
8984         memcpy ((void *)pDescriptorUpdateEntries, (void *)src.pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src.descriptorUpdateEntryCount);
8985     }
8986 
8987     return *this;
8988 }
8989 
~safe_VkDescriptorUpdateTemplateCreateInfo()8990 safe_VkDescriptorUpdateTemplateCreateInfo::~safe_VkDescriptorUpdateTemplateCreateInfo()
8991 {
8992     if (pDescriptorUpdateEntries)
8993         delete[] pDescriptorUpdateEntries;
8994     if (pNext)
8995         FreePnextChain(pNext);
8996 }
8997 
initialize(const VkDescriptorUpdateTemplateCreateInfo * in_struct)8998 void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct)
8999 {
9000     sType = in_struct->sType;
9001     flags = in_struct->flags;
9002     descriptorUpdateEntryCount = in_struct->descriptorUpdateEntryCount;
9003     pDescriptorUpdateEntries = nullptr;
9004     templateType = in_struct->templateType;
9005     descriptorSetLayout = in_struct->descriptorSetLayout;
9006     pipelineBindPoint = in_struct->pipelineBindPoint;
9007     pipelineLayout = in_struct->pipelineLayout;
9008     set = in_struct->set;
9009     pNext = SafePnextCopy(in_struct->pNext);
9010     if (in_struct->pDescriptorUpdateEntries) {
9011         pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount];
9012         memcpy ((void *)pDescriptorUpdateEntries, (void *)in_struct->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*in_struct->descriptorUpdateEntryCount);
9013     }
9014 }
9015 
initialize(const safe_VkDescriptorUpdateTemplateCreateInfo * src)9016 void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* src)
9017 {
9018     sType = src->sType;
9019     flags = src->flags;
9020     descriptorUpdateEntryCount = src->descriptorUpdateEntryCount;
9021     pDescriptorUpdateEntries = nullptr;
9022     templateType = src->templateType;
9023     descriptorSetLayout = src->descriptorSetLayout;
9024     pipelineBindPoint = src->pipelineBindPoint;
9025     pipelineLayout = src->pipelineLayout;
9026     set = src->set;
9027     pNext = SafePnextCopy(src->pNext);
9028     if (src->pDescriptorUpdateEntries) {
9029         pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src->descriptorUpdateEntryCount];
9030         memcpy ((void *)pDescriptorUpdateEntries, (void *)src->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src->descriptorUpdateEntryCount);
9031     }
9032 }
9033 
safe_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo * in_struct)9034 safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo* in_struct) :
9035     sType(in_struct->sType),
9036     handleType(in_struct->handleType)
9037 {
9038     pNext = SafePnextCopy(in_struct->pNext);
9039 }
9040 
safe_VkPhysicalDeviceExternalImageFormatInfo()9041 safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo() :
9042     pNext(nullptr)
9043 {}
9044 
safe_VkPhysicalDeviceExternalImageFormatInfo(const safe_VkPhysicalDeviceExternalImageFormatInfo & src)9045 safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo(const safe_VkPhysicalDeviceExternalImageFormatInfo& src)
9046 {
9047     sType = src.sType;
9048     handleType = src.handleType;
9049     pNext = SafePnextCopy(src.pNext);
9050 }
9051 
operator =(const safe_VkPhysicalDeviceExternalImageFormatInfo & src)9052 safe_VkPhysicalDeviceExternalImageFormatInfo& safe_VkPhysicalDeviceExternalImageFormatInfo::operator=(const safe_VkPhysicalDeviceExternalImageFormatInfo& src)
9053 {
9054     if (&src == this) return *this;
9055 
9056     if (pNext)
9057         FreePnextChain(pNext);
9058 
9059     sType = src.sType;
9060     handleType = src.handleType;
9061     pNext = SafePnextCopy(src.pNext);
9062 
9063     return *this;
9064 }
9065 
~safe_VkPhysicalDeviceExternalImageFormatInfo()9066 safe_VkPhysicalDeviceExternalImageFormatInfo::~safe_VkPhysicalDeviceExternalImageFormatInfo()
9067 {
9068     if (pNext)
9069         FreePnextChain(pNext);
9070 }
9071 
initialize(const VkPhysicalDeviceExternalImageFormatInfo * in_struct)9072 void safe_VkPhysicalDeviceExternalImageFormatInfo::initialize(const VkPhysicalDeviceExternalImageFormatInfo* in_struct)
9073 {
9074     sType = in_struct->sType;
9075     handleType = in_struct->handleType;
9076     pNext = SafePnextCopy(in_struct->pNext);
9077 }
9078 
initialize(const safe_VkPhysicalDeviceExternalImageFormatInfo * src)9079 void safe_VkPhysicalDeviceExternalImageFormatInfo::initialize(const safe_VkPhysicalDeviceExternalImageFormatInfo* src)
9080 {
9081     sType = src->sType;
9082     handleType = src->handleType;
9083     pNext = SafePnextCopy(src->pNext);
9084 }
9085 
safe_VkExternalImageFormatProperties(const VkExternalImageFormatProperties * in_struct)9086 safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties(const VkExternalImageFormatProperties* in_struct) :
9087     sType(in_struct->sType),
9088     externalMemoryProperties(in_struct->externalMemoryProperties)
9089 {
9090     pNext = SafePnextCopy(in_struct->pNext);
9091 }
9092 
safe_VkExternalImageFormatProperties()9093 safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties() :
9094     pNext(nullptr)
9095 {}
9096 
safe_VkExternalImageFormatProperties(const safe_VkExternalImageFormatProperties & src)9097 safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties(const safe_VkExternalImageFormatProperties& src)
9098 {
9099     sType = src.sType;
9100     externalMemoryProperties = src.externalMemoryProperties;
9101     pNext = SafePnextCopy(src.pNext);
9102 }
9103 
operator =(const safe_VkExternalImageFormatProperties & src)9104 safe_VkExternalImageFormatProperties& safe_VkExternalImageFormatProperties::operator=(const safe_VkExternalImageFormatProperties& src)
9105 {
9106     if (&src == this) return *this;
9107 
9108     if (pNext)
9109         FreePnextChain(pNext);
9110 
9111     sType = src.sType;
9112     externalMemoryProperties = src.externalMemoryProperties;
9113     pNext = SafePnextCopy(src.pNext);
9114 
9115     return *this;
9116 }
9117 
~safe_VkExternalImageFormatProperties()9118 safe_VkExternalImageFormatProperties::~safe_VkExternalImageFormatProperties()
9119 {
9120     if (pNext)
9121         FreePnextChain(pNext);
9122 }
9123 
initialize(const VkExternalImageFormatProperties * in_struct)9124 void safe_VkExternalImageFormatProperties::initialize(const VkExternalImageFormatProperties* in_struct)
9125 {
9126     sType = in_struct->sType;
9127     externalMemoryProperties = in_struct->externalMemoryProperties;
9128     pNext = SafePnextCopy(in_struct->pNext);
9129 }
9130 
initialize(const safe_VkExternalImageFormatProperties * src)9131 void safe_VkExternalImageFormatProperties::initialize(const safe_VkExternalImageFormatProperties* src)
9132 {
9133     sType = src->sType;
9134     externalMemoryProperties = src->externalMemoryProperties;
9135     pNext = SafePnextCopy(src->pNext);
9136 }
9137 
safe_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo * in_struct)9138 safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo* in_struct) :
9139     sType(in_struct->sType),
9140     flags(in_struct->flags),
9141     usage(in_struct->usage),
9142     handleType(in_struct->handleType)
9143 {
9144     pNext = SafePnextCopy(in_struct->pNext);
9145 }
9146 
safe_VkPhysicalDeviceExternalBufferInfo()9147 safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo() :
9148     pNext(nullptr)
9149 {}
9150 
safe_VkPhysicalDeviceExternalBufferInfo(const safe_VkPhysicalDeviceExternalBufferInfo & src)9151 safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo(const safe_VkPhysicalDeviceExternalBufferInfo& src)
9152 {
9153     sType = src.sType;
9154     flags = src.flags;
9155     usage = src.usage;
9156     handleType = src.handleType;
9157     pNext = SafePnextCopy(src.pNext);
9158 }
9159 
operator =(const safe_VkPhysicalDeviceExternalBufferInfo & src)9160 safe_VkPhysicalDeviceExternalBufferInfo& safe_VkPhysicalDeviceExternalBufferInfo::operator=(const safe_VkPhysicalDeviceExternalBufferInfo& src)
9161 {
9162     if (&src == this) return *this;
9163 
9164     if (pNext)
9165         FreePnextChain(pNext);
9166 
9167     sType = src.sType;
9168     flags = src.flags;
9169     usage = src.usage;
9170     handleType = src.handleType;
9171     pNext = SafePnextCopy(src.pNext);
9172 
9173     return *this;
9174 }
9175 
~safe_VkPhysicalDeviceExternalBufferInfo()9176 safe_VkPhysicalDeviceExternalBufferInfo::~safe_VkPhysicalDeviceExternalBufferInfo()
9177 {
9178     if (pNext)
9179         FreePnextChain(pNext);
9180 }
9181 
initialize(const VkPhysicalDeviceExternalBufferInfo * in_struct)9182 void safe_VkPhysicalDeviceExternalBufferInfo::initialize(const VkPhysicalDeviceExternalBufferInfo* in_struct)
9183 {
9184     sType = in_struct->sType;
9185     flags = in_struct->flags;
9186     usage = in_struct->usage;
9187     handleType = in_struct->handleType;
9188     pNext = SafePnextCopy(in_struct->pNext);
9189 }
9190 
initialize(const safe_VkPhysicalDeviceExternalBufferInfo * src)9191 void safe_VkPhysicalDeviceExternalBufferInfo::initialize(const safe_VkPhysicalDeviceExternalBufferInfo* src)
9192 {
9193     sType = src->sType;
9194     flags = src->flags;
9195     usage = src->usage;
9196     handleType = src->handleType;
9197     pNext = SafePnextCopy(src->pNext);
9198 }
9199 
safe_VkExternalBufferProperties(const VkExternalBufferProperties * in_struct)9200 safe_VkExternalBufferProperties::safe_VkExternalBufferProperties(const VkExternalBufferProperties* in_struct) :
9201     sType(in_struct->sType),
9202     externalMemoryProperties(in_struct->externalMemoryProperties)
9203 {
9204     pNext = SafePnextCopy(in_struct->pNext);
9205 }
9206 
safe_VkExternalBufferProperties()9207 safe_VkExternalBufferProperties::safe_VkExternalBufferProperties() :
9208     pNext(nullptr)
9209 {}
9210 
safe_VkExternalBufferProperties(const safe_VkExternalBufferProperties & src)9211 safe_VkExternalBufferProperties::safe_VkExternalBufferProperties(const safe_VkExternalBufferProperties& src)
9212 {
9213     sType = src.sType;
9214     externalMemoryProperties = src.externalMemoryProperties;
9215     pNext = SafePnextCopy(src.pNext);
9216 }
9217 
operator =(const safe_VkExternalBufferProperties & src)9218 safe_VkExternalBufferProperties& safe_VkExternalBufferProperties::operator=(const safe_VkExternalBufferProperties& src)
9219 {
9220     if (&src == this) return *this;
9221 
9222     if (pNext)
9223         FreePnextChain(pNext);
9224 
9225     sType = src.sType;
9226     externalMemoryProperties = src.externalMemoryProperties;
9227     pNext = SafePnextCopy(src.pNext);
9228 
9229     return *this;
9230 }
9231 
~safe_VkExternalBufferProperties()9232 safe_VkExternalBufferProperties::~safe_VkExternalBufferProperties()
9233 {
9234     if (pNext)
9235         FreePnextChain(pNext);
9236 }
9237 
initialize(const VkExternalBufferProperties * in_struct)9238 void safe_VkExternalBufferProperties::initialize(const VkExternalBufferProperties* in_struct)
9239 {
9240     sType = in_struct->sType;
9241     externalMemoryProperties = in_struct->externalMemoryProperties;
9242     pNext = SafePnextCopy(in_struct->pNext);
9243 }
9244 
initialize(const safe_VkExternalBufferProperties * src)9245 void safe_VkExternalBufferProperties::initialize(const safe_VkExternalBufferProperties* src)
9246 {
9247     sType = src->sType;
9248     externalMemoryProperties = src->externalMemoryProperties;
9249     pNext = SafePnextCopy(src->pNext);
9250 }
9251 
safe_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties * in_struct)9252 safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties* in_struct) :
9253     sType(in_struct->sType),
9254     deviceNodeMask(in_struct->deviceNodeMask),
9255     deviceLUIDValid(in_struct->deviceLUIDValid)
9256 {
9257     pNext = SafePnextCopy(in_struct->pNext);
9258     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9259         deviceUUID[i] = in_struct->deviceUUID[i];
9260     }
9261     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9262         driverUUID[i] = in_struct->driverUUID[i];
9263     }
9264     for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) {
9265         deviceLUID[i] = in_struct->deviceLUID[i];
9266     }
9267 }
9268 
safe_VkPhysicalDeviceIDProperties()9269 safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties() :
9270     pNext(nullptr)
9271 {}
9272 
safe_VkPhysicalDeviceIDProperties(const safe_VkPhysicalDeviceIDProperties & src)9273 safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties(const safe_VkPhysicalDeviceIDProperties& src)
9274 {
9275     sType = src.sType;
9276     deviceNodeMask = src.deviceNodeMask;
9277     deviceLUIDValid = src.deviceLUIDValid;
9278     pNext = SafePnextCopy(src.pNext);
9279     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9280         deviceUUID[i] = src.deviceUUID[i];
9281     }
9282     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9283         driverUUID[i] = src.driverUUID[i];
9284     }
9285     for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) {
9286         deviceLUID[i] = src.deviceLUID[i];
9287     }
9288 }
9289 
operator =(const safe_VkPhysicalDeviceIDProperties & src)9290 safe_VkPhysicalDeviceIDProperties& safe_VkPhysicalDeviceIDProperties::operator=(const safe_VkPhysicalDeviceIDProperties& src)
9291 {
9292     if (&src == this) return *this;
9293 
9294     if (pNext)
9295         FreePnextChain(pNext);
9296 
9297     sType = src.sType;
9298     deviceNodeMask = src.deviceNodeMask;
9299     deviceLUIDValid = src.deviceLUIDValid;
9300     pNext = SafePnextCopy(src.pNext);
9301     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9302         deviceUUID[i] = src.deviceUUID[i];
9303     }
9304     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9305         driverUUID[i] = src.driverUUID[i];
9306     }
9307     for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) {
9308         deviceLUID[i] = src.deviceLUID[i];
9309     }
9310 
9311     return *this;
9312 }
9313 
~safe_VkPhysicalDeviceIDProperties()9314 safe_VkPhysicalDeviceIDProperties::~safe_VkPhysicalDeviceIDProperties()
9315 {
9316     if (pNext)
9317         FreePnextChain(pNext);
9318 }
9319 
initialize(const VkPhysicalDeviceIDProperties * in_struct)9320 void safe_VkPhysicalDeviceIDProperties::initialize(const VkPhysicalDeviceIDProperties* in_struct)
9321 {
9322     sType = in_struct->sType;
9323     deviceNodeMask = in_struct->deviceNodeMask;
9324     deviceLUIDValid = in_struct->deviceLUIDValid;
9325     pNext = SafePnextCopy(in_struct->pNext);
9326     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9327         deviceUUID[i] = in_struct->deviceUUID[i];
9328     }
9329     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9330         driverUUID[i] = in_struct->driverUUID[i];
9331     }
9332     for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) {
9333         deviceLUID[i] = in_struct->deviceLUID[i];
9334     }
9335 }
9336 
initialize(const safe_VkPhysicalDeviceIDProperties * src)9337 void safe_VkPhysicalDeviceIDProperties::initialize(const safe_VkPhysicalDeviceIDProperties* src)
9338 {
9339     sType = src->sType;
9340     deviceNodeMask = src->deviceNodeMask;
9341     deviceLUIDValid = src->deviceLUIDValid;
9342     pNext = SafePnextCopy(src->pNext);
9343     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9344         deviceUUID[i] = src->deviceUUID[i];
9345     }
9346     for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
9347         driverUUID[i] = src->driverUUID[i];
9348     }
9349     for (uint32_t i = 0; i < VK_LUID_SIZE; ++i) {
9350         deviceLUID[i] = src->deviceLUID[i];
9351     }
9352 }
9353 
safe_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo * in_struct)9354 safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo* in_struct) :
9355     sType(in_struct->sType),
9356     handleTypes(in_struct->handleTypes)
9357 {
9358     pNext = SafePnextCopy(in_struct->pNext);
9359 }
9360 
safe_VkExternalMemoryImageCreateInfo()9361 safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo() :
9362     pNext(nullptr)
9363 {}
9364 
safe_VkExternalMemoryImageCreateInfo(const safe_VkExternalMemoryImageCreateInfo & src)9365 safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo(const safe_VkExternalMemoryImageCreateInfo& src)
9366 {
9367     sType = src.sType;
9368     handleTypes = src.handleTypes;
9369     pNext = SafePnextCopy(src.pNext);
9370 }
9371 
operator =(const safe_VkExternalMemoryImageCreateInfo & src)9372 safe_VkExternalMemoryImageCreateInfo& safe_VkExternalMemoryImageCreateInfo::operator=(const safe_VkExternalMemoryImageCreateInfo& src)
9373 {
9374     if (&src == this) return *this;
9375 
9376     if (pNext)
9377         FreePnextChain(pNext);
9378 
9379     sType = src.sType;
9380     handleTypes = src.handleTypes;
9381     pNext = SafePnextCopy(src.pNext);
9382 
9383     return *this;
9384 }
9385 
~safe_VkExternalMemoryImageCreateInfo()9386 safe_VkExternalMemoryImageCreateInfo::~safe_VkExternalMemoryImageCreateInfo()
9387 {
9388     if (pNext)
9389         FreePnextChain(pNext);
9390 }
9391 
initialize(const VkExternalMemoryImageCreateInfo * in_struct)9392 void safe_VkExternalMemoryImageCreateInfo::initialize(const VkExternalMemoryImageCreateInfo* in_struct)
9393 {
9394     sType = in_struct->sType;
9395     handleTypes = in_struct->handleTypes;
9396     pNext = SafePnextCopy(in_struct->pNext);
9397 }
9398 
initialize(const safe_VkExternalMemoryImageCreateInfo * src)9399 void safe_VkExternalMemoryImageCreateInfo::initialize(const safe_VkExternalMemoryImageCreateInfo* src)
9400 {
9401     sType = src->sType;
9402     handleTypes = src->handleTypes;
9403     pNext = SafePnextCopy(src->pNext);
9404 }
9405 
safe_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo * in_struct)9406 safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo* in_struct) :
9407     sType(in_struct->sType),
9408     handleTypes(in_struct->handleTypes)
9409 {
9410     pNext = SafePnextCopy(in_struct->pNext);
9411 }
9412 
safe_VkExternalMemoryBufferCreateInfo()9413 safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo() :
9414     pNext(nullptr)
9415 {}
9416 
safe_VkExternalMemoryBufferCreateInfo(const safe_VkExternalMemoryBufferCreateInfo & src)9417 safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo(const safe_VkExternalMemoryBufferCreateInfo& src)
9418 {
9419     sType = src.sType;
9420     handleTypes = src.handleTypes;
9421     pNext = SafePnextCopy(src.pNext);
9422 }
9423 
operator =(const safe_VkExternalMemoryBufferCreateInfo & src)9424 safe_VkExternalMemoryBufferCreateInfo& safe_VkExternalMemoryBufferCreateInfo::operator=(const safe_VkExternalMemoryBufferCreateInfo& src)
9425 {
9426     if (&src == this) return *this;
9427 
9428     if (pNext)
9429         FreePnextChain(pNext);
9430 
9431     sType = src.sType;
9432     handleTypes = src.handleTypes;
9433     pNext = SafePnextCopy(src.pNext);
9434 
9435     return *this;
9436 }
9437 
~safe_VkExternalMemoryBufferCreateInfo()9438 safe_VkExternalMemoryBufferCreateInfo::~safe_VkExternalMemoryBufferCreateInfo()
9439 {
9440     if (pNext)
9441         FreePnextChain(pNext);
9442 }
9443 
initialize(const VkExternalMemoryBufferCreateInfo * in_struct)9444 void safe_VkExternalMemoryBufferCreateInfo::initialize(const VkExternalMemoryBufferCreateInfo* in_struct)
9445 {
9446     sType = in_struct->sType;
9447     handleTypes = in_struct->handleTypes;
9448     pNext = SafePnextCopy(in_struct->pNext);
9449 }
9450 
initialize(const safe_VkExternalMemoryBufferCreateInfo * src)9451 void safe_VkExternalMemoryBufferCreateInfo::initialize(const safe_VkExternalMemoryBufferCreateInfo* src)
9452 {
9453     sType = src->sType;
9454     handleTypes = src->handleTypes;
9455     pNext = SafePnextCopy(src->pNext);
9456 }
9457 
safe_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo * in_struct)9458 safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo* in_struct) :
9459     sType(in_struct->sType),
9460     handleTypes(in_struct->handleTypes)
9461 {
9462     pNext = SafePnextCopy(in_struct->pNext);
9463 }
9464 
safe_VkExportMemoryAllocateInfo()9465 safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo() :
9466     pNext(nullptr)
9467 {}
9468 
safe_VkExportMemoryAllocateInfo(const safe_VkExportMemoryAllocateInfo & src)9469 safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo(const safe_VkExportMemoryAllocateInfo& src)
9470 {
9471     sType = src.sType;
9472     handleTypes = src.handleTypes;
9473     pNext = SafePnextCopy(src.pNext);
9474 }
9475 
operator =(const safe_VkExportMemoryAllocateInfo & src)9476 safe_VkExportMemoryAllocateInfo& safe_VkExportMemoryAllocateInfo::operator=(const safe_VkExportMemoryAllocateInfo& src)
9477 {
9478     if (&src == this) return *this;
9479 
9480     if (pNext)
9481         FreePnextChain(pNext);
9482 
9483     sType = src.sType;
9484     handleTypes = src.handleTypes;
9485     pNext = SafePnextCopy(src.pNext);
9486 
9487     return *this;
9488 }
9489 
~safe_VkExportMemoryAllocateInfo()9490 safe_VkExportMemoryAllocateInfo::~safe_VkExportMemoryAllocateInfo()
9491 {
9492     if (pNext)
9493         FreePnextChain(pNext);
9494 }
9495 
initialize(const VkExportMemoryAllocateInfo * in_struct)9496 void safe_VkExportMemoryAllocateInfo::initialize(const VkExportMemoryAllocateInfo* in_struct)
9497 {
9498     sType = in_struct->sType;
9499     handleTypes = in_struct->handleTypes;
9500     pNext = SafePnextCopy(in_struct->pNext);
9501 }
9502 
initialize(const safe_VkExportMemoryAllocateInfo * src)9503 void safe_VkExportMemoryAllocateInfo::initialize(const safe_VkExportMemoryAllocateInfo* src)
9504 {
9505     sType = src->sType;
9506     handleTypes = src->handleTypes;
9507     pNext = SafePnextCopy(src->pNext);
9508 }
9509 
safe_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo * in_struct)9510 safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo* in_struct) :
9511     sType(in_struct->sType),
9512     handleType(in_struct->handleType)
9513 {
9514     pNext = SafePnextCopy(in_struct->pNext);
9515 }
9516 
safe_VkPhysicalDeviceExternalFenceInfo()9517 safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo() :
9518     pNext(nullptr)
9519 {}
9520 
safe_VkPhysicalDeviceExternalFenceInfo(const safe_VkPhysicalDeviceExternalFenceInfo & src)9521 safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo(const safe_VkPhysicalDeviceExternalFenceInfo& src)
9522 {
9523     sType = src.sType;
9524     handleType = src.handleType;
9525     pNext = SafePnextCopy(src.pNext);
9526 }
9527 
operator =(const safe_VkPhysicalDeviceExternalFenceInfo & src)9528 safe_VkPhysicalDeviceExternalFenceInfo& safe_VkPhysicalDeviceExternalFenceInfo::operator=(const safe_VkPhysicalDeviceExternalFenceInfo& src)
9529 {
9530     if (&src == this) return *this;
9531 
9532     if (pNext)
9533         FreePnextChain(pNext);
9534 
9535     sType = src.sType;
9536     handleType = src.handleType;
9537     pNext = SafePnextCopy(src.pNext);
9538 
9539     return *this;
9540 }
9541 
~safe_VkPhysicalDeviceExternalFenceInfo()9542 safe_VkPhysicalDeviceExternalFenceInfo::~safe_VkPhysicalDeviceExternalFenceInfo()
9543 {
9544     if (pNext)
9545         FreePnextChain(pNext);
9546 }
9547 
initialize(const VkPhysicalDeviceExternalFenceInfo * in_struct)9548 void safe_VkPhysicalDeviceExternalFenceInfo::initialize(const VkPhysicalDeviceExternalFenceInfo* in_struct)
9549 {
9550     sType = in_struct->sType;
9551     handleType = in_struct->handleType;
9552     pNext = SafePnextCopy(in_struct->pNext);
9553 }
9554 
initialize(const safe_VkPhysicalDeviceExternalFenceInfo * src)9555 void safe_VkPhysicalDeviceExternalFenceInfo::initialize(const safe_VkPhysicalDeviceExternalFenceInfo* src)
9556 {
9557     sType = src->sType;
9558     handleType = src->handleType;
9559     pNext = SafePnextCopy(src->pNext);
9560 }
9561 
safe_VkExternalFenceProperties(const VkExternalFenceProperties * in_struct)9562 safe_VkExternalFenceProperties::safe_VkExternalFenceProperties(const VkExternalFenceProperties* in_struct) :
9563     sType(in_struct->sType),
9564     exportFromImportedHandleTypes(in_struct->exportFromImportedHandleTypes),
9565     compatibleHandleTypes(in_struct->compatibleHandleTypes),
9566     externalFenceFeatures(in_struct->externalFenceFeatures)
9567 {
9568     pNext = SafePnextCopy(in_struct->pNext);
9569 }
9570 
safe_VkExternalFenceProperties()9571 safe_VkExternalFenceProperties::safe_VkExternalFenceProperties() :
9572     pNext(nullptr)
9573 {}
9574 
safe_VkExternalFenceProperties(const safe_VkExternalFenceProperties & src)9575 safe_VkExternalFenceProperties::safe_VkExternalFenceProperties(const safe_VkExternalFenceProperties& src)
9576 {
9577     sType = src.sType;
9578     exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9579     compatibleHandleTypes = src.compatibleHandleTypes;
9580     externalFenceFeatures = src.externalFenceFeatures;
9581     pNext = SafePnextCopy(src.pNext);
9582 }
9583 
operator =(const safe_VkExternalFenceProperties & src)9584 safe_VkExternalFenceProperties& safe_VkExternalFenceProperties::operator=(const safe_VkExternalFenceProperties& src)
9585 {
9586     if (&src == this) return *this;
9587 
9588     if (pNext)
9589         FreePnextChain(pNext);
9590 
9591     sType = src.sType;
9592     exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9593     compatibleHandleTypes = src.compatibleHandleTypes;
9594     externalFenceFeatures = src.externalFenceFeatures;
9595     pNext = SafePnextCopy(src.pNext);
9596 
9597     return *this;
9598 }
9599 
~safe_VkExternalFenceProperties()9600 safe_VkExternalFenceProperties::~safe_VkExternalFenceProperties()
9601 {
9602     if (pNext)
9603         FreePnextChain(pNext);
9604 }
9605 
initialize(const VkExternalFenceProperties * in_struct)9606 void safe_VkExternalFenceProperties::initialize(const VkExternalFenceProperties* in_struct)
9607 {
9608     sType = in_struct->sType;
9609     exportFromImportedHandleTypes = in_struct->exportFromImportedHandleTypes;
9610     compatibleHandleTypes = in_struct->compatibleHandleTypes;
9611     externalFenceFeatures = in_struct->externalFenceFeatures;
9612     pNext = SafePnextCopy(in_struct->pNext);
9613 }
9614 
initialize(const safe_VkExternalFenceProperties * src)9615 void safe_VkExternalFenceProperties::initialize(const safe_VkExternalFenceProperties* src)
9616 {
9617     sType = src->sType;
9618     exportFromImportedHandleTypes = src->exportFromImportedHandleTypes;
9619     compatibleHandleTypes = src->compatibleHandleTypes;
9620     externalFenceFeatures = src->externalFenceFeatures;
9621     pNext = SafePnextCopy(src->pNext);
9622 }
9623 
safe_VkExportFenceCreateInfo(const VkExportFenceCreateInfo * in_struct)9624 safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo(const VkExportFenceCreateInfo* in_struct) :
9625     sType(in_struct->sType),
9626     handleTypes(in_struct->handleTypes)
9627 {
9628     pNext = SafePnextCopy(in_struct->pNext);
9629 }
9630 
safe_VkExportFenceCreateInfo()9631 safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo() :
9632     pNext(nullptr)
9633 {}
9634 
safe_VkExportFenceCreateInfo(const safe_VkExportFenceCreateInfo & src)9635 safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo(const safe_VkExportFenceCreateInfo& src)
9636 {
9637     sType = src.sType;
9638     handleTypes = src.handleTypes;
9639     pNext = SafePnextCopy(src.pNext);
9640 }
9641 
operator =(const safe_VkExportFenceCreateInfo & src)9642 safe_VkExportFenceCreateInfo& safe_VkExportFenceCreateInfo::operator=(const safe_VkExportFenceCreateInfo& src)
9643 {
9644     if (&src == this) return *this;
9645 
9646     if (pNext)
9647         FreePnextChain(pNext);
9648 
9649     sType = src.sType;
9650     handleTypes = src.handleTypes;
9651     pNext = SafePnextCopy(src.pNext);
9652 
9653     return *this;
9654 }
9655 
~safe_VkExportFenceCreateInfo()9656 safe_VkExportFenceCreateInfo::~safe_VkExportFenceCreateInfo()
9657 {
9658     if (pNext)
9659         FreePnextChain(pNext);
9660 }
9661 
initialize(const VkExportFenceCreateInfo * in_struct)9662 void safe_VkExportFenceCreateInfo::initialize(const VkExportFenceCreateInfo* in_struct)
9663 {
9664     sType = in_struct->sType;
9665     handleTypes = in_struct->handleTypes;
9666     pNext = SafePnextCopy(in_struct->pNext);
9667 }
9668 
initialize(const safe_VkExportFenceCreateInfo * src)9669 void safe_VkExportFenceCreateInfo::initialize(const safe_VkExportFenceCreateInfo* src)
9670 {
9671     sType = src->sType;
9672     handleTypes = src->handleTypes;
9673     pNext = SafePnextCopy(src->pNext);
9674 }
9675 
safe_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo * in_struct)9676 safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo* in_struct) :
9677     sType(in_struct->sType),
9678     handleTypes(in_struct->handleTypes)
9679 {
9680     pNext = SafePnextCopy(in_struct->pNext);
9681 }
9682 
safe_VkExportSemaphoreCreateInfo()9683 safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo() :
9684     pNext(nullptr)
9685 {}
9686 
safe_VkExportSemaphoreCreateInfo(const safe_VkExportSemaphoreCreateInfo & src)9687 safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo(const safe_VkExportSemaphoreCreateInfo& src)
9688 {
9689     sType = src.sType;
9690     handleTypes = src.handleTypes;
9691     pNext = SafePnextCopy(src.pNext);
9692 }
9693 
operator =(const safe_VkExportSemaphoreCreateInfo & src)9694 safe_VkExportSemaphoreCreateInfo& safe_VkExportSemaphoreCreateInfo::operator=(const safe_VkExportSemaphoreCreateInfo& src)
9695 {
9696     if (&src == this) return *this;
9697 
9698     if (pNext)
9699         FreePnextChain(pNext);
9700 
9701     sType = src.sType;
9702     handleTypes = src.handleTypes;
9703     pNext = SafePnextCopy(src.pNext);
9704 
9705     return *this;
9706 }
9707 
~safe_VkExportSemaphoreCreateInfo()9708 safe_VkExportSemaphoreCreateInfo::~safe_VkExportSemaphoreCreateInfo()
9709 {
9710     if (pNext)
9711         FreePnextChain(pNext);
9712 }
9713 
initialize(const VkExportSemaphoreCreateInfo * in_struct)9714 void safe_VkExportSemaphoreCreateInfo::initialize(const VkExportSemaphoreCreateInfo* in_struct)
9715 {
9716     sType = in_struct->sType;
9717     handleTypes = in_struct->handleTypes;
9718     pNext = SafePnextCopy(in_struct->pNext);
9719 }
9720 
initialize(const safe_VkExportSemaphoreCreateInfo * src)9721 void safe_VkExportSemaphoreCreateInfo::initialize(const safe_VkExportSemaphoreCreateInfo* src)
9722 {
9723     sType = src->sType;
9724     handleTypes = src->handleTypes;
9725     pNext = SafePnextCopy(src->pNext);
9726 }
9727 
safe_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo * in_struct)9728 safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo* in_struct) :
9729     sType(in_struct->sType),
9730     handleType(in_struct->handleType)
9731 {
9732     pNext = SafePnextCopy(in_struct->pNext);
9733 }
9734 
safe_VkPhysicalDeviceExternalSemaphoreInfo()9735 safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo() :
9736     pNext(nullptr)
9737 {}
9738 
safe_VkPhysicalDeviceExternalSemaphoreInfo(const safe_VkPhysicalDeviceExternalSemaphoreInfo & src)9739 safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo(const safe_VkPhysicalDeviceExternalSemaphoreInfo& src)
9740 {
9741     sType = src.sType;
9742     handleType = src.handleType;
9743     pNext = SafePnextCopy(src.pNext);
9744 }
9745 
operator =(const safe_VkPhysicalDeviceExternalSemaphoreInfo & src)9746 safe_VkPhysicalDeviceExternalSemaphoreInfo& safe_VkPhysicalDeviceExternalSemaphoreInfo::operator=(const safe_VkPhysicalDeviceExternalSemaphoreInfo& src)
9747 {
9748     if (&src == this) return *this;
9749 
9750     if (pNext)
9751         FreePnextChain(pNext);
9752 
9753     sType = src.sType;
9754     handleType = src.handleType;
9755     pNext = SafePnextCopy(src.pNext);
9756 
9757     return *this;
9758 }
9759 
~safe_VkPhysicalDeviceExternalSemaphoreInfo()9760 safe_VkPhysicalDeviceExternalSemaphoreInfo::~safe_VkPhysicalDeviceExternalSemaphoreInfo()
9761 {
9762     if (pNext)
9763         FreePnextChain(pNext);
9764 }
9765 
initialize(const VkPhysicalDeviceExternalSemaphoreInfo * in_struct)9766 void safe_VkPhysicalDeviceExternalSemaphoreInfo::initialize(const VkPhysicalDeviceExternalSemaphoreInfo* in_struct)
9767 {
9768     sType = in_struct->sType;
9769     handleType = in_struct->handleType;
9770     pNext = SafePnextCopy(in_struct->pNext);
9771 }
9772 
initialize(const safe_VkPhysicalDeviceExternalSemaphoreInfo * src)9773 void safe_VkPhysicalDeviceExternalSemaphoreInfo::initialize(const safe_VkPhysicalDeviceExternalSemaphoreInfo* src)
9774 {
9775     sType = src->sType;
9776     handleType = src->handleType;
9777     pNext = SafePnextCopy(src->pNext);
9778 }
9779 
safe_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties * in_struct)9780 safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties* in_struct) :
9781     sType(in_struct->sType),
9782     exportFromImportedHandleTypes(in_struct->exportFromImportedHandleTypes),
9783     compatibleHandleTypes(in_struct->compatibleHandleTypes),
9784     externalSemaphoreFeatures(in_struct->externalSemaphoreFeatures)
9785 {
9786     pNext = SafePnextCopy(in_struct->pNext);
9787 }
9788 
safe_VkExternalSemaphoreProperties()9789 safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties() :
9790     pNext(nullptr)
9791 {}
9792 
safe_VkExternalSemaphoreProperties(const safe_VkExternalSemaphoreProperties & src)9793 safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties(const safe_VkExternalSemaphoreProperties& src)
9794 {
9795     sType = src.sType;
9796     exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9797     compatibleHandleTypes = src.compatibleHandleTypes;
9798     externalSemaphoreFeatures = src.externalSemaphoreFeatures;
9799     pNext = SafePnextCopy(src.pNext);
9800 }
9801 
operator =(const safe_VkExternalSemaphoreProperties & src)9802 safe_VkExternalSemaphoreProperties& safe_VkExternalSemaphoreProperties::operator=(const safe_VkExternalSemaphoreProperties& src)
9803 {
9804     if (&src == this) return *this;
9805 
9806     if (pNext)
9807         FreePnextChain(pNext);
9808 
9809     sType = src.sType;
9810     exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9811     compatibleHandleTypes = src.compatibleHandleTypes;
9812     externalSemaphoreFeatures = src.externalSemaphoreFeatures;
9813     pNext = SafePnextCopy(src.pNext);
9814 
9815     return *this;
9816 }
9817 
~safe_VkExternalSemaphoreProperties()9818 safe_VkExternalSemaphoreProperties::~safe_VkExternalSemaphoreProperties()
9819 {
9820     if (pNext)
9821         FreePnextChain(pNext);
9822 }
9823 
initialize(const VkExternalSemaphoreProperties * in_struct)9824 void safe_VkExternalSemaphoreProperties::initialize(const VkExternalSemaphoreProperties* in_struct)
9825 {
9826     sType = in_struct->sType;
9827     exportFromImportedHandleTypes = in_struct->exportFromImportedHandleTypes;
9828     compatibleHandleTypes = in_struct->compatibleHandleTypes;
9829     externalSemaphoreFeatures = in_struct->externalSemaphoreFeatures;
9830     pNext = SafePnextCopy(in_struct->pNext);
9831 }
9832 
initialize(const safe_VkExternalSemaphoreProperties * src)9833 void safe_VkExternalSemaphoreProperties::initialize(const safe_VkExternalSemaphoreProperties* src)
9834 {
9835     sType = src->sType;
9836     exportFromImportedHandleTypes = src->exportFromImportedHandleTypes;
9837     compatibleHandleTypes = src->compatibleHandleTypes;
9838     externalSemaphoreFeatures = src->externalSemaphoreFeatures;
9839     pNext = SafePnextCopy(src->pNext);
9840 }
9841 
safe_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties * in_struct)9842 safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties* in_struct) :
9843     sType(in_struct->sType),
9844     maxPerSetDescriptors(in_struct->maxPerSetDescriptors),
9845     maxMemoryAllocationSize(in_struct->maxMemoryAllocationSize)
9846 {
9847     pNext = SafePnextCopy(in_struct->pNext);
9848 }
9849 
safe_VkPhysicalDeviceMaintenance3Properties()9850 safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties() :
9851     pNext(nullptr)
9852 {}
9853 
safe_VkPhysicalDeviceMaintenance3Properties(const safe_VkPhysicalDeviceMaintenance3Properties & src)9854 safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties(const safe_VkPhysicalDeviceMaintenance3Properties& src)
9855 {
9856     sType = src.sType;
9857     maxPerSetDescriptors = src.maxPerSetDescriptors;
9858     maxMemoryAllocationSize = src.maxMemoryAllocationSize;
9859     pNext = SafePnextCopy(src.pNext);
9860 }
9861 
operator =(const safe_VkPhysicalDeviceMaintenance3Properties & src)9862 safe_VkPhysicalDeviceMaintenance3Properties& safe_VkPhysicalDeviceMaintenance3Properties::operator=(const safe_VkPhysicalDeviceMaintenance3Properties& src)
9863 {
9864     if (&src == this) return *this;
9865 
9866     if (pNext)
9867         FreePnextChain(pNext);
9868 
9869     sType = src.sType;
9870     maxPerSetDescriptors = src.maxPerSetDescriptors;
9871     maxMemoryAllocationSize = src.maxMemoryAllocationSize;
9872     pNext = SafePnextCopy(src.pNext);
9873 
9874     return *this;
9875 }
9876 
~safe_VkPhysicalDeviceMaintenance3Properties()9877 safe_VkPhysicalDeviceMaintenance3Properties::~safe_VkPhysicalDeviceMaintenance3Properties()
9878 {
9879     if (pNext)
9880         FreePnextChain(pNext);
9881 }
9882 
initialize(const VkPhysicalDeviceMaintenance3Properties * in_struct)9883 void safe_VkPhysicalDeviceMaintenance3Properties::initialize(const VkPhysicalDeviceMaintenance3Properties* in_struct)
9884 {
9885     sType = in_struct->sType;
9886     maxPerSetDescriptors = in_struct->maxPerSetDescriptors;
9887     maxMemoryAllocationSize = in_struct->maxMemoryAllocationSize;
9888     pNext = SafePnextCopy(in_struct->pNext);
9889 }
9890 
initialize(const safe_VkPhysicalDeviceMaintenance3Properties * src)9891 void safe_VkPhysicalDeviceMaintenance3Properties::initialize(const safe_VkPhysicalDeviceMaintenance3Properties* src)
9892 {
9893     sType = src->sType;
9894     maxPerSetDescriptors = src->maxPerSetDescriptors;
9895     maxMemoryAllocationSize = src->maxMemoryAllocationSize;
9896     pNext = SafePnextCopy(src->pNext);
9897 }
9898 
safe_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport * in_struct)9899 safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport* in_struct) :
9900     sType(in_struct->sType),
9901     supported(in_struct->supported)
9902 {
9903     pNext = SafePnextCopy(in_struct->pNext);
9904 }
9905 
safe_VkDescriptorSetLayoutSupport()9906 safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport() :
9907     pNext(nullptr)
9908 {}
9909 
safe_VkDescriptorSetLayoutSupport(const safe_VkDescriptorSetLayoutSupport & src)9910 safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport(const safe_VkDescriptorSetLayoutSupport& src)
9911 {
9912     sType = src.sType;
9913     supported = src.supported;
9914     pNext = SafePnextCopy(src.pNext);
9915 }
9916 
operator =(const safe_VkDescriptorSetLayoutSupport & src)9917 safe_VkDescriptorSetLayoutSupport& safe_VkDescriptorSetLayoutSupport::operator=(const safe_VkDescriptorSetLayoutSupport& src)
9918 {
9919     if (&src == this) return *this;
9920 
9921     if (pNext)
9922         FreePnextChain(pNext);
9923 
9924     sType = src.sType;
9925     supported = src.supported;
9926     pNext = SafePnextCopy(src.pNext);
9927 
9928     return *this;
9929 }
9930 
~safe_VkDescriptorSetLayoutSupport()9931 safe_VkDescriptorSetLayoutSupport::~safe_VkDescriptorSetLayoutSupport()
9932 {
9933     if (pNext)
9934         FreePnextChain(pNext);
9935 }
9936 
initialize(const VkDescriptorSetLayoutSupport * in_struct)9937 void safe_VkDescriptorSetLayoutSupport::initialize(const VkDescriptorSetLayoutSupport* in_struct)
9938 {
9939     sType = in_struct->sType;
9940     supported = in_struct->supported;
9941     pNext = SafePnextCopy(in_struct->pNext);
9942 }
9943 
initialize(const safe_VkDescriptorSetLayoutSupport * src)9944 void safe_VkDescriptorSetLayoutSupport::initialize(const safe_VkDescriptorSetLayoutSupport* src)
9945 {
9946     sType = src->sType;
9947     supported = src->supported;
9948     pNext = SafePnextCopy(src->pNext);
9949 }
9950 
safe_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures * in_struct)9951 safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct) :
9952     sType(in_struct->sType),
9953     shaderDrawParameters(in_struct->shaderDrawParameters)
9954 {
9955     pNext = SafePnextCopy(in_struct->pNext);
9956 }
9957 
safe_VkPhysicalDeviceShaderDrawParametersFeatures()9958 safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures() :
9959     pNext(nullptr)
9960 {}
9961 
safe_VkPhysicalDeviceShaderDrawParametersFeatures(const safe_VkPhysicalDeviceShaderDrawParametersFeatures & src)9962 safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures(const safe_VkPhysicalDeviceShaderDrawParametersFeatures& src)
9963 {
9964     sType = src.sType;
9965     shaderDrawParameters = src.shaderDrawParameters;
9966     pNext = SafePnextCopy(src.pNext);
9967 }
9968 
operator =(const safe_VkPhysicalDeviceShaderDrawParametersFeatures & src)9969 safe_VkPhysicalDeviceShaderDrawParametersFeatures& safe_VkPhysicalDeviceShaderDrawParametersFeatures::operator=(const safe_VkPhysicalDeviceShaderDrawParametersFeatures& src)
9970 {
9971     if (&src == this) return *this;
9972 
9973     if (pNext)
9974         FreePnextChain(pNext);
9975 
9976     sType = src.sType;
9977     shaderDrawParameters = src.shaderDrawParameters;
9978     pNext = SafePnextCopy(src.pNext);
9979 
9980     return *this;
9981 }
9982 
~safe_VkPhysicalDeviceShaderDrawParametersFeatures()9983 safe_VkPhysicalDeviceShaderDrawParametersFeatures::~safe_VkPhysicalDeviceShaderDrawParametersFeatures()
9984 {
9985     if (pNext)
9986         FreePnextChain(pNext);
9987 }
9988 
initialize(const VkPhysicalDeviceShaderDrawParametersFeatures * in_struct)9989 void safe_VkPhysicalDeviceShaderDrawParametersFeatures::initialize(const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct)
9990 {
9991     sType = in_struct->sType;
9992     shaderDrawParameters = in_struct->shaderDrawParameters;
9993     pNext = SafePnextCopy(in_struct->pNext);
9994 }
9995 
initialize(const safe_VkPhysicalDeviceShaderDrawParametersFeatures * src)9996 void safe_VkPhysicalDeviceShaderDrawParametersFeatures::initialize(const safe_VkPhysicalDeviceShaderDrawParametersFeatures* src)
9997 {
9998     sType = src->sType;
9999     shaderDrawParameters = src->shaderDrawParameters;
10000     pNext = SafePnextCopy(src->pNext);
10001 }
10002 
safe_VkSwapchainCreateInfoKHR(const VkSwapchainCreateInfoKHR * in_struct)10003 safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const VkSwapchainCreateInfoKHR* in_struct) :
10004     sType(in_struct->sType),
10005     flags(in_struct->flags),
10006     surface(in_struct->surface),
10007     minImageCount(in_struct->minImageCount),
10008     imageFormat(in_struct->imageFormat),
10009     imageColorSpace(in_struct->imageColorSpace),
10010     imageExtent(in_struct->imageExtent),
10011     imageArrayLayers(in_struct->imageArrayLayers),
10012     imageUsage(in_struct->imageUsage),
10013     imageSharingMode(in_struct->imageSharingMode),
10014     queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
10015     pQueueFamilyIndices(nullptr),
10016     preTransform(in_struct->preTransform),
10017     compositeAlpha(in_struct->compositeAlpha),
10018     presentMode(in_struct->presentMode),
10019     clipped(in_struct->clipped),
10020     oldSwapchain(in_struct->oldSwapchain)
10021 {
10022     pNext = SafePnextCopy(in_struct->pNext);
10023     if (in_struct->pQueueFamilyIndices) {
10024         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
10025         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
10026     }
10027 }
10028 
safe_VkSwapchainCreateInfoKHR()10029 safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR() :
10030     pNext(nullptr),
10031     pQueueFamilyIndices(nullptr)
10032 {}
10033 
safe_VkSwapchainCreateInfoKHR(const safe_VkSwapchainCreateInfoKHR & src)10034 safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const safe_VkSwapchainCreateInfoKHR& src)
10035 {
10036     sType = src.sType;
10037     flags = src.flags;
10038     surface = src.surface;
10039     minImageCount = src.minImageCount;
10040     imageFormat = src.imageFormat;
10041     imageColorSpace = src.imageColorSpace;
10042     imageExtent = src.imageExtent;
10043     imageArrayLayers = src.imageArrayLayers;
10044     imageUsage = src.imageUsage;
10045     imageSharingMode = src.imageSharingMode;
10046     queueFamilyIndexCount = src.queueFamilyIndexCount;
10047     pQueueFamilyIndices = nullptr;
10048     preTransform = src.preTransform;
10049     compositeAlpha = src.compositeAlpha;
10050     presentMode = src.presentMode;
10051     clipped = src.clipped;
10052     oldSwapchain = src.oldSwapchain;
10053     pNext = SafePnextCopy(src.pNext);
10054     if (src.pQueueFamilyIndices) {
10055         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
10056         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
10057     }
10058 }
10059 
operator =(const safe_VkSwapchainCreateInfoKHR & src)10060 safe_VkSwapchainCreateInfoKHR& safe_VkSwapchainCreateInfoKHR::operator=(const safe_VkSwapchainCreateInfoKHR& src)
10061 {
10062     if (&src == this) return *this;
10063 
10064     if (pQueueFamilyIndices)
10065         delete[] pQueueFamilyIndices;
10066     if (pNext)
10067         FreePnextChain(pNext);
10068 
10069     sType = src.sType;
10070     flags = src.flags;
10071     surface = src.surface;
10072     minImageCount = src.minImageCount;
10073     imageFormat = src.imageFormat;
10074     imageColorSpace = src.imageColorSpace;
10075     imageExtent = src.imageExtent;
10076     imageArrayLayers = src.imageArrayLayers;
10077     imageUsage = src.imageUsage;
10078     imageSharingMode = src.imageSharingMode;
10079     queueFamilyIndexCount = src.queueFamilyIndexCount;
10080     pQueueFamilyIndices = nullptr;
10081     preTransform = src.preTransform;
10082     compositeAlpha = src.compositeAlpha;
10083     presentMode = src.presentMode;
10084     clipped = src.clipped;
10085     oldSwapchain = src.oldSwapchain;
10086     pNext = SafePnextCopy(src.pNext);
10087     if (src.pQueueFamilyIndices) {
10088         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
10089         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
10090     }
10091 
10092     return *this;
10093 }
10094 
~safe_VkSwapchainCreateInfoKHR()10095 safe_VkSwapchainCreateInfoKHR::~safe_VkSwapchainCreateInfoKHR()
10096 {
10097     if (pQueueFamilyIndices)
10098         delete[] pQueueFamilyIndices;
10099     if (pNext)
10100         FreePnextChain(pNext);
10101 }
10102 
initialize(const VkSwapchainCreateInfoKHR * in_struct)10103 void safe_VkSwapchainCreateInfoKHR::initialize(const VkSwapchainCreateInfoKHR* in_struct)
10104 {
10105     sType = in_struct->sType;
10106     flags = in_struct->flags;
10107     surface = in_struct->surface;
10108     minImageCount = in_struct->minImageCount;
10109     imageFormat = in_struct->imageFormat;
10110     imageColorSpace = in_struct->imageColorSpace;
10111     imageExtent = in_struct->imageExtent;
10112     imageArrayLayers = in_struct->imageArrayLayers;
10113     imageUsage = in_struct->imageUsage;
10114     imageSharingMode = in_struct->imageSharingMode;
10115     queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
10116     pQueueFamilyIndices = nullptr;
10117     preTransform = in_struct->preTransform;
10118     compositeAlpha = in_struct->compositeAlpha;
10119     presentMode = in_struct->presentMode;
10120     clipped = in_struct->clipped;
10121     oldSwapchain = in_struct->oldSwapchain;
10122     pNext = SafePnextCopy(in_struct->pNext);
10123     if (in_struct->pQueueFamilyIndices) {
10124         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
10125         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
10126     }
10127 }
10128 
initialize(const safe_VkSwapchainCreateInfoKHR * src)10129 void safe_VkSwapchainCreateInfoKHR::initialize(const safe_VkSwapchainCreateInfoKHR* src)
10130 {
10131     sType = src->sType;
10132     flags = src->flags;
10133     surface = src->surface;
10134     minImageCount = src->minImageCount;
10135     imageFormat = src->imageFormat;
10136     imageColorSpace = src->imageColorSpace;
10137     imageExtent = src->imageExtent;
10138     imageArrayLayers = src->imageArrayLayers;
10139     imageUsage = src->imageUsage;
10140     imageSharingMode = src->imageSharingMode;
10141     queueFamilyIndexCount = src->queueFamilyIndexCount;
10142     pQueueFamilyIndices = nullptr;
10143     preTransform = src->preTransform;
10144     compositeAlpha = src->compositeAlpha;
10145     presentMode = src->presentMode;
10146     clipped = src->clipped;
10147     oldSwapchain = src->oldSwapchain;
10148     pNext = SafePnextCopy(src->pNext);
10149     if (src->pQueueFamilyIndices) {
10150         pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
10151         memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
10152     }
10153 }
10154 
safe_VkPresentInfoKHR(const VkPresentInfoKHR * in_struct)10155 safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const VkPresentInfoKHR* in_struct) :
10156     sType(in_struct->sType),
10157     waitSemaphoreCount(in_struct->waitSemaphoreCount),
10158     pWaitSemaphores(nullptr),
10159     swapchainCount(in_struct->swapchainCount),
10160     pSwapchains(nullptr),
10161     pImageIndices(nullptr),
10162     pResults(nullptr)
10163 {
10164     pNext = SafePnextCopy(in_struct->pNext);
10165     if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
10166         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10167         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
10168             pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
10169         }
10170     }
10171     if (swapchainCount && in_struct->pSwapchains) {
10172         pSwapchains = new VkSwapchainKHR[swapchainCount];
10173         for (uint32_t i = 0; i < swapchainCount; ++i) {
10174             pSwapchains[i] = in_struct->pSwapchains[i];
10175         }
10176     }
10177     if (in_struct->pImageIndices) {
10178         pImageIndices = new uint32_t[in_struct->swapchainCount];
10179         memcpy ((void *)pImageIndices, (void *)in_struct->pImageIndices, sizeof(uint32_t)*in_struct->swapchainCount);
10180     }
10181     if (in_struct->pResults) {
10182         pResults = new VkResult[in_struct->swapchainCount];
10183         memcpy ((void *)pResults, (void *)in_struct->pResults, sizeof(VkResult)*in_struct->swapchainCount);
10184     }
10185 }
10186 
safe_VkPresentInfoKHR()10187 safe_VkPresentInfoKHR::safe_VkPresentInfoKHR() :
10188     pNext(nullptr),
10189     pWaitSemaphores(nullptr),
10190     pSwapchains(nullptr),
10191     pImageIndices(nullptr),
10192     pResults(nullptr)
10193 {}
10194 
safe_VkPresentInfoKHR(const safe_VkPresentInfoKHR & src)10195 safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const safe_VkPresentInfoKHR& src)
10196 {
10197     sType = src.sType;
10198     waitSemaphoreCount = src.waitSemaphoreCount;
10199     pWaitSemaphores = nullptr;
10200     swapchainCount = src.swapchainCount;
10201     pSwapchains = nullptr;
10202     pImageIndices = nullptr;
10203     pResults = nullptr;
10204     pNext = SafePnextCopy(src.pNext);
10205     if (waitSemaphoreCount && src.pWaitSemaphores) {
10206         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10207         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
10208             pWaitSemaphores[i] = src.pWaitSemaphores[i];
10209         }
10210     }
10211     if (swapchainCount && src.pSwapchains) {
10212         pSwapchains = new VkSwapchainKHR[swapchainCount];
10213         for (uint32_t i = 0; i < swapchainCount; ++i) {
10214             pSwapchains[i] = src.pSwapchains[i];
10215         }
10216     }
10217     if (src.pImageIndices) {
10218         pImageIndices = new uint32_t[src.swapchainCount];
10219         memcpy ((void *)pImageIndices, (void *)src.pImageIndices, sizeof(uint32_t)*src.swapchainCount);
10220     }
10221     if (src.pResults) {
10222         pResults = new VkResult[src.swapchainCount];
10223         memcpy ((void *)pResults, (void *)src.pResults, sizeof(VkResult)*src.swapchainCount);
10224     }
10225 }
10226 
operator =(const safe_VkPresentInfoKHR & src)10227 safe_VkPresentInfoKHR& safe_VkPresentInfoKHR::operator=(const safe_VkPresentInfoKHR& src)
10228 {
10229     if (&src == this) return *this;
10230 
10231     if (pWaitSemaphores)
10232         delete[] pWaitSemaphores;
10233     if (pSwapchains)
10234         delete[] pSwapchains;
10235     if (pImageIndices)
10236         delete[] pImageIndices;
10237     if (pResults)
10238         delete[] pResults;
10239     if (pNext)
10240         FreePnextChain(pNext);
10241 
10242     sType = src.sType;
10243     waitSemaphoreCount = src.waitSemaphoreCount;
10244     pWaitSemaphores = nullptr;
10245     swapchainCount = src.swapchainCount;
10246     pSwapchains = nullptr;
10247     pImageIndices = nullptr;
10248     pResults = nullptr;
10249     pNext = SafePnextCopy(src.pNext);
10250     if (waitSemaphoreCount && src.pWaitSemaphores) {
10251         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10252         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
10253             pWaitSemaphores[i] = src.pWaitSemaphores[i];
10254         }
10255     }
10256     if (swapchainCount && src.pSwapchains) {
10257         pSwapchains = new VkSwapchainKHR[swapchainCount];
10258         for (uint32_t i = 0; i < swapchainCount; ++i) {
10259             pSwapchains[i] = src.pSwapchains[i];
10260         }
10261     }
10262     if (src.pImageIndices) {
10263         pImageIndices = new uint32_t[src.swapchainCount];
10264         memcpy ((void *)pImageIndices, (void *)src.pImageIndices, sizeof(uint32_t)*src.swapchainCount);
10265     }
10266     if (src.pResults) {
10267         pResults = new VkResult[src.swapchainCount];
10268         memcpy ((void *)pResults, (void *)src.pResults, sizeof(VkResult)*src.swapchainCount);
10269     }
10270 
10271     return *this;
10272 }
10273 
~safe_VkPresentInfoKHR()10274 safe_VkPresentInfoKHR::~safe_VkPresentInfoKHR()
10275 {
10276     if (pWaitSemaphores)
10277         delete[] pWaitSemaphores;
10278     if (pSwapchains)
10279         delete[] pSwapchains;
10280     if (pImageIndices)
10281         delete[] pImageIndices;
10282     if (pResults)
10283         delete[] pResults;
10284     if (pNext)
10285         FreePnextChain(pNext);
10286 }
10287 
initialize(const VkPresentInfoKHR * in_struct)10288 void safe_VkPresentInfoKHR::initialize(const VkPresentInfoKHR* in_struct)
10289 {
10290     sType = in_struct->sType;
10291     waitSemaphoreCount = in_struct->waitSemaphoreCount;
10292     pWaitSemaphores = nullptr;
10293     swapchainCount = in_struct->swapchainCount;
10294     pSwapchains = nullptr;
10295     pImageIndices = nullptr;
10296     pResults = nullptr;
10297     pNext = SafePnextCopy(in_struct->pNext);
10298     if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
10299         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10300         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
10301             pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
10302         }
10303     }
10304     if (swapchainCount && in_struct->pSwapchains) {
10305         pSwapchains = new VkSwapchainKHR[swapchainCount];
10306         for (uint32_t i = 0; i < swapchainCount; ++i) {
10307             pSwapchains[i] = in_struct->pSwapchains[i];
10308         }
10309     }
10310     if (in_struct->pImageIndices) {
10311         pImageIndices = new uint32_t[in_struct->swapchainCount];
10312         memcpy ((void *)pImageIndices, (void *)in_struct->pImageIndices, sizeof(uint32_t)*in_struct->swapchainCount);
10313     }
10314     if (in_struct->pResults) {
10315         pResults = new VkResult[in_struct->swapchainCount];
10316         memcpy ((void *)pResults, (void *)in_struct->pResults, sizeof(VkResult)*in_struct->swapchainCount);
10317     }
10318 }
10319 
initialize(const safe_VkPresentInfoKHR * src)10320 void safe_VkPresentInfoKHR::initialize(const safe_VkPresentInfoKHR* src)
10321 {
10322     sType = src->sType;
10323     waitSemaphoreCount = src->waitSemaphoreCount;
10324     pWaitSemaphores = nullptr;
10325     swapchainCount = src->swapchainCount;
10326     pSwapchains = nullptr;
10327     pImageIndices = nullptr;
10328     pResults = nullptr;
10329     pNext = SafePnextCopy(src->pNext);
10330     if (waitSemaphoreCount && src->pWaitSemaphores) {
10331         pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10332         for (uint32_t i = 0; i < waitSemaphoreCount; ++i) {
10333             pWaitSemaphores[i] = src->pWaitSemaphores[i];
10334         }
10335     }
10336     if (swapchainCount && src->pSwapchains) {
10337         pSwapchains = new VkSwapchainKHR[swapchainCount];
10338         for (uint32_t i = 0; i < swapchainCount; ++i) {
10339             pSwapchains[i] = src->pSwapchains[i];
10340         }
10341     }
10342     if (src->pImageIndices) {
10343         pImageIndices = new uint32_t[src->swapchainCount];
10344         memcpy ((void *)pImageIndices, (void *)src->pImageIndices, sizeof(uint32_t)*src->swapchainCount);
10345     }
10346     if (src->pResults) {
10347         pResults = new VkResult[src->swapchainCount];
10348         memcpy ((void *)pResults, (void *)src->pResults, sizeof(VkResult)*src->swapchainCount);
10349     }
10350 }
10351 
safe_VkImageSwapchainCreateInfoKHR(const VkImageSwapchainCreateInfoKHR * in_struct)10352 safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR(const VkImageSwapchainCreateInfoKHR* in_struct) :
10353     sType(in_struct->sType),
10354     swapchain(in_struct->swapchain)
10355 {
10356     pNext = SafePnextCopy(in_struct->pNext);
10357 }
10358 
safe_VkImageSwapchainCreateInfoKHR()10359 safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR() :
10360     pNext(nullptr)
10361 {}
10362 
safe_VkImageSwapchainCreateInfoKHR(const safe_VkImageSwapchainCreateInfoKHR & src)10363 safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR(const safe_VkImageSwapchainCreateInfoKHR& src)
10364 {
10365     sType = src.sType;
10366     swapchain = src.swapchain;
10367     pNext = SafePnextCopy(src.pNext);
10368 }
10369 
operator =(const safe_VkImageSwapchainCreateInfoKHR & src)10370 safe_VkImageSwapchainCreateInfoKHR& safe_VkImageSwapchainCreateInfoKHR::operator=(const safe_VkImageSwapchainCreateInfoKHR& src)
10371 {
10372     if (&src == this) return *this;
10373 
10374     if (pNext)
10375         FreePnextChain(pNext);
10376 
10377     sType = src.sType;
10378     swapchain = src.swapchain;
10379     pNext = SafePnextCopy(src.pNext);
10380 
10381     return *this;
10382 }
10383 
~safe_VkImageSwapchainCreateInfoKHR()10384 safe_VkImageSwapchainCreateInfoKHR::~safe_VkImageSwapchainCreateInfoKHR()
10385 {
10386     if (pNext)
10387         FreePnextChain(pNext);
10388 }
10389 
initialize(const VkImageSwapchainCreateInfoKHR * in_struct)10390 void safe_VkImageSwapchainCreateInfoKHR::initialize(const VkImageSwapchainCreateInfoKHR* in_struct)
10391 {
10392     sType = in_struct->sType;
10393     swapchain = in_struct->swapchain;
10394     pNext = SafePnextCopy(in_struct->pNext);
10395 }
10396 
initialize(const safe_VkImageSwapchainCreateInfoKHR * src)10397 void safe_VkImageSwapchainCreateInfoKHR::initialize(const safe_VkImageSwapchainCreateInfoKHR* src)
10398 {
10399     sType = src->sType;
10400     swapchain = src->swapchain;
10401     pNext = SafePnextCopy(src->pNext);
10402 }
10403 
safe_VkBindImageMemorySwapchainInfoKHR(const VkBindImageMemorySwapchainInfoKHR * in_struct)10404 safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR(const VkBindImageMemorySwapchainInfoKHR* in_struct) :
10405     sType(in_struct->sType),
10406     swapchain(in_struct->swapchain),
10407     imageIndex(in_struct->imageIndex)
10408 {
10409     pNext = SafePnextCopy(in_struct->pNext);
10410 }
10411 
safe_VkBindImageMemorySwapchainInfoKHR()10412 safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR() :
10413     pNext(nullptr)
10414 {}
10415 
safe_VkBindImageMemorySwapchainInfoKHR(const safe_VkBindImageMemorySwapchainInfoKHR & src)10416 safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR(const safe_VkBindImageMemorySwapchainInfoKHR& src)
10417 {
10418     sType = src.sType;
10419     swapchain = src.swapchain;
10420     imageIndex = src.imageIndex;
10421     pNext = SafePnextCopy(src.pNext);
10422 }
10423 
operator =(const safe_VkBindImageMemorySwapchainInfoKHR & src)10424 safe_VkBindImageMemorySwapchainInfoKHR& safe_VkBindImageMemorySwapchainInfoKHR::operator=(const safe_VkBindImageMemorySwapchainInfoKHR& src)
10425 {
10426     if (&src == this) return *this;
10427 
10428     if (pNext)
10429         FreePnextChain(pNext);
10430 
10431     sType = src.sType;
10432     swapchain = src.swapchain;
10433     imageIndex = src.imageIndex;
10434     pNext = SafePnextCopy(src.pNext);
10435 
10436     return *this;
10437 }
10438 
~safe_VkBindImageMemorySwapchainInfoKHR()10439 safe_VkBindImageMemorySwapchainInfoKHR::~safe_VkBindImageMemorySwapchainInfoKHR()
10440 {
10441     if (pNext)
10442         FreePnextChain(pNext);
10443 }
10444 
initialize(const VkBindImageMemorySwapchainInfoKHR * in_struct)10445 void safe_VkBindImageMemorySwapchainInfoKHR::initialize(const VkBindImageMemorySwapchainInfoKHR* in_struct)
10446 {
10447     sType = in_struct->sType;
10448     swapchain = in_struct->swapchain;
10449     imageIndex = in_struct->imageIndex;
10450     pNext = SafePnextCopy(in_struct->pNext);
10451 }
10452 
initialize(const safe_VkBindImageMemorySwapchainInfoKHR * src)10453 void safe_VkBindImageMemorySwapchainInfoKHR::initialize(const safe_VkBindImageMemorySwapchainInfoKHR* src)
10454 {
10455     sType = src->sType;
10456     swapchain = src->swapchain;
10457     imageIndex = src->imageIndex;
10458     pNext = SafePnextCopy(src->pNext);
10459 }
10460 
safe_VkAcquireNextImageInfoKHR(const VkAcquireNextImageInfoKHR * in_struct)10461 safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR(const VkAcquireNextImageInfoKHR* in_struct) :
10462     sType(in_struct->sType),
10463     swapchain(in_struct->swapchain),
10464     timeout(in_struct->timeout),
10465     semaphore(in_struct->semaphore),
10466     fence(in_struct->fence),
10467     deviceMask(in_struct->deviceMask)
10468 {
10469     pNext = SafePnextCopy(in_struct->pNext);
10470 }
10471 
safe_VkAcquireNextImageInfoKHR()10472 safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR() :
10473     pNext(nullptr)
10474 {}
10475 
safe_VkAcquireNextImageInfoKHR(const safe_VkAcquireNextImageInfoKHR & src)10476 safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR(const safe_VkAcquireNextImageInfoKHR& src)
10477 {
10478     sType = src.sType;
10479     swapchain = src.swapchain;
10480     timeout = src.timeout;
10481     semaphore = src.semaphore;
10482     fence = src.fence;
10483     deviceMask = src.deviceMask;
10484     pNext = SafePnextCopy(src.pNext);
10485 }
10486 
operator =(const safe_VkAcquireNextImageInfoKHR & src)10487 safe_VkAcquireNextImageInfoKHR& safe_VkAcquireNextImageInfoKHR::operator=(const safe_VkAcquireNextImageInfoKHR& src)
10488 {
10489     if (&src == this) return *this;
10490 
10491     if (pNext)
10492         FreePnextChain(pNext);
10493 
10494     sType = src.sType;
10495     swapchain = src.swapchain;
10496     timeout = src.timeout;
10497     semaphore = src.semaphore;
10498     fence = src.fence;
10499     deviceMask = src.deviceMask;
10500     pNext = SafePnextCopy(src.pNext);
10501 
10502     return *this;
10503 }
10504 
~safe_VkAcquireNextImageInfoKHR()10505 safe_VkAcquireNextImageInfoKHR::~safe_VkAcquireNextImageInfoKHR()
10506 {
10507     if (pNext)
10508         FreePnextChain(pNext);
10509 }
10510 
initialize(const VkAcquireNextImageInfoKHR * in_struct)10511 void safe_VkAcquireNextImageInfoKHR::initialize(const VkAcquireNextImageInfoKHR* in_struct)
10512 {
10513     sType = in_struct->sType;
10514     swapchain = in_struct->swapchain;
10515     timeout = in_struct->timeout;
10516     semaphore = in_struct->semaphore;
10517     fence = in_struct->fence;
10518     deviceMask = in_struct->deviceMask;
10519     pNext = SafePnextCopy(in_struct->pNext);
10520 }
10521 
initialize(const safe_VkAcquireNextImageInfoKHR * src)10522 void safe_VkAcquireNextImageInfoKHR::initialize(const safe_VkAcquireNextImageInfoKHR* src)
10523 {
10524     sType = src->sType;
10525     swapchain = src->swapchain;
10526     timeout = src->timeout;
10527     semaphore = src->semaphore;
10528     fence = src->fence;
10529     deviceMask = src->deviceMask;
10530     pNext = SafePnextCopy(src->pNext);
10531 }
10532 
safe_VkDeviceGroupPresentCapabilitiesKHR(const VkDeviceGroupPresentCapabilitiesKHR * in_struct)10533 safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR(const VkDeviceGroupPresentCapabilitiesKHR* in_struct) :
10534     sType(in_struct->sType),
10535     modes(in_struct->modes)
10536 {
10537     pNext = SafePnextCopy(in_struct->pNext);
10538     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10539         presentMask[i] = in_struct->presentMask[i];
10540     }
10541 }
10542 
safe_VkDeviceGroupPresentCapabilitiesKHR()10543 safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR() :
10544     pNext(nullptr)
10545 {}
10546 
safe_VkDeviceGroupPresentCapabilitiesKHR(const safe_VkDeviceGroupPresentCapabilitiesKHR & src)10547 safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR(const safe_VkDeviceGroupPresentCapabilitiesKHR& src)
10548 {
10549     sType = src.sType;
10550     modes = src.modes;
10551     pNext = SafePnextCopy(src.pNext);
10552     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10553         presentMask[i] = src.presentMask[i];
10554     }
10555 }
10556 
operator =(const safe_VkDeviceGroupPresentCapabilitiesKHR & src)10557 safe_VkDeviceGroupPresentCapabilitiesKHR& safe_VkDeviceGroupPresentCapabilitiesKHR::operator=(const safe_VkDeviceGroupPresentCapabilitiesKHR& src)
10558 {
10559     if (&src == this) return *this;
10560 
10561     if (pNext)
10562         FreePnextChain(pNext);
10563 
10564     sType = src.sType;
10565     modes = src.modes;
10566     pNext = SafePnextCopy(src.pNext);
10567     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10568         presentMask[i] = src.presentMask[i];
10569     }
10570 
10571     return *this;
10572 }
10573 
~safe_VkDeviceGroupPresentCapabilitiesKHR()10574 safe_VkDeviceGroupPresentCapabilitiesKHR::~safe_VkDeviceGroupPresentCapabilitiesKHR()
10575 {
10576     if (pNext)
10577         FreePnextChain(pNext);
10578 }
10579 
initialize(const VkDeviceGroupPresentCapabilitiesKHR * in_struct)10580 void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const VkDeviceGroupPresentCapabilitiesKHR* in_struct)
10581 {
10582     sType = in_struct->sType;
10583     modes = in_struct->modes;
10584     pNext = SafePnextCopy(in_struct->pNext);
10585     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10586         presentMask[i] = in_struct->presentMask[i];
10587     }
10588 }
10589 
initialize(const safe_VkDeviceGroupPresentCapabilitiesKHR * src)10590 void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const safe_VkDeviceGroupPresentCapabilitiesKHR* src)
10591 {
10592     sType = src->sType;
10593     modes = src->modes;
10594     pNext = SafePnextCopy(src->pNext);
10595     for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10596         presentMask[i] = src->presentMask[i];
10597     }
10598 }
10599 
safe_VkDeviceGroupPresentInfoKHR(const VkDeviceGroupPresentInfoKHR * in_struct)10600 safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const VkDeviceGroupPresentInfoKHR* in_struct) :
10601     sType(in_struct->sType),
10602     swapchainCount(in_struct->swapchainCount),
10603     pDeviceMasks(nullptr),
10604     mode(in_struct->mode)
10605 {
10606     pNext = SafePnextCopy(in_struct->pNext);
10607     if (in_struct->pDeviceMasks) {
10608         pDeviceMasks = new uint32_t[in_struct->swapchainCount];
10609         memcpy ((void *)pDeviceMasks, (void *)in_struct->pDeviceMasks, sizeof(uint32_t)*in_struct->swapchainCount);
10610     }
10611 }
10612 
safe_VkDeviceGroupPresentInfoKHR()10613 safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR() :
10614     pNext(nullptr),
10615     pDeviceMasks(nullptr)
10616 {}
10617 
safe_VkDeviceGroupPresentInfoKHR(const safe_VkDeviceGroupPresentInfoKHR & src)10618 safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const safe_VkDeviceGroupPresentInfoKHR& src)
10619 {
10620     sType = src.sType;
10621     swapchainCount = src.swapchainCount;
10622     pDeviceMasks = nullptr;
10623     mode = src.mode;
10624     pNext = SafePnextCopy(src.pNext);
10625     if (src.pDeviceMasks) {
10626         pDeviceMasks = new uint32_t[src.swapchainCount];
10627         memcpy ((void *)pDeviceMasks, (void *)src.pDeviceMasks, sizeof(uint32_t)*src.swapchainCount);
10628     }
10629 }
10630 
operator =(const safe_VkDeviceGroupPresentInfoKHR & src)10631 safe_VkDeviceGroupPresentInfoKHR& safe_VkDeviceGroupPresentInfoKHR::operator=(const safe_VkDeviceGroupPresentInfoKHR& src)
10632 {
10633     if (&src == this) return *this;
10634 
10635     if (pDeviceMasks)
10636         delete[] pDeviceMasks;
10637     if (pNext)
10638         FreePnextChain(pNext);
10639 
10640     sType = src.sType;
10641     swapchainCount = src.swapchainCount;
10642     pDeviceMasks = nullptr;
10643     mode = src.mode;
10644     pNext = SafePnextCopy(src.pNext);
10645     if (src.pDeviceMasks) {
10646         pDeviceMasks = new uint32_t[src.swapchainCount];
10647         memcpy ((void *)pDeviceMasks, (void *)src.pDeviceMasks, sizeof(uint32_t)*src.swapchainCount);
10648     }
10649 
10650     return *this;
10651 }
10652 
~safe_VkDeviceGroupPresentInfoKHR()10653 safe_VkDeviceGroupPresentInfoKHR::~safe_VkDeviceGroupPresentInfoKHR()
10654 {
10655     if (pDeviceMasks)
10656         delete[] pDeviceMasks;
10657     if (pNext)
10658         FreePnextChain(pNext);
10659 }
10660 
initialize(const VkDeviceGroupPresentInfoKHR * in_struct)10661 void safe_VkDeviceGroupPresentInfoKHR::initialize(const VkDeviceGroupPresentInfoKHR* in_struct)
10662 {
10663     sType = in_struct->sType;
10664     swapchainCount = in_struct->swapchainCount;
10665     pDeviceMasks = nullptr;
10666     mode = in_struct->mode;
10667     pNext = SafePnextCopy(in_struct->pNext);
10668     if (in_struct->pDeviceMasks) {
10669         pDeviceMasks = new uint32_t[in_struct->swapchainCount];
10670         memcpy ((void *)pDeviceMasks, (void *)in_struct->pDeviceMasks, sizeof(uint32_t)*in_struct->swapchainCount);
10671     }
10672 }
10673 
initialize(const safe_VkDeviceGroupPresentInfoKHR * src)10674 void safe_VkDeviceGroupPresentInfoKHR::initialize(const safe_VkDeviceGroupPresentInfoKHR* src)
10675 {
10676     sType = src->sType;
10677     swapchainCount = src->swapchainCount;
10678     pDeviceMasks = nullptr;
10679     mode = src->mode;
10680     pNext = SafePnextCopy(src->pNext);
10681     if (src->pDeviceMasks) {
10682         pDeviceMasks = new uint32_t[src->swapchainCount];
10683         memcpy ((void *)pDeviceMasks, (void *)src->pDeviceMasks, sizeof(uint32_t)*src->swapchainCount);
10684     }
10685 }
10686 
safe_VkDeviceGroupSwapchainCreateInfoKHR(const VkDeviceGroupSwapchainCreateInfoKHR * in_struct)10687 safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR(const VkDeviceGroupSwapchainCreateInfoKHR* in_struct) :
10688     sType(in_struct->sType),
10689     modes(in_struct->modes)
10690 {
10691     pNext = SafePnextCopy(in_struct->pNext);
10692 }
10693 
safe_VkDeviceGroupSwapchainCreateInfoKHR()10694 safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR() :
10695     pNext(nullptr)
10696 {}
10697 
safe_VkDeviceGroupSwapchainCreateInfoKHR(const safe_VkDeviceGroupSwapchainCreateInfoKHR & src)10698 safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR(const safe_VkDeviceGroupSwapchainCreateInfoKHR& src)
10699 {
10700     sType = src.sType;
10701     modes = src.modes;
10702     pNext = SafePnextCopy(src.pNext);
10703 }
10704 
operator =(const safe_VkDeviceGroupSwapchainCreateInfoKHR & src)10705 safe_VkDeviceGroupSwapchainCreateInfoKHR& safe_VkDeviceGroupSwapchainCreateInfoKHR::operator=(const safe_VkDeviceGroupSwapchainCreateInfoKHR& src)
10706 {
10707     if (&src == this) return *this;
10708 
10709     if (pNext)
10710         FreePnextChain(pNext);
10711 
10712     sType = src.sType;
10713     modes = src.modes;
10714     pNext = SafePnextCopy(src.pNext);
10715 
10716     return *this;
10717 }
10718 
~safe_VkDeviceGroupSwapchainCreateInfoKHR()10719 safe_VkDeviceGroupSwapchainCreateInfoKHR::~safe_VkDeviceGroupSwapchainCreateInfoKHR()
10720 {
10721     if (pNext)
10722         FreePnextChain(pNext);
10723 }
10724 
initialize(const VkDeviceGroupSwapchainCreateInfoKHR * in_struct)10725 void safe_VkDeviceGroupSwapchainCreateInfoKHR::initialize(const VkDeviceGroupSwapchainCreateInfoKHR* in_struct)
10726 {
10727     sType = in_struct->sType;
10728     modes = in_struct->modes;
10729     pNext = SafePnextCopy(in_struct->pNext);
10730 }
10731 
initialize(const safe_VkDeviceGroupSwapchainCreateInfoKHR * src)10732 void safe_VkDeviceGroupSwapchainCreateInfoKHR::initialize(const safe_VkDeviceGroupSwapchainCreateInfoKHR* src)
10733 {
10734     sType = src->sType;
10735     modes = src->modes;
10736     pNext = SafePnextCopy(src->pNext);
10737 }
10738 
safe_VkDisplayPropertiesKHR(const VkDisplayPropertiesKHR * in_struct)10739 safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR(const VkDisplayPropertiesKHR* in_struct) :
10740     display(in_struct->display),
10741     physicalDimensions(in_struct->physicalDimensions),
10742     physicalResolution(in_struct->physicalResolution),
10743     supportedTransforms(in_struct->supportedTransforms),
10744     planeReorderPossible(in_struct->planeReorderPossible),
10745     persistentContent(in_struct->persistentContent)
10746 {
10747     displayName = SafeStringCopy(in_struct->displayName);
10748 }
10749 
safe_VkDisplayPropertiesKHR()10750 safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR() :
10751     displayName(nullptr)
10752 {}
10753 
safe_VkDisplayPropertiesKHR(const safe_VkDisplayPropertiesKHR & src)10754 safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR(const safe_VkDisplayPropertiesKHR& src)
10755 {
10756     display = src.display;
10757     physicalDimensions = src.physicalDimensions;
10758     physicalResolution = src.physicalResolution;
10759     supportedTransforms = src.supportedTransforms;
10760     planeReorderPossible = src.planeReorderPossible;
10761     persistentContent = src.persistentContent;
10762     displayName = SafeStringCopy(src.displayName);
10763 }
10764 
operator =(const safe_VkDisplayPropertiesKHR & src)10765 safe_VkDisplayPropertiesKHR& safe_VkDisplayPropertiesKHR::operator=(const safe_VkDisplayPropertiesKHR& src)
10766 {
10767     if (&src == this) return *this;
10768 
10769     if (displayName) delete [] displayName;
10770 
10771     display = src.display;
10772     physicalDimensions = src.physicalDimensions;
10773     physicalResolution = src.physicalResolution;
10774     supportedTransforms = src.supportedTransforms;
10775     planeReorderPossible = src.planeReorderPossible;
10776     persistentContent = src.persistentContent;
10777     displayName = SafeStringCopy(src.displayName);
10778 
10779     return *this;
10780 }
10781 
~safe_VkDisplayPropertiesKHR()10782 safe_VkDisplayPropertiesKHR::~safe_VkDisplayPropertiesKHR()
10783 {
10784     if (displayName) delete [] displayName;
10785 }
10786 
initialize(const VkDisplayPropertiesKHR * in_struct)10787 void safe_VkDisplayPropertiesKHR::initialize(const VkDisplayPropertiesKHR* in_struct)
10788 {
10789     display = in_struct->display;
10790     physicalDimensions = in_struct->physicalDimensions;
10791     physicalResolution = in_struct->physicalResolution;
10792     supportedTransforms = in_struct->supportedTransforms;
10793     planeReorderPossible = in_struct->planeReorderPossible;
10794     persistentContent = in_struct->persistentContent;
10795     displayName = SafeStringCopy(in_struct->displayName);
10796 }
10797 
initialize(const safe_VkDisplayPropertiesKHR * src)10798 void safe_VkDisplayPropertiesKHR::initialize(const safe_VkDisplayPropertiesKHR* src)
10799 {
10800     display = src->display;
10801     physicalDimensions = src->physicalDimensions;
10802     physicalResolution = src->physicalResolution;
10803     supportedTransforms = src->supportedTransforms;
10804     planeReorderPossible = src->planeReorderPossible;
10805     persistentContent = src->persistentContent;
10806     displayName = SafeStringCopy(src->displayName);
10807 }
10808 
safe_VkDisplayModeCreateInfoKHR(const VkDisplayModeCreateInfoKHR * in_struct)10809 safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR(const VkDisplayModeCreateInfoKHR* in_struct) :
10810     sType(in_struct->sType),
10811     flags(in_struct->flags),
10812     parameters(in_struct->parameters)
10813 {
10814     pNext = SafePnextCopy(in_struct->pNext);
10815 }
10816 
safe_VkDisplayModeCreateInfoKHR()10817 safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR() :
10818     pNext(nullptr)
10819 {}
10820 
safe_VkDisplayModeCreateInfoKHR(const safe_VkDisplayModeCreateInfoKHR & src)10821 safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR(const safe_VkDisplayModeCreateInfoKHR& src)
10822 {
10823     sType = src.sType;
10824     flags = src.flags;
10825     parameters = src.parameters;
10826     pNext = SafePnextCopy(src.pNext);
10827 }
10828 
operator =(const safe_VkDisplayModeCreateInfoKHR & src)10829 safe_VkDisplayModeCreateInfoKHR& safe_VkDisplayModeCreateInfoKHR::operator=(const safe_VkDisplayModeCreateInfoKHR& src)
10830 {
10831     if (&src == this) return *this;
10832 
10833     if (pNext)
10834         FreePnextChain(pNext);
10835 
10836     sType = src.sType;
10837     flags = src.flags;
10838     parameters = src.parameters;
10839     pNext = SafePnextCopy(src.pNext);
10840 
10841     return *this;
10842 }
10843 
~safe_VkDisplayModeCreateInfoKHR()10844 safe_VkDisplayModeCreateInfoKHR::~safe_VkDisplayModeCreateInfoKHR()
10845 {
10846     if (pNext)
10847         FreePnextChain(pNext);
10848 }
10849 
initialize(const VkDisplayModeCreateInfoKHR * in_struct)10850 void safe_VkDisplayModeCreateInfoKHR::initialize(const VkDisplayModeCreateInfoKHR* in_struct)
10851 {
10852     sType = in_struct->sType;
10853     flags = in_struct->flags;
10854     parameters = in_struct->parameters;
10855     pNext = SafePnextCopy(in_struct->pNext);
10856 }
10857 
initialize(const safe_VkDisplayModeCreateInfoKHR * src)10858 void safe_VkDisplayModeCreateInfoKHR::initialize(const safe_VkDisplayModeCreateInfoKHR* src)
10859 {
10860     sType = src->sType;
10861     flags = src->flags;
10862     parameters = src->parameters;
10863     pNext = SafePnextCopy(src->pNext);
10864 }
10865 
safe_VkDisplaySurfaceCreateInfoKHR(const VkDisplaySurfaceCreateInfoKHR * in_struct)10866 safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const VkDisplaySurfaceCreateInfoKHR* in_struct) :
10867     sType(in_struct->sType),
10868     flags(in_struct->flags),
10869     displayMode(in_struct->displayMode),
10870     planeIndex(in_struct->planeIndex),
10871     planeStackIndex(in_struct->planeStackIndex),
10872     transform(in_struct->transform),
10873     globalAlpha(in_struct->globalAlpha),
10874     alphaMode(in_struct->alphaMode),
10875     imageExtent(in_struct->imageExtent)
10876 {
10877     pNext = SafePnextCopy(in_struct->pNext);
10878 }
10879 
safe_VkDisplaySurfaceCreateInfoKHR()10880 safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR() :
10881     pNext(nullptr)
10882 {}
10883 
safe_VkDisplaySurfaceCreateInfoKHR(const safe_VkDisplaySurfaceCreateInfoKHR & src)10884 safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const safe_VkDisplaySurfaceCreateInfoKHR& src)
10885 {
10886     sType = src.sType;
10887     flags = src.flags;
10888     displayMode = src.displayMode;
10889     planeIndex = src.planeIndex;
10890     planeStackIndex = src.planeStackIndex;
10891     transform = src.transform;
10892     globalAlpha = src.globalAlpha;
10893     alphaMode = src.alphaMode;
10894     imageExtent = src.imageExtent;
10895     pNext = SafePnextCopy(src.pNext);
10896 }
10897 
operator =(const safe_VkDisplaySurfaceCreateInfoKHR & src)10898 safe_VkDisplaySurfaceCreateInfoKHR& safe_VkDisplaySurfaceCreateInfoKHR::operator=(const safe_VkDisplaySurfaceCreateInfoKHR& src)
10899 {
10900     if (&src == this) return *this;
10901 
10902     if (pNext)
10903         FreePnextChain(pNext);
10904 
10905     sType = src.sType;
10906     flags = src.flags;
10907     displayMode = src.displayMode;
10908     planeIndex = src.planeIndex;
10909     planeStackIndex = src.planeStackIndex;
10910     transform = src.transform;
10911     globalAlpha = src.globalAlpha;
10912     alphaMode = src.alphaMode;
10913     imageExtent = src.imageExtent;
10914     pNext = SafePnextCopy(src.pNext);
10915 
10916     return *this;
10917 }
10918 
~safe_VkDisplaySurfaceCreateInfoKHR()10919 safe_VkDisplaySurfaceCreateInfoKHR::~safe_VkDisplaySurfaceCreateInfoKHR()
10920 {
10921     if (pNext)
10922         FreePnextChain(pNext);
10923 }
10924 
initialize(const VkDisplaySurfaceCreateInfoKHR * in_struct)10925 void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const VkDisplaySurfaceCreateInfoKHR* in_struct)
10926 {
10927     sType = in_struct->sType;
10928     flags = in_struct->flags;
10929     displayMode = in_struct->displayMode;
10930     planeIndex = in_struct->planeIndex;
10931     planeStackIndex = in_struct->planeStackIndex;
10932     transform = in_struct->transform;
10933     globalAlpha = in_struct->globalAlpha;
10934     alphaMode = in_struct->alphaMode;
10935     imageExtent = in_struct->imageExtent;
10936     pNext = SafePnextCopy(in_struct->pNext);
10937 }
10938 
initialize(const safe_VkDisplaySurfaceCreateInfoKHR * src)10939 void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const safe_VkDisplaySurfaceCreateInfoKHR* src)
10940 {
10941     sType = src->sType;
10942     flags = src->flags;
10943     displayMode = src->displayMode;
10944     planeIndex = src->planeIndex;
10945     planeStackIndex = src->planeStackIndex;
10946     transform = src->transform;
10947     globalAlpha = src->globalAlpha;
10948     alphaMode = src->alphaMode;
10949     imageExtent = src->imageExtent;
10950     pNext = SafePnextCopy(src->pNext);
10951 }
10952 
safe_VkDisplayPresentInfoKHR(const VkDisplayPresentInfoKHR * in_struct)10953 safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR(const VkDisplayPresentInfoKHR* in_struct) :
10954     sType(in_struct->sType),
10955     srcRect(in_struct->srcRect),
10956     dstRect(in_struct->dstRect),
10957     persistent(in_struct->persistent)
10958 {
10959     pNext = SafePnextCopy(in_struct->pNext);
10960 }
10961 
safe_VkDisplayPresentInfoKHR()10962 safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR() :
10963     pNext(nullptr)
10964 {}
10965 
safe_VkDisplayPresentInfoKHR(const safe_VkDisplayPresentInfoKHR & src)10966 safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR(const safe_VkDisplayPresentInfoKHR& src)
10967 {
10968     sType = src.sType;
10969     srcRect = src.srcRect;
10970     dstRect = src.dstRect;
10971     persistent = src.persistent;
10972     pNext = SafePnextCopy(src.pNext);
10973 }
10974 
operator =(const safe_VkDisplayPresentInfoKHR & src)10975 safe_VkDisplayPresentInfoKHR& safe_VkDisplayPresentInfoKHR::operator=(const safe_VkDisplayPresentInfoKHR& src)
10976 {
10977     if (&src == this) return *this;
10978 
10979     if (pNext)
10980         FreePnextChain(pNext);
10981 
10982     sType = src.sType;
10983     srcRect = src.srcRect;
10984     dstRect = src.dstRect;
10985     persistent = src.persistent;
10986     pNext = SafePnextCopy(src.pNext);
10987 
10988     return *this;
10989 }
10990 
~safe_VkDisplayPresentInfoKHR()10991 safe_VkDisplayPresentInfoKHR::~safe_VkDisplayPresentInfoKHR()
10992 {
10993     if (pNext)
10994         FreePnextChain(pNext);
10995 }
10996 
initialize(const VkDisplayPresentInfoKHR * in_struct)10997 void safe_VkDisplayPresentInfoKHR::initialize(const VkDisplayPresentInfoKHR* in_struct)
10998 {
10999     sType = in_struct->sType;
11000     srcRect = in_struct->srcRect;
11001     dstRect = in_struct->dstRect;
11002     persistent = in_struct->persistent;
11003     pNext = SafePnextCopy(in_struct->pNext);
11004 }
11005 
initialize(const safe_VkDisplayPresentInfoKHR * src)11006 void safe_VkDisplayPresentInfoKHR::initialize(const safe_VkDisplayPresentInfoKHR* src)
11007 {
11008     sType = src->sType;
11009     srcRect = src->srcRect;
11010     dstRect = src->dstRect;
11011     persistent = src->persistent;
11012     pNext = SafePnextCopy(src->pNext);
11013 }
11014 #ifdef VK_USE_PLATFORM_WIN32_KHR
11015 
11016 
safe_VkImportMemoryWin32HandleInfoKHR(const VkImportMemoryWin32HandleInfoKHR * in_struct)11017 safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR(const VkImportMemoryWin32HandleInfoKHR* in_struct) :
11018     sType(in_struct->sType),
11019     handleType(in_struct->handleType),
11020     handle(in_struct->handle),
11021     name(in_struct->name)
11022 {
11023     pNext = SafePnextCopy(in_struct->pNext);
11024 }
11025 
safe_VkImportMemoryWin32HandleInfoKHR()11026 safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR() :
11027     pNext(nullptr)
11028 {}
11029 
safe_VkImportMemoryWin32HandleInfoKHR(const safe_VkImportMemoryWin32HandleInfoKHR & src)11030 safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR(const safe_VkImportMemoryWin32HandleInfoKHR& src)
11031 {
11032     sType = src.sType;
11033     handleType = src.handleType;
11034     handle = src.handle;
11035     name = src.name;
11036     pNext = SafePnextCopy(src.pNext);
11037 }
11038 
operator =(const safe_VkImportMemoryWin32HandleInfoKHR & src)11039 safe_VkImportMemoryWin32HandleInfoKHR& safe_VkImportMemoryWin32HandleInfoKHR::operator=(const safe_VkImportMemoryWin32HandleInfoKHR& src)
11040 {
11041     if (&src == this) return *this;
11042 
11043     if (pNext)
11044         FreePnextChain(pNext);
11045 
11046     sType = src.sType;
11047     handleType = src.handleType;
11048     handle = src.handle;
11049     name = src.name;
11050     pNext = SafePnextCopy(src.pNext);
11051 
11052     return *this;
11053 }
11054 
~safe_VkImportMemoryWin32HandleInfoKHR()11055 safe_VkImportMemoryWin32HandleInfoKHR::~safe_VkImportMemoryWin32HandleInfoKHR()
11056 {
11057     if (pNext)
11058         FreePnextChain(pNext);
11059 }
11060 
initialize(const VkImportMemoryWin32HandleInfoKHR * in_struct)11061 void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const VkImportMemoryWin32HandleInfoKHR* in_struct)
11062 {
11063     sType = in_struct->sType;
11064     handleType = in_struct->handleType;
11065     handle = in_struct->handle;
11066     name = in_struct->name;
11067     pNext = SafePnextCopy(in_struct->pNext);
11068 }
11069 
initialize(const safe_VkImportMemoryWin32HandleInfoKHR * src)11070 void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const safe_VkImportMemoryWin32HandleInfoKHR* src)
11071 {
11072     sType = src->sType;
11073     handleType = src->handleType;
11074     handle = src->handle;
11075     name = src->name;
11076     pNext = SafePnextCopy(src->pNext);
11077 }
11078 #endif // VK_USE_PLATFORM_WIN32_KHR
11079 
11080 #ifdef VK_USE_PLATFORM_WIN32_KHR
11081 
11082 
safe_VkExportMemoryWin32HandleInfoKHR(const VkExportMemoryWin32HandleInfoKHR * in_struct)11083 safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR(const VkExportMemoryWin32HandleInfoKHR* in_struct) :
11084     sType(in_struct->sType),
11085     pAttributes(nullptr),
11086     dwAccess(in_struct->dwAccess),
11087     name(in_struct->name)
11088 {
11089     pNext = SafePnextCopy(in_struct->pNext);
11090     if (in_struct->pAttributes) {
11091         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
11092     }
11093 }
11094 
safe_VkExportMemoryWin32HandleInfoKHR()11095 safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR() :
11096     pNext(nullptr),
11097     pAttributes(nullptr)
11098 {}
11099 
safe_VkExportMemoryWin32HandleInfoKHR(const safe_VkExportMemoryWin32HandleInfoKHR & src)11100 safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR(const safe_VkExportMemoryWin32HandleInfoKHR& src)
11101 {
11102     sType = src.sType;
11103     pAttributes = nullptr;
11104     dwAccess = src.dwAccess;
11105     name = src.name;
11106     pNext = SafePnextCopy(src.pNext);
11107     if (src.pAttributes) {
11108         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
11109     }
11110 }
11111 
operator =(const safe_VkExportMemoryWin32HandleInfoKHR & src)11112 safe_VkExportMemoryWin32HandleInfoKHR& safe_VkExportMemoryWin32HandleInfoKHR::operator=(const safe_VkExportMemoryWin32HandleInfoKHR& src)
11113 {
11114     if (&src == this) return *this;
11115 
11116     if (pAttributes)
11117         delete pAttributes;
11118     if (pNext)
11119         FreePnextChain(pNext);
11120 
11121     sType = src.sType;
11122     pAttributes = nullptr;
11123     dwAccess = src.dwAccess;
11124     name = src.name;
11125     pNext = SafePnextCopy(src.pNext);
11126     if (src.pAttributes) {
11127         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
11128     }
11129 
11130     return *this;
11131 }
11132 
~safe_VkExportMemoryWin32HandleInfoKHR()11133 safe_VkExportMemoryWin32HandleInfoKHR::~safe_VkExportMemoryWin32HandleInfoKHR()
11134 {
11135     if (pAttributes)
11136         delete pAttributes;
11137     if (pNext)
11138         FreePnextChain(pNext);
11139 }
11140 
initialize(const VkExportMemoryWin32HandleInfoKHR * in_struct)11141 void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const VkExportMemoryWin32HandleInfoKHR* in_struct)
11142 {
11143     sType = in_struct->sType;
11144     pAttributes = nullptr;
11145     dwAccess = in_struct->dwAccess;
11146     name = in_struct->name;
11147     pNext = SafePnextCopy(in_struct->pNext);
11148     if (in_struct->pAttributes) {
11149         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
11150     }
11151 }
11152 
initialize(const safe_VkExportMemoryWin32HandleInfoKHR * src)11153 void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const safe_VkExportMemoryWin32HandleInfoKHR* src)
11154 {
11155     sType = src->sType;
11156     pAttributes = nullptr;
11157     dwAccess = src->dwAccess;
11158     name = src->name;
11159     pNext = SafePnextCopy(src->pNext);
11160     if (src->pAttributes) {
11161         pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
11162     }
11163 }
11164 #endif // VK_USE_PLATFORM_WIN32_KHR
11165 
11166 #ifdef VK_USE_PLATFORM_WIN32_KHR
11167 
11168 
safe_VkMemoryWin32HandlePropertiesKHR(const VkMemoryWin32HandlePropertiesKHR * in_struct)11169 safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR(const VkMemoryWin32HandlePropertiesKHR* in_struct) :
11170     sType(in_struct->sType),
11171     memoryTypeBits(in_struct->memoryTypeBits)
11172 {
11173     pNext = SafePnextCopy(in_struct->pNext);
11174 }
11175 
safe_VkMemoryWin32HandlePropertiesKHR()11176 safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR() :
11177     pNext(nullptr)
11178 {}
11179 
safe_VkMemoryWin32HandlePropertiesKHR(const safe_VkMemoryWin32HandlePropertiesKHR & src)11180 safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR(const safe_VkMemoryWin32HandlePropertiesKHR& src)
11181 {
11182     sType = src.sType;
11183     memoryTypeBits = src.memoryTypeBits;
11184     pNext = SafePnextCopy(src.pNext);
11185 }
11186 
operator =(const safe_VkMemoryWin32HandlePropertiesKHR & src)11187 safe_VkMemoryWin32HandlePropertiesKHR& safe_VkMemoryWin32HandlePropertiesKHR::operator=(const safe_VkMemoryWin32HandlePropertiesKHR& src)
11188 {
11189     if (&src == this) return *this;
11190 
11191     if (pNext)
11192         FreePnextChain(pNext);
11193 
11194     sType = src.sType;
11195     memoryTypeBits = src.memoryTypeBits;
11196     pNext = SafePnextCopy(src.pNext);
11197 
11198     return *this;
11199 }
11200 
~safe_VkMemoryWin32HandlePropertiesKHR()11201 safe_VkMemoryWin32HandlePropertiesKHR::~safe_VkMemoryWin32HandlePropertiesKHR()
11202 {
11203     if (pNext)
11204         FreePnextChain(pNext);
11205 }
11206 
initialize(const VkMemoryWin32HandlePropertiesKHR * in_struct)11207 void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const VkMemoryWin32HandlePropertiesKHR* in_struct)
11208 {
11209     sType = in_struct->sType;
11210     memoryTypeBits = in_struct->memoryTypeBits;
11211     pNext = SafePnextCopy(in_struct->pNext);
11212 }
11213 
initialize(const safe_VkMemoryWin32HandlePropertiesKHR * src)11214 void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const safe_VkMemoryWin32HandlePropertiesKHR* src)
11215 {
11216     sType = src->sType;
11217     memoryTypeBits = src->memoryTypeBits;
11218     pNext = SafePnextCopy(src->pNext);
11219 }
11220 #endif // VK_USE_PLATFORM_WIN32_KHR
11221 
11222 #ifdef VK_USE_PLATFORM_WIN32_KHR
11223 
11224 
safe_VkMemoryGetWin32HandleInfoKHR(const VkMemoryGetWin32HandleInfoKHR * in_struct)11225 safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR(const VkMemoryGetWin32HandleInfoKHR* in_struct) :
11226     sType(in_struct->sType),
11227     memory(in_struct->memory),
11228     handleType(in_struct->handleType)
11229 {
11230     pNext = SafePnextCopy(in_struct->pNext);
11231 }
11232 
safe_VkMemoryGetWin32HandleInfoKHR()11233 safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR() :
11234     pNext(nullptr)
11235 {}
11236 
safe_VkMemoryGetWin32HandleInfoKHR(const safe_VkMemoryGetWin32HandleInfoKHR & src)11237 safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR(const safe_VkMemoryGetWin32HandleInfoKHR& src)
11238 {
11239     sType = src.sType;
11240     memory = src.memory;
11241     handleType = src.handleType;
11242     pNext = SafePnextCopy(src.pNext);
11243 }
11244 
operator =(const safe_VkMemoryGetWin32HandleInfoKHR & src)11245 safe_VkMemoryGetWin32HandleInfoKHR& safe_VkMemoryGetWin32HandleInfoKHR::operator=(const safe_VkMemoryGetWin32HandleInfoKHR& src)
11246 {
11247     if (&src == this) return *this;
11248 
11249     if (pNext)
11250         FreePnextChain(pNext);
11251 
11252     sType = src.sType;
11253     memory = src.memory;
11254     handleType = src.handleType;
11255     pNext = SafePnextCopy(src.pNext);
11256 
11257     return *this;
11258 }
11259 
~safe_VkMemoryGetWin32HandleInfoKHR()11260 safe_VkMemoryGetWin32HandleInfoKHR::~safe_VkMemoryGetWin32HandleInfoKHR()
11261 {
11262     if (pNext)
11263         FreePnextChain(pNext);
11264 }
11265 
initialize(const VkMemoryGetWin32HandleInfoKHR * in_struct)11266 void safe_VkMemoryGetWin32HandleInfoKHR::initialize(const VkMemoryGetWin32HandleInfoKHR* in_struct)
11267 {
11268     sType = in_struct->sType;
11269     memory = in_struct->memory;
11270     handleType = in_struct->handleType;
11271     pNext = SafePnextCopy(in_struct->pNext);
11272 }
11273 
initialize(const safe_VkMemoryGetWin32HandleInfoKHR * src)11274 void safe_VkMemoryGetWin32HandleInfoKHR::initialize(const safe_VkMemoryGetWin32HandleInfoKHR* src)
11275 {
11276     sType = src->sType;
11277     memory = src->memory;
11278     handleType = src->handleType;
11279     pNext = SafePnextCopy(src->pNext);
11280 }
11281 #endif // VK_USE_PLATFORM_WIN32_KHR
11282 
11283 
safe_VkImportMemoryFdInfoKHR(const VkImportMemoryFdInfoKHR * in_struct)11284 safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR(const VkImportMemoryFdInfoKHR* in_struct) :
11285     sType(in_struct->sType),
11286     handleType(in_struct->handleType),
11287     fd(in_struct->fd)
11288 {
11289     pNext = SafePnextCopy(in_struct->pNext);
11290 }
11291 
safe_VkImportMemoryFdInfoKHR()11292 safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR() :
11293     pNext(nullptr)
11294 {}
11295 
safe_VkImportMemoryFdInfoKHR(const safe_VkImportMemoryFdInfoKHR & src)11296 safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR(const safe_VkImportMemoryFdInfoKHR& src)
11297 {
11298     sType = src.sType;
11299     handleType = src.handleType;
11300     fd = src.fd;
11301     pNext = SafePnextCopy(src.pNext);
11302 }
11303 
operator =(const safe_VkImportMemoryFdInfoKHR & src)11304 safe_VkImportMemoryFdInfoKHR& safe_VkImportMemoryFdInfoKHR::operator=(const safe_VkImportMemoryFdInfoKHR& src)
11305 {
11306     if (&src == this) return *this;
11307 
11308     if (pNext)
11309         FreePnextChain(pNext);
11310 
11311     sType = src.sType;
11312     handleType = src.handleType;
11313     fd = src.fd;
11314     pNext = SafePnextCopy(src.pNext);
11315 
11316     return *this;
11317 }
11318 
~safe_VkImportMemoryFdInfoKHR()11319 safe_VkImportMemoryFdInfoKHR::~safe_VkImportMemoryFdInfoKHR()
11320 {
11321     if (pNext)
11322         FreePnextChain(pNext);
11323 }
11324 
initialize(const VkImportMemoryFdInfoKHR * in_struct)11325 void safe_VkImportMemoryFdInfoKHR::initialize(const VkImportMemoryFdInfoKHR* in_struct)
11326 {
11327     sType = in_struct->sType;
11328     handleType = in_struct->handleType;
11329     fd = in_struct->fd;
11330     pNext = SafePnextCopy(in_struct->pNext);
11331 }
11332 
initialize(const safe_VkImportMemoryFdInfoKHR * src)11333 void safe_VkImportMemoryFdInfoKHR::initialize(const safe_VkImportMemoryFdInfoKHR* src)
11334 {
11335     sType = src->sType;
11336     handleType = src->handleType;
11337     fd = src->fd;
11338     pNext = SafePnextCopy(src->pNext);
11339 }
11340 
safe_VkMemoryFdPropertiesKHR(const VkMemoryFdPropertiesKHR * in_struct)11341 safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR(const VkMemoryFdPropertiesKHR* in_struct) :
11342     sType(in_struct->sType),
11343     memoryTypeBits(in_struct->memoryTypeBits)
11344 {
11345     pNext = SafePnextCopy(in_struct->pNext);
11346 }
11347 
safe_VkMemoryFdPropertiesKHR()11348 safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR() :
11349     pNext(nullptr)
11350 {}
11351 
safe_VkMemoryFdPropertiesKHR(const safe_VkMemoryFdPropertiesKHR & src)11352 safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR(const safe_VkMemoryFdPropertiesKHR& src)
11353 {
11354     sType = src.sType;
11355     memoryTypeBits = src.memoryTypeBits;
11356     pNext = SafePnextCopy(src.pNext);
11357 }
11358 
operator =(const safe_VkMemoryFdPropertiesKHR & src)11359 safe_VkMemoryFdPropertiesKHR& safe_VkMemoryFdPropertiesKHR::operator=(const safe_VkMemoryFdPropertiesKHR& src)
11360 {
11361     if (&src == this) return *this;
11362 
11363     if (pNext)
11364         FreePnextChain(pNext);
11365 
11366     sType = src.sType;
11367     memoryTypeBits = src.memoryTypeBits;
11368     pNext = SafePnextCopy(src.pNext);
11369 
11370     return *this;
11371 }
11372 
~safe_VkMemoryFdPropertiesKHR()11373 safe_VkMemoryFdPropertiesKHR::~safe_VkMemoryFdPropertiesKHR()
11374 {
11375     if (pNext)
11376         FreePnextChain(pNext);
11377 }
11378 
initialize(const VkMemoryFdPropertiesKHR * in_struct)11379 void safe_VkMemoryFdPropertiesKHR::initialize(const VkMemoryFdPropertiesKHR* in_struct)
11380 {
11381     sType = in_struct->sType;
11382     memoryTypeBits = in_struct->memoryTypeBits;
11383     pNext = SafePnextCopy(in_struct->pNext);
11384 }
11385 
initialize(const safe_VkMemoryFdPropertiesKHR * src)11386 void safe_VkMemoryFdPropertiesKHR::initialize(const safe_VkMemoryFdPropertiesKHR* src)
11387 {
11388     sType = src->sType;
11389     memoryTypeBits = src->memoryTypeBits;
11390     pNext = SafePnextCopy(src->pNext);
11391 }
11392 
safe_VkMemoryGetFdInfoKHR(const VkMemoryGetFdInfoKHR * in_struct)11393 safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR(const VkMemoryGetFdInfoKHR* in_struct) :
11394     sType(in_struct->sType),
11395     memory(in_struct->memory),
11396     handleType(in_struct->handleType)
11397 {
11398     pNext = SafePnextCopy(in_struct->pNext);
11399 }
11400 
safe_VkMemoryGetFdInfoKHR()11401 safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR() :
11402     pNext(nullptr)
11403 {}
11404 
safe_VkMemoryGetFdInfoKHR(const safe_VkMemoryGetFdInfoKHR & src)11405 safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR(const safe_VkMemoryGetFdInfoKHR& src)
11406 {
11407     sType = src.sType;
11408     memory = src.memory;
11409     handleType = src.handleType;
11410     pNext = SafePnextCopy(src.pNext);
11411 }
11412 
operator =(const safe_VkMemoryGetFdInfoKHR & src)11413 safe_VkMemoryGetFdInfoKHR& safe_VkMemoryGetFdInfoKHR::operator=(const safe_VkMemoryGetFdInfoKHR& src)
11414 {
11415     if (&src == this) return *this;
11416 
11417     if (pNext)
11418         FreePnextChain(pNext);
11419 
11420     sType = src.sType;
11421     memory = src.memory;
11422     handleType = src.handleType;
11423     pNext = SafePnextCopy(src.pNext);
11424 
11425     return *this;
11426 }
11427 
~safe_VkMemoryGetFdInfoKHR()11428 safe_VkMemoryGetFdInfoKHR::~safe_VkMemoryGetFdInfoKHR()
11429 {
11430     if (pNext)
11431         FreePnextChain(pNext);
11432 }
11433 
initialize(const VkMemoryGetFdInfoKHR * in_struct)11434 void safe_VkMemoryGetFdInfoKHR::initialize(const VkMemoryGetFdInfoKHR* in_struct)
11435 {
11436     sType = in_struct->sType;
11437     memory = in_struct->memory;
11438     handleType = in_struct->handleType;
11439     pNext = SafePnextCopy(in_struct->pNext);
11440 }
11441 
initialize(const safe_VkMemoryGetFdInfoKHR * src)11442 void safe_VkMemoryGetFdInfoKHR::initialize(const safe_VkMemoryGetFdInfoKHR* src)
11443 {
11444     sType = src->sType;
11445     memory = src->memory;
11446     handleType = src->handleType;
11447     pNext = SafePnextCopy(src->pNext);
11448 }
11449 #ifdef VK_USE_PLATFORM_WIN32_KHR
11450 
11451 
safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const VkWin32KeyedMutexAcquireReleaseInfoKHR * in_struct)11452 safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const VkWin32KeyedMutexAcquireReleaseInfoKHR* in_struct) :
11453     sType(in_struct->sType),
11454     acquireCount(in_struct->acquireCount),
11455     pAcquireSyncs(nullptr),
11456     pAcquireKeys(nullptr),
11457     pAcquireTimeouts(nullptr),
11458     releaseCount(in_struct->releaseCount),
11459     pReleaseSyncs(nullptr),
11460     pReleaseKeys(nullptr)
11461 {
11462     pNext = SafePnextCopy(in_struct->pNext);
11463     if (acquireCount && in_struct->pAcquireSyncs) {
11464         pAcquireSyncs = new VkDeviceMemory[acquireCount];
11465         for (uint32_t i = 0; i < acquireCount; ++i) {
11466             pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
11467         }
11468     }
11469     if (in_struct->pAcquireKeys) {
11470         pAcquireKeys = new uint64_t[in_struct->acquireCount];
11471         memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
11472     }
11473     if (in_struct->pAcquireTimeouts) {
11474         pAcquireTimeouts = new uint32_t[in_struct->acquireCount];
11475         memcpy ((void *)pAcquireTimeouts, (void *)in_struct->pAcquireTimeouts, sizeof(uint32_t)*in_struct->acquireCount);
11476     }
11477     if (releaseCount && in_struct->pReleaseSyncs) {
11478         pReleaseSyncs = new VkDeviceMemory[releaseCount];
11479         for (uint32_t i = 0; i < releaseCount; ++i) {
11480             pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
11481         }
11482     }
11483     if (in_struct->pReleaseKeys) {
11484         pReleaseKeys = new uint64_t[in_struct->releaseCount];
11485         memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
11486     }
11487 }
11488 
safe_VkWin32KeyedMutexAcquireReleaseInfoKHR()11489 safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR() :
11490     pNext(nullptr),
11491     pAcquireSyncs(nullptr),
11492     pAcquireKeys(nullptr),
11493     pAcquireTimeouts(nullptr),
11494     pReleaseSyncs(nullptr),
11495     pReleaseKeys(nullptr)
11496 {}
11497 
safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR & src)11498 safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& src)
11499 {
11500     sType = src.sType;
11501     acquireCount = src.acquireCount;
11502     pAcquireSyncs = nullptr;
11503     pAcquireKeys = nullptr;
11504     pAcquireTimeouts = nullptr;
11505     releaseCount = src.releaseCount;
11506     pReleaseSyncs = nullptr;
11507     pReleaseKeys = nullptr;
11508     pNext = SafePnextCopy(src.pNext);
11509     if (acquireCount && src.pAcquireSyncs) {
11510         pAcquireSyncs = new VkDeviceMemory[acquireCount];
11511         for (uint32_t i = 0; i < acquireCount; ++i) {
11512             pAcquireSyncs[i] = src.pAcquireSyncs[i];
11513         }
11514     }
11515     if (src.pAcquireKeys) {
11516         pAcquireKeys = new uint64_t[src.acquireCount];
11517         memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
11518     }
11519     if (src.pAcquireTimeouts) {
11520         pAcquireTimeouts = new uint32_t[src.acquireCount];
11521         memcpy ((void *)pAcquireTimeouts, (void *)src.pAcquireTimeouts, sizeof(uint32_t)*src.acquireCount);
11522     }
11523     if (releaseCount && src.pReleaseSyncs) {
11524         pReleaseSyncs = new VkDeviceMemory[releaseCount];
11525         for (uint32_t i = 0; i < releaseCount; ++i) {
11526             pReleaseSyncs[i] = src.pReleaseSyncs[i];
11527         }
11528     }
11529     if (src.pReleaseKeys) {
11530         pReleaseKeys = new uint64_t[src.releaseCount];
11531         memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
11532     }
11533 }
11534 
operator =(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR & src)11535 safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::operator=(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& src)
11536 {
11537     if (&src == this) return *this;
11538 
11539     if (pAcquireSyncs)
11540         delete[] pAcquireSyncs;
11541     if (pAcquireKeys)
11542         delete[] pAcquireKeys;
11543     if (pAcquireTimeouts)
11544         delete[] pAcquireTimeouts;
11545     if (pReleaseSyncs)
11546         delete[] pReleaseSyncs;
11547     if (pReleaseKeys)
11548         delete[] pReleaseKeys;
11549     if (pNext)
11550         FreePnextChain(pNext);
11551 
11552     sType = src.sType;
11553     acquireCount = src.acquireCount;
11554     pAcquireSyncs = nullptr;
11555     pAcquireKeys = nullptr;
11556     pAcquireTimeouts = nullptr;
11557     releaseCount = src.releaseCount;
11558     pReleaseSyncs = nullptr;
11559     pReleaseKeys = nullptr;
11560     pNext = SafePnextCopy(src.pNext);
11561     if (acquireCount && src.pAcquireSyncs) {
11562         pAcquireSyncs = new VkDeviceMemory[acquireCount];
11563         for (uint32_t i = 0; i < acquireCount; ++i) {
11564             pAcquireSyncs[i] = src.pAcquireSyncs[i];
11565         }
11566     }
11567     if (src.pAcquireKeys) {
11568         pAcquireKeys = new uint64_t[src.acquireCount];
11569         memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
11570     }
11571     if (src.pAcquireTimeouts) {
11572         pAcquireTimeouts = new uint32_t[src.acquireCount];
11573         memcpy ((void *)pAcquireTimeouts, (void *)src.pAcquireTimeouts, sizeof(uint32_t)*src.acquireCount);
11574     }
11575     if (releaseCount && src.pReleaseSyncs) {
11576         pReleaseSyncs = new VkDeviceMemory[releaseCount];
11577         for (uint32_t i = 0; i < releaseCount; ++i) {
11578             pReleaseSyncs[i] = src.pReleaseSyncs[i];
11579         }
11580     }
11581     if (src.pReleaseKeys) {
11582         pReleaseKeys = new uint64_t[src.releaseCount];
11583         memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
11584     }
11585 
11586     return *this;
11587 }
11588 
~safe_VkWin32KeyedMutexAcquireReleaseInfoKHR()11589 safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::~safe_VkWin32KeyedMutexAcquireReleaseInfoKHR()
11590 {
11591     if (pAcquireSyncs)
11592         delete[] pAcquireSyncs;
11593     if (pAcquireKeys)
11594         delete[] pAcquireKeys;
11595     if (pAcquireTimeouts)
11596         delete[] pAcquireTimeouts;
11597     if (pReleaseSyncs)
11598         delete[] pReleaseSyncs;
11599     if (pReleaseKeys)
11600         delete[] pReleaseKeys;
11601     if (pNext)
11602         FreePnextChain(pNext);
11603 }
11604 
initialize(const VkWin32KeyedMutexAcquireReleaseInfoKHR * in_struct)11605 void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const VkWin32KeyedMutexAcquireReleaseInfoKHR* in_struct)
11606 {
11607     sType = in_struct->sType;
11608     acquireCount = in_struct->acquireCount;
11609     pAcquireSyncs = nullptr;
11610     pAcquireKeys = nullptr;
11611     pAcquireTimeouts = nullptr;
11612     releaseCount = in_struct->releaseCount;
11613     pReleaseSyncs = nullptr;
11614     pReleaseKeys = nullptr;
11615     pNext = SafePnextCopy(in_struct->pNext);
11616     if (acquireCount && in_struct->pAcquireSyncs) {
11617         pAcquireSyncs = new VkDeviceMemory[acquireCount];
11618         for (uint32_t i = 0; i < acquireCount; ++i) {
11619             pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
11620         }
11621     }
11622     if (in_struct->pAcquireKeys) {
11623         pAcquireKeys = new uint64_t[in_struct->acquireCount];
11624         memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
11625     }
11626     if (in_struct->pAcquireTimeouts) {
11627         pAcquireTimeouts = new uint32_t[in_struct->acquireCount];
11628         memcpy ((void *)pAcquireTimeouts, (void *)in_struct->pAcquireTimeouts, sizeof(uint32_t)*in_struct->acquireCount);
11629     }
11630     if (releaseCount && in_struct->pReleaseSyncs) {
11631         pReleaseSyncs = new VkDeviceMemory[releaseCount];
11632         for (uint32_t i = 0; i < releaseCount; ++i) {
11633             pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
11634         }
11635     }
11636     if (in_struct->pReleaseKeys) {
11637         pReleaseKeys = new uint64_t[in_struct->releaseCount];
11638         memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
11639     }
11640 }
11641 
initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR * src)11642 void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR* src)
11643 {
11644     sType = src->sType;
11645     acquireCount = src->acquireCount;
11646     pAcquireSyncs = nullptr;
11647     pAcquireKeys = nullptr;
11648     pAcquireTimeouts = nullptr;
11649     releaseCount = src->releaseCount;
11650     pReleaseSyncs = nullptr;
11651     pReleaseKeys = nullptr;
11652     pNext = SafePnextCopy(src->pNext);
11653     if (acquireCount && src->pAcquireSyncs) {
11654         pAcquireSyncs = new VkDeviceMemory[acquireCount];
11655         for (uint32_t i = 0; i < acquireCount; ++i) {
11656             pAcquireSyncs[i] = src->pAcquireSyncs[i];
11657         }
11658     }
11659     if (src->pAcquireKeys) {
11660         pAcquireKeys = new uint64_t[src->acquireCount];
11661         memcpy ((void *)pAcquireKeys, (void *)src->pAcquireKeys, sizeof(uint64_t)*src->acquireCount);
11662     }
11663     if (src->pAcquireTimeouts) {
11664         pAcquireTimeouts = new uint32_t[src->acquireCount];
11665         memcpy ((void *)pAcquireTimeouts, (void *)src->pAcquireTimeouts, sizeof(uint32_t)*src->acquireCount);
11666     }
11667     if (releaseCount && src->pReleaseSyncs) {
11668         pReleaseSyncs = new VkDeviceMemory[releaseCount];
11669         for (uint32_t i = 0; i < releaseCount; ++i) {
11670             pReleaseSyncs[i] = src->pReleaseSyncs[i];
11671         }
11672     }
11673     if (src->pReleaseKeys) {
11674         pReleaseKeys = new uint64_t[src->releaseCount];
11675         memcpy ((void *)pReleaseKeys, (void *)src->pReleaseKeys, sizeof(uint64_t)*src->releaseCount);
11676     }
11677 }
11678 #endif // VK_USE_PLATFORM_WIN32_KHR
11679 
11680 #ifdef VK_USE_PLATFORM_WIN32_KHR
11681 
11682 
safe_VkImportSemaphoreWin32HandleInfoKHR(const VkImportSemaphoreWin32HandleInfoKHR * in_struct)11683 safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR(const VkImportSemaphoreWin32HandleInfoKHR* in_struct) :
11684     sType(in_struct->sType),
11685     semaphore(in_struct->semaphore),
11686     flags(in_struct->flags),
11687     handleType(in_struct->handleType),
11688     handle(in_struct->handle),
11689     name(in_struct->name)
11690 {
11691     pNext = SafePnextCopy(in_struct->pNext);
11692 }
11693 
safe_VkImportSemaphoreWin32HandleInfoKHR()11694 safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR() :
11695     pNext(nullptr)
11696 {}
11697 
safe_VkImportSemaphoreWin32HandleInfoKHR(const safe_VkImportSemaphoreWin32HandleInfoKHR & src)11698 safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR(const safe_VkImportSemaphoreWin32HandleInfoKHR& src)
11699 {
11700     sType = src.sType;
11701     semaphore = src.semaphore;
11702     flags = src.flags;
11703     handleType = src.handleType;
11704     handle = src.handle;
11705     name = src.name;
11706     pNext = SafePnextCopy(src.pNext);
11707 }
11708 
operator =(const safe_VkImportSemaphoreWin32HandleInfoKHR & src)11709 safe_VkImportSemaphoreWin32HandleInfoKHR& safe_VkImportSemaphoreWin32HandleInfoKHR::operator=(const safe_VkImportSemaphoreWin32HandleInfoKHR& src)
11710 {
11711     if (&src == this) return *this;
11712 
11713     if (pNext)
11714         FreePnextChain(pNext);
11715 
11716     sType = src.sType;
11717     semaphore = src.semaphore;
11718     flags = src.flags;
11719     handleType = src.handleType;
11720     handle = src.handle;
11721     name = src.name;
11722     pNext = SafePnextCopy(src.pNext);
11723 
11724     return *this;
11725 }
11726 
~safe_VkImportSemaphoreWin32HandleInfoKHR()11727 safe_VkImportSemaphoreWin32HandleInfoKHR::~safe_VkImportSemaphoreWin32HandleInfoKHR()
11728 {
11729     if (pNext)
11730         FreePnextChain(pNext);
11731 }
11732 
initialize(const VkImportSemaphoreWin32HandleInfoKHR * in_struct)11733 void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const VkImportSemaphoreWin32HandleInfoKHR* in_struct)
11734 {
11735     sType = in_struct->sType;
11736     semaphore = in_struct->semaphore;
11737     flags = in_struct->flags;
11738     handleType = in_struct->handleType;
11739     handle = in_struct->handle;
11740     name = in_struct->name;
11741     pNext = SafePnextCopy(in_struct->pNext);
11742 }
11743 
initialize(const safe_VkImportSemaphoreWin32HandleInfoKHR * src)11744 void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkImportSemaphoreWin32HandleInfoKHR* src)
11745 {
11746     sType = src->sType;
11747     semaphore = src->semaphore;
11748     flags = src->flags;
11749     handleType = src->handleType;
11750     handle = src->handle;
11751     name = src->name;
11752     pNext = SafePnextCopy(src->pNext);
11753 }
11754 #endif // VK_USE_PLATFORM_WIN32_KHR
11755 
11756 #ifdef VK_USE_PLATFORM_WIN32_KHR
11757 
11758 
safe_VkExportSemaphoreWin32HandleInfoKHR(const VkExportSemaphoreWin32HandleInfoKHR * in_struct)11759 safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR(const VkExportSemaphoreWin32HandleInfoKHR* in_struct) :
11760     sType(in_struct->sType),
11761     pAttributes(nullptr),
11762     dwAccess(in_struct->dwAccess),
11763     name(in_struct->name)
11764 {
11765     pNext = SafePnextCopy(in_struct->pNext);
11766     if (in_struct->pAttributes) {
11767         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
11768     }
11769 }
11770 
safe_VkExportSemaphoreWin32HandleInfoKHR()11771 safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR() :
11772     pNext(nullptr),
11773     pAttributes(nullptr)
11774 {}
11775 
safe_VkExportSemaphoreWin32HandleInfoKHR(const safe_VkExportSemaphoreWin32HandleInfoKHR & src)11776 safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR(const safe_VkExportSemaphoreWin32HandleInfoKHR& src)
11777 {
11778     sType = src.sType;
11779     pAttributes = nullptr;
11780     dwAccess = src.dwAccess;
11781     name = src.name;
11782     pNext = SafePnextCopy(src.pNext);
11783     if (src.pAttributes) {
11784         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
11785     }
11786 }
11787 
operator =(const safe_VkExportSemaphoreWin32HandleInfoKHR & src)11788 safe_VkExportSemaphoreWin32HandleInfoKHR& safe_VkExportSemaphoreWin32HandleInfoKHR::operator=(const safe_VkExportSemaphoreWin32HandleInfoKHR& src)
11789 {
11790     if (&src == this) return *this;
11791 
11792     if (pAttributes)
11793         delete pAttributes;
11794     if (pNext)
11795         FreePnextChain(pNext);
11796 
11797     sType = src.sType;
11798     pAttributes = nullptr;
11799     dwAccess = src.dwAccess;
11800     name = src.name;
11801     pNext = SafePnextCopy(src.pNext);
11802     if (src.pAttributes) {
11803         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
11804     }
11805 
11806     return *this;
11807 }
11808 
~safe_VkExportSemaphoreWin32HandleInfoKHR()11809 safe_VkExportSemaphoreWin32HandleInfoKHR::~safe_VkExportSemaphoreWin32HandleInfoKHR()
11810 {
11811     if (pAttributes)
11812         delete pAttributes;
11813     if (pNext)
11814         FreePnextChain(pNext);
11815 }
11816 
initialize(const VkExportSemaphoreWin32HandleInfoKHR * in_struct)11817 void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const VkExportSemaphoreWin32HandleInfoKHR* in_struct)
11818 {
11819     sType = in_struct->sType;
11820     pAttributes = nullptr;
11821     dwAccess = in_struct->dwAccess;
11822     name = in_struct->name;
11823     pNext = SafePnextCopy(in_struct->pNext);
11824     if (in_struct->pAttributes) {
11825         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
11826     }
11827 }
11828 
initialize(const safe_VkExportSemaphoreWin32HandleInfoKHR * src)11829 void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkExportSemaphoreWin32HandleInfoKHR* src)
11830 {
11831     sType = src->sType;
11832     pAttributes = nullptr;
11833     dwAccess = src->dwAccess;
11834     name = src->name;
11835     pNext = SafePnextCopy(src->pNext);
11836     if (src->pAttributes) {
11837         pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
11838     }
11839 }
11840 #endif // VK_USE_PLATFORM_WIN32_KHR
11841 
11842 #ifdef VK_USE_PLATFORM_WIN32_KHR
11843 
11844 
safe_VkD3D12FenceSubmitInfoKHR(const VkD3D12FenceSubmitInfoKHR * in_struct)11845 safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const VkD3D12FenceSubmitInfoKHR* in_struct) :
11846     sType(in_struct->sType),
11847     waitSemaphoreValuesCount(in_struct->waitSemaphoreValuesCount),
11848     pWaitSemaphoreValues(nullptr),
11849     signalSemaphoreValuesCount(in_struct->signalSemaphoreValuesCount),
11850     pSignalSemaphoreValues(nullptr)
11851 {
11852     pNext = SafePnextCopy(in_struct->pNext);
11853     if (in_struct->pWaitSemaphoreValues) {
11854         pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValuesCount];
11855         memcpy ((void *)pWaitSemaphoreValues, (void *)in_struct->pWaitSemaphoreValues, sizeof(uint64_t)*in_struct->waitSemaphoreValuesCount);
11856     }
11857     if (in_struct->pSignalSemaphoreValues) {
11858         pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValuesCount];
11859         memcpy ((void *)pSignalSemaphoreValues, (void *)in_struct->pSignalSemaphoreValues, sizeof(uint64_t)*in_struct->signalSemaphoreValuesCount);
11860     }
11861 }
11862 
safe_VkD3D12FenceSubmitInfoKHR()11863 safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR() :
11864     pNext(nullptr),
11865     pWaitSemaphoreValues(nullptr),
11866     pSignalSemaphoreValues(nullptr)
11867 {}
11868 
safe_VkD3D12FenceSubmitInfoKHR(const safe_VkD3D12FenceSubmitInfoKHR & src)11869 safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const safe_VkD3D12FenceSubmitInfoKHR& src)
11870 {
11871     sType = src.sType;
11872     waitSemaphoreValuesCount = src.waitSemaphoreValuesCount;
11873     pWaitSemaphoreValues = nullptr;
11874     signalSemaphoreValuesCount = src.signalSemaphoreValuesCount;
11875     pSignalSemaphoreValues = nullptr;
11876     pNext = SafePnextCopy(src.pNext);
11877     if (src.pWaitSemaphoreValues) {
11878         pWaitSemaphoreValues = new uint64_t[src.waitSemaphoreValuesCount];
11879         memcpy ((void *)pWaitSemaphoreValues, (void *)src.pWaitSemaphoreValues, sizeof(uint64_t)*src.waitSemaphoreValuesCount);
11880     }
11881     if (src.pSignalSemaphoreValues) {
11882         pSignalSemaphoreValues = new uint64_t[src.signalSemaphoreValuesCount];
11883         memcpy ((void *)pSignalSemaphoreValues, (void *)src.pSignalSemaphoreValues, sizeof(uint64_t)*src.signalSemaphoreValuesCount);
11884     }
11885 }
11886 
operator =(const safe_VkD3D12FenceSubmitInfoKHR & src)11887 safe_VkD3D12FenceSubmitInfoKHR& safe_VkD3D12FenceSubmitInfoKHR::operator=(const safe_VkD3D12FenceSubmitInfoKHR& src)
11888 {
11889     if (&src == this) return *this;
11890 
11891     if (pWaitSemaphoreValues)
11892         delete[] pWaitSemaphoreValues;
11893     if (pSignalSemaphoreValues)
11894         delete[] pSignalSemaphoreValues;
11895     if (pNext)
11896         FreePnextChain(pNext);
11897 
11898     sType = src.sType;
11899     waitSemaphoreValuesCount = src.waitSemaphoreValuesCount;
11900     pWaitSemaphoreValues = nullptr;
11901     signalSemaphoreValuesCount = src.signalSemaphoreValuesCount;
11902     pSignalSemaphoreValues = nullptr;
11903     pNext = SafePnextCopy(src.pNext);
11904     if (src.pWaitSemaphoreValues) {
11905         pWaitSemaphoreValues = new uint64_t[src.waitSemaphoreValuesCount];
11906         memcpy ((void *)pWaitSemaphoreValues, (void *)src.pWaitSemaphoreValues, sizeof(uint64_t)*src.waitSemaphoreValuesCount);
11907     }
11908     if (src.pSignalSemaphoreValues) {
11909         pSignalSemaphoreValues = new uint64_t[src.signalSemaphoreValuesCount];
11910         memcpy ((void *)pSignalSemaphoreValues, (void *)src.pSignalSemaphoreValues, sizeof(uint64_t)*src.signalSemaphoreValuesCount);
11911     }
11912 
11913     return *this;
11914 }
11915 
~safe_VkD3D12FenceSubmitInfoKHR()11916 safe_VkD3D12FenceSubmitInfoKHR::~safe_VkD3D12FenceSubmitInfoKHR()
11917 {
11918     if (pWaitSemaphoreValues)
11919         delete[] pWaitSemaphoreValues;
11920     if (pSignalSemaphoreValues)
11921         delete[] pSignalSemaphoreValues;
11922     if (pNext)
11923         FreePnextChain(pNext);
11924 }
11925 
initialize(const VkD3D12FenceSubmitInfoKHR * in_struct)11926 void safe_VkD3D12FenceSubmitInfoKHR::initialize(const VkD3D12FenceSubmitInfoKHR* in_struct)
11927 {
11928     sType = in_struct->sType;
11929     waitSemaphoreValuesCount = in_struct->waitSemaphoreValuesCount;
11930     pWaitSemaphoreValues = nullptr;
11931     signalSemaphoreValuesCount = in_struct->signalSemaphoreValuesCount;
11932     pSignalSemaphoreValues = nullptr;
11933     pNext = SafePnextCopy(in_struct->pNext);
11934     if (in_struct->pWaitSemaphoreValues) {
11935         pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValuesCount];
11936         memcpy ((void *)pWaitSemaphoreValues, (void *)in_struct->pWaitSemaphoreValues, sizeof(uint64_t)*in_struct->waitSemaphoreValuesCount);
11937     }
11938     if (in_struct->pSignalSemaphoreValues) {
11939         pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValuesCount];
11940         memcpy ((void *)pSignalSemaphoreValues, (void *)in_struct->pSignalSemaphoreValues, sizeof(uint64_t)*in_struct->signalSemaphoreValuesCount);
11941     }
11942 }
11943 
initialize(const safe_VkD3D12FenceSubmitInfoKHR * src)11944 void safe_VkD3D12FenceSubmitInfoKHR::initialize(const safe_VkD3D12FenceSubmitInfoKHR* src)
11945 {
11946     sType = src->sType;
11947     waitSemaphoreValuesCount = src->waitSemaphoreValuesCount;
11948     pWaitSemaphoreValues = nullptr;
11949     signalSemaphoreValuesCount = src->signalSemaphoreValuesCount;
11950     pSignalSemaphoreValues = nullptr;
11951     pNext = SafePnextCopy(src->pNext);
11952     if (src->pWaitSemaphoreValues) {
11953         pWaitSemaphoreValues = new uint64_t[src->waitSemaphoreValuesCount];
11954         memcpy ((void *)pWaitSemaphoreValues, (void *)src->pWaitSemaphoreValues, sizeof(uint64_t)*src->waitSemaphoreValuesCount);
11955     }
11956     if (src->pSignalSemaphoreValues) {
11957         pSignalSemaphoreValues = new uint64_t[src->signalSemaphoreValuesCount];
11958         memcpy ((void *)pSignalSemaphoreValues, (void *)src->pSignalSemaphoreValues, sizeof(uint64_t)*src->signalSemaphoreValuesCount);
11959     }
11960 }
11961 #endif // VK_USE_PLATFORM_WIN32_KHR
11962 
11963 #ifdef VK_USE_PLATFORM_WIN32_KHR
11964 
11965 
safe_VkSemaphoreGetWin32HandleInfoKHR(const VkSemaphoreGetWin32HandleInfoKHR * in_struct)11966 safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR(const VkSemaphoreGetWin32HandleInfoKHR* in_struct) :
11967     sType(in_struct->sType),
11968     semaphore(in_struct->semaphore),
11969     handleType(in_struct->handleType)
11970 {
11971     pNext = SafePnextCopy(in_struct->pNext);
11972 }
11973 
safe_VkSemaphoreGetWin32HandleInfoKHR()11974 safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR() :
11975     pNext(nullptr)
11976 {}
11977 
safe_VkSemaphoreGetWin32HandleInfoKHR(const safe_VkSemaphoreGetWin32HandleInfoKHR & src)11978 safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR(const safe_VkSemaphoreGetWin32HandleInfoKHR& src)
11979 {
11980     sType = src.sType;
11981     semaphore = src.semaphore;
11982     handleType = src.handleType;
11983     pNext = SafePnextCopy(src.pNext);
11984 }
11985 
operator =(const safe_VkSemaphoreGetWin32HandleInfoKHR & src)11986 safe_VkSemaphoreGetWin32HandleInfoKHR& safe_VkSemaphoreGetWin32HandleInfoKHR::operator=(const safe_VkSemaphoreGetWin32HandleInfoKHR& src)
11987 {
11988     if (&src == this) return *this;
11989 
11990     if (pNext)
11991         FreePnextChain(pNext);
11992 
11993     sType = src.sType;
11994     semaphore = src.semaphore;
11995     handleType = src.handleType;
11996     pNext = SafePnextCopy(src.pNext);
11997 
11998     return *this;
11999 }
12000 
~safe_VkSemaphoreGetWin32HandleInfoKHR()12001 safe_VkSemaphoreGetWin32HandleInfoKHR::~safe_VkSemaphoreGetWin32HandleInfoKHR()
12002 {
12003     if (pNext)
12004         FreePnextChain(pNext);
12005 }
12006 
initialize(const VkSemaphoreGetWin32HandleInfoKHR * in_struct)12007 void safe_VkSemaphoreGetWin32HandleInfoKHR::initialize(const VkSemaphoreGetWin32HandleInfoKHR* in_struct)
12008 {
12009     sType = in_struct->sType;
12010     semaphore = in_struct->semaphore;
12011     handleType = in_struct->handleType;
12012     pNext = SafePnextCopy(in_struct->pNext);
12013 }
12014 
initialize(const safe_VkSemaphoreGetWin32HandleInfoKHR * src)12015 void safe_VkSemaphoreGetWin32HandleInfoKHR::initialize(const safe_VkSemaphoreGetWin32HandleInfoKHR* src)
12016 {
12017     sType = src->sType;
12018     semaphore = src->semaphore;
12019     handleType = src->handleType;
12020     pNext = SafePnextCopy(src->pNext);
12021 }
12022 #endif // VK_USE_PLATFORM_WIN32_KHR
12023 
12024 
safe_VkImportSemaphoreFdInfoKHR(const VkImportSemaphoreFdInfoKHR * in_struct)12025 safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR(const VkImportSemaphoreFdInfoKHR* in_struct) :
12026     sType(in_struct->sType),
12027     semaphore(in_struct->semaphore),
12028     flags(in_struct->flags),
12029     handleType(in_struct->handleType),
12030     fd(in_struct->fd)
12031 {
12032     pNext = SafePnextCopy(in_struct->pNext);
12033 }
12034 
safe_VkImportSemaphoreFdInfoKHR()12035 safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR() :
12036     pNext(nullptr)
12037 {}
12038 
safe_VkImportSemaphoreFdInfoKHR(const safe_VkImportSemaphoreFdInfoKHR & src)12039 safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR(const safe_VkImportSemaphoreFdInfoKHR& src)
12040 {
12041     sType = src.sType;
12042     semaphore = src.semaphore;
12043     flags = src.flags;
12044     handleType = src.handleType;
12045     fd = src.fd;
12046     pNext = SafePnextCopy(src.pNext);
12047 }
12048 
operator =(const safe_VkImportSemaphoreFdInfoKHR & src)12049 safe_VkImportSemaphoreFdInfoKHR& safe_VkImportSemaphoreFdInfoKHR::operator=(const safe_VkImportSemaphoreFdInfoKHR& src)
12050 {
12051     if (&src == this) return *this;
12052 
12053     if (pNext)
12054         FreePnextChain(pNext);
12055 
12056     sType = src.sType;
12057     semaphore = src.semaphore;
12058     flags = src.flags;
12059     handleType = src.handleType;
12060     fd = src.fd;
12061     pNext = SafePnextCopy(src.pNext);
12062 
12063     return *this;
12064 }
12065 
~safe_VkImportSemaphoreFdInfoKHR()12066 safe_VkImportSemaphoreFdInfoKHR::~safe_VkImportSemaphoreFdInfoKHR()
12067 {
12068     if (pNext)
12069         FreePnextChain(pNext);
12070 }
12071 
initialize(const VkImportSemaphoreFdInfoKHR * in_struct)12072 void safe_VkImportSemaphoreFdInfoKHR::initialize(const VkImportSemaphoreFdInfoKHR* in_struct)
12073 {
12074     sType = in_struct->sType;
12075     semaphore = in_struct->semaphore;
12076     flags = in_struct->flags;
12077     handleType = in_struct->handleType;
12078     fd = in_struct->fd;
12079     pNext = SafePnextCopy(in_struct->pNext);
12080 }
12081 
initialize(const safe_VkImportSemaphoreFdInfoKHR * src)12082 void safe_VkImportSemaphoreFdInfoKHR::initialize(const safe_VkImportSemaphoreFdInfoKHR* src)
12083 {
12084     sType = src->sType;
12085     semaphore = src->semaphore;
12086     flags = src->flags;
12087     handleType = src->handleType;
12088     fd = src->fd;
12089     pNext = SafePnextCopy(src->pNext);
12090 }
12091 
safe_VkSemaphoreGetFdInfoKHR(const VkSemaphoreGetFdInfoKHR * in_struct)12092 safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR(const VkSemaphoreGetFdInfoKHR* in_struct) :
12093     sType(in_struct->sType),
12094     semaphore(in_struct->semaphore),
12095     handleType(in_struct->handleType)
12096 {
12097     pNext = SafePnextCopy(in_struct->pNext);
12098 }
12099 
safe_VkSemaphoreGetFdInfoKHR()12100 safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR() :
12101     pNext(nullptr)
12102 {}
12103 
safe_VkSemaphoreGetFdInfoKHR(const safe_VkSemaphoreGetFdInfoKHR & src)12104 safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR(const safe_VkSemaphoreGetFdInfoKHR& src)
12105 {
12106     sType = src.sType;
12107     semaphore = src.semaphore;
12108     handleType = src.handleType;
12109     pNext = SafePnextCopy(src.pNext);
12110 }
12111 
operator =(const safe_VkSemaphoreGetFdInfoKHR & src)12112 safe_VkSemaphoreGetFdInfoKHR& safe_VkSemaphoreGetFdInfoKHR::operator=(const safe_VkSemaphoreGetFdInfoKHR& src)
12113 {
12114     if (&src == this) return *this;
12115 
12116     if (pNext)
12117         FreePnextChain(pNext);
12118 
12119     sType = src.sType;
12120     semaphore = src.semaphore;
12121     handleType = src.handleType;
12122     pNext = SafePnextCopy(src.pNext);
12123 
12124     return *this;
12125 }
12126 
~safe_VkSemaphoreGetFdInfoKHR()12127 safe_VkSemaphoreGetFdInfoKHR::~safe_VkSemaphoreGetFdInfoKHR()
12128 {
12129     if (pNext)
12130         FreePnextChain(pNext);
12131 }
12132 
initialize(const VkSemaphoreGetFdInfoKHR * in_struct)12133 void safe_VkSemaphoreGetFdInfoKHR::initialize(const VkSemaphoreGetFdInfoKHR* in_struct)
12134 {
12135     sType = in_struct->sType;
12136     semaphore = in_struct->semaphore;
12137     handleType = in_struct->handleType;
12138     pNext = SafePnextCopy(in_struct->pNext);
12139 }
12140 
initialize(const safe_VkSemaphoreGetFdInfoKHR * src)12141 void safe_VkSemaphoreGetFdInfoKHR::initialize(const safe_VkSemaphoreGetFdInfoKHR* src)
12142 {
12143     sType = src->sType;
12144     semaphore = src->semaphore;
12145     handleType = src->handleType;
12146     pNext = SafePnextCopy(src->pNext);
12147 }
12148 
safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const VkPhysicalDevicePushDescriptorPropertiesKHR * in_struct)12149 safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const VkPhysicalDevicePushDescriptorPropertiesKHR* in_struct) :
12150     sType(in_struct->sType),
12151     maxPushDescriptors(in_struct->maxPushDescriptors)
12152 {
12153     pNext = SafePnextCopy(in_struct->pNext);
12154 }
12155 
safe_VkPhysicalDevicePushDescriptorPropertiesKHR()12156 safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR() :
12157     pNext(nullptr)
12158 {}
12159 
safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR & src)12160 safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR& src)
12161 {
12162     sType = src.sType;
12163     maxPushDescriptors = src.maxPushDescriptors;
12164     pNext = SafePnextCopy(src.pNext);
12165 }
12166 
operator =(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR & src)12167 safe_VkPhysicalDevicePushDescriptorPropertiesKHR& safe_VkPhysicalDevicePushDescriptorPropertiesKHR::operator=(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR& src)
12168 {
12169     if (&src == this) return *this;
12170 
12171     if (pNext)
12172         FreePnextChain(pNext);
12173 
12174     sType = src.sType;
12175     maxPushDescriptors = src.maxPushDescriptors;
12176     pNext = SafePnextCopy(src.pNext);
12177 
12178     return *this;
12179 }
12180 
~safe_VkPhysicalDevicePushDescriptorPropertiesKHR()12181 safe_VkPhysicalDevicePushDescriptorPropertiesKHR::~safe_VkPhysicalDevicePushDescriptorPropertiesKHR()
12182 {
12183     if (pNext)
12184         FreePnextChain(pNext);
12185 }
12186 
initialize(const VkPhysicalDevicePushDescriptorPropertiesKHR * in_struct)12187 void safe_VkPhysicalDevicePushDescriptorPropertiesKHR::initialize(const VkPhysicalDevicePushDescriptorPropertiesKHR* in_struct)
12188 {
12189     sType = in_struct->sType;
12190     maxPushDescriptors = in_struct->maxPushDescriptors;
12191     pNext = SafePnextCopy(in_struct->pNext);
12192 }
12193 
initialize(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR * src)12194 void safe_VkPhysicalDevicePushDescriptorPropertiesKHR::initialize(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR* src)
12195 {
12196     sType = src->sType;
12197     maxPushDescriptors = src->maxPushDescriptors;
12198     pNext = SafePnextCopy(src->pNext);
12199 }
12200 
safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR * in_struct)12201 safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* in_struct) :
12202     sType(in_struct->sType),
12203     shaderFloat16(in_struct->shaderFloat16),
12204     shaderInt8(in_struct->shaderInt8)
12205 {
12206     pNext = SafePnextCopy(in_struct->pNext);
12207 }
12208 
safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR()12209 safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR() :
12210     pNext(nullptr)
12211 {}
12212 
safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR & src)12213 safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& src)
12214 {
12215     sType = src.sType;
12216     shaderFloat16 = src.shaderFloat16;
12217     shaderInt8 = src.shaderInt8;
12218     pNext = SafePnextCopy(src.pNext);
12219 }
12220 
operator =(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR & src)12221 safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::operator=(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& src)
12222 {
12223     if (&src == this) return *this;
12224 
12225     if (pNext)
12226         FreePnextChain(pNext);
12227 
12228     sType = src.sType;
12229     shaderFloat16 = src.shaderFloat16;
12230     shaderInt8 = src.shaderInt8;
12231     pNext = SafePnextCopy(src.pNext);
12232 
12233     return *this;
12234 }
12235 
~safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR()12236 safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::~safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR()
12237 {
12238     if (pNext)
12239         FreePnextChain(pNext);
12240 }
12241 
initialize(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR * in_struct)12242 void safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::initialize(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* in_struct)
12243 {
12244     sType = in_struct->sType;
12245     shaderFloat16 = in_struct->shaderFloat16;
12246     shaderInt8 = in_struct->shaderInt8;
12247     pNext = SafePnextCopy(in_struct->pNext);
12248 }
12249 
initialize(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR * src)12250 void safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* src)
12251 {
12252     sType = src->sType;
12253     shaderFloat16 = src->shaderFloat16;
12254     shaderInt8 = src->shaderInt8;
12255     pNext = SafePnextCopy(src->pNext);
12256 }
12257 
safe_VkPresentRegionKHR(const VkPresentRegionKHR * in_struct)12258 safe_VkPresentRegionKHR::safe_VkPresentRegionKHR(const VkPresentRegionKHR* in_struct) :
12259     rectangleCount(in_struct->rectangleCount),
12260     pRectangles(nullptr)
12261 {
12262     if (in_struct->pRectangles) {
12263         pRectangles = new VkRectLayerKHR[in_struct->rectangleCount];
12264         memcpy ((void *)pRectangles, (void *)in_struct->pRectangles, sizeof(VkRectLayerKHR)*in_struct->rectangleCount);
12265     }
12266 }
12267 
safe_VkPresentRegionKHR()12268 safe_VkPresentRegionKHR::safe_VkPresentRegionKHR() :
12269     pRectangles(nullptr)
12270 {}
12271 
safe_VkPresentRegionKHR(const safe_VkPresentRegionKHR & src)12272 safe_VkPresentRegionKHR::safe_VkPresentRegionKHR(const safe_VkPresentRegionKHR& src)
12273 {
12274     rectangleCount = src.rectangleCount;
12275     pRectangles = nullptr;
12276     if (src.pRectangles) {
12277         pRectangles = new VkRectLayerKHR[src.rectangleCount];
12278         memcpy ((void *)pRectangles, (void *)src.pRectangles, sizeof(VkRectLayerKHR)*src.rectangleCount);
12279     }
12280 }
12281 
operator =(const safe_VkPresentRegionKHR & src)12282 safe_VkPresentRegionKHR& safe_VkPresentRegionKHR::operator=(const safe_VkPresentRegionKHR& src)
12283 {
12284     if (&src == this) return *this;
12285 
12286     if (pRectangles)
12287         delete[] pRectangles;
12288 
12289     rectangleCount = src.rectangleCount;
12290     pRectangles = nullptr;
12291     if (src.pRectangles) {
12292         pRectangles = new VkRectLayerKHR[src.rectangleCount];
12293         memcpy ((void *)pRectangles, (void *)src.pRectangles, sizeof(VkRectLayerKHR)*src.rectangleCount);
12294     }
12295 
12296     return *this;
12297 }
12298 
~safe_VkPresentRegionKHR()12299 safe_VkPresentRegionKHR::~safe_VkPresentRegionKHR()
12300 {
12301     if (pRectangles)
12302         delete[] pRectangles;
12303 }
12304 
initialize(const VkPresentRegionKHR * in_struct)12305 void safe_VkPresentRegionKHR::initialize(const VkPresentRegionKHR* in_struct)
12306 {
12307     rectangleCount = in_struct->rectangleCount;
12308     pRectangles = nullptr;
12309     if (in_struct->pRectangles) {
12310         pRectangles = new VkRectLayerKHR[in_struct->rectangleCount];
12311         memcpy ((void *)pRectangles, (void *)in_struct->pRectangles, sizeof(VkRectLayerKHR)*in_struct->rectangleCount);
12312     }
12313 }
12314 
initialize(const safe_VkPresentRegionKHR * src)12315 void safe_VkPresentRegionKHR::initialize(const safe_VkPresentRegionKHR* src)
12316 {
12317     rectangleCount = src->rectangleCount;
12318     pRectangles = nullptr;
12319     if (src->pRectangles) {
12320         pRectangles = new VkRectLayerKHR[src->rectangleCount];
12321         memcpy ((void *)pRectangles, (void *)src->pRectangles, sizeof(VkRectLayerKHR)*src->rectangleCount);
12322     }
12323 }
12324 
safe_VkPresentRegionsKHR(const VkPresentRegionsKHR * in_struct)12325 safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR(const VkPresentRegionsKHR* in_struct) :
12326     sType(in_struct->sType),
12327     swapchainCount(in_struct->swapchainCount),
12328     pRegions(nullptr)
12329 {
12330     pNext = SafePnextCopy(in_struct->pNext);
12331     if (swapchainCount && in_struct->pRegions) {
12332         pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12333         for (uint32_t i = 0; i < swapchainCount; ++i) {
12334             pRegions[i].initialize(&in_struct->pRegions[i]);
12335         }
12336     }
12337 }
12338 
safe_VkPresentRegionsKHR()12339 safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR() :
12340     pNext(nullptr),
12341     pRegions(nullptr)
12342 {}
12343 
safe_VkPresentRegionsKHR(const safe_VkPresentRegionsKHR & src)12344 safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR(const safe_VkPresentRegionsKHR& src)
12345 {
12346     sType = src.sType;
12347     swapchainCount = src.swapchainCount;
12348     pRegions = nullptr;
12349     pNext = SafePnextCopy(src.pNext);
12350     if (swapchainCount && src.pRegions) {
12351         pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12352         for (uint32_t i = 0; i < swapchainCount; ++i) {
12353             pRegions[i].initialize(&src.pRegions[i]);
12354         }
12355     }
12356 }
12357 
operator =(const safe_VkPresentRegionsKHR & src)12358 safe_VkPresentRegionsKHR& safe_VkPresentRegionsKHR::operator=(const safe_VkPresentRegionsKHR& src)
12359 {
12360     if (&src == this) return *this;
12361 
12362     if (pRegions)
12363         delete[] pRegions;
12364     if (pNext)
12365         FreePnextChain(pNext);
12366 
12367     sType = src.sType;
12368     swapchainCount = src.swapchainCount;
12369     pRegions = nullptr;
12370     pNext = SafePnextCopy(src.pNext);
12371     if (swapchainCount && src.pRegions) {
12372         pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12373         for (uint32_t i = 0; i < swapchainCount; ++i) {
12374             pRegions[i].initialize(&src.pRegions[i]);
12375         }
12376     }
12377 
12378     return *this;
12379 }
12380 
~safe_VkPresentRegionsKHR()12381 safe_VkPresentRegionsKHR::~safe_VkPresentRegionsKHR()
12382 {
12383     if (pRegions)
12384         delete[] pRegions;
12385     if (pNext)
12386         FreePnextChain(pNext);
12387 }
12388 
initialize(const VkPresentRegionsKHR * in_struct)12389 void safe_VkPresentRegionsKHR::initialize(const VkPresentRegionsKHR* in_struct)
12390 {
12391     sType = in_struct->sType;
12392     swapchainCount = in_struct->swapchainCount;
12393     pRegions = nullptr;
12394     pNext = SafePnextCopy(in_struct->pNext);
12395     if (swapchainCount && in_struct->pRegions) {
12396         pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12397         for (uint32_t i = 0; i < swapchainCount; ++i) {
12398             pRegions[i].initialize(&in_struct->pRegions[i]);
12399         }
12400     }
12401 }
12402 
initialize(const safe_VkPresentRegionsKHR * src)12403 void safe_VkPresentRegionsKHR::initialize(const safe_VkPresentRegionsKHR* src)
12404 {
12405     sType = src->sType;
12406     swapchainCount = src->swapchainCount;
12407     pRegions = nullptr;
12408     pNext = SafePnextCopy(src->pNext);
12409     if (swapchainCount && src->pRegions) {
12410         pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12411         for (uint32_t i = 0; i < swapchainCount; ++i) {
12412             pRegions[i].initialize(&src->pRegions[i]);
12413         }
12414     }
12415 }
12416 
safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR * in_struct)12417 safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR* in_struct) :
12418     sType(in_struct->sType),
12419     imagelessFramebuffer(in_struct->imagelessFramebuffer)
12420 {
12421     pNext = SafePnextCopy(in_struct->pNext);
12422 }
12423 
safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR()12424 safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR() :
12425     pNext(nullptr)
12426 {}
12427 
safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR & src)12428 safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& src)
12429 {
12430     sType = src.sType;
12431     imagelessFramebuffer = src.imagelessFramebuffer;
12432     pNext = SafePnextCopy(src.pNext);
12433 }
12434 
operator =(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR & src)12435 safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::operator=(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& src)
12436 {
12437     if (&src == this) return *this;
12438 
12439     if (pNext)
12440         FreePnextChain(pNext);
12441 
12442     sType = src.sType;
12443     imagelessFramebuffer = src.imagelessFramebuffer;
12444     pNext = SafePnextCopy(src.pNext);
12445 
12446     return *this;
12447 }
12448 
~safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR()12449 safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::~safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR()
12450 {
12451     if (pNext)
12452         FreePnextChain(pNext);
12453 }
12454 
initialize(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR * in_struct)12455 void safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::initialize(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR* in_struct)
12456 {
12457     sType = in_struct->sType;
12458     imagelessFramebuffer = in_struct->imagelessFramebuffer;
12459     pNext = SafePnextCopy(in_struct->pNext);
12460 }
12461 
initialize(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR * src)12462 void safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::initialize(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR* src)
12463 {
12464     sType = src->sType;
12465     imagelessFramebuffer = src->imagelessFramebuffer;
12466     pNext = SafePnextCopy(src->pNext);
12467 }
12468 
safe_VkFramebufferAttachmentImageInfoKHR(const VkFramebufferAttachmentImageInfoKHR * in_struct)12469 safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR(const VkFramebufferAttachmentImageInfoKHR* in_struct) :
12470     sType(in_struct->sType),
12471     flags(in_struct->flags),
12472     usage(in_struct->usage),
12473     width(in_struct->width),
12474     height(in_struct->height),
12475     layerCount(in_struct->layerCount),
12476     viewFormatCount(in_struct->viewFormatCount),
12477     pViewFormats(nullptr)
12478 {
12479     pNext = SafePnextCopy(in_struct->pNext);
12480     if (in_struct->pViewFormats) {
12481         pViewFormats = new VkFormat[in_struct->viewFormatCount];
12482         memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
12483     }
12484 }
12485 
safe_VkFramebufferAttachmentImageInfoKHR()12486 safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR() :
12487     pNext(nullptr),
12488     pViewFormats(nullptr)
12489 {}
12490 
safe_VkFramebufferAttachmentImageInfoKHR(const safe_VkFramebufferAttachmentImageInfoKHR & src)12491 safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR(const safe_VkFramebufferAttachmentImageInfoKHR& src)
12492 {
12493     sType = src.sType;
12494     flags = src.flags;
12495     usage = src.usage;
12496     width = src.width;
12497     height = src.height;
12498     layerCount = src.layerCount;
12499     viewFormatCount = src.viewFormatCount;
12500     pViewFormats = nullptr;
12501     pNext = SafePnextCopy(src.pNext);
12502     if (src.pViewFormats) {
12503         pViewFormats = new VkFormat[src.viewFormatCount];
12504         memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
12505     }
12506 }
12507 
operator =(const safe_VkFramebufferAttachmentImageInfoKHR & src)12508 safe_VkFramebufferAttachmentImageInfoKHR& safe_VkFramebufferAttachmentImageInfoKHR::operator=(const safe_VkFramebufferAttachmentImageInfoKHR& src)
12509 {
12510     if (&src == this) return *this;
12511 
12512     if (pViewFormats)
12513         delete[] pViewFormats;
12514     if (pNext)
12515         FreePnextChain(pNext);
12516 
12517     sType = src.sType;
12518     flags = src.flags;
12519     usage = src.usage;
12520     width = src.width;
12521     height = src.height;
12522     layerCount = src.layerCount;
12523     viewFormatCount = src.viewFormatCount;
12524     pViewFormats = nullptr;
12525     pNext = SafePnextCopy(src.pNext);
12526     if (src.pViewFormats) {
12527         pViewFormats = new VkFormat[src.viewFormatCount];
12528         memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
12529     }
12530 
12531     return *this;
12532 }
12533 
~safe_VkFramebufferAttachmentImageInfoKHR()12534 safe_VkFramebufferAttachmentImageInfoKHR::~safe_VkFramebufferAttachmentImageInfoKHR()
12535 {
12536     if (pViewFormats)
12537         delete[] pViewFormats;
12538     if (pNext)
12539         FreePnextChain(pNext);
12540 }
12541 
initialize(const VkFramebufferAttachmentImageInfoKHR * in_struct)12542 void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const VkFramebufferAttachmentImageInfoKHR* in_struct)
12543 {
12544     sType = in_struct->sType;
12545     flags = in_struct->flags;
12546     usage = in_struct->usage;
12547     width = in_struct->width;
12548     height = in_struct->height;
12549     layerCount = in_struct->layerCount;
12550     viewFormatCount = in_struct->viewFormatCount;
12551     pViewFormats = nullptr;
12552     pNext = SafePnextCopy(in_struct->pNext);
12553     if (in_struct->pViewFormats) {
12554         pViewFormats = new VkFormat[in_struct->viewFormatCount];
12555         memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
12556     }
12557 }
12558 
initialize(const safe_VkFramebufferAttachmentImageInfoKHR * src)12559 void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const safe_VkFramebufferAttachmentImageInfoKHR* src)
12560 {
12561     sType = src->sType;
12562     flags = src->flags;
12563     usage = src->usage;
12564     width = src->width;
12565     height = src->height;
12566     layerCount = src->layerCount;
12567     viewFormatCount = src->viewFormatCount;
12568     pViewFormats = nullptr;
12569     pNext = SafePnextCopy(src->pNext);
12570     if (src->pViewFormats) {
12571         pViewFormats = new VkFormat[src->viewFormatCount];
12572         memcpy ((void *)pViewFormats, (void *)src->pViewFormats, sizeof(VkFormat)*src->viewFormatCount);
12573     }
12574 }
12575 
safe_VkFramebufferAttachmentsCreateInfoKHR(const VkFramebufferAttachmentsCreateInfoKHR * in_struct)12576 safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR(const VkFramebufferAttachmentsCreateInfoKHR* in_struct) :
12577     sType(in_struct->sType),
12578     attachmentImageInfoCount(in_struct->attachmentImageInfoCount),
12579     pAttachmentImageInfos(nullptr)
12580 {
12581     pNext = SafePnextCopy(in_struct->pNext);
12582     if (attachmentImageInfoCount && in_struct->pAttachmentImageInfos) {
12583         pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12584         for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) {
12585             pAttachmentImageInfos[i].initialize(&in_struct->pAttachmentImageInfos[i]);
12586         }
12587     }
12588 }
12589 
safe_VkFramebufferAttachmentsCreateInfoKHR()12590 safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR() :
12591     pNext(nullptr),
12592     pAttachmentImageInfos(nullptr)
12593 {}
12594 
safe_VkFramebufferAttachmentsCreateInfoKHR(const safe_VkFramebufferAttachmentsCreateInfoKHR & src)12595 safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR(const safe_VkFramebufferAttachmentsCreateInfoKHR& src)
12596 {
12597     sType = src.sType;
12598     attachmentImageInfoCount = src.attachmentImageInfoCount;
12599     pAttachmentImageInfos = nullptr;
12600     pNext = SafePnextCopy(src.pNext);
12601     if (attachmentImageInfoCount && src.pAttachmentImageInfos) {
12602         pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12603         for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) {
12604             pAttachmentImageInfos[i].initialize(&src.pAttachmentImageInfos[i]);
12605         }
12606     }
12607 }
12608 
operator =(const safe_VkFramebufferAttachmentsCreateInfoKHR & src)12609 safe_VkFramebufferAttachmentsCreateInfoKHR& safe_VkFramebufferAttachmentsCreateInfoKHR::operator=(const safe_VkFramebufferAttachmentsCreateInfoKHR& src)
12610 {
12611     if (&src == this) return *this;
12612 
12613     if (pAttachmentImageInfos)
12614         delete[] pAttachmentImageInfos;
12615     if (pNext)
12616         FreePnextChain(pNext);
12617 
12618     sType = src.sType;
12619     attachmentImageInfoCount = src.attachmentImageInfoCount;
12620     pAttachmentImageInfos = nullptr;
12621     pNext = SafePnextCopy(src.pNext);
12622     if (attachmentImageInfoCount && src.pAttachmentImageInfos) {
12623         pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12624         for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) {
12625             pAttachmentImageInfos[i].initialize(&src.pAttachmentImageInfos[i]);
12626         }
12627     }
12628 
12629     return *this;
12630 }
12631 
~safe_VkFramebufferAttachmentsCreateInfoKHR()12632 safe_VkFramebufferAttachmentsCreateInfoKHR::~safe_VkFramebufferAttachmentsCreateInfoKHR()
12633 {
12634     if (pAttachmentImageInfos)
12635         delete[] pAttachmentImageInfos;
12636     if (pNext)
12637         FreePnextChain(pNext);
12638 }
12639 
initialize(const VkFramebufferAttachmentsCreateInfoKHR * in_struct)12640 void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const VkFramebufferAttachmentsCreateInfoKHR* in_struct)
12641 {
12642     sType = in_struct->sType;
12643     attachmentImageInfoCount = in_struct->attachmentImageInfoCount;
12644     pAttachmentImageInfos = nullptr;
12645     pNext = SafePnextCopy(in_struct->pNext);
12646     if (attachmentImageInfoCount && in_struct->pAttachmentImageInfos) {
12647         pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12648         for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) {
12649             pAttachmentImageInfos[i].initialize(&in_struct->pAttachmentImageInfos[i]);
12650         }
12651     }
12652 }
12653 
initialize(const safe_VkFramebufferAttachmentsCreateInfoKHR * src)12654 void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const safe_VkFramebufferAttachmentsCreateInfoKHR* src)
12655 {
12656     sType = src->sType;
12657     attachmentImageInfoCount = src->attachmentImageInfoCount;
12658     pAttachmentImageInfos = nullptr;
12659     pNext = SafePnextCopy(src->pNext);
12660     if (attachmentImageInfoCount && src->pAttachmentImageInfos) {
12661         pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12662         for (uint32_t i = 0; i < attachmentImageInfoCount; ++i) {
12663             pAttachmentImageInfos[i].initialize(&src->pAttachmentImageInfos[i]);
12664         }
12665     }
12666 }
12667 
safe_VkRenderPassAttachmentBeginInfoKHR(const VkRenderPassAttachmentBeginInfoKHR * in_struct)12668 safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR(const VkRenderPassAttachmentBeginInfoKHR* in_struct) :
12669     sType(in_struct->sType),
12670     attachmentCount(in_struct->attachmentCount),
12671     pAttachments(nullptr)
12672 {
12673     pNext = SafePnextCopy(in_struct->pNext);
12674     if (attachmentCount && in_struct->pAttachments) {
12675         pAttachments = new VkImageView[attachmentCount];
12676         for (uint32_t i = 0; i < attachmentCount; ++i) {
12677             pAttachments[i] = in_struct->pAttachments[i];
12678         }
12679     }
12680 }
12681 
safe_VkRenderPassAttachmentBeginInfoKHR()12682 safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR() :
12683     pNext(nullptr),
12684     pAttachments(nullptr)
12685 {}
12686 
safe_VkRenderPassAttachmentBeginInfoKHR(const safe_VkRenderPassAttachmentBeginInfoKHR & src)12687 safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR(const safe_VkRenderPassAttachmentBeginInfoKHR& src)
12688 {
12689     sType = src.sType;
12690     attachmentCount = src.attachmentCount;
12691     pAttachments = nullptr;
12692     pNext = SafePnextCopy(src.pNext);
12693     if (attachmentCount && src.pAttachments) {
12694         pAttachments = new VkImageView[attachmentCount];
12695         for (uint32_t i = 0; i < attachmentCount; ++i) {
12696             pAttachments[i] = src.pAttachments[i];
12697         }
12698     }
12699 }
12700 
operator =(const safe_VkRenderPassAttachmentBeginInfoKHR & src)12701 safe_VkRenderPassAttachmentBeginInfoKHR& safe_VkRenderPassAttachmentBeginInfoKHR::operator=(const safe_VkRenderPassAttachmentBeginInfoKHR& src)
12702 {
12703     if (&src == this) return *this;
12704 
12705     if (pAttachments)
12706         delete[] pAttachments;
12707     if (pNext)
12708         FreePnextChain(pNext);
12709 
12710     sType = src.sType;
12711     attachmentCount = src.attachmentCount;
12712     pAttachments = nullptr;
12713     pNext = SafePnextCopy(src.pNext);
12714     if (attachmentCount && src.pAttachments) {
12715         pAttachments = new VkImageView[attachmentCount];
12716         for (uint32_t i = 0; i < attachmentCount; ++i) {
12717             pAttachments[i] = src.pAttachments[i];
12718         }
12719     }
12720 
12721     return *this;
12722 }
12723 
~safe_VkRenderPassAttachmentBeginInfoKHR()12724 safe_VkRenderPassAttachmentBeginInfoKHR::~safe_VkRenderPassAttachmentBeginInfoKHR()
12725 {
12726     if (pAttachments)
12727         delete[] pAttachments;
12728     if (pNext)
12729         FreePnextChain(pNext);
12730 }
12731 
initialize(const VkRenderPassAttachmentBeginInfoKHR * in_struct)12732 void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const VkRenderPassAttachmentBeginInfoKHR* in_struct)
12733 {
12734     sType = in_struct->sType;
12735     attachmentCount = in_struct->attachmentCount;
12736     pAttachments = nullptr;
12737     pNext = SafePnextCopy(in_struct->pNext);
12738     if (attachmentCount && in_struct->pAttachments) {
12739         pAttachments = new VkImageView[attachmentCount];
12740         for (uint32_t i = 0; i < attachmentCount; ++i) {
12741             pAttachments[i] = in_struct->pAttachments[i];
12742         }
12743     }
12744 }
12745 
initialize(const safe_VkRenderPassAttachmentBeginInfoKHR * src)12746 void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const safe_VkRenderPassAttachmentBeginInfoKHR* src)
12747 {
12748     sType = src->sType;
12749     attachmentCount = src->attachmentCount;
12750     pAttachments = nullptr;
12751     pNext = SafePnextCopy(src->pNext);
12752     if (attachmentCount && src->pAttachments) {
12753         pAttachments = new VkImageView[attachmentCount];
12754         for (uint32_t i = 0; i < attachmentCount; ++i) {
12755             pAttachments[i] = src->pAttachments[i];
12756         }
12757     }
12758 }
12759 
safe_VkAttachmentDescription2KHR(const VkAttachmentDescription2KHR * in_struct)12760 safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const VkAttachmentDescription2KHR* in_struct) :
12761     sType(in_struct->sType),
12762     flags(in_struct->flags),
12763     format(in_struct->format),
12764     samples(in_struct->samples),
12765     loadOp(in_struct->loadOp),
12766     storeOp(in_struct->storeOp),
12767     stencilLoadOp(in_struct->stencilLoadOp),
12768     stencilStoreOp(in_struct->stencilStoreOp),
12769     initialLayout(in_struct->initialLayout),
12770     finalLayout(in_struct->finalLayout)
12771 {
12772     pNext = SafePnextCopy(in_struct->pNext);
12773 }
12774 
safe_VkAttachmentDescription2KHR()12775 safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR() :
12776     pNext(nullptr)
12777 {}
12778 
safe_VkAttachmentDescription2KHR(const safe_VkAttachmentDescription2KHR & src)12779 safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const safe_VkAttachmentDescription2KHR& src)
12780 {
12781     sType = src.sType;
12782     flags = src.flags;
12783     format = src.format;
12784     samples = src.samples;
12785     loadOp = src.loadOp;
12786     storeOp = src.storeOp;
12787     stencilLoadOp = src.stencilLoadOp;
12788     stencilStoreOp = src.stencilStoreOp;
12789     initialLayout = src.initialLayout;
12790     finalLayout = src.finalLayout;
12791     pNext = SafePnextCopy(src.pNext);
12792 }
12793 
operator =(const safe_VkAttachmentDescription2KHR & src)12794 safe_VkAttachmentDescription2KHR& safe_VkAttachmentDescription2KHR::operator=(const safe_VkAttachmentDescription2KHR& src)
12795 {
12796     if (&src == this) return *this;
12797 
12798     if (pNext)
12799         FreePnextChain(pNext);
12800 
12801     sType = src.sType;
12802     flags = src.flags;
12803     format = src.format;
12804     samples = src.samples;
12805     loadOp = src.loadOp;
12806     storeOp = src.storeOp;
12807     stencilLoadOp = src.stencilLoadOp;
12808     stencilStoreOp = src.stencilStoreOp;
12809     initialLayout = src.initialLayout;
12810     finalLayout = src.finalLayout;
12811     pNext = SafePnextCopy(src.pNext);
12812 
12813     return *this;
12814 }
12815 
~safe_VkAttachmentDescription2KHR()12816 safe_VkAttachmentDescription2KHR::~safe_VkAttachmentDescription2KHR()
12817 {
12818     if (pNext)
12819         FreePnextChain(pNext);
12820 }
12821 
initialize(const VkAttachmentDescription2KHR * in_struct)12822 void safe_VkAttachmentDescription2KHR::initialize(const VkAttachmentDescription2KHR* in_struct)
12823 {
12824     sType = in_struct->sType;
12825     flags = in_struct->flags;
12826     format = in_struct->format;
12827     samples = in_struct->samples;
12828     loadOp = in_struct->loadOp;
12829     storeOp = in_struct->storeOp;
12830     stencilLoadOp = in_struct->stencilLoadOp;
12831     stencilStoreOp = in_struct->stencilStoreOp;
12832     initialLayout = in_struct->initialLayout;
12833     finalLayout = in_struct->finalLayout;
12834     pNext = SafePnextCopy(in_struct->pNext);
12835 }
12836 
initialize(const safe_VkAttachmentDescription2KHR * src)12837 void safe_VkAttachmentDescription2KHR::initialize(const safe_VkAttachmentDescription2KHR* src)
12838 {
12839     sType = src->sType;
12840     flags = src->flags;
12841     format = src->format;
12842     samples = src->samples;
12843     loadOp = src->loadOp;
12844     storeOp = src->storeOp;
12845     stencilLoadOp = src->stencilLoadOp;
12846     stencilStoreOp = src->stencilStoreOp;
12847     initialLayout = src->initialLayout;
12848     finalLayout = src->finalLayout;
12849     pNext = SafePnextCopy(src->pNext);
12850 }
12851 
safe_VkAttachmentReference2KHR(const VkAttachmentReference2KHR * in_struct)12852 safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR(const VkAttachmentReference2KHR* in_struct) :
12853     sType(in_struct->sType),
12854     attachment(in_struct->attachment),
12855     layout(in_struct->layout),
12856     aspectMask(in_struct->aspectMask)
12857 {
12858     pNext = SafePnextCopy(in_struct->pNext);
12859 }
12860 
safe_VkAttachmentReference2KHR()12861 safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR() :
12862     pNext(nullptr)
12863 {}
12864 
safe_VkAttachmentReference2KHR(const safe_VkAttachmentReference2KHR & src)12865 safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR(const safe_VkAttachmentReference2KHR& src)
12866 {
12867     sType = src.sType;
12868     attachment = src.attachment;
12869     layout = src.layout;
12870     aspectMask = src.aspectMask;
12871     pNext = SafePnextCopy(src.pNext);
12872 }
12873 
operator =(const safe_VkAttachmentReference2KHR & src)12874 safe_VkAttachmentReference2KHR& safe_VkAttachmentReference2KHR::operator=(const safe_VkAttachmentReference2KHR& src)
12875 {
12876     if (&src == this) return *this;
12877 
12878     if (pNext)
12879         FreePnextChain(pNext);
12880 
12881     sType = src.sType;
12882     attachment = src.attachment;
12883     layout = src.layout;
12884     aspectMask = src.aspectMask;
12885     pNext = SafePnextCopy(src.pNext);
12886 
12887     return *this;
12888 }
12889 
~safe_VkAttachmentReference2KHR()12890 safe_VkAttachmentReference2KHR::~safe_VkAttachmentReference2KHR()
12891 {
12892     if (pNext)
12893         FreePnextChain(pNext);
12894 }
12895 
initialize(const VkAttachmentReference2KHR * in_struct)12896 void safe_VkAttachmentReference2KHR::initialize(const VkAttachmentReference2KHR* in_struct)
12897 {
12898     sType = in_struct->sType;
12899     attachment = in_struct->attachment;
12900     layout = in_struct->layout;
12901     aspectMask = in_struct->aspectMask;
12902     pNext = SafePnextCopy(in_struct->pNext);
12903 }
12904 
initialize(const safe_VkAttachmentReference2KHR * src)12905 void safe_VkAttachmentReference2KHR::initialize(const safe_VkAttachmentReference2KHR* src)
12906 {
12907     sType = src->sType;
12908     attachment = src->attachment;
12909     layout = src->layout;
12910     aspectMask = src->aspectMask;
12911     pNext = SafePnextCopy(src->pNext);
12912 }
12913 
safe_VkSubpassDescription2KHR(const VkSubpassDescription2KHR * in_struct)12914 safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const VkSubpassDescription2KHR* in_struct) :
12915     sType(in_struct->sType),
12916     flags(in_struct->flags),
12917     pipelineBindPoint(in_struct->pipelineBindPoint),
12918     viewMask(in_struct->viewMask),
12919     inputAttachmentCount(in_struct->inputAttachmentCount),
12920     pInputAttachments(nullptr),
12921     colorAttachmentCount(in_struct->colorAttachmentCount),
12922     pColorAttachments(nullptr),
12923     pResolveAttachments(nullptr),
12924     pDepthStencilAttachment(nullptr),
12925     preserveAttachmentCount(in_struct->preserveAttachmentCount),
12926     pPreserveAttachments(nullptr)
12927 {
12928     pNext = SafePnextCopy(in_struct->pNext);
12929     if (inputAttachmentCount && in_struct->pInputAttachments) {
12930         pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12931         for (uint32_t i = 0; i < inputAttachmentCount; ++i) {
12932             pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]);
12933         }
12934     }
12935     if (colorAttachmentCount && in_struct->pColorAttachments) {
12936         pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12937         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
12938             pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]);
12939         }
12940     }
12941     if (colorAttachmentCount && in_struct->pResolveAttachments) {
12942         pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12943         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
12944             pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]);
12945         }
12946     }
12947     if (in_struct->pDepthStencilAttachment)
12948         pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilAttachment);
12949     if (in_struct->pPreserveAttachments) {
12950         pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
12951         memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
12952     }
12953 }
12954 
safe_VkSubpassDescription2KHR()12955 safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR() :
12956     pNext(nullptr),
12957     pInputAttachments(nullptr),
12958     pColorAttachments(nullptr),
12959     pResolveAttachments(nullptr),
12960     pDepthStencilAttachment(nullptr),
12961     pPreserveAttachments(nullptr)
12962 {}
12963 
safe_VkSubpassDescription2KHR(const safe_VkSubpassDescription2KHR & src)12964 safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const safe_VkSubpassDescription2KHR& src)
12965 {
12966     sType = src.sType;
12967     flags = src.flags;
12968     pipelineBindPoint = src.pipelineBindPoint;
12969     viewMask = src.viewMask;
12970     inputAttachmentCount = src.inputAttachmentCount;
12971     pInputAttachments = nullptr;
12972     colorAttachmentCount = src.colorAttachmentCount;
12973     pColorAttachments = nullptr;
12974     pResolveAttachments = nullptr;
12975     pDepthStencilAttachment = nullptr;
12976     preserveAttachmentCount = src.preserveAttachmentCount;
12977     pPreserveAttachments = nullptr;
12978     pNext = SafePnextCopy(src.pNext);
12979     if (inputAttachmentCount && src.pInputAttachments) {
12980         pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12981         for (uint32_t i = 0; i < inputAttachmentCount; ++i) {
12982             pInputAttachments[i].initialize(&src.pInputAttachments[i]);
12983         }
12984     }
12985     if (colorAttachmentCount && src.pColorAttachments) {
12986         pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12987         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
12988             pColorAttachments[i].initialize(&src.pColorAttachments[i]);
12989         }
12990     }
12991     if (colorAttachmentCount && src.pResolveAttachments) {
12992         pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12993         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
12994             pResolveAttachments[i].initialize(&src.pResolveAttachments[i]);
12995         }
12996     }
12997     if (src.pDepthStencilAttachment)
12998         pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilAttachment);
12999     if (src.pPreserveAttachments) {
13000         pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
13001         memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
13002     }
13003 }
13004 
operator =(const safe_VkSubpassDescription2KHR & src)13005 safe_VkSubpassDescription2KHR& safe_VkSubpassDescription2KHR::operator=(const safe_VkSubpassDescription2KHR& src)
13006 {
13007     if (&src == this) return *this;
13008 
13009     if (pInputAttachments)
13010         delete[] pInputAttachments;
13011     if (pColorAttachments)
13012         delete[] pColorAttachments;
13013     if (pResolveAttachments)
13014         delete[] pResolveAttachments;
13015     if (pDepthStencilAttachment)
13016         delete pDepthStencilAttachment;
13017     if (pPreserveAttachments)
13018         delete[] pPreserveAttachments;
13019     if (pNext)
13020         FreePnextChain(pNext);
13021 
13022     sType = src.sType;
13023     flags = src.flags;
13024     pipelineBindPoint = src.pipelineBindPoint;
13025     viewMask = src.viewMask;
13026     inputAttachmentCount = src.inputAttachmentCount;
13027     pInputAttachments = nullptr;
13028     colorAttachmentCount = src.colorAttachmentCount;
13029     pColorAttachments = nullptr;
13030     pResolveAttachments = nullptr;
13031     pDepthStencilAttachment = nullptr;
13032     preserveAttachmentCount = src.preserveAttachmentCount;
13033     pPreserveAttachments = nullptr;
13034     pNext = SafePnextCopy(src.pNext);
13035     if (inputAttachmentCount && src.pInputAttachments) {
13036         pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
13037         for (uint32_t i = 0; i < inputAttachmentCount; ++i) {
13038             pInputAttachments[i].initialize(&src.pInputAttachments[i]);
13039         }
13040     }
13041     if (colorAttachmentCount && src.pColorAttachments) {
13042         pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
13043         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
13044             pColorAttachments[i].initialize(&src.pColorAttachments[i]);
13045         }
13046     }
13047     if (colorAttachmentCount && src.pResolveAttachments) {
13048         pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
13049         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
13050             pResolveAttachments[i].initialize(&src.pResolveAttachments[i]);
13051         }
13052     }
13053     if (src.pDepthStencilAttachment)
13054         pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilAttachment);
13055     if (src.pPreserveAttachments) {
13056         pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
13057         memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
13058     }
13059 
13060     return *this;
13061 }
13062 
~safe_VkSubpassDescription2KHR()13063 safe_VkSubpassDescription2KHR::~safe_VkSubpassDescription2KHR()
13064 {
13065     if (pInputAttachments)
13066         delete[] pInputAttachments;
13067     if (pColorAttachments)
13068         delete[] pColorAttachments;
13069     if (pResolveAttachments)
13070         delete[] pResolveAttachments;
13071     if (pDepthStencilAttachment)
13072         delete pDepthStencilAttachment;
13073     if (pPreserveAttachments)
13074         delete[] pPreserveAttachments;
13075     if (pNext)
13076         FreePnextChain(pNext);
13077 }
13078 
initialize(const VkSubpassDescription2KHR * in_struct)13079 void safe_VkSubpassDescription2KHR::initialize(const VkSubpassDescription2KHR* in_struct)
13080 {
13081     sType = in_struct->sType;
13082     flags = in_struct->flags;
13083     pipelineBindPoint = in_struct->pipelineBindPoint;
13084     viewMask = in_struct->viewMask;
13085     inputAttachmentCount = in_struct->inputAttachmentCount;
13086     pInputAttachments = nullptr;
13087     colorAttachmentCount = in_struct->colorAttachmentCount;
13088     pColorAttachments = nullptr;
13089     pResolveAttachments = nullptr;
13090     pDepthStencilAttachment = nullptr;
13091     preserveAttachmentCount = in_struct->preserveAttachmentCount;
13092     pPreserveAttachments = nullptr;
13093     pNext = SafePnextCopy(in_struct->pNext);
13094     if (inputAttachmentCount && in_struct->pInputAttachments) {
13095         pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
13096         for (uint32_t i = 0; i < inputAttachmentCount; ++i) {
13097             pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]);
13098         }
13099     }
13100     if (colorAttachmentCount && in_struct->pColorAttachments) {
13101         pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
13102         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
13103             pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]);
13104         }
13105     }
13106     if (colorAttachmentCount && in_struct->pResolveAttachments) {
13107         pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
13108         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
13109             pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]);
13110         }
13111     }
13112     if (in_struct->pDepthStencilAttachment)
13113         pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilAttachment);
13114     if (in_struct->pPreserveAttachments) {
13115         pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
13116         memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
13117     }
13118 }
13119 
initialize(const safe_VkSubpassDescription2KHR * src)13120 void safe_VkSubpassDescription2KHR::initialize(const safe_VkSubpassDescription2KHR* src)
13121 {
13122     sType = src->sType;
13123     flags = src->flags;
13124     pipelineBindPoint = src->pipelineBindPoint;
13125     viewMask = src->viewMask;
13126     inputAttachmentCount = src->inputAttachmentCount;
13127     pInputAttachments = nullptr;
13128     colorAttachmentCount = src->colorAttachmentCount;
13129     pColorAttachments = nullptr;
13130     pResolveAttachments = nullptr;
13131     pDepthStencilAttachment = nullptr;
13132     preserveAttachmentCount = src->preserveAttachmentCount;
13133     pPreserveAttachments = nullptr;
13134     pNext = SafePnextCopy(src->pNext);
13135     if (inputAttachmentCount && src->pInputAttachments) {
13136         pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
13137         for (uint32_t i = 0; i < inputAttachmentCount; ++i) {
13138             pInputAttachments[i].initialize(&src->pInputAttachments[i]);
13139         }
13140     }
13141     if (colorAttachmentCount && src->pColorAttachments) {
13142         pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
13143         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
13144             pColorAttachments[i].initialize(&src->pColorAttachments[i]);
13145         }
13146     }
13147     if (colorAttachmentCount && src->pResolveAttachments) {
13148         pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
13149         for (uint32_t i = 0; i < colorAttachmentCount; ++i) {
13150             pResolveAttachments[i].initialize(&src->pResolveAttachments[i]);
13151         }
13152     }
13153     if (src->pDepthStencilAttachment)
13154         pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src->pDepthStencilAttachment);
13155     if (src->pPreserveAttachments) {
13156         pPreserveAttachments = new uint32_t[src->preserveAttachmentCount];
13157         memcpy ((void *)pPreserveAttachments, (void *)src->pPreserveAttachments, sizeof(uint32_t)*src->preserveAttachmentCount);
13158     }
13159 }
13160 
safe_VkSubpassDependency2KHR(const VkSubpassDependency2KHR * in_struct)13161 safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const VkSubpassDependency2KHR* in_struct) :
13162     sType(in_struct->sType),
13163     srcSubpass(in_struct->srcSubpass),
13164     dstSubpass(in_struct->dstSubpass),
13165     srcStageMask(in_struct->srcStageMask),
13166     dstStageMask(in_struct->dstStageMask),
13167     srcAccessMask(in_struct->srcAccessMask),
13168     dstAccessMask(in_struct->dstAccessMask),
13169     dependencyFlags(in_struct->dependencyFlags),
13170     viewOffset(in_struct->viewOffset)
13171 {
13172     pNext = SafePnextCopy(in_struct->pNext);
13173 }
13174 
safe_VkSubpassDependency2KHR()13175 safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR() :
13176     pNext(nullptr)
13177 {}
13178 
safe_VkSubpassDependency2KHR(const safe_VkSubpassDependency2KHR & src)13179 safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const safe_VkSubpassDependency2KHR& src)
13180 {
13181     sType = src.sType;
13182     srcSubpass = src.srcSubpass;
13183     dstSubpass = src.dstSubpass;
13184     srcStageMask = src.srcStageMask;
13185     dstStageMask = src.dstStageMask;
13186     srcAccessMask = src.srcAccessMask;
13187     dstAccessMask = src.dstAccessMask;
13188     dependencyFlags = src.dependencyFlags;
13189     viewOffset = src.viewOffset;
13190     pNext = SafePnextCopy(src.pNext);
13191 }
13192 
operator =(const safe_VkSubpassDependency2KHR & src)13193 safe_VkSubpassDependency2KHR& safe_VkSubpassDependency2KHR::operator=(const safe_VkSubpassDependency2KHR& src)
13194 {
13195     if (&src == this) return *this;
13196 
13197     if (pNext)
13198         FreePnextChain(pNext);
13199 
13200     sType = src.sType;
13201     srcSubpass = src.srcSubpass;
13202     dstSubpass = src.dstSubpass;
13203     srcStageMask = src.srcStageMask;
13204     dstStageMask = src.dstStageMask;
13205     srcAccessMask = src.srcAccessMask;
13206     dstAccessMask = src.dstAccessMask;
13207     dependencyFlags = src.dependencyFlags;
13208     viewOffset = src.viewOffset;
13209     pNext = SafePnextCopy(src.pNext);
13210 
13211     return *this;
13212 }
13213 
~safe_VkSubpassDependency2KHR()13214 safe_VkSubpassDependency2KHR::~safe_VkSubpassDependency2KHR()
13215 {
13216     if (pNext)
13217         FreePnextChain(pNext);
13218 }
13219 
initialize(const VkSubpassDependency2KHR * in_struct)13220 void safe_VkSubpassDependency2KHR::initialize(const VkSubpassDependency2KHR* in_struct)
13221 {
13222     sType = in_struct->sType;
13223     srcSubpass = in_struct->srcSubpass;
13224     dstSubpass = in_struct->dstSubpass;
13225     srcStageMask = in_struct->srcStageMask;
13226     dstStageMask = in_struct->dstStageMask;
13227     srcAccessMask = in_struct->srcAccessMask;
13228     dstAccessMask = in_struct->dstAccessMask;
13229     dependencyFlags = in_struct->dependencyFlags;
13230     viewOffset = in_struct->viewOffset;
13231     pNext = SafePnextCopy(in_struct->pNext);
13232 }
13233 
initialize(const safe_VkSubpassDependency2KHR * src)13234 void safe_VkSubpassDependency2KHR::initialize(const safe_VkSubpassDependency2KHR* src)
13235 {
13236     sType = src->sType;
13237     srcSubpass = src->srcSubpass;
13238     dstSubpass = src->dstSubpass;
13239     srcStageMask = src->srcStageMask;
13240     dstStageMask = src->dstStageMask;
13241     srcAccessMask = src->srcAccessMask;
13242     dstAccessMask = src->dstAccessMask;
13243     dependencyFlags = src->dependencyFlags;
13244     viewOffset = src->viewOffset;
13245     pNext = SafePnextCopy(src->pNext);
13246 }
13247 
safe_VkRenderPassCreateInfo2KHR(const VkRenderPassCreateInfo2KHR * in_struct)13248 safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const VkRenderPassCreateInfo2KHR* in_struct) :
13249     sType(in_struct->sType),
13250     flags(in_struct->flags),
13251     attachmentCount(in_struct->attachmentCount),
13252     pAttachments(nullptr),
13253     subpassCount(in_struct->subpassCount),
13254     pSubpasses(nullptr),
13255     dependencyCount(in_struct->dependencyCount),
13256     pDependencies(nullptr),
13257     correlatedViewMaskCount(in_struct->correlatedViewMaskCount),
13258     pCorrelatedViewMasks(nullptr)
13259 {
13260     pNext = SafePnextCopy(in_struct->pNext);
13261     if (attachmentCount && in_struct->pAttachments) {
13262         pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13263         for (uint32_t i = 0; i < attachmentCount; ++i) {
13264             pAttachments[i].initialize(&in_struct->pAttachments[i]);
13265         }
13266     }
13267     if (subpassCount && in_struct->pSubpasses) {
13268         pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13269         for (uint32_t i = 0; i < subpassCount; ++i) {
13270             pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
13271         }
13272     }
13273     if (dependencyCount && in_struct->pDependencies) {
13274         pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13275         for (uint32_t i = 0; i < dependencyCount; ++i) {
13276             pDependencies[i].initialize(&in_struct->pDependencies[i]);
13277         }
13278     }
13279     if (in_struct->pCorrelatedViewMasks) {
13280         pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount];
13281         memcpy ((void *)pCorrelatedViewMasks, (void *)in_struct->pCorrelatedViewMasks, sizeof(uint32_t)*in_struct->correlatedViewMaskCount);
13282     }
13283 }
13284 
safe_VkRenderPassCreateInfo2KHR()13285 safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR() :
13286     pNext(nullptr),
13287     pAttachments(nullptr),
13288     pSubpasses(nullptr),
13289     pDependencies(nullptr),
13290     pCorrelatedViewMasks(nullptr)
13291 {}
13292 
safe_VkRenderPassCreateInfo2KHR(const safe_VkRenderPassCreateInfo2KHR & src)13293 safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const safe_VkRenderPassCreateInfo2KHR& src)
13294 {
13295     sType = src.sType;
13296     flags = src.flags;
13297     attachmentCount = src.attachmentCount;
13298     pAttachments = nullptr;
13299     subpassCount = src.subpassCount;
13300     pSubpasses = nullptr;
13301     dependencyCount = src.dependencyCount;
13302     pDependencies = nullptr;
13303     correlatedViewMaskCount = src.correlatedViewMaskCount;
13304     pCorrelatedViewMasks = nullptr;
13305     pNext = SafePnextCopy(src.pNext);
13306     if (attachmentCount && src.pAttachments) {
13307         pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13308         for (uint32_t i = 0; i < attachmentCount; ++i) {
13309             pAttachments[i].initialize(&src.pAttachments[i]);
13310         }
13311     }
13312     if (subpassCount && src.pSubpasses) {
13313         pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13314         for (uint32_t i = 0; i < subpassCount; ++i) {
13315             pSubpasses[i].initialize(&src.pSubpasses[i]);
13316         }
13317     }
13318     if (dependencyCount && src.pDependencies) {
13319         pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13320         for (uint32_t i = 0; i < dependencyCount; ++i) {
13321             pDependencies[i].initialize(&src.pDependencies[i]);
13322         }
13323     }
13324     if (src.pCorrelatedViewMasks) {
13325         pCorrelatedViewMasks = new uint32_t[src.correlatedViewMaskCount];
13326         memcpy ((void *)pCorrelatedViewMasks, (void *)src.pCorrelatedViewMasks, sizeof(uint32_t)*src.correlatedViewMaskCount);
13327     }
13328 }
13329 
operator =(const safe_VkRenderPassCreateInfo2KHR & src)13330 safe_VkRenderPassCreateInfo2KHR& safe_VkRenderPassCreateInfo2KHR::operator=(const safe_VkRenderPassCreateInfo2KHR& src)
13331 {
13332     if (&src == this) return *this;
13333 
13334     if (pAttachments)
13335         delete[] pAttachments;
13336     if (pSubpasses)
13337         delete[] pSubpasses;
13338     if (pDependencies)
13339         delete[] pDependencies;
13340     if (pCorrelatedViewMasks)
13341         delete[] pCorrelatedViewMasks;
13342     if (pNext)
13343         FreePnextChain(pNext);
13344 
13345     sType = src.sType;
13346     flags = src.flags;
13347     attachmentCount = src.attachmentCount;
13348     pAttachments = nullptr;
13349     subpassCount = src.subpassCount;
13350     pSubpasses = nullptr;
13351     dependencyCount = src.dependencyCount;
13352     pDependencies = nullptr;
13353     correlatedViewMaskCount = src.correlatedViewMaskCount;
13354     pCorrelatedViewMasks = nullptr;
13355     pNext = SafePnextCopy(src.pNext);
13356     if (attachmentCount && src.pAttachments) {
13357         pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13358         for (uint32_t i = 0; i < attachmentCount; ++i) {
13359             pAttachments[i].initialize(&src.pAttachments[i]);
13360         }
13361     }
13362     if (subpassCount && src.pSubpasses) {
13363         pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13364         for (uint32_t i = 0; i < subpassCount; ++i) {
13365             pSubpasses[i].initialize(&src.pSubpasses[i]);
13366         }
13367     }
13368     if (dependencyCount && src.pDependencies) {
13369         pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13370         for (uint32_t i = 0; i < dependencyCount; ++i) {
13371             pDependencies[i].initialize(&src.pDependencies[i]);
13372         }
13373     }
13374     if (src.pCorrelatedViewMasks) {
13375         pCorrelatedViewMasks = new uint32_t[src.correlatedViewMaskCount];
13376         memcpy ((void *)pCorrelatedViewMasks, (void *)src.pCorrelatedViewMasks, sizeof(uint32_t)*src.correlatedViewMaskCount);
13377     }
13378 
13379     return *this;
13380 }
13381 
~safe_VkRenderPassCreateInfo2KHR()13382 safe_VkRenderPassCreateInfo2KHR::~safe_VkRenderPassCreateInfo2KHR()
13383 {
13384     if (pAttachments)
13385         delete[] pAttachments;
13386     if (pSubpasses)
13387         delete[] pSubpasses;
13388     if (pDependencies)
13389         delete[] pDependencies;
13390     if (pCorrelatedViewMasks)
13391         delete[] pCorrelatedViewMasks;
13392     if (pNext)
13393         FreePnextChain(pNext);
13394 }
13395 
initialize(const VkRenderPassCreateInfo2KHR * in_struct)13396 void safe_VkRenderPassCreateInfo2KHR::initialize(const VkRenderPassCreateInfo2KHR* in_struct)
13397 {
13398     sType = in_struct->sType;
13399     flags = in_struct->flags;
13400     attachmentCount = in_struct->attachmentCount;
13401     pAttachments = nullptr;
13402     subpassCount = in_struct->subpassCount;
13403     pSubpasses = nullptr;
13404     dependencyCount = in_struct->dependencyCount;
13405     pDependencies = nullptr;
13406     correlatedViewMaskCount = in_struct->correlatedViewMaskCount;
13407     pCorrelatedViewMasks = nullptr;
13408     pNext = SafePnextCopy(in_struct->pNext);
13409     if (attachmentCount && in_struct->pAttachments) {
13410         pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13411         for (uint32_t i = 0; i < attachmentCount; ++i) {
13412             pAttachments[i].initialize(&in_struct->pAttachments[i]);
13413         }
13414     }
13415     if (subpassCount && in_struct->pSubpasses) {
13416         pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13417         for (uint32_t i = 0; i < subpassCount; ++i) {
13418             pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
13419         }
13420     }
13421     if (dependencyCount && in_struct->pDependencies) {
13422         pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13423         for (uint32_t i = 0; i < dependencyCount; ++i) {
13424             pDependencies[i].initialize(&in_struct->pDependencies[i]);
13425         }
13426     }
13427     if (in_struct->pCorrelatedViewMasks) {
13428         pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount];
13429         memcpy ((void *)pCorrelatedViewMasks, (void *)in_struct->pCorrelatedViewMasks, sizeof(uint32_t)*in_struct->correlatedViewMaskCount);
13430     }
13431 }
13432 
initialize(const safe_VkRenderPassCreateInfo2KHR * src)13433 void safe_VkRenderPassCreateInfo2KHR::initialize(const safe_VkRenderPassCreateInfo2KHR* src)
13434 {
13435     sType = src->sType;
13436     flags = src->flags;
13437     attachmentCount = src->attachmentCount;
13438     pAttachments = nullptr;
13439     subpassCount = src->subpassCount;
13440     pSubpasses = nullptr;
13441     dependencyCount = src->dependencyCount;
13442     pDependencies = nullptr;
13443     correlatedViewMaskCount = src->correlatedViewMaskCount;
13444     pCorrelatedViewMasks = nullptr;
13445     pNext = SafePnextCopy(src->pNext);
13446     if (attachmentCount && src->pAttachments) {
13447         pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13448         for (uint32_t i = 0; i < attachmentCount; ++i) {
13449             pAttachments[i].initialize(&src->pAttachments[i]);
13450         }
13451     }
13452     if (subpassCount && src->pSubpasses) {
13453         pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13454         for (uint32_t i = 0; i < subpassCount; ++i) {
13455             pSubpasses[i].initialize(&src->pSubpasses[i]);
13456         }
13457     }
13458     if (dependencyCount && src->pDependencies) {
13459         pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13460         for (uint32_t i = 0; i < dependencyCount; ++i) {
13461             pDependencies[i].initialize(&src->pDependencies[i]);
13462         }
13463     }
13464     if (src->pCorrelatedViewMasks) {
13465         pCorrelatedViewMasks = new uint32_t[src->correlatedViewMaskCount];
13466         memcpy ((void *)pCorrelatedViewMasks, (void *)src->pCorrelatedViewMasks, sizeof(uint32_t)*src->correlatedViewMaskCount);
13467     }
13468 }
13469 
safe_VkSubpassBeginInfoKHR(const VkSubpassBeginInfoKHR * in_struct)13470 safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR(const VkSubpassBeginInfoKHR* in_struct) :
13471     sType(in_struct->sType),
13472     contents(in_struct->contents)
13473 {
13474     pNext = SafePnextCopy(in_struct->pNext);
13475 }
13476 
safe_VkSubpassBeginInfoKHR()13477 safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR() :
13478     pNext(nullptr)
13479 {}
13480 
safe_VkSubpassBeginInfoKHR(const safe_VkSubpassBeginInfoKHR & src)13481 safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR(const safe_VkSubpassBeginInfoKHR& src)
13482 {
13483     sType = src.sType;
13484     contents = src.contents;
13485     pNext = SafePnextCopy(src.pNext);
13486 }
13487 
operator =(const safe_VkSubpassBeginInfoKHR & src)13488 safe_VkSubpassBeginInfoKHR& safe_VkSubpassBeginInfoKHR::operator=(const safe_VkSubpassBeginInfoKHR& src)
13489 {
13490     if (&src == this) return *this;
13491 
13492     if (pNext)
13493         FreePnextChain(pNext);
13494 
13495     sType = src.sType;
13496     contents = src.contents;
13497     pNext = SafePnextCopy(src.pNext);
13498 
13499     return *this;
13500 }
13501 
~safe_VkSubpassBeginInfoKHR()13502 safe_VkSubpassBeginInfoKHR::~safe_VkSubpassBeginInfoKHR()
13503 {
13504     if (pNext)
13505         FreePnextChain(pNext);
13506 }
13507 
initialize(const VkSubpassBeginInfoKHR * in_struct)13508 void safe_VkSubpassBeginInfoKHR::initialize(const VkSubpassBeginInfoKHR* in_struct)
13509 {
13510     sType = in_struct->sType;
13511     contents = in_struct->contents;
13512     pNext = SafePnextCopy(in_struct->pNext);
13513 }
13514 
initialize(const safe_VkSubpassBeginInfoKHR * src)13515 void safe_VkSubpassBeginInfoKHR::initialize(const safe_VkSubpassBeginInfoKHR* src)
13516 {
13517     sType = src->sType;
13518     contents = src->contents;
13519     pNext = SafePnextCopy(src->pNext);
13520 }
13521 
safe_VkSubpassEndInfoKHR(const VkSubpassEndInfoKHR * in_struct)13522 safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR(const VkSubpassEndInfoKHR* in_struct) :
13523     sType(in_struct->sType)
13524 {
13525     pNext = SafePnextCopy(in_struct->pNext);
13526 }
13527 
safe_VkSubpassEndInfoKHR()13528 safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR() :
13529     pNext(nullptr)
13530 {}
13531 
safe_VkSubpassEndInfoKHR(const safe_VkSubpassEndInfoKHR & src)13532 safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR(const safe_VkSubpassEndInfoKHR& src)
13533 {
13534     sType = src.sType;
13535     pNext = SafePnextCopy(src.pNext);
13536 }
13537 
operator =(const safe_VkSubpassEndInfoKHR & src)13538 safe_VkSubpassEndInfoKHR& safe_VkSubpassEndInfoKHR::operator=(const safe_VkSubpassEndInfoKHR& src)
13539 {
13540     if (&src == this) return *this;
13541 
13542     if (pNext)
13543         FreePnextChain(pNext);
13544 
13545     sType = src.sType;
13546     pNext = SafePnextCopy(src.pNext);
13547 
13548     return *this;
13549 }
13550 
~safe_VkSubpassEndInfoKHR()13551 safe_VkSubpassEndInfoKHR::~safe_VkSubpassEndInfoKHR()
13552 {
13553     if (pNext)
13554         FreePnextChain(pNext);
13555 }
13556 
initialize(const VkSubpassEndInfoKHR * in_struct)13557 void safe_VkSubpassEndInfoKHR::initialize(const VkSubpassEndInfoKHR* in_struct)
13558 {
13559     sType = in_struct->sType;
13560     pNext = SafePnextCopy(in_struct->pNext);
13561 }
13562 
initialize(const safe_VkSubpassEndInfoKHR * src)13563 void safe_VkSubpassEndInfoKHR::initialize(const safe_VkSubpassEndInfoKHR* src)
13564 {
13565     sType = src->sType;
13566     pNext = SafePnextCopy(src->pNext);
13567 }
13568 
safe_VkSharedPresentSurfaceCapabilitiesKHR(const VkSharedPresentSurfaceCapabilitiesKHR * in_struct)13569 safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR(const VkSharedPresentSurfaceCapabilitiesKHR* in_struct) :
13570     sType(in_struct->sType),
13571     sharedPresentSupportedUsageFlags(in_struct->sharedPresentSupportedUsageFlags)
13572 {
13573     pNext = SafePnextCopy(in_struct->pNext);
13574 }
13575 
safe_VkSharedPresentSurfaceCapabilitiesKHR()13576 safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR() :
13577     pNext(nullptr)
13578 {}
13579 
safe_VkSharedPresentSurfaceCapabilitiesKHR(const safe_VkSharedPresentSurfaceCapabilitiesKHR & src)13580 safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR(const safe_VkSharedPresentSurfaceCapabilitiesKHR& src)
13581 {
13582     sType = src.sType;
13583     sharedPresentSupportedUsageFlags = src.sharedPresentSupportedUsageFlags;
13584     pNext = SafePnextCopy(src.pNext);
13585 }
13586 
operator =(const safe_VkSharedPresentSurfaceCapabilitiesKHR & src)13587 safe_VkSharedPresentSurfaceCapabilitiesKHR& safe_VkSharedPresentSurfaceCapabilitiesKHR::operator=(const safe_VkSharedPresentSurfaceCapabilitiesKHR& src)
13588 {
13589     if (&src == this) return *this;
13590 
13591     if (pNext)
13592         FreePnextChain(pNext);
13593 
13594     sType = src.sType;
13595     sharedPresentSupportedUsageFlags = src.sharedPresentSupportedUsageFlags;
13596     pNext = SafePnextCopy(src.pNext);
13597 
13598     return *this;
13599 }
13600 
~safe_VkSharedPresentSurfaceCapabilitiesKHR()13601 safe_VkSharedPresentSurfaceCapabilitiesKHR::~safe_VkSharedPresentSurfaceCapabilitiesKHR()
13602 {
13603     if (pNext)
13604         FreePnextChain(pNext);
13605 }
13606 
initialize(const VkSharedPresentSurfaceCapabilitiesKHR * in_struct)13607 void safe_VkSharedPresentSurfaceCapabilitiesKHR::initialize(const VkSharedPresentSurfaceCapabilitiesKHR* in_struct)
13608 {
13609     sType = in_struct->sType;
13610     sharedPresentSupportedUsageFlags = in_struct->sharedPresentSupportedUsageFlags;
13611     pNext = SafePnextCopy(in_struct->pNext);
13612 }
13613 
initialize(const safe_VkSharedPresentSurfaceCapabilitiesKHR * src)13614 void safe_VkSharedPresentSurfaceCapabilitiesKHR::initialize(const safe_VkSharedPresentSurfaceCapabilitiesKHR* src)
13615 {
13616     sType = src->sType;
13617     sharedPresentSupportedUsageFlags = src->sharedPresentSupportedUsageFlags;
13618     pNext = SafePnextCopy(src->pNext);
13619 }
13620 #ifdef VK_USE_PLATFORM_WIN32_KHR
13621 
13622 
safe_VkImportFenceWin32HandleInfoKHR(const VkImportFenceWin32HandleInfoKHR * in_struct)13623 safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR(const VkImportFenceWin32HandleInfoKHR* in_struct) :
13624     sType(in_struct->sType),
13625     fence(in_struct->fence),
13626     flags(in_struct->flags),
13627     handleType(in_struct->handleType),
13628     handle(in_struct->handle),
13629     name(in_struct->name)
13630 {
13631     pNext = SafePnextCopy(in_struct->pNext);
13632 }
13633 
safe_VkImportFenceWin32HandleInfoKHR()13634 safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR() :
13635     pNext(nullptr)
13636 {}
13637 
safe_VkImportFenceWin32HandleInfoKHR(const safe_VkImportFenceWin32HandleInfoKHR & src)13638 safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR(const safe_VkImportFenceWin32HandleInfoKHR& src)
13639 {
13640     sType = src.sType;
13641     fence = src.fence;
13642     flags = src.flags;
13643     handleType = src.handleType;
13644     handle = src.handle;
13645     name = src.name;
13646     pNext = SafePnextCopy(src.pNext);
13647 }
13648 
operator =(const safe_VkImportFenceWin32HandleInfoKHR & src)13649 safe_VkImportFenceWin32HandleInfoKHR& safe_VkImportFenceWin32HandleInfoKHR::operator=(const safe_VkImportFenceWin32HandleInfoKHR& src)
13650 {
13651     if (&src == this) return *this;
13652 
13653     if (pNext)
13654         FreePnextChain(pNext);
13655 
13656     sType = src.sType;
13657     fence = src.fence;
13658     flags = src.flags;
13659     handleType = src.handleType;
13660     handle = src.handle;
13661     name = src.name;
13662     pNext = SafePnextCopy(src.pNext);
13663 
13664     return *this;
13665 }
13666 
~safe_VkImportFenceWin32HandleInfoKHR()13667 safe_VkImportFenceWin32HandleInfoKHR::~safe_VkImportFenceWin32HandleInfoKHR()
13668 {
13669     if (pNext)
13670         FreePnextChain(pNext);
13671 }
13672 
initialize(const VkImportFenceWin32HandleInfoKHR * in_struct)13673 void safe_VkImportFenceWin32HandleInfoKHR::initialize(const VkImportFenceWin32HandleInfoKHR* in_struct)
13674 {
13675     sType = in_struct->sType;
13676     fence = in_struct->fence;
13677     flags = in_struct->flags;
13678     handleType = in_struct->handleType;
13679     handle = in_struct->handle;
13680     name = in_struct->name;
13681     pNext = SafePnextCopy(in_struct->pNext);
13682 }
13683 
initialize(const safe_VkImportFenceWin32HandleInfoKHR * src)13684 void safe_VkImportFenceWin32HandleInfoKHR::initialize(const safe_VkImportFenceWin32HandleInfoKHR* src)
13685 {
13686     sType = src->sType;
13687     fence = src->fence;
13688     flags = src->flags;
13689     handleType = src->handleType;
13690     handle = src->handle;
13691     name = src->name;
13692     pNext = SafePnextCopy(src->pNext);
13693 }
13694 #endif // VK_USE_PLATFORM_WIN32_KHR
13695 
13696 #ifdef VK_USE_PLATFORM_WIN32_KHR
13697 
13698 
safe_VkExportFenceWin32HandleInfoKHR(const VkExportFenceWin32HandleInfoKHR * in_struct)13699 safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR(const VkExportFenceWin32HandleInfoKHR* in_struct) :
13700     sType(in_struct->sType),
13701     pAttributes(nullptr),
13702     dwAccess(in_struct->dwAccess),
13703     name(in_struct->name)
13704 {
13705     pNext = SafePnextCopy(in_struct->pNext);
13706     if (in_struct->pAttributes) {
13707         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
13708     }
13709 }
13710 
safe_VkExportFenceWin32HandleInfoKHR()13711 safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR() :
13712     pNext(nullptr),
13713     pAttributes(nullptr)
13714 {}
13715 
safe_VkExportFenceWin32HandleInfoKHR(const safe_VkExportFenceWin32HandleInfoKHR & src)13716 safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR(const safe_VkExportFenceWin32HandleInfoKHR& src)
13717 {
13718     sType = src.sType;
13719     pAttributes = nullptr;
13720     dwAccess = src.dwAccess;
13721     name = src.name;
13722     pNext = SafePnextCopy(src.pNext);
13723     if (src.pAttributes) {
13724         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
13725     }
13726 }
13727 
operator =(const safe_VkExportFenceWin32HandleInfoKHR & src)13728 safe_VkExportFenceWin32HandleInfoKHR& safe_VkExportFenceWin32HandleInfoKHR::operator=(const safe_VkExportFenceWin32HandleInfoKHR& src)
13729 {
13730     if (&src == this) return *this;
13731 
13732     if (pAttributes)
13733         delete pAttributes;
13734     if (pNext)
13735         FreePnextChain(pNext);
13736 
13737     sType = src.sType;
13738     pAttributes = nullptr;
13739     dwAccess = src.dwAccess;
13740     name = src.name;
13741     pNext = SafePnextCopy(src.pNext);
13742     if (src.pAttributes) {
13743         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
13744     }
13745 
13746     return *this;
13747 }
13748 
~safe_VkExportFenceWin32HandleInfoKHR()13749 safe_VkExportFenceWin32HandleInfoKHR::~safe_VkExportFenceWin32HandleInfoKHR()
13750 {
13751     if (pAttributes)
13752         delete pAttributes;
13753     if (pNext)
13754         FreePnextChain(pNext);
13755 }
13756 
initialize(const VkExportFenceWin32HandleInfoKHR * in_struct)13757 void safe_VkExportFenceWin32HandleInfoKHR::initialize(const VkExportFenceWin32HandleInfoKHR* in_struct)
13758 {
13759     sType = in_struct->sType;
13760     pAttributes = nullptr;
13761     dwAccess = in_struct->dwAccess;
13762     name = in_struct->name;
13763     pNext = SafePnextCopy(in_struct->pNext);
13764     if (in_struct->pAttributes) {
13765         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
13766     }
13767 }
13768 
initialize(const safe_VkExportFenceWin32HandleInfoKHR * src)13769 void safe_VkExportFenceWin32HandleInfoKHR::initialize(const safe_VkExportFenceWin32HandleInfoKHR* src)
13770 {
13771     sType = src->sType;
13772     pAttributes = nullptr;
13773     dwAccess = src->dwAccess;
13774     name = src->name;
13775     pNext = SafePnextCopy(src->pNext);
13776     if (src->pAttributes) {
13777         pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
13778     }
13779 }
13780 #endif // VK_USE_PLATFORM_WIN32_KHR
13781 
13782 #ifdef VK_USE_PLATFORM_WIN32_KHR
13783 
13784 
safe_VkFenceGetWin32HandleInfoKHR(const VkFenceGetWin32HandleInfoKHR * in_struct)13785 safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR(const VkFenceGetWin32HandleInfoKHR* in_struct) :
13786     sType(in_struct->sType),
13787     fence(in_struct->fence),
13788     handleType(in_struct->handleType)
13789 {
13790     pNext = SafePnextCopy(in_struct->pNext);
13791 }
13792 
safe_VkFenceGetWin32HandleInfoKHR()13793 safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR() :
13794     pNext(nullptr)
13795 {}
13796 
safe_VkFenceGetWin32HandleInfoKHR(const safe_VkFenceGetWin32HandleInfoKHR & src)13797 safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR(const safe_VkFenceGetWin32HandleInfoKHR& src)
13798 {
13799     sType = src.sType;
13800     fence = src.fence;
13801     handleType = src.handleType;
13802     pNext = SafePnextCopy(src.pNext);
13803 }
13804 
operator =(const safe_VkFenceGetWin32HandleInfoKHR & src)13805 safe_VkFenceGetWin32HandleInfoKHR& safe_VkFenceGetWin32HandleInfoKHR::operator=(const safe_VkFenceGetWin32HandleInfoKHR& src)
13806 {
13807     if (&src == this) return *this;
13808 
13809     if (pNext)
13810         FreePnextChain(pNext);
13811 
13812     sType = src.sType;
13813     fence = src.fence;
13814     handleType = src.handleType;
13815     pNext = SafePnextCopy(src.pNext);
13816 
13817     return *this;
13818 }
13819 
~safe_VkFenceGetWin32HandleInfoKHR()13820 safe_VkFenceGetWin32HandleInfoKHR::~safe_VkFenceGetWin32HandleInfoKHR()
13821 {
13822     if (pNext)
13823         FreePnextChain(pNext);
13824 }
13825 
initialize(const VkFenceGetWin32HandleInfoKHR * in_struct)13826 void safe_VkFenceGetWin32HandleInfoKHR::initialize(const VkFenceGetWin32HandleInfoKHR* in_struct)
13827 {
13828     sType = in_struct->sType;
13829     fence = in_struct->fence;
13830     handleType = in_struct->handleType;
13831     pNext = SafePnextCopy(in_struct->pNext);
13832 }
13833 
initialize(const safe_VkFenceGetWin32HandleInfoKHR * src)13834 void safe_VkFenceGetWin32HandleInfoKHR::initialize(const safe_VkFenceGetWin32HandleInfoKHR* src)
13835 {
13836     sType = src->sType;
13837     fence = src->fence;
13838     handleType = src->handleType;
13839     pNext = SafePnextCopy(src->pNext);
13840 }
13841 #endif // VK_USE_PLATFORM_WIN32_KHR
13842 
13843 
safe_VkImportFenceFdInfoKHR(const VkImportFenceFdInfoKHR * in_struct)13844 safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR(const VkImportFenceFdInfoKHR* in_struct) :
13845     sType(in_struct->sType),
13846     fence(in_struct->fence),
13847     flags(in_struct->flags),
13848     handleType(in_struct->handleType),
13849     fd(in_struct->fd)
13850 {
13851     pNext = SafePnextCopy(in_struct->pNext);
13852 }
13853 
safe_VkImportFenceFdInfoKHR()13854 safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR() :
13855     pNext(nullptr)
13856 {}
13857 
safe_VkImportFenceFdInfoKHR(const safe_VkImportFenceFdInfoKHR & src)13858 safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR(const safe_VkImportFenceFdInfoKHR& src)
13859 {
13860     sType = src.sType;
13861     fence = src.fence;
13862     flags = src.flags;
13863     handleType = src.handleType;
13864     fd = src.fd;
13865     pNext = SafePnextCopy(src.pNext);
13866 }
13867 
operator =(const safe_VkImportFenceFdInfoKHR & src)13868 safe_VkImportFenceFdInfoKHR& safe_VkImportFenceFdInfoKHR::operator=(const safe_VkImportFenceFdInfoKHR& src)
13869 {
13870     if (&src == this) return *this;
13871 
13872     if (pNext)
13873         FreePnextChain(pNext);
13874 
13875     sType = src.sType;
13876     fence = src.fence;
13877     flags = src.flags;
13878     handleType = src.handleType;
13879     fd = src.fd;
13880     pNext = SafePnextCopy(src.pNext);
13881 
13882     return *this;
13883 }
13884 
~safe_VkImportFenceFdInfoKHR()13885 safe_VkImportFenceFdInfoKHR::~safe_VkImportFenceFdInfoKHR()
13886 {
13887     if (pNext)
13888         FreePnextChain(pNext);
13889 }
13890 
initialize(const VkImportFenceFdInfoKHR * in_struct)13891 void safe_VkImportFenceFdInfoKHR::initialize(const VkImportFenceFdInfoKHR* in_struct)
13892 {
13893     sType = in_struct->sType;
13894     fence = in_struct->fence;
13895     flags = in_struct->flags;
13896     handleType = in_struct->handleType;
13897     fd = in_struct->fd;
13898     pNext = SafePnextCopy(in_struct->pNext);
13899 }
13900 
initialize(const safe_VkImportFenceFdInfoKHR * src)13901 void safe_VkImportFenceFdInfoKHR::initialize(const safe_VkImportFenceFdInfoKHR* src)
13902 {
13903     sType = src->sType;
13904     fence = src->fence;
13905     flags = src->flags;
13906     handleType = src->handleType;
13907     fd = src->fd;
13908     pNext = SafePnextCopy(src->pNext);
13909 }
13910 
safe_VkFenceGetFdInfoKHR(const VkFenceGetFdInfoKHR * in_struct)13911 safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR(const VkFenceGetFdInfoKHR* in_struct) :
13912     sType(in_struct->sType),
13913     fence(in_struct->fence),
13914     handleType(in_struct->handleType)
13915 {
13916     pNext = SafePnextCopy(in_struct->pNext);
13917 }
13918 
safe_VkFenceGetFdInfoKHR()13919 safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR() :
13920     pNext(nullptr)
13921 {}
13922 
safe_VkFenceGetFdInfoKHR(const safe_VkFenceGetFdInfoKHR & src)13923 safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR(const safe_VkFenceGetFdInfoKHR& src)
13924 {
13925     sType = src.sType;
13926     fence = src.fence;
13927     handleType = src.handleType;
13928     pNext = SafePnextCopy(src.pNext);
13929 }
13930 
operator =(const safe_VkFenceGetFdInfoKHR & src)13931 safe_VkFenceGetFdInfoKHR& safe_VkFenceGetFdInfoKHR::operator=(const safe_VkFenceGetFdInfoKHR& src)
13932 {
13933     if (&src == this) return *this;
13934 
13935     if (pNext)
13936         FreePnextChain(pNext);
13937 
13938     sType = src.sType;
13939     fence = src.fence;
13940     handleType = src.handleType;
13941     pNext = SafePnextCopy(src.pNext);
13942 
13943     return *this;
13944 }
13945 
~safe_VkFenceGetFdInfoKHR()13946 safe_VkFenceGetFdInfoKHR::~safe_VkFenceGetFdInfoKHR()
13947 {
13948     if (pNext)
13949         FreePnextChain(pNext);
13950 }
13951 
initialize(const VkFenceGetFdInfoKHR * in_struct)13952 void safe_VkFenceGetFdInfoKHR::initialize(const VkFenceGetFdInfoKHR* in_struct)
13953 {
13954     sType = in_struct->sType;
13955     fence = in_struct->fence;
13956     handleType = in_struct->handleType;
13957     pNext = SafePnextCopy(in_struct->pNext);
13958 }
13959 
initialize(const safe_VkFenceGetFdInfoKHR * src)13960 void safe_VkFenceGetFdInfoKHR::initialize(const safe_VkFenceGetFdInfoKHR* src)
13961 {
13962     sType = src->sType;
13963     fence = src->fence;
13964     handleType = src->handleType;
13965     pNext = SafePnextCopy(src->pNext);
13966 }
13967 
safe_VkPhysicalDeviceSurfaceInfo2KHR(const VkPhysicalDeviceSurfaceInfo2KHR * in_struct)13968 safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR(const VkPhysicalDeviceSurfaceInfo2KHR* in_struct) :
13969     sType(in_struct->sType),
13970     surface(in_struct->surface)
13971 {
13972     pNext = SafePnextCopy(in_struct->pNext);
13973 }
13974 
safe_VkPhysicalDeviceSurfaceInfo2KHR()13975 safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR() :
13976     pNext(nullptr)
13977 {}
13978 
safe_VkPhysicalDeviceSurfaceInfo2KHR(const safe_VkPhysicalDeviceSurfaceInfo2KHR & src)13979 safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR(const safe_VkPhysicalDeviceSurfaceInfo2KHR& src)
13980 {
13981     sType = src.sType;
13982     surface = src.surface;
13983     pNext = SafePnextCopy(src.pNext);
13984 }
13985 
operator =(const safe_VkPhysicalDeviceSurfaceInfo2KHR & src)13986 safe_VkPhysicalDeviceSurfaceInfo2KHR& safe_VkPhysicalDeviceSurfaceInfo2KHR::operator=(const safe_VkPhysicalDeviceSurfaceInfo2KHR& src)
13987 {
13988     if (&src == this) return *this;
13989 
13990     if (pNext)
13991         FreePnextChain(pNext);
13992 
13993     sType = src.sType;
13994     surface = src.surface;
13995     pNext = SafePnextCopy(src.pNext);
13996 
13997     return *this;
13998 }
13999 
~safe_VkPhysicalDeviceSurfaceInfo2KHR()14000 safe_VkPhysicalDeviceSurfaceInfo2KHR::~safe_VkPhysicalDeviceSurfaceInfo2KHR()
14001 {
14002     if (pNext)
14003         FreePnextChain(pNext);
14004 }
14005 
initialize(const VkPhysicalDeviceSurfaceInfo2KHR * in_struct)14006 void safe_VkPhysicalDeviceSurfaceInfo2KHR::initialize(const VkPhysicalDeviceSurfaceInfo2KHR* in_struct)
14007 {
14008     sType = in_struct->sType;
14009     surface = in_struct->surface;
14010     pNext = SafePnextCopy(in_struct->pNext);
14011 }
14012 
initialize(const safe_VkPhysicalDeviceSurfaceInfo2KHR * src)14013 void safe_VkPhysicalDeviceSurfaceInfo2KHR::initialize(const safe_VkPhysicalDeviceSurfaceInfo2KHR* src)
14014 {
14015     sType = src->sType;
14016     surface = src->surface;
14017     pNext = SafePnextCopy(src->pNext);
14018 }
14019 
safe_VkSurfaceCapabilities2KHR(const VkSurfaceCapabilities2KHR * in_struct)14020 safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR(const VkSurfaceCapabilities2KHR* in_struct) :
14021     sType(in_struct->sType),
14022     surfaceCapabilities(in_struct->surfaceCapabilities)
14023 {
14024     pNext = SafePnextCopy(in_struct->pNext);
14025 }
14026 
safe_VkSurfaceCapabilities2KHR()14027 safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR() :
14028     pNext(nullptr)
14029 {}
14030 
safe_VkSurfaceCapabilities2KHR(const safe_VkSurfaceCapabilities2KHR & src)14031 safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR(const safe_VkSurfaceCapabilities2KHR& src)
14032 {
14033     sType = src.sType;
14034     surfaceCapabilities = src.surfaceCapabilities;
14035     pNext = SafePnextCopy(src.pNext);
14036 }
14037 
operator =(const safe_VkSurfaceCapabilities2KHR & src)14038 safe_VkSurfaceCapabilities2KHR& safe_VkSurfaceCapabilities2KHR::operator=(const safe_VkSurfaceCapabilities2KHR& src)
14039 {
14040     if (&src == this) return *this;
14041 
14042     if (pNext)
14043         FreePnextChain(pNext);
14044 
14045     sType = src.sType;
14046     surfaceCapabilities = src.surfaceCapabilities;
14047     pNext = SafePnextCopy(src.pNext);
14048 
14049     return *this;
14050 }
14051 
~safe_VkSurfaceCapabilities2KHR()14052 safe_VkSurfaceCapabilities2KHR::~safe_VkSurfaceCapabilities2KHR()
14053 {
14054     if (pNext)
14055         FreePnextChain(pNext);
14056 }
14057 
initialize(const VkSurfaceCapabilities2KHR * in_struct)14058 void safe_VkSurfaceCapabilities2KHR::initialize(const VkSurfaceCapabilities2KHR* in_struct)
14059 {
14060     sType = in_struct->sType;
14061     surfaceCapabilities = in_struct->surfaceCapabilities;
14062     pNext = SafePnextCopy(in_struct->pNext);
14063 }
14064 
initialize(const safe_VkSurfaceCapabilities2KHR * src)14065 void safe_VkSurfaceCapabilities2KHR::initialize(const safe_VkSurfaceCapabilities2KHR* src)
14066 {
14067     sType = src->sType;
14068     surfaceCapabilities = src->surfaceCapabilities;
14069     pNext = SafePnextCopy(src->pNext);
14070 }
14071 
safe_VkSurfaceFormat2KHR(const VkSurfaceFormat2KHR * in_struct)14072 safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR(const VkSurfaceFormat2KHR* in_struct) :
14073     sType(in_struct->sType),
14074     surfaceFormat(in_struct->surfaceFormat)
14075 {
14076     pNext = SafePnextCopy(in_struct->pNext);
14077 }
14078 
safe_VkSurfaceFormat2KHR()14079 safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR() :
14080     pNext(nullptr)
14081 {}
14082 
safe_VkSurfaceFormat2KHR(const safe_VkSurfaceFormat2KHR & src)14083 safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR(const safe_VkSurfaceFormat2KHR& src)
14084 {
14085     sType = src.sType;
14086     surfaceFormat = src.surfaceFormat;
14087     pNext = SafePnextCopy(src.pNext);
14088 }
14089 
operator =(const safe_VkSurfaceFormat2KHR & src)14090 safe_VkSurfaceFormat2KHR& safe_VkSurfaceFormat2KHR::operator=(const safe_VkSurfaceFormat2KHR& src)
14091 {
14092     if (&src == this) return *this;
14093 
14094     if (pNext)
14095         FreePnextChain(pNext);
14096 
14097     sType = src.sType;
14098     surfaceFormat = src.surfaceFormat;
14099     pNext = SafePnextCopy(src.pNext);
14100 
14101     return *this;
14102 }
14103 
~safe_VkSurfaceFormat2KHR()14104 safe_VkSurfaceFormat2KHR::~safe_VkSurfaceFormat2KHR()
14105 {
14106     if (pNext)
14107         FreePnextChain(pNext);
14108 }
14109 
initialize(const VkSurfaceFormat2KHR * in_struct)14110 void safe_VkSurfaceFormat2KHR::initialize(const VkSurfaceFormat2KHR* in_struct)
14111 {
14112     sType = in_struct->sType;
14113     surfaceFormat = in_struct->surfaceFormat;
14114     pNext = SafePnextCopy(in_struct->pNext);
14115 }
14116 
initialize(const safe_VkSurfaceFormat2KHR * src)14117 void safe_VkSurfaceFormat2KHR::initialize(const safe_VkSurfaceFormat2KHR* src)
14118 {
14119     sType = src->sType;
14120     surfaceFormat = src->surfaceFormat;
14121     pNext = SafePnextCopy(src->pNext);
14122 }
14123 
safe_VkDisplayProperties2KHR(const VkDisplayProperties2KHR * in_struct)14124 safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR(const VkDisplayProperties2KHR* in_struct) :
14125     sType(in_struct->sType),
14126     displayProperties(&in_struct->displayProperties)
14127 {
14128     pNext = SafePnextCopy(in_struct->pNext);
14129 }
14130 
safe_VkDisplayProperties2KHR()14131 safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR() :
14132     pNext(nullptr)
14133 {}
14134 
safe_VkDisplayProperties2KHR(const safe_VkDisplayProperties2KHR & src)14135 safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR(const safe_VkDisplayProperties2KHR& src)
14136 {
14137     sType = src.sType;
14138     displayProperties.initialize(&src.displayProperties);
14139     pNext = SafePnextCopy(src.pNext);
14140 }
14141 
operator =(const safe_VkDisplayProperties2KHR & src)14142 safe_VkDisplayProperties2KHR& safe_VkDisplayProperties2KHR::operator=(const safe_VkDisplayProperties2KHR& src)
14143 {
14144     if (&src == this) return *this;
14145 
14146     if (pNext)
14147         FreePnextChain(pNext);
14148 
14149     sType = src.sType;
14150     displayProperties.initialize(&src.displayProperties);
14151     pNext = SafePnextCopy(src.pNext);
14152 
14153     return *this;
14154 }
14155 
~safe_VkDisplayProperties2KHR()14156 safe_VkDisplayProperties2KHR::~safe_VkDisplayProperties2KHR()
14157 {
14158     if (pNext)
14159         FreePnextChain(pNext);
14160 }
14161 
initialize(const VkDisplayProperties2KHR * in_struct)14162 void safe_VkDisplayProperties2KHR::initialize(const VkDisplayProperties2KHR* in_struct)
14163 {
14164     sType = in_struct->sType;
14165     displayProperties.initialize(&in_struct->displayProperties);
14166     pNext = SafePnextCopy(in_struct->pNext);
14167 }
14168 
initialize(const safe_VkDisplayProperties2KHR * src)14169 void safe_VkDisplayProperties2KHR::initialize(const safe_VkDisplayProperties2KHR* src)
14170 {
14171     sType = src->sType;
14172     displayProperties.initialize(&src->displayProperties);
14173     pNext = SafePnextCopy(src->pNext);
14174 }
14175 
safe_VkDisplayPlaneProperties2KHR(const VkDisplayPlaneProperties2KHR * in_struct)14176 safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR(const VkDisplayPlaneProperties2KHR* in_struct) :
14177     sType(in_struct->sType),
14178     displayPlaneProperties(in_struct->displayPlaneProperties)
14179 {
14180     pNext = SafePnextCopy(in_struct->pNext);
14181 }
14182 
safe_VkDisplayPlaneProperties2KHR()14183 safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR() :
14184     pNext(nullptr)
14185 {}
14186 
safe_VkDisplayPlaneProperties2KHR(const safe_VkDisplayPlaneProperties2KHR & src)14187 safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR(const safe_VkDisplayPlaneProperties2KHR& src)
14188 {
14189     sType = src.sType;
14190     displayPlaneProperties = src.displayPlaneProperties;
14191     pNext = SafePnextCopy(src.pNext);
14192 }
14193 
operator =(const safe_VkDisplayPlaneProperties2KHR & src)14194 safe_VkDisplayPlaneProperties2KHR& safe_VkDisplayPlaneProperties2KHR::operator=(const safe_VkDisplayPlaneProperties2KHR& src)
14195 {
14196     if (&src == this) return *this;
14197 
14198     if (pNext)
14199         FreePnextChain(pNext);
14200 
14201     sType = src.sType;
14202     displayPlaneProperties = src.displayPlaneProperties;
14203     pNext = SafePnextCopy(src.pNext);
14204 
14205     return *this;
14206 }
14207 
~safe_VkDisplayPlaneProperties2KHR()14208 safe_VkDisplayPlaneProperties2KHR::~safe_VkDisplayPlaneProperties2KHR()
14209 {
14210     if (pNext)
14211         FreePnextChain(pNext);
14212 }
14213 
initialize(const VkDisplayPlaneProperties2KHR * in_struct)14214 void safe_VkDisplayPlaneProperties2KHR::initialize(const VkDisplayPlaneProperties2KHR* in_struct)
14215 {
14216     sType = in_struct->sType;
14217     displayPlaneProperties = in_struct->displayPlaneProperties;
14218     pNext = SafePnextCopy(in_struct->pNext);
14219 }
14220 
initialize(const safe_VkDisplayPlaneProperties2KHR * src)14221 void safe_VkDisplayPlaneProperties2KHR::initialize(const safe_VkDisplayPlaneProperties2KHR* src)
14222 {
14223     sType = src->sType;
14224     displayPlaneProperties = src->displayPlaneProperties;
14225     pNext = SafePnextCopy(src->pNext);
14226 }
14227 
safe_VkDisplayModeProperties2KHR(const VkDisplayModeProperties2KHR * in_struct)14228 safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR(const VkDisplayModeProperties2KHR* in_struct) :
14229     sType(in_struct->sType),
14230     displayModeProperties(in_struct->displayModeProperties)
14231 {
14232     pNext = SafePnextCopy(in_struct->pNext);
14233 }
14234 
safe_VkDisplayModeProperties2KHR()14235 safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR() :
14236     pNext(nullptr)
14237 {}
14238 
safe_VkDisplayModeProperties2KHR(const safe_VkDisplayModeProperties2KHR & src)14239 safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR(const safe_VkDisplayModeProperties2KHR& src)
14240 {
14241     sType = src.sType;
14242     displayModeProperties = src.displayModeProperties;
14243     pNext = SafePnextCopy(src.pNext);
14244 }
14245 
operator =(const safe_VkDisplayModeProperties2KHR & src)14246 safe_VkDisplayModeProperties2KHR& safe_VkDisplayModeProperties2KHR::operator=(const safe_VkDisplayModeProperties2KHR& src)
14247 {
14248     if (&src == this) return *this;
14249 
14250     if (pNext)
14251         FreePnextChain(pNext);
14252 
14253     sType = src.sType;
14254     displayModeProperties = src.displayModeProperties;
14255     pNext = SafePnextCopy(src.pNext);
14256 
14257     return *this;
14258 }
14259 
~safe_VkDisplayModeProperties2KHR()14260 safe_VkDisplayModeProperties2KHR::~safe_VkDisplayModeProperties2KHR()
14261 {
14262     if (pNext)
14263         FreePnextChain(pNext);
14264 }
14265 
initialize(const VkDisplayModeProperties2KHR * in_struct)14266 void safe_VkDisplayModeProperties2KHR::initialize(const VkDisplayModeProperties2KHR* in_struct)
14267 {
14268     sType = in_struct->sType;
14269     displayModeProperties = in_struct->displayModeProperties;
14270     pNext = SafePnextCopy(in_struct->pNext);
14271 }
14272 
initialize(const safe_VkDisplayModeProperties2KHR * src)14273 void safe_VkDisplayModeProperties2KHR::initialize(const safe_VkDisplayModeProperties2KHR* src)
14274 {
14275     sType = src->sType;
14276     displayModeProperties = src->displayModeProperties;
14277     pNext = SafePnextCopy(src->pNext);
14278 }
14279 
safe_VkDisplayPlaneInfo2KHR(const VkDisplayPlaneInfo2KHR * in_struct)14280 safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR(const VkDisplayPlaneInfo2KHR* in_struct) :
14281     sType(in_struct->sType),
14282     mode(in_struct->mode),
14283     planeIndex(in_struct->planeIndex)
14284 {
14285     pNext = SafePnextCopy(in_struct->pNext);
14286 }
14287 
safe_VkDisplayPlaneInfo2KHR()14288 safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR() :
14289     pNext(nullptr)
14290 {}
14291 
safe_VkDisplayPlaneInfo2KHR(const safe_VkDisplayPlaneInfo2KHR & src)14292 safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR(const safe_VkDisplayPlaneInfo2KHR& src)
14293 {
14294     sType = src.sType;
14295     mode = src.mode;
14296     planeIndex = src.planeIndex;
14297     pNext = SafePnextCopy(src.pNext);
14298 }
14299 
operator =(const safe_VkDisplayPlaneInfo2KHR & src)14300 safe_VkDisplayPlaneInfo2KHR& safe_VkDisplayPlaneInfo2KHR::operator=(const safe_VkDisplayPlaneInfo2KHR& src)
14301 {
14302     if (&src == this) return *this;
14303 
14304     if (pNext)
14305         FreePnextChain(pNext);
14306 
14307     sType = src.sType;
14308     mode = src.mode;
14309     planeIndex = src.planeIndex;
14310     pNext = SafePnextCopy(src.pNext);
14311 
14312     return *this;
14313 }
14314 
~safe_VkDisplayPlaneInfo2KHR()14315 safe_VkDisplayPlaneInfo2KHR::~safe_VkDisplayPlaneInfo2KHR()
14316 {
14317     if (pNext)
14318         FreePnextChain(pNext);
14319 }
14320 
initialize(const VkDisplayPlaneInfo2KHR * in_struct)14321 void safe_VkDisplayPlaneInfo2KHR::initialize(const VkDisplayPlaneInfo2KHR* in_struct)
14322 {
14323     sType = in_struct->sType;
14324     mode = in_struct->mode;
14325     planeIndex = in_struct->planeIndex;
14326     pNext = SafePnextCopy(in_struct->pNext);
14327 }
14328 
initialize(const safe_VkDisplayPlaneInfo2KHR * src)14329 void safe_VkDisplayPlaneInfo2KHR::initialize(const safe_VkDisplayPlaneInfo2KHR* src)
14330 {
14331     sType = src->sType;
14332     mode = src->mode;
14333     planeIndex = src->planeIndex;
14334     pNext = SafePnextCopy(src->pNext);
14335 }
14336 
safe_VkDisplayPlaneCapabilities2KHR(const VkDisplayPlaneCapabilities2KHR * in_struct)14337 safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR(const VkDisplayPlaneCapabilities2KHR* in_struct) :
14338     sType(in_struct->sType),
14339     capabilities(in_struct->capabilities)
14340 {
14341     pNext = SafePnextCopy(in_struct->pNext);
14342 }
14343 
safe_VkDisplayPlaneCapabilities2KHR()14344 safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR() :
14345     pNext(nullptr)
14346 {}
14347 
safe_VkDisplayPlaneCapabilities2KHR(const safe_VkDisplayPlaneCapabilities2KHR & src)14348 safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR(const safe_VkDisplayPlaneCapabilities2KHR& src)
14349 {
14350     sType = src.sType;
14351     capabilities = src.capabilities;
14352     pNext = SafePnextCopy(src.pNext);
14353 }
14354 
operator =(const safe_VkDisplayPlaneCapabilities2KHR & src)14355 safe_VkDisplayPlaneCapabilities2KHR& safe_VkDisplayPlaneCapabilities2KHR::operator=(const safe_VkDisplayPlaneCapabilities2KHR& src)
14356 {
14357     if (&src == this) return *this;
14358 
14359     if (pNext)
14360         FreePnextChain(pNext);
14361 
14362     sType = src.sType;
14363     capabilities = src.capabilities;
14364     pNext = SafePnextCopy(src.pNext);
14365 
14366     return *this;
14367 }
14368 
~safe_VkDisplayPlaneCapabilities2KHR()14369 safe_VkDisplayPlaneCapabilities2KHR::~safe_VkDisplayPlaneCapabilities2KHR()
14370 {
14371     if (pNext)
14372         FreePnextChain(pNext);
14373 }
14374 
initialize(const VkDisplayPlaneCapabilities2KHR * in_struct)14375 void safe_VkDisplayPlaneCapabilities2KHR::initialize(const VkDisplayPlaneCapabilities2KHR* in_struct)
14376 {
14377     sType = in_struct->sType;
14378     capabilities = in_struct->capabilities;
14379     pNext = SafePnextCopy(in_struct->pNext);
14380 }
14381 
initialize(const safe_VkDisplayPlaneCapabilities2KHR * src)14382 void safe_VkDisplayPlaneCapabilities2KHR::initialize(const safe_VkDisplayPlaneCapabilities2KHR* src)
14383 {
14384     sType = src->sType;
14385     capabilities = src->capabilities;
14386     pNext = SafePnextCopy(src->pNext);
14387 }
14388 
safe_VkImageFormatListCreateInfoKHR(const VkImageFormatListCreateInfoKHR * in_struct)14389 safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const VkImageFormatListCreateInfoKHR* in_struct) :
14390     sType(in_struct->sType),
14391     viewFormatCount(in_struct->viewFormatCount),
14392     pViewFormats(nullptr)
14393 {
14394     pNext = SafePnextCopy(in_struct->pNext);
14395     if (in_struct->pViewFormats) {
14396         pViewFormats = new VkFormat[in_struct->viewFormatCount];
14397         memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
14398     }
14399 }
14400 
safe_VkImageFormatListCreateInfoKHR()14401 safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR() :
14402     pNext(nullptr),
14403     pViewFormats(nullptr)
14404 {}
14405 
safe_VkImageFormatListCreateInfoKHR(const safe_VkImageFormatListCreateInfoKHR & src)14406 safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const safe_VkImageFormatListCreateInfoKHR& src)
14407 {
14408     sType = src.sType;
14409     viewFormatCount = src.viewFormatCount;
14410     pViewFormats = nullptr;
14411     pNext = SafePnextCopy(src.pNext);
14412     if (src.pViewFormats) {
14413         pViewFormats = new VkFormat[src.viewFormatCount];
14414         memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
14415     }
14416 }
14417 
operator =(const safe_VkImageFormatListCreateInfoKHR & src)14418 safe_VkImageFormatListCreateInfoKHR& safe_VkImageFormatListCreateInfoKHR::operator=(const safe_VkImageFormatListCreateInfoKHR& src)
14419 {
14420     if (&src == this) return *this;
14421 
14422     if (pViewFormats)
14423         delete[] pViewFormats;
14424     if (pNext)
14425         FreePnextChain(pNext);
14426 
14427     sType = src.sType;
14428     viewFormatCount = src.viewFormatCount;
14429     pViewFormats = nullptr;
14430     pNext = SafePnextCopy(src.pNext);
14431     if (src.pViewFormats) {
14432         pViewFormats = new VkFormat[src.viewFormatCount];
14433         memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
14434     }
14435 
14436     return *this;
14437 }
14438 
~safe_VkImageFormatListCreateInfoKHR()14439 safe_VkImageFormatListCreateInfoKHR::~safe_VkImageFormatListCreateInfoKHR()
14440 {
14441     if (pViewFormats)
14442         delete[] pViewFormats;
14443     if (pNext)
14444         FreePnextChain(pNext);
14445 }
14446 
initialize(const VkImageFormatListCreateInfoKHR * in_struct)14447 void safe_VkImageFormatListCreateInfoKHR::initialize(const VkImageFormatListCreateInfoKHR* in_struct)
14448 {
14449     sType = in_struct->sType;
14450     viewFormatCount = in_struct->viewFormatCount;
14451     pViewFormats = nullptr;
14452     pNext = SafePnextCopy(in_struct->pNext);
14453     if (in_struct->pViewFormats) {
14454         pViewFormats = new VkFormat[in_struct->viewFormatCount];
14455         memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
14456     }
14457 }
14458 
initialize(const safe_VkImageFormatListCreateInfoKHR * src)14459 void safe_VkImageFormatListCreateInfoKHR::initialize(const safe_VkImageFormatListCreateInfoKHR* src)
14460 {
14461     sType = src->sType;
14462     viewFormatCount = src->viewFormatCount;
14463     pViewFormats = nullptr;
14464     pNext = SafePnextCopy(src->pNext);
14465     if (src->pViewFormats) {
14466         pViewFormats = new VkFormat[src->viewFormatCount];
14467         memcpy ((void *)pViewFormats, (void *)src->pViewFormats, sizeof(VkFormat)*src->viewFormatCount);
14468     }
14469 }
14470 
safe_VkPhysicalDevice8BitStorageFeaturesKHR(const VkPhysicalDevice8BitStorageFeaturesKHR * in_struct)14471 safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR(const VkPhysicalDevice8BitStorageFeaturesKHR* in_struct) :
14472     sType(in_struct->sType),
14473     storageBuffer8BitAccess(in_struct->storageBuffer8BitAccess),
14474     uniformAndStorageBuffer8BitAccess(in_struct->uniformAndStorageBuffer8BitAccess),
14475     storagePushConstant8(in_struct->storagePushConstant8)
14476 {
14477     pNext = SafePnextCopy(in_struct->pNext);
14478 }
14479 
safe_VkPhysicalDevice8BitStorageFeaturesKHR()14480 safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR() :
14481     pNext(nullptr)
14482 {}
14483 
safe_VkPhysicalDevice8BitStorageFeaturesKHR(const safe_VkPhysicalDevice8BitStorageFeaturesKHR & src)14484 safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR(const safe_VkPhysicalDevice8BitStorageFeaturesKHR& src)
14485 {
14486     sType = src.sType;
14487     storageBuffer8BitAccess = src.storageBuffer8BitAccess;
14488     uniformAndStorageBuffer8BitAccess = src.uniformAndStorageBuffer8BitAccess;
14489     storagePushConstant8 = src.storagePushConstant8;
14490     pNext = SafePnextCopy(src.pNext);
14491 }
14492 
operator =(const safe_VkPhysicalDevice8BitStorageFeaturesKHR & src)14493 safe_VkPhysicalDevice8BitStorageFeaturesKHR& safe_VkPhysicalDevice8BitStorageFeaturesKHR::operator=(const safe_VkPhysicalDevice8BitStorageFeaturesKHR& src)
14494 {
14495     if (&src == this) return *this;
14496 
14497     if (pNext)
14498         FreePnextChain(pNext);
14499 
14500     sType = src.sType;
14501     storageBuffer8BitAccess = src.storageBuffer8BitAccess;
14502     uniformAndStorageBuffer8BitAccess = src.uniformAndStorageBuffer8BitAccess;
14503     storagePushConstant8 = src.storagePushConstant8;
14504     pNext = SafePnextCopy(src.pNext);
14505 
14506     return *this;
14507 }
14508 
~safe_VkPhysicalDevice8BitStorageFeaturesKHR()14509 safe_VkPhysicalDevice8BitStorageFeaturesKHR::~safe_VkPhysicalDevice8BitStorageFeaturesKHR()
14510 {
14511     if (pNext)
14512         FreePnextChain(pNext);
14513 }
14514 
initialize(const VkPhysicalDevice8BitStorageFeaturesKHR * in_struct)14515 void safe_VkPhysicalDevice8BitStorageFeaturesKHR::initialize(const VkPhysicalDevice8BitStorageFeaturesKHR* in_struct)
14516 {
14517     sType = in_struct->sType;
14518     storageBuffer8BitAccess = in_struct->storageBuffer8BitAccess;
14519     uniformAndStorageBuffer8BitAccess = in_struct->uniformAndStorageBuffer8BitAccess;
14520     storagePushConstant8 = in_struct->storagePushConstant8;
14521     pNext = SafePnextCopy(in_struct->pNext);
14522 }
14523 
initialize(const safe_VkPhysicalDevice8BitStorageFeaturesKHR * src)14524 void safe_VkPhysicalDevice8BitStorageFeaturesKHR::initialize(const safe_VkPhysicalDevice8BitStorageFeaturesKHR* src)
14525 {
14526     sType = src->sType;
14527     storageBuffer8BitAccess = src->storageBuffer8BitAccess;
14528     uniformAndStorageBuffer8BitAccess = src->uniformAndStorageBuffer8BitAccess;
14529     storagePushConstant8 = src->storagePushConstant8;
14530     pNext = SafePnextCopy(src->pNext);
14531 }
14532 
safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR * in_struct)14533 safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* in_struct) :
14534     sType(in_struct->sType),
14535     shaderBufferInt64Atomics(in_struct->shaderBufferInt64Atomics),
14536     shaderSharedInt64Atomics(in_struct->shaderSharedInt64Atomics)
14537 {
14538     pNext = SafePnextCopy(in_struct->pNext);
14539 }
14540 
safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR()14541 safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR() :
14542     pNext(nullptr)
14543 {}
14544 
safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR & src)14545 safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& src)
14546 {
14547     sType = src.sType;
14548     shaderBufferInt64Atomics = src.shaderBufferInt64Atomics;
14549     shaderSharedInt64Atomics = src.shaderSharedInt64Atomics;
14550     pNext = SafePnextCopy(src.pNext);
14551 }
14552 
operator =(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR & src)14553 safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::operator=(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& src)
14554 {
14555     if (&src == this) return *this;
14556 
14557     if (pNext)
14558         FreePnextChain(pNext);
14559 
14560     sType = src.sType;
14561     shaderBufferInt64Atomics = src.shaderBufferInt64Atomics;
14562     shaderSharedInt64Atomics = src.shaderSharedInt64Atomics;
14563     pNext = SafePnextCopy(src.pNext);
14564 
14565     return *this;
14566 }
14567 
~safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR()14568 safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::~safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR()
14569 {
14570     if (pNext)
14571         FreePnextChain(pNext);
14572 }
14573 
initialize(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR * in_struct)14574 void safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::initialize(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* in_struct)
14575 {
14576     sType = in_struct->sType;
14577     shaderBufferInt64Atomics = in_struct->shaderBufferInt64Atomics;
14578     shaderSharedInt64Atomics = in_struct->shaderSharedInt64Atomics;
14579     pNext = SafePnextCopy(in_struct->pNext);
14580 }
14581 
initialize(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR * src)14582 void safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* src)
14583 {
14584     sType = src->sType;
14585     shaderBufferInt64Atomics = src->shaderBufferInt64Atomics;
14586     shaderSharedInt64Atomics = src->shaderSharedInt64Atomics;
14587     pNext = SafePnextCopy(src->pNext);
14588 }
14589 
safe_VkPhysicalDeviceDriverPropertiesKHR(const VkPhysicalDeviceDriverPropertiesKHR * in_struct)14590 safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR(const VkPhysicalDeviceDriverPropertiesKHR* in_struct) :
14591     sType(in_struct->sType),
14592     driverID(in_struct->driverID),
14593     conformanceVersion(in_struct->conformanceVersion)
14594 {
14595     pNext = SafePnextCopy(in_struct->pNext);
14596     for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14597         driverName[i] = in_struct->driverName[i];
14598     }
14599     for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14600         driverInfo[i] = in_struct->driverInfo[i];
14601     }
14602 }
14603 
safe_VkPhysicalDeviceDriverPropertiesKHR()14604 safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR() :
14605     pNext(nullptr)
14606 {}
14607 
safe_VkPhysicalDeviceDriverPropertiesKHR(const safe_VkPhysicalDeviceDriverPropertiesKHR & src)14608 safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR(const safe_VkPhysicalDeviceDriverPropertiesKHR& src)
14609 {
14610     sType = src.sType;
14611     driverID = src.driverID;
14612     conformanceVersion = src.conformanceVersion;
14613     pNext = SafePnextCopy(src.pNext);
14614     for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14615         driverName[i] = src.driverName[i];
14616     }
14617     for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14618         driverInfo[i] = src.driverInfo[i];
14619     }
14620 }
14621 
operator =(const safe_VkPhysicalDeviceDriverPropertiesKHR & src)14622 safe_VkPhysicalDeviceDriverPropertiesKHR& safe_VkPhysicalDeviceDriverPropertiesKHR::operator=(const safe_VkPhysicalDeviceDriverPropertiesKHR& src)
14623 {
14624     if (&src == this) return *this;
14625 
14626     if (pNext)
14627         FreePnextChain(pNext);
14628 
14629     sType = src.sType;
14630     driverID = src.driverID;
14631     conformanceVersion = src.conformanceVersion;
14632     pNext = SafePnextCopy(src.pNext);
14633     for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14634         driverName[i] = src.driverName[i];
14635     }
14636     for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14637         driverInfo[i] = src.driverInfo[i];
14638     }
14639 
14640     return *this;
14641 }
14642 
~safe_VkPhysicalDeviceDriverPropertiesKHR()14643 safe_VkPhysicalDeviceDriverPropertiesKHR::~safe_VkPhysicalDeviceDriverPropertiesKHR()
14644 {
14645     if (pNext)
14646         FreePnextChain(pNext);
14647 }
14648 
initialize(const VkPhysicalDeviceDriverPropertiesKHR * in_struct)14649 void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const VkPhysicalDeviceDriverPropertiesKHR* in_struct)
14650 {
14651     sType = in_struct->sType;
14652     driverID = in_struct->driverID;
14653     conformanceVersion = in_struct->conformanceVersion;
14654     pNext = SafePnextCopy(in_struct->pNext);
14655     for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14656         driverName[i] = in_struct->driverName[i];
14657     }
14658     for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14659         driverInfo[i] = in_struct->driverInfo[i];
14660     }
14661 }
14662 
initialize(const safe_VkPhysicalDeviceDriverPropertiesKHR * src)14663 void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const safe_VkPhysicalDeviceDriverPropertiesKHR* src)
14664 {
14665     sType = src->sType;
14666     driverID = src->driverID;
14667     conformanceVersion = src->conformanceVersion;
14668     pNext = SafePnextCopy(src->pNext);
14669     for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14670         driverName[i] = src->driverName[i];
14671     }
14672     for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14673         driverInfo[i] = src->driverInfo[i];
14674     }
14675 }
14676 
safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const VkPhysicalDeviceFloatControlsPropertiesKHR * in_struct)14677 safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const VkPhysicalDeviceFloatControlsPropertiesKHR* in_struct) :
14678     sType(in_struct->sType),
14679     denormBehaviorIndependence(in_struct->denormBehaviorIndependence),
14680     roundingModeIndependence(in_struct->roundingModeIndependence),
14681     shaderSignedZeroInfNanPreserveFloat16(in_struct->shaderSignedZeroInfNanPreserveFloat16),
14682     shaderSignedZeroInfNanPreserveFloat32(in_struct->shaderSignedZeroInfNanPreserveFloat32),
14683     shaderSignedZeroInfNanPreserveFloat64(in_struct->shaderSignedZeroInfNanPreserveFloat64),
14684     shaderDenormPreserveFloat16(in_struct->shaderDenormPreserveFloat16),
14685     shaderDenormPreserveFloat32(in_struct->shaderDenormPreserveFloat32),
14686     shaderDenormPreserveFloat64(in_struct->shaderDenormPreserveFloat64),
14687     shaderDenormFlushToZeroFloat16(in_struct->shaderDenormFlushToZeroFloat16),
14688     shaderDenormFlushToZeroFloat32(in_struct->shaderDenormFlushToZeroFloat32),
14689     shaderDenormFlushToZeroFloat64(in_struct->shaderDenormFlushToZeroFloat64),
14690     shaderRoundingModeRTEFloat16(in_struct->shaderRoundingModeRTEFloat16),
14691     shaderRoundingModeRTEFloat32(in_struct->shaderRoundingModeRTEFloat32),
14692     shaderRoundingModeRTEFloat64(in_struct->shaderRoundingModeRTEFloat64),
14693     shaderRoundingModeRTZFloat16(in_struct->shaderRoundingModeRTZFloat16),
14694     shaderRoundingModeRTZFloat32(in_struct->shaderRoundingModeRTZFloat32),
14695     shaderRoundingModeRTZFloat64(in_struct->shaderRoundingModeRTZFloat64)
14696 {
14697     pNext = SafePnextCopy(in_struct->pNext);
14698 }
14699 
safe_VkPhysicalDeviceFloatControlsPropertiesKHR()14700 safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR() :
14701     pNext(nullptr)
14702 {}
14703 
safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR & src)14704 safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR& src)
14705 {
14706     sType = src.sType;
14707     denormBehaviorIndependence = src.denormBehaviorIndependence;
14708     roundingModeIndependence = src.roundingModeIndependence;
14709     shaderSignedZeroInfNanPreserveFloat16 = src.shaderSignedZeroInfNanPreserveFloat16;
14710     shaderSignedZeroInfNanPreserveFloat32 = src.shaderSignedZeroInfNanPreserveFloat32;
14711     shaderSignedZeroInfNanPreserveFloat64 = src.shaderSignedZeroInfNanPreserveFloat64;
14712     shaderDenormPreserveFloat16 = src.shaderDenormPreserveFloat16;
14713     shaderDenormPreserveFloat32 = src.shaderDenormPreserveFloat32;
14714     shaderDenormPreserveFloat64 = src.shaderDenormPreserveFloat64;
14715     shaderDenormFlushToZeroFloat16 = src.shaderDenormFlushToZeroFloat16;
14716     shaderDenormFlushToZeroFloat32 = src.shaderDenormFlushToZeroFloat32;
14717     shaderDenormFlushToZeroFloat64 = src.shaderDenormFlushToZeroFloat64;
14718     shaderRoundingModeRTEFloat16 = src.shaderRoundingModeRTEFloat16;
14719     shaderRoundingModeRTEFloat32 = src.shaderRoundingModeRTEFloat32;
14720     shaderRoundingModeRTEFloat64 = src.shaderRoundingModeRTEFloat64;
14721     shaderRoundingModeRTZFloat16 = src.shaderRoundingModeRTZFloat16;
14722     shaderRoundingModeRTZFloat32 = src.shaderRoundingModeRTZFloat32;
14723     shaderRoundingModeRTZFloat64 = src.shaderRoundingModeRTZFloat64;
14724     pNext = SafePnextCopy(src.pNext);
14725 }
14726 
operator =(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR & src)14727 safe_VkPhysicalDeviceFloatControlsPropertiesKHR& safe_VkPhysicalDeviceFloatControlsPropertiesKHR::operator=(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR& src)
14728 {
14729     if (&src == this) return *this;
14730 
14731     if (pNext)
14732         FreePnextChain(pNext);
14733 
14734     sType = src.sType;
14735     denormBehaviorIndependence = src.denormBehaviorIndependence;
14736     roundingModeIndependence = src.roundingModeIndependence;
14737     shaderSignedZeroInfNanPreserveFloat16 = src.shaderSignedZeroInfNanPreserveFloat16;
14738     shaderSignedZeroInfNanPreserveFloat32 = src.shaderSignedZeroInfNanPreserveFloat32;
14739     shaderSignedZeroInfNanPreserveFloat64 = src.shaderSignedZeroInfNanPreserveFloat64;
14740     shaderDenormPreserveFloat16 = src.shaderDenormPreserveFloat16;
14741     shaderDenormPreserveFloat32 = src.shaderDenormPreserveFloat32;
14742     shaderDenormPreserveFloat64 = src.shaderDenormPreserveFloat64;
14743     shaderDenormFlushToZeroFloat16 = src.shaderDenormFlushToZeroFloat16;
14744     shaderDenormFlushToZeroFloat32 = src.shaderDenormFlushToZeroFloat32;
14745     shaderDenormFlushToZeroFloat64 = src.shaderDenormFlushToZeroFloat64;
14746     shaderRoundingModeRTEFloat16 = src.shaderRoundingModeRTEFloat16;
14747     shaderRoundingModeRTEFloat32 = src.shaderRoundingModeRTEFloat32;
14748     shaderRoundingModeRTEFloat64 = src.shaderRoundingModeRTEFloat64;
14749     shaderRoundingModeRTZFloat16 = src.shaderRoundingModeRTZFloat16;
14750     shaderRoundingModeRTZFloat32 = src.shaderRoundingModeRTZFloat32;
14751     shaderRoundingModeRTZFloat64 = src.shaderRoundingModeRTZFloat64;
14752     pNext = SafePnextCopy(src.pNext);
14753 
14754     return *this;
14755 }
14756 
~safe_VkPhysicalDeviceFloatControlsPropertiesKHR()14757 safe_VkPhysicalDeviceFloatControlsPropertiesKHR::~safe_VkPhysicalDeviceFloatControlsPropertiesKHR()
14758 {
14759     if (pNext)
14760         FreePnextChain(pNext);
14761 }
14762 
initialize(const VkPhysicalDeviceFloatControlsPropertiesKHR * in_struct)14763 void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const VkPhysicalDeviceFloatControlsPropertiesKHR* in_struct)
14764 {
14765     sType = in_struct->sType;
14766     denormBehaviorIndependence = in_struct->denormBehaviorIndependence;
14767     roundingModeIndependence = in_struct->roundingModeIndependence;
14768     shaderSignedZeroInfNanPreserveFloat16 = in_struct->shaderSignedZeroInfNanPreserveFloat16;
14769     shaderSignedZeroInfNanPreserveFloat32 = in_struct->shaderSignedZeroInfNanPreserveFloat32;
14770     shaderSignedZeroInfNanPreserveFloat64 = in_struct->shaderSignedZeroInfNanPreserveFloat64;
14771     shaderDenormPreserveFloat16 = in_struct->shaderDenormPreserveFloat16;
14772     shaderDenormPreserveFloat32 = in_struct->shaderDenormPreserveFloat32;
14773     shaderDenormPreserveFloat64 = in_struct->shaderDenormPreserveFloat64;
14774     shaderDenormFlushToZeroFloat16 = in_struct->shaderDenormFlushToZeroFloat16;
14775     shaderDenormFlushToZeroFloat32 = in_struct->shaderDenormFlushToZeroFloat32;
14776     shaderDenormFlushToZeroFloat64 = in_struct->shaderDenormFlushToZeroFloat64;
14777     shaderRoundingModeRTEFloat16 = in_struct->shaderRoundingModeRTEFloat16;
14778     shaderRoundingModeRTEFloat32 = in_struct->shaderRoundingModeRTEFloat32;
14779     shaderRoundingModeRTEFloat64 = in_struct->shaderRoundingModeRTEFloat64;
14780     shaderRoundingModeRTZFloat16 = in_struct->shaderRoundingModeRTZFloat16;
14781     shaderRoundingModeRTZFloat32 = in_struct->shaderRoundingModeRTZFloat32;
14782     shaderRoundingModeRTZFloat64 = in_struct->shaderRoundingModeRTZFloat64;
14783     pNext = SafePnextCopy(in_struct->pNext);
14784 }
14785 
initialize(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR * src)14786 void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR* src)
14787 {
14788     sType = src->sType;
14789     denormBehaviorIndependence = src->denormBehaviorIndependence;
14790     roundingModeIndependence = src->roundingModeIndependence;
14791     shaderSignedZeroInfNanPreserveFloat16 = src->shaderSignedZeroInfNanPreserveFloat16;
14792     shaderSignedZeroInfNanPreserveFloat32 = src->shaderSignedZeroInfNanPreserveFloat32;
14793     shaderSignedZeroInfNanPreserveFloat64 = src->shaderSignedZeroInfNanPreserveFloat64;
14794     shaderDenormPreserveFloat16 = src->shaderDenormPreserveFloat16;
14795     shaderDenormPreserveFloat32 = src->shaderDenormPreserveFloat32;
14796     shaderDenormPreserveFloat64 = src->shaderDenormPreserveFloat64;
14797     shaderDenormFlushToZeroFloat16 = src->shaderDenormFlushToZeroFloat16;
14798     shaderDenormFlushToZeroFloat32 = src->shaderDenormFlushToZeroFloat32;
14799     shaderDenormFlushToZeroFloat64 = src->shaderDenormFlushToZeroFloat64;
14800     shaderRoundingModeRTEFloat16 = src->shaderRoundingModeRTEFloat16;
14801     shaderRoundingModeRTEFloat32 = src->shaderRoundingModeRTEFloat32;
14802     shaderRoundingModeRTEFloat64 = src->shaderRoundingModeRTEFloat64;
14803     shaderRoundingModeRTZFloat16 = src->shaderRoundingModeRTZFloat16;
14804     shaderRoundingModeRTZFloat32 = src->shaderRoundingModeRTZFloat32;
14805     shaderRoundingModeRTZFloat64 = src->shaderRoundingModeRTZFloat64;
14806     pNext = SafePnextCopy(src->pNext);
14807 }
14808 
safe_VkSubpassDescriptionDepthStencilResolveKHR(const VkSubpassDescriptionDepthStencilResolveKHR * in_struct)14809 safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR(const VkSubpassDescriptionDepthStencilResolveKHR* in_struct) :
14810     sType(in_struct->sType),
14811     depthResolveMode(in_struct->depthResolveMode),
14812     stencilResolveMode(in_struct->stencilResolveMode),
14813     pDepthStencilResolveAttachment(nullptr)
14814 {
14815     pNext = SafePnextCopy(in_struct->pNext);
14816     if (in_struct->pDepthStencilResolveAttachment)
14817         pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilResolveAttachment);
14818 }
14819 
safe_VkSubpassDescriptionDepthStencilResolveKHR()14820 safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR() :
14821     pNext(nullptr),
14822     pDepthStencilResolveAttachment(nullptr)
14823 {}
14824 
safe_VkSubpassDescriptionDepthStencilResolveKHR(const safe_VkSubpassDescriptionDepthStencilResolveKHR & src)14825 safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR(const safe_VkSubpassDescriptionDepthStencilResolveKHR& src)
14826 {
14827     sType = src.sType;
14828     depthResolveMode = src.depthResolveMode;
14829     stencilResolveMode = src.stencilResolveMode;
14830     pDepthStencilResolveAttachment = nullptr;
14831     pNext = SafePnextCopy(src.pNext);
14832     if (src.pDepthStencilResolveAttachment)
14833         pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilResolveAttachment);
14834 }
14835 
operator =(const safe_VkSubpassDescriptionDepthStencilResolveKHR & src)14836 safe_VkSubpassDescriptionDepthStencilResolveKHR& safe_VkSubpassDescriptionDepthStencilResolveKHR::operator=(const safe_VkSubpassDescriptionDepthStencilResolveKHR& src)
14837 {
14838     if (&src == this) return *this;
14839 
14840     if (pDepthStencilResolveAttachment)
14841         delete pDepthStencilResolveAttachment;
14842     if (pNext)
14843         FreePnextChain(pNext);
14844 
14845     sType = src.sType;
14846     depthResolveMode = src.depthResolveMode;
14847     stencilResolveMode = src.stencilResolveMode;
14848     pDepthStencilResolveAttachment = nullptr;
14849     pNext = SafePnextCopy(src.pNext);
14850     if (src.pDepthStencilResolveAttachment)
14851         pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilResolveAttachment);
14852 
14853     return *this;
14854 }
14855 
~safe_VkSubpassDescriptionDepthStencilResolveKHR()14856 safe_VkSubpassDescriptionDepthStencilResolveKHR::~safe_VkSubpassDescriptionDepthStencilResolveKHR()
14857 {
14858     if (pDepthStencilResolveAttachment)
14859         delete pDepthStencilResolveAttachment;
14860     if (pNext)
14861         FreePnextChain(pNext);
14862 }
14863 
initialize(const VkSubpassDescriptionDepthStencilResolveKHR * in_struct)14864 void safe_VkSubpassDescriptionDepthStencilResolveKHR::initialize(const VkSubpassDescriptionDepthStencilResolveKHR* in_struct)
14865 {
14866     sType = in_struct->sType;
14867     depthResolveMode = in_struct->depthResolveMode;
14868     stencilResolveMode = in_struct->stencilResolveMode;
14869     pDepthStencilResolveAttachment = nullptr;
14870     pNext = SafePnextCopy(in_struct->pNext);
14871     if (in_struct->pDepthStencilResolveAttachment)
14872         pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilResolveAttachment);
14873 }
14874 
initialize(const safe_VkSubpassDescriptionDepthStencilResolveKHR * src)14875 void safe_VkSubpassDescriptionDepthStencilResolveKHR::initialize(const safe_VkSubpassDescriptionDepthStencilResolveKHR* src)
14876 {
14877     sType = src->sType;
14878     depthResolveMode = src->depthResolveMode;
14879     stencilResolveMode = src->stencilResolveMode;
14880     pDepthStencilResolveAttachment = nullptr;
14881     pNext = SafePnextCopy(src->pNext);
14882     if (src->pDepthStencilResolveAttachment)
14883         pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src->pDepthStencilResolveAttachment);
14884 }
14885 
safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR * in_struct)14886 safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR* in_struct) :
14887     sType(in_struct->sType),
14888     supportedDepthResolveModes(in_struct->supportedDepthResolveModes),
14889     supportedStencilResolveModes(in_struct->supportedStencilResolveModes),
14890     independentResolveNone(in_struct->independentResolveNone),
14891     independentResolve(in_struct->independentResolve)
14892 {
14893     pNext = SafePnextCopy(in_struct->pNext);
14894 }
14895 
safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR()14896 safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR() :
14897     pNext(nullptr)
14898 {}
14899 
safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR & src)14900 safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& src)
14901 {
14902     sType = src.sType;
14903     supportedDepthResolveModes = src.supportedDepthResolveModes;
14904     supportedStencilResolveModes = src.supportedStencilResolveModes;
14905     independentResolveNone = src.independentResolveNone;
14906     independentResolve = src.independentResolve;
14907     pNext = SafePnextCopy(src.pNext);
14908 }
14909 
operator =(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR & src)14910 safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::operator=(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& src)
14911 {
14912     if (&src == this) return *this;
14913 
14914     if (pNext)
14915         FreePnextChain(pNext);
14916 
14917     sType = src.sType;
14918     supportedDepthResolveModes = src.supportedDepthResolveModes;
14919     supportedStencilResolveModes = src.supportedStencilResolveModes;
14920     independentResolveNone = src.independentResolveNone;
14921     independentResolve = src.independentResolve;
14922     pNext = SafePnextCopy(src.pNext);
14923 
14924     return *this;
14925 }
14926 
~safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR()14927 safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::~safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR()
14928 {
14929     if (pNext)
14930         FreePnextChain(pNext);
14931 }
14932 
initialize(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR * in_struct)14933 void safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::initialize(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR* in_struct)
14934 {
14935     sType = in_struct->sType;
14936     supportedDepthResolveModes = in_struct->supportedDepthResolveModes;
14937     supportedStencilResolveModes = in_struct->supportedStencilResolveModes;
14938     independentResolveNone = in_struct->independentResolveNone;
14939     independentResolve = in_struct->independentResolve;
14940     pNext = SafePnextCopy(in_struct->pNext);
14941 }
14942 
initialize(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR * src)14943 void safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::initialize(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR* src)
14944 {
14945     sType = src->sType;
14946     supportedDepthResolveModes = src->supportedDepthResolveModes;
14947     supportedStencilResolveModes = src->supportedStencilResolveModes;
14948     independentResolveNone = src->independentResolveNone;
14949     independentResolve = src->independentResolve;
14950     pNext = SafePnextCopy(src->pNext);
14951 }
14952 
safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR * in_struct)14953 safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* in_struct) :
14954     sType(in_struct->sType),
14955     vulkanMemoryModel(in_struct->vulkanMemoryModel),
14956     vulkanMemoryModelDeviceScope(in_struct->vulkanMemoryModelDeviceScope),
14957     vulkanMemoryModelAvailabilityVisibilityChains(in_struct->vulkanMemoryModelAvailabilityVisibilityChains)
14958 {
14959     pNext = SafePnextCopy(in_struct->pNext);
14960 }
14961 
safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR()14962 safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR() :
14963     pNext(nullptr)
14964 {}
14965 
safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR & src)14966 safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& src)
14967 {
14968     sType = src.sType;
14969     vulkanMemoryModel = src.vulkanMemoryModel;
14970     vulkanMemoryModelDeviceScope = src.vulkanMemoryModelDeviceScope;
14971     vulkanMemoryModelAvailabilityVisibilityChains = src.vulkanMemoryModelAvailabilityVisibilityChains;
14972     pNext = SafePnextCopy(src.pNext);
14973 }
14974 
operator =(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR & src)14975 safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::operator=(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& src)
14976 {
14977     if (&src == this) return *this;
14978 
14979     if (pNext)
14980         FreePnextChain(pNext);
14981 
14982     sType = src.sType;
14983     vulkanMemoryModel = src.vulkanMemoryModel;
14984     vulkanMemoryModelDeviceScope = src.vulkanMemoryModelDeviceScope;
14985     vulkanMemoryModelAvailabilityVisibilityChains = src.vulkanMemoryModelAvailabilityVisibilityChains;
14986     pNext = SafePnextCopy(src.pNext);
14987 
14988     return *this;
14989 }
14990 
~safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR()14991 safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::~safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR()
14992 {
14993     if (pNext)
14994         FreePnextChain(pNext);
14995 }
14996 
initialize(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR * in_struct)14997 void safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::initialize(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* in_struct)
14998 {
14999     sType = in_struct->sType;
15000     vulkanMemoryModel = in_struct->vulkanMemoryModel;
15001     vulkanMemoryModelDeviceScope = in_struct->vulkanMemoryModelDeviceScope;
15002     vulkanMemoryModelAvailabilityVisibilityChains = in_struct->vulkanMemoryModelAvailabilityVisibilityChains;
15003     pNext = SafePnextCopy(in_struct->pNext);
15004 }
15005 
initialize(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR * src)15006 void safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::initialize(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* src)
15007 {
15008     sType = src->sType;
15009     vulkanMemoryModel = src->vulkanMemoryModel;
15010     vulkanMemoryModelDeviceScope = src->vulkanMemoryModelDeviceScope;
15011     vulkanMemoryModelAvailabilityVisibilityChains = src->vulkanMemoryModelAvailabilityVisibilityChains;
15012     pNext = SafePnextCopy(src->pNext);
15013 }
15014 
safe_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR * in_struct)15015 safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR* in_struct) :
15016     sType(in_struct->sType),
15017     supportsProtected(in_struct->supportsProtected)
15018 {
15019     pNext = SafePnextCopy(in_struct->pNext);
15020 }
15021 
safe_VkSurfaceProtectedCapabilitiesKHR()15022 safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR() :
15023     pNext(nullptr)
15024 {}
15025 
safe_VkSurfaceProtectedCapabilitiesKHR(const safe_VkSurfaceProtectedCapabilitiesKHR & src)15026 safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const safe_VkSurfaceProtectedCapabilitiesKHR& src)
15027 {
15028     sType = src.sType;
15029     supportsProtected = src.supportsProtected;
15030     pNext = SafePnextCopy(src.pNext);
15031 }
15032 
operator =(const safe_VkSurfaceProtectedCapabilitiesKHR & src)15033 safe_VkSurfaceProtectedCapabilitiesKHR& safe_VkSurfaceProtectedCapabilitiesKHR::operator=(const safe_VkSurfaceProtectedCapabilitiesKHR& src)
15034 {
15035     if (&src == this) return *this;
15036 
15037     if (pNext)
15038         FreePnextChain(pNext);
15039 
15040     sType = src.sType;
15041     supportsProtected = src.supportsProtected;
15042     pNext = SafePnextCopy(src.pNext);
15043 
15044     return *this;
15045 }
15046 
~safe_VkSurfaceProtectedCapabilitiesKHR()15047 safe_VkSurfaceProtectedCapabilitiesKHR::~safe_VkSurfaceProtectedCapabilitiesKHR()
15048 {
15049     if (pNext)
15050         FreePnextChain(pNext);
15051 }
15052 
initialize(const VkSurfaceProtectedCapabilitiesKHR * in_struct)15053 void safe_VkSurfaceProtectedCapabilitiesKHR::initialize(const VkSurfaceProtectedCapabilitiesKHR* in_struct)
15054 {
15055     sType = in_struct->sType;
15056     supportsProtected = in_struct->supportsProtected;
15057     pNext = SafePnextCopy(in_struct->pNext);
15058 }
15059 
initialize(const safe_VkSurfaceProtectedCapabilitiesKHR * src)15060 void safe_VkSurfaceProtectedCapabilitiesKHR::initialize(const safe_VkSurfaceProtectedCapabilitiesKHR* src)
15061 {
15062     sType = src->sType;
15063     supportsProtected = src->supportsProtected;
15064     pNext = SafePnextCopy(src->pNext);
15065 }
15066 
safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR * in_struct)15067 safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* in_struct) :
15068     sType(in_struct->sType),
15069     uniformBufferStandardLayout(in_struct->uniformBufferStandardLayout)
15070 {
15071     pNext = SafePnextCopy(in_struct->pNext);
15072 }
15073 
safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR()15074 safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR() :
15075     pNext(nullptr)
15076 {}
15077 
safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR & src)15078 safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& src)
15079 {
15080     sType = src.sType;
15081     uniformBufferStandardLayout = src.uniformBufferStandardLayout;
15082     pNext = SafePnextCopy(src.pNext);
15083 }
15084 
operator =(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR & src)15085 safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::operator=(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& src)
15086 {
15087     if (&src == this) return *this;
15088 
15089     if (pNext)
15090         FreePnextChain(pNext);
15091 
15092     sType = src.sType;
15093     uniformBufferStandardLayout = src.uniformBufferStandardLayout;
15094     pNext = SafePnextCopy(src.pNext);
15095 
15096     return *this;
15097 }
15098 
~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR()15099 safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR()
15100 {
15101     if (pNext)
15102         FreePnextChain(pNext);
15103 }
15104 
initialize(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR * in_struct)15105 void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::initialize(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* in_struct)
15106 {
15107     sType = in_struct->sType;
15108     uniformBufferStandardLayout = in_struct->uniformBufferStandardLayout;
15109     pNext = SafePnextCopy(in_struct->pNext);
15110 }
15111 
initialize(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR * src)15112 void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::initialize(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* src)
15113 {
15114     sType = src->sType;
15115     uniformBufferStandardLayout = src->uniformBufferStandardLayout;
15116     pNext = SafePnextCopy(src->pNext);
15117 }
15118 
safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * in_struct)15119 safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* in_struct) :
15120     sType(in_struct->sType),
15121     pipelineExecutableInfo(in_struct->pipelineExecutableInfo)
15122 {
15123     pNext = SafePnextCopy(in_struct->pNext);
15124 }
15125 
safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR()15126 safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR() :
15127     pNext(nullptr)
15128 {}
15129 
safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR & src)15130 safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& src)
15131 {
15132     sType = src.sType;
15133     pipelineExecutableInfo = src.pipelineExecutableInfo;
15134     pNext = SafePnextCopy(src.pNext);
15135 }
15136 
operator =(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR & src)15137 safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::operator=(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& src)
15138 {
15139     if (&src == this) return *this;
15140 
15141     if (pNext)
15142         FreePnextChain(pNext);
15143 
15144     sType = src.sType;
15145     pipelineExecutableInfo = src.pipelineExecutableInfo;
15146     pNext = SafePnextCopy(src.pNext);
15147 
15148     return *this;
15149 }
15150 
~safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR()15151 safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::~safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR()
15152 {
15153     if (pNext)
15154         FreePnextChain(pNext);
15155 }
15156 
initialize(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * in_struct)15157 void safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::initialize(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* in_struct)
15158 {
15159     sType = in_struct->sType;
15160     pipelineExecutableInfo = in_struct->pipelineExecutableInfo;
15161     pNext = SafePnextCopy(in_struct->pNext);
15162 }
15163 
initialize(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * src)15164 void safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::initialize(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* src)
15165 {
15166     sType = src->sType;
15167     pipelineExecutableInfo = src->pipelineExecutableInfo;
15168     pNext = SafePnextCopy(src->pNext);
15169 }
15170 
safe_VkPipelineInfoKHR(const VkPipelineInfoKHR * in_struct)15171 safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR(const VkPipelineInfoKHR* in_struct) :
15172     sType(in_struct->sType),
15173     pipeline(in_struct->pipeline)
15174 {
15175     pNext = SafePnextCopy(in_struct->pNext);
15176 }
15177 
safe_VkPipelineInfoKHR()15178 safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR() :
15179     pNext(nullptr)
15180 {}
15181 
safe_VkPipelineInfoKHR(const safe_VkPipelineInfoKHR & src)15182 safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR(const safe_VkPipelineInfoKHR& src)
15183 {
15184     sType = src.sType;
15185     pipeline = src.pipeline;
15186     pNext = SafePnextCopy(src.pNext);
15187 }
15188 
operator =(const safe_VkPipelineInfoKHR & src)15189 safe_VkPipelineInfoKHR& safe_VkPipelineInfoKHR::operator=(const safe_VkPipelineInfoKHR& src)
15190 {
15191     if (&src == this) return *this;
15192 
15193     if (pNext)
15194         FreePnextChain(pNext);
15195 
15196     sType = src.sType;
15197     pipeline = src.pipeline;
15198     pNext = SafePnextCopy(src.pNext);
15199 
15200     return *this;
15201 }
15202 
~safe_VkPipelineInfoKHR()15203 safe_VkPipelineInfoKHR::~safe_VkPipelineInfoKHR()
15204 {
15205     if (pNext)
15206         FreePnextChain(pNext);
15207 }
15208 
initialize(const VkPipelineInfoKHR * in_struct)15209 void safe_VkPipelineInfoKHR::initialize(const VkPipelineInfoKHR* in_struct)
15210 {
15211     sType = in_struct->sType;
15212     pipeline = in_struct->pipeline;
15213     pNext = SafePnextCopy(in_struct->pNext);
15214 }
15215 
initialize(const safe_VkPipelineInfoKHR * src)15216 void safe_VkPipelineInfoKHR::initialize(const safe_VkPipelineInfoKHR* src)
15217 {
15218     sType = src->sType;
15219     pipeline = src->pipeline;
15220     pNext = SafePnextCopy(src->pNext);
15221 }
15222 
safe_VkPipelineExecutablePropertiesKHR(const VkPipelineExecutablePropertiesKHR * in_struct)15223 safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR(const VkPipelineExecutablePropertiesKHR* in_struct) :
15224     sType(in_struct->sType),
15225     stages(in_struct->stages),
15226     subgroupSize(in_struct->subgroupSize)
15227 {
15228     pNext = SafePnextCopy(in_struct->pNext);
15229     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15230         name[i] = in_struct->name[i];
15231     }
15232     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15233         description[i] = in_struct->description[i];
15234     }
15235 }
15236 
safe_VkPipelineExecutablePropertiesKHR()15237 safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR() :
15238     pNext(nullptr)
15239 {}
15240 
safe_VkPipelineExecutablePropertiesKHR(const safe_VkPipelineExecutablePropertiesKHR & src)15241 safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR(const safe_VkPipelineExecutablePropertiesKHR& src)
15242 {
15243     sType = src.sType;
15244     stages = src.stages;
15245     subgroupSize = src.subgroupSize;
15246     pNext = SafePnextCopy(src.pNext);
15247     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15248         name[i] = src.name[i];
15249     }
15250     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15251         description[i] = src.description[i];
15252     }
15253 }
15254 
operator =(const safe_VkPipelineExecutablePropertiesKHR & src)15255 safe_VkPipelineExecutablePropertiesKHR& safe_VkPipelineExecutablePropertiesKHR::operator=(const safe_VkPipelineExecutablePropertiesKHR& src)
15256 {
15257     if (&src == this) return *this;
15258 
15259     if (pNext)
15260         FreePnextChain(pNext);
15261 
15262     sType = src.sType;
15263     stages = src.stages;
15264     subgroupSize = src.subgroupSize;
15265     pNext = SafePnextCopy(src.pNext);
15266     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15267         name[i] = src.name[i];
15268     }
15269     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15270         description[i] = src.description[i];
15271     }
15272 
15273     return *this;
15274 }
15275 
~safe_VkPipelineExecutablePropertiesKHR()15276 safe_VkPipelineExecutablePropertiesKHR::~safe_VkPipelineExecutablePropertiesKHR()
15277 {
15278     if (pNext)
15279         FreePnextChain(pNext);
15280 }
15281 
initialize(const VkPipelineExecutablePropertiesKHR * in_struct)15282 void safe_VkPipelineExecutablePropertiesKHR::initialize(const VkPipelineExecutablePropertiesKHR* in_struct)
15283 {
15284     sType = in_struct->sType;
15285     stages = in_struct->stages;
15286     subgroupSize = in_struct->subgroupSize;
15287     pNext = SafePnextCopy(in_struct->pNext);
15288     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15289         name[i] = in_struct->name[i];
15290     }
15291     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15292         description[i] = in_struct->description[i];
15293     }
15294 }
15295 
initialize(const safe_VkPipelineExecutablePropertiesKHR * src)15296 void safe_VkPipelineExecutablePropertiesKHR::initialize(const safe_VkPipelineExecutablePropertiesKHR* src)
15297 {
15298     sType = src->sType;
15299     stages = src->stages;
15300     subgroupSize = src->subgroupSize;
15301     pNext = SafePnextCopy(src->pNext);
15302     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15303         name[i] = src->name[i];
15304     }
15305     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15306         description[i] = src->description[i];
15307     }
15308 }
15309 
safe_VkPipelineExecutableInfoKHR(const VkPipelineExecutableInfoKHR * in_struct)15310 safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR(const VkPipelineExecutableInfoKHR* in_struct) :
15311     sType(in_struct->sType),
15312     pipeline(in_struct->pipeline),
15313     executableIndex(in_struct->executableIndex)
15314 {
15315     pNext = SafePnextCopy(in_struct->pNext);
15316 }
15317 
safe_VkPipelineExecutableInfoKHR()15318 safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR() :
15319     pNext(nullptr)
15320 {}
15321 
safe_VkPipelineExecutableInfoKHR(const safe_VkPipelineExecutableInfoKHR & src)15322 safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR(const safe_VkPipelineExecutableInfoKHR& src)
15323 {
15324     sType = src.sType;
15325     pipeline = src.pipeline;
15326     executableIndex = src.executableIndex;
15327     pNext = SafePnextCopy(src.pNext);
15328 }
15329 
operator =(const safe_VkPipelineExecutableInfoKHR & src)15330 safe_VkPipelineExecutableInfoKHR& safe_VkPipelineExecutableInfoKHR::operator=(const safe_VkPipelineExecutableInfoKHR& src)
15331 {
15332     if (&src == this) return *this;
15333 
15334     if (pNext)
15335         FreePnextChain(pNext);
15336 
15337     sType = src.sType;
15338     pipeline = src.pipeline;
15339     executableIndex = src.executableIndex;
15340     pNext = SafePnextCopy(src.pNext);
15341 
15342     return *this;
15343 }
15344 
~safe_VkPipelineExecutableInfoKHR()15345 safe_VkPipelineExecutableInfoKHR::~safe_VkPipelineExecutableInfoKHR()
15346 {
15347     if (pNext)
15348         FreePnextChain(pNext);
15349 }
15350 
initialize(const VkPipelineExecutableInfoKHR * in_struct)15351 void safe_VkPipelineExecutableInfoKHR::initialize(const VkPipelineExecutableInfoKHR* in_struct)
15352 {
15353     sType = in_struct->sType;
15354     pipeline = in_struct->pipeline;
15355     executableIndex = in_struct->executableIndex;
15356     pNext = SafePnextCopy(in_struct->pNext);
15357 }
15358 
initialize(const safe_VkPipelineExecutableInfoKHR * src)15359 void safe_VkPipelineExecutableInfoKHR::initialize(const safe_VkPipelineExecutableInfoKHR* src)
15360 {
15361     sType = src->sType;
15362     pipeline = src->pipeline;
15363     executableIndex = src->executableIndex;
15364     pNext = SafePnextCopy(src->pNext);
15365 }
15366 
safe_VkPipelineExecutableStatisticKHR(const VkPipelineExecutableStatisticKHR * in_struct)15367 safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR(const VkPipelineExecutableStatisticKHR* in_struct) :
15368     sType(in_struct->sType),
15369     format(in_struct->format),
15370     value(in_struct->value)
15371 {
15372     pNext = SafePnextCopy(in_struct->pNext);
15373     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15374         name[i] = in_struct->name[i];
15375     }
15376     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15377         description[i] = in_struct->description[i];
15378     }
15379 }
15380 
safe_VkPipelineExecutableStatisticKHR()15381 safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR() :
15382     pNext(nullptr)
15383 {}
15384 
safe_VkPipelineExecutableStatisticKHR(const safe_VkPipelineExecutableStatisticKHR & src)15385 safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR(const safe_VkPipelineExecutableStatisticKHR& src)
15386 {
15387     sType = src.sType;
15388     format = src.format;
15389     value = src.value;
15390     pNext = SafePnextCopy(src.pNext);
15391     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15392         name[i] = src.name[i];
15393     }
15394     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15395         description[i] = src.description[i];
15396     }
15397 }
15398 
operator =(const safe_VkPipelineExecutableStatisticKHR & src)15399 safe_VkPipelineExecutableStatisticKHR& safe_VkPipelineExecutableStatisticKHR::operator=(const safe_VkPipelineExecutableStatisticKHR& src)
15400 {
15401     if (&src == this) return *this;
15402 
15403     if (pNext)
15404         FreePnextChain(pNext);
15405 
15406     sType = src.sType;
15407     format = src.format;
15408     value = src.value;
15409     pNext = SafePnextCopy(src.pNext);
15410     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15411         name[i] = src.name[i];
15412     }
15413     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15414         description[i] = src.description[i];
15415     }
15416 
15417     return *this;
15418 }
15419 
~safe_VkPipelineExecutableStatisticKHR()15420 safe_VkPipelineExecutableStatisticKHR::~safe_VkPipelineExecutableStatisticKHR()
15421 {
15422     if (pNext)
15423         FreePnextChain(pNext);
15424 }
15425 
initialize(const VkPipelineExecutableStatisticKHR * in_struct)15426 void safe_VkPipelineExecutableStatisticKHR::initialize(const VkPipelineExecutableStatisticKHR* in_struct)
15427 {
15428     sType = in_struct->sType;
15429     format = in_struct->format;
15430     value = in_struct->value;
15431     pNext = SafePnextCopy(in_struct->pNext);
15432     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15433         name[i] = in_struct->name[i];
15434     }
15435     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15436         description[i] = in_struct->description[i];
15437     }
15438 }
15439 
initialize(const safe_VkPipelineExecutableStatisticKHR * src)15440 void safe_VkPipelineExecutableStatisticKHR::initialize(const safe_VkPipelineExecutableStatisticKHR* src)
15441 {
15442     sType = src->sType;
15443     format = src->format;
15444     value = src->value;
15445     pNext = SafePnextCopy(src->pNext);
15446     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15447         name[i] = src->name[i];
15448     }
15449     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15450         description[i] = src->description[i];
15451     }
15452 }
15453 
safe_VkPipelineExecutableInternalRepresentationKHR(const VkPipelineExecutableInternalRepresentationKHR * in_struct)15454 safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR(const VkPipelineExecutableInternalRepresentationKHR* in_struct) :
15455     sType(in_struct->sType),
15456     isText(in_struct->isText),
15457     dataSize(in_struct->dataSize),
15458     pData(in_struct->pData)
15459 {
15460     pNext = SafePnextCopy(in_struct->pNext);
15461     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15462         name[i] = in_struct->name[i];
15463     }
15464     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15465         description[i] = in_struct->description[i];
15466     }
15467 }
15468 
safe_VkPipelineExecutableInternalRepresentationKHR()15469 safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR() :
15470     pNext(nullptr),
15471     pData(nullptr)
15472 {}
15473 
safe_VkPipelineExecutableInternalRepresentationKHR(const safe_VkPipelineExecutableInternalRepresentationKHR & src)15474 safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR(const safe_VkPipelineExecutableInternalRepresentationKHR& src)
15475 {
15476     sType = src.sType;
15477     isText = src.isText;
15478     dataSize = src.dataSize;
15479     pData = src.pData;
15480     pNext = SafePnextCopy(src.pNext);
15481     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15482         name[i] = src.name[i];
15483     }
15484     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15485         description[i] = src.description[i];
15486     }
15487 }
15488 
operator =(const safe_VkPipelineExecutableInternalRepresentationKHR & src)15489 safe_VkPipelineExecutableInternalRepresentationKHR& safe_VkPipelineExecutableInternalRepresentationKHR::operator=(const safe_VkPipelineExecutableInternalRepresentationKHR& src)
15490 {
15491     if (&src == this) return *this;
15492 
15493     if (pNext)
15494         FreePnextChain(pNext);
15495 
15496     sType = src.sType;
15497     isText = src.isText;
15498     dataSize = src.dataSize;
15499     pData = src.pData;
15500     pNext = SafePnextCopy(src.pNext);
15501     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15502         name[i] = src.name[i];
15503     }
15504     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15505         description[i] = src.description[i];
15506     }
15507 
15508     return *this;
15509 }
15510 
~safe_VkPipelineExecutableInternalRepresentationKHR()15511 safe_VkPipelineExecutableInternalRepresentationKHR::~safe_VkPipelineExecutableInternalRepresentationKHR()
15512 {
15513     if (pNext)
15514         FreePnextChain(pNext);
15515 }
15516 
initialize(const VkPipelineExecutableInternalRepresentationKHR * in_struct)15517 void safe_VkPipelineExecutableInternalRepresentationKHR::initialize(const VkPipelineExecutableInternalRepresentationKHR* in_struct)
15518 {
15519     sType = in_struct->sType;
15520     isText = in_struct->isText;
15521     dataSize = in_struct->dataSize;
15522     pData = in_struct->pData;
15523     pNext = SafePnextCopy(in_struct->pNext);
15524     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15525         name[i] = in_struct->name[i];
15526     }
15527     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15528         description[i] = in_struct->description[i];
15529     }
15530 }
15531 
initialize(const safe_VkPipelineExecutableInternalRepresentationKHR * src)15532 void safe_VkPipelineExecutableInternalRepresentationKHR::initialize(const safe_VkPipelineExecutableInternalRepresentationKHR* src)
15533 {
15534     sType = src->sType;
15535     isText = src->isText;
15536     dataSize = src->dataSize;
15537     pData = src->pData;
15538     pNext = SafePnextCopy(src->pNext);
15539     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15540         name[i] = src->name[i];
15541     }
15542     for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) {
15543         description[i] = src->description[i];
15544     }
15545 }
15546 
safe_VkDebugReportCallbackCreateInfoEXT(const VkDebugReportCallbackCreateInfoEXT * in_struct)15547 safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT(const VkDebugReportCallbackCreateInfoEXT* in_struct) :
15548     sType(in_struct->sType),
15549     flags(in_struct->flags),
15550     pfnCallback(in_struct->pfnCallback),
15551     pUserData(in_struct->pUserData)
15552 {
15553     pNext = SafePnextCopy(in_struct->pNext);
15554 }
15555 
safe_VkDebugReportCallbackCreateInfoEXT()15556 safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT() :
15557     pNext(nullptr),
15558     pUserData(nullptr)
15559 {}
15560 
safe_VkDebugReportCallbackCreateInfoEXT(const safe_VkDebugReportCallbackCreateInfoEXT & src)15561 safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT(const safe_VkDebugReportCallbackCreateInfoEXT& src)
15562 {
15563     sType = src.sType;
15564     flags = src.flags;
15565     pfnCallback = src.pfnCallback;
15566     pUserData = src.pUserData;
15567     pNext = SafePnextCopy(src.pNext);
15568 }
15569 
operator =(const safe_VkDebugReportCallbackCreateInfoEXT & src)15570 safe_VkDebugReportCallbackCreateInfoEXT& safe_VkDebugReportCallbackCreateInfoEXT::operator=(const safe_VkDebugReportCallbackCreateInfoEXT& src)
15571 {
15572     if (&src == this) return *this;
15573 
15574     if (pNext)
15575         FreePnextChain(pNext);
15576 
15577     sType = src.sType;
15578     flags = src.flags;
15579     pfnCallback = src.pfnCallback;
15580     pUserData = src.pUserData;
15581     pNext = SafePnextCopy(src.pNext);
15582 
15583     return *this;
15584 }
15585 
~safe_VkDebugReportCallbackCreateInfoEXT()15586 safe_VkDebugReportCallbackCreateInfoEXT::~safe_VkDebugReportCallbackCreateInfoEXT()
15587 {
15588     if (pNext)
15589         FreePnextChain(pNext);
15590 }
15591 
initialize(const VkDebugReportCallbackCreateInfoEXT * in_struct)15592 void safe_VkDebugReportCallbackCreateInfoEXT::initialize(const VkDebugReportCallbackCreateInfoEXT* in_struct)
15593 {
15594     sType = in_struct->sType;
15595     flags = in_struct->flags;
15596     pfnCallback = in_struct->pfnCallback;
15597     pUserData = in_struct->pUserData;
15598     pNext = SafePnextCopy(in_struct->pNext);
15599 }
15600 
initialize(const safe_VkDebugReportCallbackCreateInfoEXT * src)15601 void safe_VkDebugReportCallbackCreateInfoEXT::initialize(const safe_VkDebugReportCallbackCreateInfoEXT* src)
15602 {
15603     sType = src->sType;
15604     flags = src->flags;
15605     pfnCallback = src->pfnCallback;
15606     pUserData = src->pUserData;
15607     pNext = SafePnextCopy(src->pNext);
15608 }
15609 
safe_VkPipelineRasterizationStateRasterizationOrderAMD(const VkPipelineRasterizationStateRasterizationOrderAMD * in_struct)15610 safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD(const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct) :
15611     sType(in_struct->sType),
15612     rasterizationOrder(in_struct->rasterizationOrder)
15613 {
15614     pNext = SafePnextCopy(in_struct->pNext);
15615 }
15616 
safe_VkPipelineRasterizationStateRasterizationOrderAMD()15617 safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD() :
15618     pNext(nullptr)
15619 {}
15620 
safe_VkPipelineRasterizationStateRasterizationOrderAMD(const safe_VkPipelineRasterizationStateRasterizationOrderAMD & src)15621 safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD(const safe_VkPipelineRasterizationStateRasterizationOrderAMD& src)
15622 {
15623     sType = src.sType;
15624     rasterizationOrder = src.rasterizationOrder;
15625     pNext = SafePnextCopy(src.pNext);
15626 }
15627 
operator =(const safe_VkPipelineRasterizationStateRasterizationOrderAMD & src)15628 safe_VkPipelineRasterizationStateRasterizationOrderAMD& safe_VkPipelineRasterizationStateRasterizationOrderAMD::operator=(const safe_VkPipelineRasterizationStateRasterizationOrderAMD& src)
15629 {
15630     if (&src == this) return *this;
15631 
15632     if (pNext)
15633         FreePnextChain(pNext);
15634 
15635     sType = src.sType;
15636     rasterizationOrder = src.rasterizationOrder;
15637     pNext = SafePnextCopy(src.pNext);
15638 
15639     return *this;
15640 }
15641 
~safe_VkPipelineRasterizationStateRasterizationOrderAMD()15642 safe_VkPipelineRasterizationStateRasterizationOrderAMD::~safe_VkPipelineRasterizationStateRasterizationOrderAMD()
15643 {
15644     if (pNext)
15645         FreePnextChain(pNext);
15646 }
15647 
initialize(const VkPipelineRasterizationStateRasterizationOrderAMD * in_struct)15648 void safe_VkPipelineRasterizationStateRasterizationOrderAMD::initialize(const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct)
15649 {
15650     sType = in_struct->sType;
15651     rasterizationOrder = in_struct->rasterizationOrder;
15652     pNext = SafePnextCopy(in_struct->pNext);
15653 }
15654 
initialize(const safe_VkPipelineRasterizationStateRasterizationOrderAMD * src)15655 void safe_VkPipelineRasterizationStateRasterizationOrderAMD::initialize(const safe_VkPipelineRasterizationStateRasterizationOrderAMD* src)
15656 {
15657     sType = src->sType;
15658     rasterizationOrder = src->rasterizationOrder;
15659     pNext = SafePnextCopy(src->pNext);
15660 }
15661 
safe_VkDebugMarkerObjectNameInfoEXT(const VkDebugMarkerObjectNameInfoEXT * in_struct)15662 safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT(const VkDebugMarkerObjectNameInfoEXT* in_struct) :
15663     sType(in_struct->sType),
15664     objectType(in_struct->objectType),
15665     object(in_struct->object)
15666 {
15667     pNext = SafePnextCopy(in_struct->pNext);
15668     pObjectName = SafeStringCopy(in_struct->pObjectName);
15669 }
15670 
safe_VkDebugMarkerObjectNameInfoEXT()15671 safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT() :
15672     pNext(nullptr),
15673     pObjectName(nullptr)
15674 {}
15675 
safe_VkDebugMarkerObjectNameInfoEXT(const safe_VkDebugMarkerObjectNameInfoEXT & src)15676 safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT(const safe_VkDebugMarkerObjectNameInfoEXT& src)
15677 {
15678     sType = src.sType;
15679     objectType = src.objectType;
15680     object = src.object;
15681     pNext = SafePnextCopy(src.pNext);
15682     pObjectName = SafeStringCopy(src.pObjectName);
15683 }
15684 
operator =(const safe_VkDebugMarkerObjectNameInfoEXT & src)15685 safe_VkDebugMarkerObjectNameInfoEXT& safe_VkDebugMarkerObjectNameInfoEXT::operator=(const safe_VkDebugMarkerObjectNameInfoEXT& src)
15686 {
15687     if (&src == this) return *this;
15688 
15689     if (pObjectName) delete [] pObjectName;
15690     if (pNext)
15691         FreePnextChain(pNext);
15692 
15693     sType = src.sType;
15694     objectType = src.objectType;
15695     object = src.object;
15696     pNext = SafePnextCopy(src.pNext);
15697     pObjectName = SafeStringCopy(src.pObjectName);
15698 
15699     return *this;
15700 }
15701 
~safe_VkDebugMarkerObjectNameInfoEXT()15702 safe_VkDebugMarkerObjectNameInfoEXT::~safe_VkDebugMarkerObjectNameInfoEXT()
15703 {
15704     if (pObjectName) delete [] pObjectName;
15705     if (pNext)
15706         FreePnextChain(pNext);
15707 }
15708 
initialize(const VkDebugMarkerObjectNameInfoEXT * in_struct)15709 void safe_VkDebugMarkerObjectNameInfoEXT::initialize(const VkDebugMarkerObjectNameInfoEXT* in_struct)
15710 {
15711     sType = in_struct->sType;
15712     objectType = in_struct->objectType;
15713     object = in_struct->object;
15714     pNext = SafePnextCopy(in_struct->pNext);
15715     pObjectName = SafeStringCopy(in_struct->pObjectName);
15716 }
15717 
initialize(const safe_VkDebugMarkerObjectNameInfoEXT * src)15718 void safe_VkDebugMarkerObjectNameInfoEXT::initialize(const safe_VkDebugMarkerObjectNameInfoEXT* src)
15719 {
15720     sType = src->sType;
15721     objectType = src->objectType;
15722     object = src->object;
15723     pNext = SafePnextCopy(src->pNext);
15724     pObjectName = SafeStringCopy(src->pObjectName);
15725 }
15726 
safe_VkDebugMarkerObjectTagInfoEXT(const VkDebugMarkerObjectTagInfoEXT * in_struct)15727 safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT(const VkDebugMarkerObjectTagInfoEXT* in_struct) :
15728     sType(in_struct->sType),
15729     objectType(in_struct->objectType),
15730     object(in_struct->object),
15731     tagName(in_struct->tagName),
15732     tagSize(in_struct->tagSize),
15733     pTag(in_struct->pTag)
15734 {
15735     pNext = SafePnextCopy(in_struct->pNext);
15736 }
15737 
safe_VkDebugMarkerObjectTagInfoEXT()15738 safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT() :
15739     pNext(nullptr),
15740     pTag(nullptr)
15741 {}
15742 
safe_VkDebugMarkerObjectTagInfoEXT(const safe_VkDebugMarkerObjectTagInfoEXT & src)15743 safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT(const safe_VkDebugMarkerObjectTagInfoEXT& src)
15744 {
15745     sType = src.sType;
15746     objectType = src.objectType;
15747     object = src.object;
15748     tagName = src.tagName;
15749     tagSize = src.tagSize;
15750     pTag = src.pTag;
15751     pNext = SafePnextCopy(src.pNext);
15752 }
15753 
operator =(const safe_VkDebugMarkerObjectTagInfoEXT & src)15754 safe_VkDebugMarkerObjectTagInfoEXT& safe_VkDebugMarkerObjectTagInfoEXT::operator=(const safe_VkDebugMarkerObjectTagInfoEXT& src)
15755 {
15756     if (&src == this) return *this;
15757 
15758     if (pNext)
15759         FreePnextChain(pNext);
15760 
15761     sType = src.sType;
15762     objectType = src.objectType;
15763     object = src.object;
15764     tagName = src.tagName;
15765     tagSize = src.tagSize;
15766     pTag = src.pTag;
15767     pNext = SafePnextCopy(src.pNext);
15768 
15769     return *this;
15770 }
15771 
~safe_VkDebugMarkerObjectTagInfoEXT()15772 safe_VkDebugMarkerObjectTagInfoEXT::~safe_VkDebugMarkerObjectTagInfoEXT()
15773 {
15774     if (pNext)
15775         FreePnextChain(pNext);
15776 }
15777 
initialize(const VkDebugMarkerObjectTagInfoEXT * in_struct)15778 void safe_VkDebugMarkerObjectTagInfoEXT::initialize(const VkDebugMarkerObjectTagInfoEXT* in_struct)
15779 {
15780     sType = in_struct->sType;
15781     objectType = in_struct->objectType;
15782     object = in_struct->object;
15783     tagName = in_struct->tagName;
15784     tagSize = in_struct->tagSize;
15785     pTag = in_struct->pTag;
15786     pNext = SafePnextCopy(in_struct->pNext);
15787 }
15788 
initialize(const safe_VkDebugMarkerObjectTagInfoEXT * src)15789 void safe_VkDebugMarkerObjectTagInfoEXT::initialize(const safe_VkDebugMarkerObjectTagInfoEXT* src)
15790 {
15791     sType = src->sType;
15792     objectType = src->objectType;
15793     object = src->object;
15794     tagName = src->tagName;
15795     tagSize = src->tagSize;
15796     pTag = src->pTag;
15797     pNext = SafePnextCopy(src->pNext);
15798 }
15799 
safe_VkDebugMarkerMarkerInfoEXT(const VkDebugMarkerMarkerInfoEXT * in_struct)15800 safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT(const VkDebugMarkerMarkerInfoEXT* in_struct) :
15801     sType(in_struct->sType)
15802 {
15803     pNext = SafePnextCopy(in_struct->pNext);
15804     pMarkerName = SafeStringCopy(in_struct->pMarkerName);
15805     for (uint32_t i = 0; i < 4; ++i) {
15806         color[i] = in_struct->color[i];
15807     }
15808 }
15809 
safe_VkDebugMarkerMarkerInfoEXT()15810 safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT() :
15811     pNext(nullptr),
15812     pMarkerName(nullptr)
15813 {}
15814 
safe_VkDebugMarkerMarkerInfoEXT(const safe_VkDebugMarkerMarkerInfoEXT & src)15815 safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT(const safe_VkDebugMarkerMarkerInfoEXT& src)
15816 {
15817     sType = src.sType;
15818     pNext = SafePnextCopy(src.pNext);
15819     pMarkerName = SafeStringCopy(src.pMarkerName);
15820     for (uint32_t i = 0; i < 4; ++i) {
15821         color[i] = src.color[i];
15822     }
15823 }
15824 
operator =(const safe_VkDebugMarkerMarkerInfoEXT & src)15825 safe_VkDebugMarkerMarkerInfoEXT& safe_VkDebugMarkerMarkerInfoEXT::operator=(const safe_VkDebugMarkerMarkerInfoEXT& src)
15826 {
15827     if (&src == this) return *this;
15828 
15829     if (pMarkerName) delete [] pMarkerName;
15830     if (pNext)
15831         FreePnextChain(pNext);
15832 
15833     sType = src.sType;
15834     pNext = SafePnextCopy(src.pNext);
15835     pMarkerName = SafeStringCopy(src.pMarkerName);
15836     for (uint32_t i = 0; i < 4; ++i) {
15837         color[i] = src.color[i];
15838     }
15839 
15840     return *this;
15841 }
15842 
~safe_VkDebugMarkerMarkerInfoEXT()15843 safe_VkDebugMarkerMarkerInfoEXT::~safe_VkDebugMarkerMarkerInfoEXT()
15844 {
15845     if (pMarkerName) delete [] pMarkerName;
15846     if (pNext)
15847         FreePnextChain(pNext);
15848 }
15849 
initialize(const VkDebugMarkerMarkerInfoEXT * in_struct)15850 void safe_VkDebugMarkerMarkerInfoEXT::initialize(const VkDebugMarkerMarkerInfoEXT* in_struct)
15851 {
15852     sType = in_struct->sType;
15853     pNext = SafePnextCopy(in_struct->pNext);
15854     pMarkerName = SafeStringCopy(in_struct->pMarkerName);
15855     for (uint32_t i = 0; i < 4; ++i) {
15856         color[i] = in_struct->color[i];
15857     }
15858 }
15859 
initialize(const safe_VkDebugMarkerMarkerInfoEXT * src)15860 void safe_VkDebugMarkerMarkerInfoEXT::initialize(const safe_VkDebugMarkerMarkerInfoEXT* src)
15861 {
15862     sType = src->sType;
15863     pNext = SafePnextCopy(src->pNext);
15864     pMarkerName = SafeStringCopy(src->pMarkerName);
15865     for (uint32_t i = 0; i < 4; ++i) {
15866         color[i] = src->color[i];
15867     }
15868 }
15869 
safe_VkDedicatedAllocationImageCreateInfoNV(const VkDedicatedAllocationImageCreateInfoNV * in_struct)15870 safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV(const VkDedicatedAllocationImageCreateInfoNV* in_struct) :
15871     sType(in_struct->sType),
15872     dedicatedAllocation(in_struct->dedicatedAllocation)
15873 {
15874     pNext = SafePnextCopy(in_struct->pNext);
15875 }
15876 
safe_VkDedicatedAllocationImageCreateInfoNV()15877 safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV() :
15878     pNext(nullptr)
15879 {}
15880 
safe_VkDedicatedAllocationImageCreateInfoNV(const safe_VkDedicatedAllocationImageCreateInfoNV & src)15881 safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV(const safe_VkDedicatedAllocationImageCreateInfoNV& src)
15882 {
15883     sType = src.sType;
15884     dedicatedAllocation = src.dedicatedAllocation;
15885     pNext = SafePnextCopy(src.pNext);
15886 }
15887 
operator =(const safe_VkDedicatedAllocationImageCreateInfoNV & src)15888 safe_VkDedicatedAllocationImageCreateInfoNV& safe_VkDedicatedAllocationImageCreateInfoNV::operator=(const safe_VkDedicatedAllocationImageCreateInfoNV& src)
15889 {
15890     if (&src == this) return *this;
15891 
15892     if (pNext)
15893         FreePnextChain(pNext);
15894 
15895     sType = src.sType;
15896     dedicatedAllocation = src.dedicatedAllocation;
15897     pNext = SafePnextCopy(src.pNext);
15898 
15899     return *this;
15900 }
15901 
~safe_VkDedicatedAllocationImageCreateInfoNV()15902 safe_VkDedicatedAllocationImageCreateInfoNV::~safe_VkDedicatedAllocationImageCreateInfoNV()
15903 {
15904     if (pNext)
15905         FreePnextChain(pNext);
15906 }
15907 
initialize(const VkDedicatedAllocationImageCreateInfoNV * in_struct)15908 void safe_VkDedicatedAllocationImageCreateInfoNV::initialize(const VkDedicatedAllocationImageCreateInfoNV* in_struct)
15909 {
15910     sType = in_struct->sType;
15911     dedicatedAllocation = in_struct->dedicatedAllocation;
15912     pNext = SafePnextCopy(in_struct->pNext);
15913 }
15914 
initialize(const safe_VkDedicatedAllocationImageCreateInfoNV * src)15915 void safe_VkDedicatedAllocationImageCreateInfoNV::initialize(const safe_VkDedicatedAllocationImageCreateInfoNV* src)
15916 {
15917     sType = src->sType;
15918     dedicatedAllocation = src->dedicatedAllocation;
15919     pNext = SafePnextCopy(src->pNext);
15920 }
15921 
safe_VkDedicatedAllocationBufferCreateInfoNV(const VkDedicatedAllocationBufferCreateInfoNV * in_struct)15922 safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV(const VkDedicatedAllocationBufferCreateInfoNV* in_struct) :
15923     sType(in_struct->sType),
15924     dedicatedAllocation(in_struct->dedicatedAllocation)
15925 {
15926     pNext = SafePnextCopy(in_struct->pNext);
15927 }
15928 
safe_VkDedicatedAllocationBufferCreateInfoNV()15929 safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV() :
15930     pNext(nullptr)
15931 {}
15932 
safe_VkDedicatedAllocationBufferCreateInfoNV(const safe_VkDedicatedAllocationBufferCreateInfoNV & src)15933 safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV(const safe_VkDedicatedAllocationBufferCreateInfoNV& src)
15934 {
15935     sType = src.sType;
15936     dedicatedAllocation = src.dedicatedAllocation;
15937     pNext = SafePnextCopy(src.pNext);
15938 }
15939 
operator =(const safe_VkDedicatedAllocationBufferCreateInfoNV & src)15940 safe_VkDedicatedAllocationBufferCreateInfoNV& safe_VkDedicatedAllocationBufferCreateInfoNV::operator=(const safe_VkDedicatedAllocationBufferCreateInfoNV& src)
15941 {
15942     if (&src == this) return *this;
15943 
15944     if (pNext)
15945         FreePnextChain(pNext);
15946 
15947     sType = src.sType;
15948     dedicatedAllocation = src.dedicatedAllocation;
15949     pNext = SafePnextCopy(src.pNext);
15950 
15951     return *this;
15952 }
15953 
~safe_VkDedicatedAllocationBufferCreateInfoNV()15954 safe_VkDedicatedAllocationBufferCreateInfoNV::~safe_VkDedicatedAllocationBufferCreateInfoNV()
15955 {
15956     if (pNext)
15957         FreePnextChain(pNext);
15958 }
15959 
initialize(const VkDedicatedAllocationBufferCreateInfoNV * in_struct)15960 void safe_VkDedicatedAllocationBufferCreateInfoNV::initialize(const VkDedicatedAllocationBufferCreateInfoNV* in_struct)
15961 {
15962     sType = in_struct->sType;
15963     dedicatedAllocation = in_struct->dedicatedAllocation;
15964     pNext = SafePnextCopy(in_struct->pNext);
15965 }
15966 
initialize(const safe_VkDedicatedAllocationBufferCreateInfoNV * src)15967 void safe_VkDedicatedAllocationBufferCreateInfoNV::initialize(const safe_VkDedicatedAllocationBufferCreateInfoNV* src)
15968 {
15969     sType = src->sType;
15970     dedicatedAllocation = src->dedicatedAllocation;
15971     pNext = SafePnextCopy(src->pNext);
15972 }
15973 
safe_VkDedicatedAllocationMemoryAllocateInfoNV(const VkDedicatedAllocationMemoryAllocateInfoNV * in_struct)15974 safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV(const VkDedicatedAllocationMemoryAllocateInfoNV* in_struct) :
15975     sType(in_struct->sType),
15976     image(in_struct->image),
15977     buffer(in_struct->buffer)
15978 {
15979     pNext = SafePnextCopy(in_struct->pNext);
15980 }
15981 
safe_VkDedicatedAllocationMemoryAllocateInfoNV()15982 safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV() :
15983     pNext(nullptr)
15984 {}
15985 
safe_VkDedicatedAllocationMemoryAllocateInfoNV(const safe_VkDedicatedAllocationMemoryAllocateInfoNV & src)15986 safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV(const safe_VkDedicatedAllocationMemoryAllocateInfoNV& src)
15987 {
15988     sType = src.sType;
15989     image = src.image;
15990     buffer = src.buffer;
15991     pNext = SafePnextCopy(src.pNext);
15992 }
15993 
operator =(const safe_VkDedicatedAllocationMemoryAllocateInfoNV & src)15994 safe_VkDedicatedAllocationMemoryAllocateInfoNV& safe_VkDedicatedAllocationMemoryAllocateInfoNV::operator=(const safe_VkDedicatedAllocationMemoryAllocateInfoNV& src)
15995 {
15996     if (&src == this) return *this;
15997 
15998     if (pNext)
15999         FreePnextChain(pNext);
16000 
16001     sType = src.sType;
16002     image = src.image;
16003     buffer = src.buffer;
16004     pNext = SafePnextCopy(src.pNext);
16005 
16006     return *this;
16007 }
16008 
~safe_VkDedicatedAllocationMemoryAllocateInfoNV()16009 safe_VkDedicatedAllocationMemoryAllocateInfoNV::~safe_VkDedicatedAllocationMemoryAllocateInfoNV()
16010 {
16011     if (pNext)
16012         FreePnextChain(pNext);
16013 }
16014 
initialize(const VkDedicatedAllocationMemoryAllocateInfoNV * in_struct)16015 void safe_VkDedicatedAllocationMemoryAllocateInfoNV::initialize(const VkDedicatedAllocationMemoryAllocateInfoNV* in_struct)
16016 {
16017     sType = in_struct->sType;
16018     image = in_struct->image;
16019     buffer = in_struct->buffer;
16020     pNext = SafePnextCopy(in_struct->pNext);
16021 }
16022 
initialize(const safe_VkDedicatedAllocationMemoryAllocateInfoNV * src)16023 void safe_VkDedicatedAllocationMemoryAllocateInfoNV::initialize(const safe_VkDedicatedAllocationMemoryAllocateInfoNV* src)
16024 {
16025     sType = src->sType;
16026     image = src->image;
16027     buffer = src->buffer;
16028     pNext = SafePnextCopy(src->pNext);
16029 }
16030 
safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT * in_struct)16031 safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT* in_struct) :
16032     sType(in_struct->sType),
16033     transformFeedback(in_struct->transformFeedback),
16034     geometryStreams(in_struct->geometryStreams)
16035 {
16036     pNext = SafePnextCopy(in_struct->pNext);
16037 }
16038 
safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT()16039 safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT() :
16040     pNext(nullptr)
16041 {}
16042 
safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT & src)16043 safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& src)
16044 {
16045     sType = src.sType;
16046     transformFeedback = src.transformFeedback;
16047     geometryStreams = src.geometryStreams;
16048     pNext = SafePnextCopy(src.pNext);
16049 }
16050 
operator =(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT & src)16051 safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::operator=(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& src)
16052 {
16053     if (&src == this) return *this;
16054 
16055     if (pNext)
16056         FreePnextChain(pNext);
16057 
16058     sType = src.sType;
16059     transformFeedback = src.transformFeedback;
16060     geometryStreams = src.geometryStreams;
16061     pNext = SafePnextCopy(src.pNext);
16062 
16063     return *this;
16064 }
16065 
~safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT()16066 safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::~safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT()
16067 {
16068     if (pNext)
16069         FreePnextChain(pNext);
16070 }
16071 
initialize(const VkPhysicalDeviceTransformFeedbackFeaturesEXT * in_struct)16072 void safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::initialize(const VkPhysicalDeviceTransformFeedbackFeaturesEXT* in_struct)
16073 {
16074     sType = in_struct->sType;
16075     transformFeedback = in_struct->transformFeedback;
16076     geometryStreams = in_struct->geometryStreams;
16077     pNext = SafePnextCopy(in_struct->pNext);
16078 }
16079 
initialize(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT * src)16080 void safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::initialize(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT* src)
16081 {
16082     sType = src->sType;
16083     transformFeedback = src->transformFeedback;
16084     geometryStreams = src->geometryStreams;
16085     pNext = SafePnextCopy(src->pNext);
16086 }
16087 
safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT * in_struct)16088 safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT* in_struct) :
16089     sType(in_struct->sType),
16090     maxTransformFeedbackStreams(in_struct->maxTransformFeedbackStreams),
16091     maxTransformFeedbackBuffers(in_struct->maxTransformFeedbackBuffers),
16092     maxTransformFeedbackBufferSize(in_struct->maxTransformFeedbackBufferSize),
16093     maxTransformFeedbackStreamDataSize(in_struct->maxTransformFeedbackStreamDataSize),
16094     maxTransformFeedbackBufferDataSize(in_struct->maxTransformFeedbackBufferDataSize),
16095     maxTransformFeedbackBufferDataStride(in_struct->maxTransformFeedbackBufferDataStride),
16096     transformFeedbackQueries(in_struct->transformFeedbackQueries),
16097     transformFeedbackStreamsLinesTriangles(in_struct->transformFeedbackStreamsLinesTriangles),
16098     transformFeedbackRasterizationStreamSelect(in_struct->transformFeedbackRasterizationStreamSelect),
16099     transformFeedbackDraw(in_struct->transformFeedbackDraw)
16100 {
16101     pNext = SafePnextCopy(in_struct->pNext);
16102 }
16103 
safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT()16104 safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT() :
16105     pNext(nullptr)
16106 {}
16107 
safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT & src)16108 safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& src)
16109 {
16110     sType = src.sType;
16111     maxTransformFeedbackStreams = src.maxTransformFeedbackStreams;
16112     maxTransformFeedbackBuffers = src.maxTransformFeedbackBuffers;
16113     maxTransformFeedbackBufferSize = src.maxTransformFeedbackBufferSize;
16114     maxTransformFeedbackStreamDataSize = src.maxTransformFeedbackStreamDataSize;
16115     maxTransformFeedbackBufferDataSize = src.maxTransformFeedbackBufferDataSize;
16116     maxTransformFeedbackBufferDataStride = src.maxTransformFeedbackBufferDataStride;
16117     transformFeedbackQueries = src.transformFeedbackQueries;
16118     transformFeedbackStreamsLinesTriangles = src.transformFeedbackStreamsLinesTriangles;
16119     transformFeedbackRasterizationStreamSelect = src.transformFeedbackRasterizationStreamSelect;
16120     transformFeedbackDraw = src.transformFeedbackDraw;
16121     pNext = SafePnextCopy(src.pNext);
16122 }
16123 
operator =(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT & src)16124 safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::operator=(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& src)
16125 {
16126     if (&src == this) return *this;
16127 
16128     if (pNext)
16129         FreePnextChain(pNext);
16130 
16131     sType = src.sType;
16132     maxTransformFeedbackStreams = src.maxTransformFeedbackStreams;
16133     maxTransformFeedbackBuffers = src.maxTransformFeedbackBuffers;
16134     maxTransformFeedbackBufferSize = src.maxTransformFeedbackBufferSize;
16135     maxTransformFeedbackStreamDataSize = src.maxTransformFeedbackStreamDataSize;
16136     maxTransformFeedbackBufferDataSize = src.maxTransformFeedbackBufferDataSize;
16137     maxTransformFeedbackBufferDataStride = src.maxTransformFeedbackBufferDataStride;
16138     transformFeedbackQueries = src.transformFeedbackQueries;
16139     transformFeedbackStreamsLinesTriangles = src.transformFeedbackStreamsLinesTriangles;
16140     transformFeedbackRasterizationStreamSelect = src.transformFeedbackRasterizationStreamSelect;
16141     transformFeedbackDraw = src.transformFeedbackDraw;
16142     pNext = SafePnextCopy(src.pNext);
16143 
16144     return *this;
16145 }
16146 
~safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT()16147 safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::~safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT()
16148 {
16149     if (pNext)
16150         FreePnextChain(pNext);
16151 }
16152 
initialize(const VkPhysicalDeviceTransformFeedbackPropertiesEXT * in_struct)16153 void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const VkPhysicalDeviceTransformFeedbackPropertiesEXT* in_struct)
16154 {
16155     sType = in_struct->sType;
16156     maxTransformFeedbackStreams = in_struct->maxTransformFeedbackStreams;
16157     maxTransformFeedbackBuffers = in_struct->maxTransformFeedbackBuffers;
16158     maxTransformFeedbackBufferSize = in_struct->maxTransformFeedbackBufferSize;
16159     maxTransformFeedbackStreamDataSize = in_struct->maxTransformFeedbackStreamDataSize;
16160     maxTransformFeedbackBufferDataSize = in_struct->maxTransformFeedbackBufferDataSize;
16161     maxTransformFeedbackBufferDataStride = in_struct->maxTransformFeedbackBufferDataStride;
16162     transformFeedbackQueries = in_struct->transformFeedbackQueries;
16163     transformFeedbackStreamsLinesTriangles = in_struct->transformFeedbackStreamsLinesTriangles;
16164     transformFeedbackRasterizationStreamSelect = in_struct->transformFeedbackRasterizationStreamSelect;
16165     transformFeedbackDraw = in_struct->transformFeedbackDraw;
16166     pNext = SafePnextCopy(in_struct->pNext);
16167 }
16168 
initialize(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT * src)16169 void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT* src)
16170 {
16171     sType = src->sType;
16172     maxTransformFeedbackStreams = src->maxTransformFeedbackStreams;
16173     maxTransformFeedbackBuffers = src->maxTransformFeedbackBuffers;
16174     maxTransformFeedbackBufferSize = src->maxTransformFeedbackBufferSize;
16175     maxTransformFeedbackStreamDataSize = src->maxTransformFeedbackStreamDataSize;
16176     maxTransformFeedbackBufferDataSize = src->maxTransformFeedbackBufferDataSize;
16177     maxTransformFeedbackBufferDataStride = src->maxTransformFeedbackBufferDataStride;
16178     transformFeedbackQueries = src->transformFeedbackQueries;
16179     transformFeedbackStreamsLinesTriangles = src->transformFeedbackStreamsLinesTriangles;
16180     transformFeedbackRasterizationStreamSelect = src->transformFeedbackRasterizationStreamSelect;
16181     transformFeedbackDraw = src->transformFeedbackDraw;
16182     pNext = SafePnextCopy(src->pNext);
16183 }
16184 
safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const VkPipelineRasterizationStateStreamCreateInfoEXT * in_struct)16185 safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const VkPipelineRasterizationStateStreamCreateInfoEXT* in_struct) :
16186     sType(in_struct->sType),
16187     flags(in_struct->flags),
16188     rasterizationStream(in_struct->rasterizationStream)
16189 {
16190     pNext = SafePnextCopy(in_struct->pNext);
16191 }
16192 
safe_VkPipelineRasterizationStateStreamCreateInfoEXT()16193 safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT() :
16194     pNext(nullptr)
16195 {}
16196 
safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT & src)16197 safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT& src)
16198 {
16199     sType = src.sType;
16200     flags = src.flags;
16201     rasterizationStream = src.rasterizationStream;
16202     pNext = SafePnextCopy(src.pNext);
16203 }
16204 
operator =(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT & src)16205 safe_VkPipelineRasterizationStateStreamCreateInfoEXT& safe_VkPipelineRasterizationStateStreamCreateInfoEXT::operator=(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT& src)
16206 {
16207     if (&src == this) return *this;
16208 
16209     if (pNext)
16210         FreePnextChain(pNext);
16211 
16212     sType = src.sType;
16213     flags = src.flags;
16214     rasterizationStream = src.rasterizationStream;
16215     pNext = SafePnextCopy(src.pNext);
16216 
16217     return *this;
16218 }
16219 
~safe_VkPipelineRasterizationStateStreamCreateInfoEXT()16220 safe_VkPipelineRasterizationStateStreamCreateInfoEXT::~safe_VkPipelineRasterizationStateStreamCreateInfoEXT()
16221 {
16222     if (pNext)
16223         FreePnextChain(pNext);
16224 }
16225 
initialize(const VkPipelineRasterizationStateStreamCreateInfoEXT * in_struct)16226 void safe_VkPipelineRasterizationStateStreamCreateInfoEXT::initialize(const VkPipelineRasterizationStateStreamCreateInfoEXT* in_struct)
16227 {
16228     sType = in_struct->sType;
16229     flags = in_struct->flags;
16230     rasterizationStream = in_struct->rasterizationStream;
16231     pNext = SafePnextCopy(in_struct->pNext);
16232 }
16233 
initialize(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT * src)16234 void safe_VkPipelineRasterizationStateStreamCreateInfoEXT::initialize(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT* src)
16235 {
16236     sType = src->sType;
16237     flags = src->flags;
16238     rasterizationStream = src->rasterizationStream;
16239     pNext = SafePnextCopy(src->pNext);
16240 }
16241 
safe_VkImageViewHandleInfoNVX(const VkImageViewHandleInfoNVX * in_struct)16242 safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX(const VkImageViewHandleInfoNVX* in_struct) :
16243     sType(in_struct->sType),
16244     imageView(in_struct->imageView),
16245     descriptorType(in_struct->descriptorType),
16246     sampler(in_struct->sampler)
16247 {
16248     pNext = SafePnextCopy(in_struct->pNext);
16249 }
16250 
safe_VkImageViewHandleInfoNVX()16251 safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX() :
16252     pNext(nullptr)
16253 {}
16254 
safe_VkImageViewHandleInfoNVX(const safe_VkImageViewHandleInfoNVX & src)16255 safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX(const safe_VkImageViewHandleInfoNVX& src)
16256 {
16257     sType = src.sType;
16258     imageView = src.imageView;
16259     descriptorType = src.descriptorType;
16260     sampler = src.sampler;
16261     pNext = SafePnextCopy(src.pNext);
16262 }
16263 
operator =(const safe_VkImageViewHandleInfoNVX & src)16264 safe_VkImageViewHandleInfoNVX& safe_VkImageViewHandleInfoNVX::operator=(const safe_VkImageViewHandleInfoNVX& src)
16265 {
16266     if (&src == this) return *this;
16267 
16268     if (pNext)
16269         FreePnextChain(pNext);
16270 
16271     sType = src.sType;
16272     imageView = src.imageView;
16273     descriptorType = src.descriptorType;
16274     sampler = src.sampler;
16275     pNext = SafePnextCopy(src.pNext);
16276 
16277     return *this;
16278 }
16279 
~safe_VkImageViewHandleInfoNVX()16280 safe_VkImageViewHandleInfoNVX::~safe_VkImageViewHandleInfoNVX()
16281 {
16282     if (pNext)
16283         FreePnextChain(pNext);
16284 }
16285 
initialize(const VkImageViewHandleInfoNVX * in_struct)16286 void safe_VkImageViewHandleInfoNVX::initialize(const VkImageViewHandleInfoNVX* in_struct)
16287 {
16288     sType = in_struct->sType;
16289     imageView = in_struct->imageView;
16290     descriptorType = in_struct->descriptorType;
16291     sampler = in_struct->sampler;
16292     pNext = SafePnextCopy(in_struct->pNext);
16293 }
16294 
initialize(const safe_VkImageViewHandleInfoNVX * src)16295 void safe_VkImageViewHandleInfoNVX::initialize(const safe_VkImageViewHandleInfoNVX* src)
16296 {
16297     sType = src->sType;
16298     imageView = src->imageView;
16299     descriptorType = src->descriptorType;
16300     sampler = src->sampler;
16301     pNext = SafePnextCopy(src->pNext);
16302 }
16303 
safe_VkTextureLODGatherFormatPropertiesAMD(const VkTextureLODGatherFormatPropertiesAMD * in_struct)16304 safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD(const VkTextureLODGatherFormatPropertiesAMD* in_struct) :
16305     sType(in_struct->sType),
16306     supportsTextureGatherLODBiasAMD(in_struct->supportsTextureGatherLODBiasAMD)
16307 {
16308     pNext = SafePnextCopy(in_struct->pNext);
16309 }
16310 
safe_VkTextureLODGatherFormatPropertiesAMD()16311 safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD() :
16312     pNext(nullptr)
16313 {}
16314 
safe_VkTextureLODGatherFormatPropertiesAMD(const safe_VkTextureLODGatherFormatPropertiesAMD & src)16315 safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD(const safe_VkTextureLODGatherFormatPropertiesAMD& src)
16316 {
16317     sType = src.sType;
16318     supportsTextureGatherLODBiasAMD = src.supportsTextureGatherLODBiasAMD;
16319     pNext = SafePnextCopy(src.pNext);
16320 }
16321 
operator =(const safe_VkTextureLODGatherFormatPropertiesAMD & src)16322 safe_VkTextureLODGatherFormatPropertiesAMD& safe_VkTextureLODGatherFormatPropertiesAMD::operator=(const safe_VkTextureLODGatherFormatPropertiesAMD& src)
16323 {
16324     if (&src == this) return *this;
16325 
16326     if (pNext)
16327         FreePnextChain(pNext);
16328 
16329     sType = src.sType;
16330     supportsTextureGatherLODBiasAMD = src.supportsTextureGatherLODBiasAMD;
16331     pNext = SafePnextCopy(src.pNext);
16332 
16333     return *this;
16334 }
16335 
~safe_VkTextureLODGatherFormatPropertiesAMD()16336 safe_VkTextureLODGatherFormatPropertiesAMD::~safe_VkTextureLODGatherFormatPropertiesAMD()
16337 {
16338     if (pNext)
16339         FreePnextChain(pNext);
16340 }
16341 
initialize(const VkTextureLODGatherFormatPropertiesAMD * in_struct)16342 void safe_VkTextureLODGatherFormatPropertiesAMD::initialize(const VkTextureLODGatherFormatPropertiesAMD* in_struct)
16343 {
16344     sType = in_struct->sType;
16345     supportsTextureGatherLODBiasAMD = in_struct->supportsTextureGatherLODBiasAMD;
16346     pNext = SafePnextCopy(in_struct->pNext);
16347 }
16348 
initialize(const safe_VkTextureLODGatherFormatPropertiesAMD * src)16349 void safe_VkTextureLODGatherFormatPropertiesAMD::initialize(const safe_VkTextureLODGatherFormatPropertiesAMD* src)
16350 {
16351     sType = src->sType;
16352     supportsTextureGatherLODBiasAMD = src->supportsTextureGatherLODBiasAMD;
16353     pNext = SafePnextCopy(src->pNext);
16354 }
16355 #ifdef VK_USE_PLATFORM_GGP
16356 
16357 
safe_VkStreamDescriptorSurfaceCreateInfoGGP(const VkStreamDescriptorSurfaceCreateInfoGGP * in_struct)16358 safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP(const VkStreamDescriptorSurfaceCreateInfoGGP* in_struct) :
16359     sType(in_struct->sType),
16360     flags(in_struct->flags),
16361     streamDescriptor(in_struct->streamDescriptor)
16362 {
16363     pNext = SafePnextCopy(in_struct->pNext);
16364 }
16365 
safe_VkStreamDescriptorSurfaceCreateInfoGGP()16366 safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP() :
16367     pNext(nullptr)
16368 {}
16369 
safe_VkStreamDescriptorSurfaceCreateInfoGGP(const safe_VkStreamDescriptorSurfaceCreateInfoGGP & src)16370 safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP(const safe_VkStreamDescriptorSurfaceCreateInfoGGP& src)
16371 {
16372     sType = src.sType;
16373     flags = src.flags;
16374     streamDescriptor = src.streamDescriptor;
16375     pNext = SafePnextCopy(src.pNext);
16376 }
16377 
operator =(const safe_VkStreamDescriptorSurfaceCreateInfoGGP & src)16378 safe_VkStreamDescriptorSurfaceCreateInfoGGP& safe_VkStreamDescriptorSurfaceCreateInfoGGP::operator=(const safe_VkStreamDescriptorSurfaceCreateInfoGGP& src)
16379 {
16380     if (&src == this) return *this;
16381 
16382     if (pNext)
16383         FreePnextChain(pNext);
16384 
16385     sType = src.sType;
16386     flags = src.flags;
16387     streamDescriptor = src.streamDescriptor;
16388     pNext = SafePnextCopy(src.pNext);
16389 
16390     return *this;
16391 }
16392 
~safe_VkStreamDescriptorSurfaceCreateInfoGGP()16393 safe_VkStreamDescriptorSurfaceCreateInfoGGP::~safe_VkStreamDescriptorSurfaceCreateInfoGGP()
16394 {
16395     if (pNext)
16396         FreePnextChain(pNext);
16397 }
16398 
initialize(const VkStreamDescriptorSurfaceCreateInfoGGP * in_struct)16399 void safe_VkStreamDescriptorSurfaceCreateInfoGGP::initialize(const VkStreamDescriptorSurfaceCreateInfoGGP* in_struct)
16400 {
16401     sType = in_struct->sType;
16402     flags = in_struct->flags;
16403     streamDescriptor = in_struct->streamDescriptor;
16404     pNext = SafePnextCopy(in_struct->pNext);
16405 }
16406 
initialize(const safe_VkStreamDescriptorSurfaceCreateInfoGGP * src)16407 void safe_VkStreamDescriptorSurfaceCreateInfoGGP::initialize(const safe_VkStreamDescriptorSurfaceCreateInfoGGP* src)
16408 {
16409     sType = src->sType;
16410     flags = src->flags;
16411     streamDescriptor = src->streamDescriptor;
16412     pNext = SafePnextCopy(src->pNext);
16413 }
16414 #endif // VK_USE_PLATFORM_GGP
16415 
16416 
safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const VkPhysicalDeviceCornerSampledImageFeaturesNV * in_struct)16417 safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const VkPhysicalDeviceCornerSampledImageFeaturesNV* in_struct) :
16418     sType(in_struct->sType),
16419     cornerSampledImage(in_struct->cornerSampledImage)
16420 {
16421     pNext = SafePnextCopy(in_struct->pNext);
16422 }
16423 
safe_VkPhysicalDeviceCornerSampledImageFeaturesNV()16424 safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV() :
16425     pNext(nullptr)
16426 {}
16427 
safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV & src)16428 safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& src)
16429 {
16430     sType = src.sType;
16431     cornerSampledImage = src.cornerSampledImage;
16432     pNext = SafePnextCopy(src.pNext);
16433 }
16434 
operator =(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV & src)16435 safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::operator=(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& src)
16436 {
16437     if (&src == this) return *this;
16438 
16439     if (pNext)
16440         FreePnextChain(pNext);
16441 
16442     sType = src.sType;
16443     cornerSampledImage = src.cornerSampledImage;
16444     pNext = SafePnextCopy(src.pNext);
16445 
16446     return *this;
16447 }
16448 
~safe_VkPhysicalDeviceCornerSampledImageFeaturesNV()16449 safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::~safe_VkPhysicalDeviceCornerSampledImageFeaturesNV()
16450 {
16451     if (pNext)
16452         FreePnextChain(pNext);
16453 }
16454 
initialize(const VkPhysicalDeviceCornerSampledImageFeaturesNV * in_struct)16455 void safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::initialize(const VkPhysicalDeviceCornerSampledImageFeaturesNV* in_struct)
16456 {
16457     sType = in_struct->sType;
16458     cornerSampledImage = in_struct->cornerSampledImage;
16459     pNext = SafePnextCopy(in_struct->pNext);
16460 }
16461 
initialize(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV * src)16462 void safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::initialize(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV* src)
16463 {
16464     sType = src->sType;
16465     cornerSampledImage = src->cornerSampledImage;
16466     pNext = SafePnextCopy(src->pNext);
16467 }
16468 
safe_VkExternalMemoryImageCreateInfoNV(const VkExternalMemoryImageCreateInfoNV * in_struct)16469 safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV(const VkExternalMemoryImageCreateInfoNV* in_struct) :
16470     sType(in_struct->sType),
16471     handleTypes(in_struct->handleTypes)
16472 {
16473     pNext = SafePnextCopy(in_struct->pNext);
16474 }
16475 
safe_VkExternalMemoryImageCreateInfoNV()16476 safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV() :
16477     pNext(nullptr)
16478 {}
16479 
safe_VkExternalMemoryImageCreateInfoNV(const safe_VkExternalMemoryImageCreateInfoNV & src)16480 safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV(const safe_VkExternalMemoryImageCreateInfoNV& src)
16481 {
16482     sType = src.sType;
16483     handleTypes = src.handleTypes;
16484     pNext = SafePnextCopy(src.pNext);
16485 }
16486 
operator =(const safe_VkExternalMemoryImageCreateInfoNV & src)16487 safe_VkExternalMemoryImageCreateInfoNV& safe_VkExternalMemoryImageCreateInfoNV::operator=(const safe_VkExternalMemoryImageCreateInfoNV& src)
16488 {
16489     if (&src == this) return *this;
16490 
16491     if (pNext)
16492         FreePnextChain(pNext);
16493 
16494     sType = src.sType;
16495     handleTypes = src.handleTypes;
16496     pNext = SafePnextCopy(src.pNext);
16497 
16498     return *this;
16499 }
16500 
~safe_VkExternalMemoryImageCreateInfoNV()16501 safe_VkExternalMemoryImageCreateInfoNV::~safe_VkExternalMemoryImageCreateInfoNV()
16502 {
16503     if (pNext)
16504         FreePnextChain(pNext);
16505 }
16506 
initialize(const VkExternalMemoryImageCreateInfoNV * in_struct)16507 void safe_VkExternalMemoryImageCreateInfoNV::initialize(const VkExternalMemoryImageCreateInfoNV* in_struct)
16508 {
16509     sType = in_struct->sType;
16510     handleTypes = in_struct->handleTypes;
16511     pNext = SafePnextCopy(in_struct->pNext);
16512 }
16513 
initialize(const safe_VkExternalMemoryImageCreateInfoNV * src)16514 void safe_VkExternalMemoryImageCreateInfoNV::initialize(const safe_VkExternalMemoryImageCreateInfoNV* src)
16515 {
16516     sType = src->sType;
16517     handleTypes = src->handleTypes;
16518     pNext = SafePnextCopy(src->pNext);
16519 }
16520 
safe_VkExportMemoryAllocateInfoNV(const VkExportMemoryAllocateInfoNV * in_struct)16521 safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV(const VkExportMemoryAllocateInfoNV* in_struct) :
16522     sType(in_struct->sType),
16523     handleTypes(in_struct->handleTypes)
16524 {
16525     pNext = SafePnextCopy(in_struct->pNext);
16526 }
16527 
safe_VkExportMemoryAllocateInfoNV()16528 safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV() :
16529     pNext(nullptr)
16530 {}
16531 
safe_VkExportMemoryAllocateInfoNV(const safe_VkExportMemoryAllocateInfoNV & src)16532 safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV(const safe_VkExportMemoryAllocateInfoNV& src)
16533 {
16534     sType = src.sType;
16535     handleTypes = src.handleTypes;
16536     pNext = SafePnextCopy(src.pNext);
16537 }
16538 
operator =(const safe_VkExportMemoryAllocateInfoNV & src)16539 safe_VkExportMemoryAllocateInfoNV& safe_VkExportMemoryAllocateInfoNV::operator=(const safe_VkExportMemoryAllocateInfoNV& src)
16540 {
16541     if (&src == this) return *this;
16542 
16543     if (pNext)
16544         FreePnextChain(pNext);
16545 
16546     sType = src.sType;
16547     handleTypes = src.handleTypes;
16548     pNext = SafePnextCopy(src.pNext);
16549 
16550     return *this;
16551 }
16552 
~safe_VkExportMemoryAllocateInfoNV()16553 safe_VkExportMemoryAllocateInfoNV::~safe_VkExportMemoryAllocateInfoNV()
16554 {
16555     if (pNext)
16556         FreePnextChain(pNext);
16557 }
16558 
initialize(const VkExportMemoryAllocateInfoNV * in_struct)16559 void safe_VkExportMemoryAllocateInfoNV::initialize(const VkExportMemoryAllocateInfoNV* in_struct)
16560 {
16561     sType = in_struct->sType;
16562     handleTypes = in_struct->handleTypes;
16563     pNext = SafePnextCopy(in_struct->pNext);
16564 }
16565 
initialize(const safe_VkExportMemoryAllocateInfoNV * src)16566 void safe_VkExportMemoryAllocateInfoNV::initialize(const safe_VkExportMemoryAllocateInfoNV* src)
16567 {
16568     sType = src->sType;
16569     handleTypes = src->handleTypes;
16570     pNext = SafePnextCopy(src->pNext);
16571 }
16572 #ifdef VK_USE_PLATFORM_WIN32_KHR
16573 
16574 
safe_VkImportMemoryWin32HandleInfoNV(const VkImportMemoryWin32HandleInfoNV * in_struct)16575 safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV(const VkImportMemoryWin32HandleInfoNV* in_struct) :
16576     sType(in_struct->sType),
16577     handleType(in_struct->handleType),
16578     handle(in_struct->handle)
16579 {
16580     pNext = SafePnextCopy(in_struct->pNext);
16581 }
16582 
safe_VkImportMemoryWin32HandleInfoNV()16583 safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV() :
16584     pNext(nullptr)
16585 {}
16586 
safe_VkImportMemoryWin32HandleInfoNV(const safe_VkImportMemoryWin32HandleInfoNV & src)16587 safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV(const safe_VkImportMemoryWin32HandleInfoNV& src)
16588 {
16589     sType = src.sType;
16590     handleType = src.handleType;
16591     handle = src.handle;
16592     pNext = SafePnextCopy(src.pNext);
16593 }
16594 
operator =(const safe_VkImportMemoryWin32HandleInfoNV & src)16595 safe_VkImportMemoryWin32HandleInfoNV& safe_VkImportMemoryWin32HandleInfoNV::operator=(const safe_VkImportMemoryWin32HandleInfoNV& src)
16596 {
16597     if (&src == this) return *this;
16598 
16599     if (pNext)
16600         FreePnextChain(pNext);
16601 
16602     sType = src.sType;
16603     handleType = src.handleType;
16604     handle = src.handle;
16605     pNext = SafePnextCopy(src.pNext);
16606 
16607     return *this;
16608 }
16609 
~safe_VkImportMemoryWin32HandleInfoNV()16610 safe_VkImportMemoryWin32HandleInfoNV::~safe_VkImportMemoryWin32HandleInfoNV()
16611 {
16612     if (pNext)
16613         FreePnextChain(pNext);
16614 }
16615 
initialize(const VkImportMemoryWin32HandleInfoNV * in_struct)16616 void safe_VkImportMemoryWin32HandleInfoNV::initialize(const VkImportMemoryWin32HandleInfoNV* in_struct)
16617 {
16618     sType = in_struct->sType;
16619     handleType = in_struct->handleType;
16620     handle = in_struct->handle;
16621     pNext = SafePnextCopy(in_struct->pNext);
16622 }
16623 
initialize(const safe_VkImportMemoryWin32HandleInfoNV * src)16624 void safe_VkImportMemoryWin32HandleInfoNV::initialize(const safe_VkImportMemoryWin32HandleInfoNV* src)
16625 {
16626     sType = src->sType;
16627     handleType = src->handleType;
16628     handle = src->handle;
16629     pNext = SafePnextCopy(src->pNext);
16630 }
16631 #endif // VK_USE_PLATFORM_WIN32_KHR
16632 
16633 #ifdef VK_USE_PLATFORM_WIN32_KHR
16634 
16635 
safe_VkExportMemoryWin32HandleInfoNV(const VkExportMemoryWin32HandleInfoNV * in_struct)16636 safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV(const VkExportMemoryWin32HandleInfoNV* in_struct) :
16637     sType(in_struct->sType),
16638     pAttributes(nullptr),
16639     dwAccess(in_struct->dwAccess)
16640 {
16641     pNext = SafePnextCopy(in_struct->pNext);
16642     if (in_struct->pAttributes) {
16643         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
16644     }
16645 }
16646 
safe_VkExportMemoryWin32HandleInfoNV()16647 safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV() :
16648     pNext(nullptr),
16649     pAttributes(nullptr)
16650 {}
16651 
safe_VkExportMemoryWin32HandleInfoNV(const safe_VkExportMemoryWin32HandleInfoNV & src)16652 safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV(const safe_VkExportMemoryWin32HandleInfoNV& src)
16653 {
16654     sType = src.sType;
16655     pAttributes = nullptr;
16656     dwAccess = src.dwAccess;
16657     pNext = SafePnextCopy(src.pNext);
16658     if (src.pAttributes) {
16659         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
16660     }
16661 }
16662 
operator =(const safe_VkExportMemoryWin32HandleInfoNV & src)16663 safe_VkExportMemoryWin32HandleInfoNV& safe_VkExportMemoryWin32HandleInfoNV::operator=(const safe_VkExportMemoryWin32HandleInfoNV& src)
16664 {
16665     if (&src == this) return *this;
16666 
16667     if (pAttributes)
16668         delete pAttributes;
16669     if (pNext)
16670         FreePnextChain(pNext);
16671 
16672     sType = src.sType;
16673     pAttributes = nullptr;
16674     dwAccess = src.dwAccess;
16675     pNext = SafePnextCopy(src.pNext);
16676     if (src.pAttributes) {
16677         pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
16678     }
16679 
16680     return *this;
16681 }
16682 
~safe_VkExportMemoryWin32HandleInfoNV()16683 safe_VkExportMemoryWin32HandleInfoNV::~safe_VkExportMemoryWin32HandleInfoNV()
16684 {
16685     if (pAttributes)
16686         delete pAttributes;
16687     if (pNext)
16688         FreePnextChain(pNext);
16689 }
16690 
initialize(const VkExportMemoryWin32HandleInfoNV * in_struct)16691 void safe_VkExportMemoryWin32HandleInfoNV::initialize(const VkExportMemoryWin32HandleInfoNV* in_struct)
16692 {
16693     sType = in_struct->sType;
16694     pAttributes = nullptr;
16695     dwAccess = in_struct->dwAccess;
16696     pNext = SafePnextCopy(in_struct->pNext);
16697     if (in_struct->pAttributes) {
16698         pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
16699     }
16700 }
16701 
initialize(const safe_VkExportMemoryWin32HandleInfoNV * src)16702 void safe_VkExportMemoryWin32HandleInfoNV::initialize(const safe_VkExportMemoryWin32HandleInfoNV* src)
16703 {
16704     sType = src->sType;
16705     pAttributes = nullptr;
16706     dwAccess = src->dwAccess;
16707     pNext = SafePnextCopy(src->pNext);
16708     if (src->pAttributes) {
16709         pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
16710     }
16711 }
16712 #endif // VK_USE_PLATFORM_WIN32_KHR
16713 
16714 #ifdef VK_USE_PLATFORM_WIN32_KHR
16715 
16716 
safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const VkWin32KeyedMutexAcquireReleaseInfoNV * in_struct)16717 safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const VkWin32KeyedMutexAcquireReleaseInfoNV* in_struct) :
16718     sType(in_struct->sType),
16719     acquireCount(in_struct->acquireCount),
16720     pAcquireSyncs(nullptr),
16721     pAcquireKeys(nullptr),
16722     pAcquireTimeoutMilliseconds(nullptr),
16723     releaseCount(in_struct->releaseCount),
16724     pReleaseSyncs(nullptr),
16725     pReleaseKeys(nullptr)
16726 {
16727     pNext = SafePnextCopy(in_struct->pNext);
16728     if (acquireCount && in_struct->pAcquireSyncs) {
16729         pAcquireSyncs = new VkDeviceMemory[acquireCount];
16730         for (uint32_t i = 0; i < acquireCount; ++i) {
16731             pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
16732         }
16733     }
16734     if (in_struct->pAcquireKeys) {
16735         pAcquireKeys = new uint64_t[in_struct->acquireCount];
16736         memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
16737     }
16738     if (in_struct->pAcquireTimeoutMilliseconds) {
16739         pAcquireTimeoutMilliseconds = new uint32_t[in_struct->acquireCount];
16740         memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)in_struct->pAcquireTimeoutMilliseconds, sizeof(uint32_t)*in_struct->acquireCount);
16741     }
16742     if (releaseCount && in_struct->pReleaseSyncs) {
16743         pReleaseSyncs = new VkDeviceMemory[releaseCount];
16744         for (uint32_t i = 0; i < releaseCount; ++i) {
16745             pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
16746         }
16747     }
16748     if (in_struct->pReleaseKeys) {
16749         pReleaseKeys = new uint64_t[in_struct->releaseCount];
16750         memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
16751     }
16752 }
16753 
safe_VkWin32KeyedMutexAcquireReleaseInfoNV()16754 safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV() :
16755     pNext(nullptr),
16756     pAcquireSyncs(nullptr),
16757     pAcquireKeys(nullptr),
16758     pAcquireTimeoutMilliseconds(nullptr),
16759     pReleaseSyncs(nullptr),
16760     pReleaseKeys(nullptr)
16761 {}
16762 
safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV & src)16763 safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV& src)
16764 {
16765     sType = src.sType;
16766     acquireCount = src.acquireCount;
16767     pAcquireSyncs = nullptr;
16768     pAcquireKeys = nullptr;
16769     pAcquireTimeoutMilliseconds = nullptr;
16770     releaseCount = src.releaseCount;
16771     pReleaseSyncs = nullptr;
16772     pReleaseKeys = nullptr;
16773     pNext = SafePnextCopy(src.pNext);
16774     if (acquireCount && src.pAcquireSyncs) {
16775         pAcquireSyncs = new VkDeviceMemory[acquireCount];
16776         for (uint32_t i = 0; i < acquireCount; ++i) {
16777             pAcquireSyncs[i] = src.pAcquireSyncs[i];
16778         }
16779     }
16780     if (src.pAcquireKeys) {
16781         pAcquireKeys = new uint64_t[src.acquireCount];
16782         memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
16783     }
16784     if (src.pAcquireTimeoutMilliseconds) {
16785         pAcquireTimeoutMilliseconds = new uint32_t[src.acquireCount];
16786         memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)src.pAcquireTimeoutMilliseconds, sizeof(uint32_t)*src.acquireCount);
16787     }
16788     if (releaseCount && src.pReleaseSyncs) {
16789         pReleaseSyncs = new VkDeviceMemory[releaseCount];
16790         for (uint32_t i = 0; i < releaseCount; ++i) {
16791             pReleaseSyncs[i] = src.pReleaseSyncs[i];
16792         }
16793     }
16794     if (src.pReleaseKeys) {
16795         pReleaseKeys = new uint64_t[src.releaseCount];
16796         memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
16797     }
16798 }
16799 
operator =(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV & src)16800 safe_VkWin32KeyedMutexAcquireReleaseInfoNV& safe_VkWin32KeyedMutexAcquireReleaseInfoNV::operator=(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV& src)
16801 {
16802     if (&src == this) return *this;
16803 
16804     if (pAcquireSyncs)
16805         delete[] pAcquireSyncs;
16806     if (pAcquireKeys)
16807         delete[] pAcquireKeys;
16808     if (pAcquireTimeoutMilliseconds)
16809         delete[] pAcquireTimeoutMilliseconds;
16810     if (pReleaseSyncs)
16811         delete[] pReleaseSyncs;
16812     if (pReleaseKeys)
16813         delete[] pReleaseKeys;
16814     if (pNext)
16815         FreePnextChain(pNext);
16816 
16817     sType = src.sType;
16818     acquireCount = src.acquireCount;
16819     pAcquireSyncs = nullptr;
16820     pAcquireKeys = nullptr;
16821     pAcquireTimeoutMilliseconds = nullptr;
16822     releaseCount = src.releaseCount;
16823     pReleaseSyncs = nullptr;
16824     pReleaseKeys = nullptr;
16825     pNext = SafePnextCopy(src.pNext);
16826     if (acquireCount && src.pAcquireSyncs) {
16827         pAcquireSyncs = new VkDeviceMemory[acquireCount];
16828         for (uint32_t i = 0; i < acquireCount; ++i) {
16829             pAcquireSyncs[i] = src.pAcquireSyncs[i];
16830         }
16831     }
16832     if (src.pAcquireKeys) {
16833         pAcquireKeys = new uint64_t[src.acquireCount];
16834         memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
16835     }
16836     if (src.pAcquireTimeoutMilliseconds) {
16837         pAcquireTimeoutMilliseconds = new uint32_t[src.acquireCount];
16838         memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)src.pAcquireTimeoutMilliseconds, sizeof(uint32_t)*src.acquireCount);
16839     }
16840     if (releaseCount && src.pReleaseSyncs) {
16841         pReleaseSyncs = new VkDeviceMemory[releaseCount];
16842         for (uint32_t i = 0; i < releaseCount; ++i) {
16843             pReleaseSyncs[i] = src.pReleaseSyncs[i];
16844         }
16845     }
16846     if (src.pReleaseKeys) {
16847         pReleaseKeys = new uint64_t[src.releaseCount];
16848         memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
16849     }
16850 
16851     return *this;
16852 }
16853 
~safe_VkWin32KeyedMutexAcquireReleaseInfoNV()16854 safe_VkWin32KeyedMutexAcquireReleaseInfoNV::~safe_VkWin32KeyedMutexAcquireReleaseInfoNV()
16855 {
16856     if (pAcquireSyncs)
16857         delete[] pAcquireSyncs;
16858     if (pAcquireKeys)
16859         delete[] pAcquireKeys;
16860     if (pAcquireTimeoutMilliseconds)
16861         delete[] pAcquireTimeoutMilliseconds;
16862     if (pReleaseSyncs)
16863         delete[] pReleaseSyncs;
16864     if (pReleaseKeys)
16865         delete[] pReleaseKeys;
16866     if (pNext)
16867         FreePnextChain(pNext);
16868 }
16869 
initialize(const VkWin32KeyedMutexAcquireReleaseInfoNV * in_struct)16870 void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const VkWin32KeyedMutexAcquireReleaseInfoNV* in_struct)
16871 {
16872     sType = in_struct->sType;
16873     acquireCount = in_struct->acquireCount;
16874     pAcquireSyncs = nullptr;
16875     pAcquireKeys = nullptr;
16876     pAcquireTimeoutMilliseconds = nullptr;
16877     releaseCount = in_struct->releaseCount;
16878     pReleaseSyncs = nullptr;
16879     pReleaseKeys = nullptr;
16880     pNext = SafePnextCopy(in_struct->pNext);
16881     if (acquireCount && in_struct->pAcquireSyncs) {
16882         pAcquireSyncs = new VkDeviceMemory[acquireCount];
16883         for (uint32_t i = 0; i < acquireCount; ++i) {
16884             pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
16885         }
16886     }
16887     if (in_struct->pAcquireKeys) {
16888         pAcquireKeys = new uint64_t[in_struct->acquireCount];
16889         memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
16890     }
16891     if (in_struct->pAcquireTimeoutMilliseconds) {
16892         pAcquireTimeoutMilliseconds = new uint32_t[in_struct->acquireCount];
16893         memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)in_struct->pAcquireTimeoutMilliseconds, sizeof(uint32_t)*in_struct->acquireCount);
16894     }
16895     if (releaseCount && in_struct->pReleaseSyncs) {
16896         pReleaseSyncs = new VkDeviceMemory[releaseCount];
16897         for (uint32_t i = 0; i < releaseCount; ++i) {
16898             pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
16899         }
16900     }
16901     if (in_struct->pReleaseKeys) {
16902         pReleaseKeys = new uint64_t[in_struct->releaseCount];
16903         memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
16904     }
16905 }
16906 
initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV * src)16907 void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV* src)
16908 {
16909     sType = src->sType;
16910     acquireCount = src->acquireCount;
16911     pAcquireSyncs = nullptr;
16912     pAcquireKeys = nullptr;
16913     pAcquireTimeoutMilliseconds = nullptr;
16914     releaseCount = src->releaseCount;
16915     pReleaseSyncs = nullptr;
16916     pReleaseKeys = nullptr;
16917     pNext = SafePnextCopy(src->pNext);
16918     if (acquireCount && src->pAcquireSyncs) {
16919         pAcquireSyncs = new VkDeviceMemory[acquireCount];
16920         for (uint32_t i = 0; i < acquireCount; ++i) {
16921             pAcquireSyncs[i] = src->pAcquireSyncs[i];
16922         }
16923     }
16924     if (src->pAcquireKeys) {
16925         pAcquireKeys = new uint64_t[src->acquireCount];
16926         memcpy ((void *)pAcquireKeys, (void *)src->pAcquireKeys, sizeof(uint64_t)*src->acquireCount);
16927     }
16928     if (src->pAcquireTimeoutMilliseconds) {
16929         pAcquireTimeoutMilliseconds = new uint32_t[src->acquireCount];
16930         memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)src->pAcquireTimeoutMilliseconds, sizeof(uint32_t)*src->acquireCount);
16931     }
16932     if (releaseCount && src->pReleaseSyncs) {
16933         pReleaseSyncs = new VkDeviceMemory[releaseCount];
16934         for (uint32_t i = 0; i < releaseCount; ++i) {
16935             pReleaseSyncs[i] = src->pReleaseSyncs[i];
16936         }
16937     }
16938     if (src->pReleaseKeys) {
16939         pReleaseKeys = new uint64_t[src->releaseCount];
16940         memcpy ((void *)pReleaseKeys, (void *)src->pReleaseKeys, sizeof(uint64_t)*src->releaseCount);
16941     }
16942 }
16943 #endif // VK_USE_PLATFORM_WIN32_KHR
16944 
16945 
safe_VkValidationFlagsEXT(const VkValidationFlagsEXT * in_struct)16946 safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const VkValidationFlagsEXT* in_struct) :
16947     sType(in_struct->sType),
16948     disabledValidationCheckCount(in_struct->disabledValidationCheckCount),
16949     pDisabledValidationChecks(nullptr)
16950 {
16951     pNext = SafePnextCopy(in_struct->pNext);
16952     if (in_struct->pDisabledValidationChecks) {
16953         pDisabledValidationChecks = new VkValidationCheckEXT[in_struct->disabledValidationCheckCount];
16954         memcpy ((void *)pDisabledValidationChecks, (void *)in_struct->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*in_struct->disabledValidationCheckCount);
16955     }
16956 }
16957 
safe_VkValidationFlagsEXT()16958 safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT() :
16959     pNext(nullptr),
16960     pDisabledValidationChecks(nullptr)
16961 {}
16962 
safe_VkValidationFlagsEXT(const safe_VkValidationFlagsEXT & src)16963 safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const safe_VkValidationFlagsEXT& src)
16964 {
16965     sType = src.sType;
16966     disabledValidationCheckCount = src.disabledValidationCheckCount;
16967     pDisabledValidationChecks = nullptr;
16968     pNext = SafePnextCopy(src.pNext);
16969     if (src.pDisabledValidationChecks) {
16970         pDisabledValidationChecks = new VkValidationCheckEXT[src.disabledValidationCheckCount];
16971         memcpy ((void *)pDisabledValidationChecks, (void *)src.pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src.disabledValidationCheckCount);
16972     }
16973 }
16974 
operator =(const safe_VkValidationFlagsEXT & src)16975 safe_VkValidationFlagsEXT& safe_VkValidationFlagsEXT::operator=(const safe_VkValidationFlagsEXT& src)
16976 {
16977     if (&src == this) return *this;
16978 
16979     if (pDisabledValidationChecks)
16980         delete[] pDisabledValidationChecks;
16981     if (pNext)
16982         FreePnextChain(pNext);
16983 
16984     sType = src.sType;
16985     disabledValidationCheckCount = src.disabledValidationCheckCount;
16986     pDisabledValidationChecks = nullptr;
16987     pNext = SafePnextCopy(src.pNext);
16988     if (src.pDisabledValidationChecks) {
16989         pDisabledValidationChecks = new VkValidationCheckEXT[src.disabledValidationCheckCount];
16990         memcpy ((void *)pDisabledValidationChecks, (void *)src.pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src.disabledValidationCheckCount);
16991     }
16992 
16993     return *this;
16994 }
16995 
~safe_VkValidationFlagsEXT()16996 safe_VkValidationFlagsEXT::~safe_VkValidationFlagsEXT()
16997 {
16998     if (pDisabledValidationChecks)
16999         delete[] pDisabledValidationChecks;
17000     if (pNext)
17001         FreePnextChain(pNext);
17002 }
17003 
initialize(const VkValidationFlagsEXT * in_struct)17004 void safe_VkValidationFlagsEXT::initialize(const VkValidationFlagsEXT* in_struct)
17005 {
17006     sType = in_struct->sType;
17007     disabledValidationCheckCount = in_struct->disabledValidationCheckCount;
17008     pDisabledValidationChecks = nullptr;
17009     pNext = SafePnextCopy(in_struct->pNext);
17010     if (in_struct->pDisabledValidationChecks) {
17011         pDisabledValidationChecks = new VkValidationCheckEXT[in_struct->disabledValidationCheckCount];
17012         memcpy ((void *)pDisabledValidationChecks, (void *)in_struct->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*in_struct->disabledValidationCheckCount);
17013     }
17014 }
17015 
initialize(const safe_VkValidationFlagsEXT * src)17016 void safe_VkValidationFlagsEXT::initialize(const safe_VkValidationFlagsEXT* src)
17017 {
17018     sType = src->sType;
17019     disabledValidationCheckCount = src->disabledValidationCheckCount;
17020     pDisabledValidationChecks = nullptr;
17021     pNext = SafePnextCopy(src->pNext);
17022     if (src->pDisabledValidationChecks) {
17023         pDisabledValidationChecks = new VkValidationCheckEXT[src->disabledValidationCheckCount];
17024         memcpy ((void *)pDisabledValidationChecks, (void *)src->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src->disabledValidationCheckCount);
17025     }
17026 }
17027 #ifdef VK_USE_PLATFORM_VI_NN
17028 
17029 
safe_VkViSurfaceCreateInfoNN(const VkViSurfaceCreateInfoNN * in_struct)17030 safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN(const VkViSurfaceCreateInfoNN* in_struct) :
17031     sType(in_struct->sType),
17032     flags(in_struct->flags),
17033     window(in_struct->window)
17034 {
17035     pNext = SafePnextCopy(in_struct->pNext);
17036 }
17037 
safe_VkViSurfaceCreateInfoNN()17038 safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN() :
17039     pNext(nullptr),
17040     window(nullptr)
17041 {}
17042 
safe_VkViSurfaceCreateInfoNN(const safe_VkViSurfaceCreateInfoNN & src)17043 safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN(const safe_VkViSurfaceCreateInfoNN& src)
17044 {
17045     sType = src.sType;
17046     flags = src.flags;
17047     window = src.window;
17048     pNext = SafePnextCopy(src.pNext);
17049 }
17050 
operator =(const safe_VkViSurfaceCreateInfoNN & src)17051 safe_VkViSurfaceCreateInfoNN& safe_VkViSurfaceCreateInfoNN::operator=(const safe_VkViSurfaceCreateInfoNN& src)
17052 {
17053     if (&src == this) return *this;
17054 
17055     if (pNext)
17056         FreePnextChain(pNext);
17057 
17058     sType = src.sType;
17059     flags = src.flags;
17060     window = src.window;
17061     pNext = SafePnextCopy(src.pNext);
17062 
17063     return *this;
17064 }
17065 
~safe_VkViSurfaceCreateInfoNN()17066 safe_VkViSurfaceCreateInfoNN::~safe_VkViSurfaceCreateInfoNN()
17067 {
17068     if (pNext)
17069         FreePnextChain(pNext);
17070 }
17071 
initialize(const VkViSurfaceCreateInfoNN * in_struct)17072 void safe_VkViSurfaceCreateInfoNN::initialize(const VkViSurfaceCreateInfoNN* in_struct)
17073 {
17074     sType = in_struct->sType;
17075     flags = in_struct->flags;
17076     window = in_struct->window;
17077     pNext = SafePnextCopy(in_struct->pNext);
17078 }
17079 
initialize(const safe_VkViSurfaceCreateInfoNN * src)17080 void safe_VkViSurfaceCreateInfoNN::initialize(const safe_VkViSurfaceCreateInfoNN* src)
17081 {
17082     sType = src->sType;
17083     flags = src->flags;
17084     window = src->window;
17085     pNext = SafePnextCopy(src->pNext);
17086 }
17087 #endif // VK_USE_PLATFORM_VI_NN
17088 
17089 
safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT * in_struct)17090 safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* in_struct) :
17091     sType(in_struct->sType),
17092     textureCompressionASTC_HDR(in_struct->textureCompressionASTC_HDR)
17093 {
17094     pNext = SafePnextCopy(in_struct->pNext);
17095 }
17096 
safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT()17097 safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT() :
17098     pNext(nullptr)
17099 {}
17100 
safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT & src)17101 safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& src)
17102 {
17103     sType = src.sType;
17104     textureCompressionASTC_HDR = src.textureCompressionASTC_HDR;
17105     pNext = SafePnextCopy(src.pNext);
17106 }
17107 
operator =(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT & src)17108 safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::operator=(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& src)
17109 {
17110     if (&src == this) return *this;
17111 
17112     if (pNext)
17113         FreePnextChain(pNext);
17114 
17115     sType = src.sType;
17116     textureCompressionASTC_HDR = src.textureCompressionASTC_HDR;
17117     pNext = SafePnextCopy(src.pNext);
17118 
17119     return *this;
17120 }
17121 
~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT()17122 safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT()
17123 {
17124     if (pNext)
17125         FreePnextChain(pNext);
17126 }
17127 
initialize(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT * in_struct)17128 void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::initialize(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* in_struct)
17129 {
17130     sType = in_struct->sType;
17131     textureCompressionASTC_HDR = in_struct->textureCompressionASTC_HDR;
17132     pNext = SafePnextCopy(in_struct->pNext);
17133 }
17134 
initialize(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT * src)17135 void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::initialize(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* src)
17136 {
17137     sType = src->sType;
17138     textureCompressionASTC_HDR = src->textureCompressionASTC_HDR;
17139     pNext = SafePnextCopy(src->pNext);
17140 }
17141 
safe_VkImageViewASTCDecodeModeEXT(const VkImageViewASTCDecodeModeEXT * in_struct)17142 safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT(const VkImageViewASTCDecodeModeEXT* in_struct) :
17143     sType(in_struct->sType),
17144     decodeMode(in_struct->decodeMode)
17145 {
17146     pNext = SafePnextCopy(in_struct->pNext);
17147 }
17148 
safe_VkImageViewASTCDecodeModeEXT()17149 safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT() :
17150     pNext(nullptr)
17151 {}
17152 
safe_VkImageViewASTCDecodeModeEXT(const safe_VkImageViewASTCDecodeModeEXT & src)17153 safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT(const safe_VkImageViewASTCDecodeModeEXT& src)
17154 {
17155     sType = src.sType;
17156     decodeMode = src.decodeMode;
17157     pNext = SafePnextCopy(src.pNext);
17158 }
17159 
operator =(const safe_VkImageViewASTCDecodeModeEXT & src)17160 safe_VkImageViewASTCDecodeModeEXT& safe_VkImageViewASTCDecodeModeEXT::operator=(const safe_VkImageViewASTCDecodeModeEXT& src)
17161 {
17162     if (&src == this) return *this;
17163 
17164     if (pNext)
17165         FreePnextChain(pNext);
17166 
17167     sType = src.sType;
17168     decodeMode = src.decodeMode;
17169     pNext = SafePnextCopy(src.pNext);
17170 
17171     return *this;
17172 }
17173 
~safe_VkImageViewASTCDecodeModeEXT()17174 safe_VkImageViewASTCDecodeModeEXT::~safe_VkImageViewASTCDecodeModeEXT()
17175 {
17176     if (pNext)
17177         FreePnextChain(pNext);
17178 }
17179 
initialize(const VkImageViewASTCDecodeModeEXT * in_struct)17180 void safe_VkImageViewASTCDecodeModeEXT::initialize(const VkImageViewASTCDecodeModeEXT* in_struct)
17181 {
17182     sType = in_struct->sType;
17183     decodeMode = in_struct->decodeMode;
17184     pNext = SafePnextCopy(in_struct->pNext);
17185 }
17186 
initialize(const safe_VkImageViewASTCDecodeModeEXT * src)17187 void safe_VkImageViewASTCDecodeModeEXT::initialize(const safe_VkImageViewASTCDecodeModeEXT* src)
17188 {
17189     sType = src->sType;
17190     decodeMode = src->decodeMode;
17191     pNext = SafePnextCopy(src->pNext);
17192 }
17193 
safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const VkPhysicalDeviceASTCDecodeFeaturesEXT * in_struct)17194 safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const VkPhysicalDeviceASTCDecodeFeaturesEXT* in_struct) :
17195     sType(in_struct->sType),
17196     decodeModeSharedExponent(in_struct->decodeModeSharedExponent)
17197 {
17198     pNext = SafePnextCopy(in_struct->pNext);
17199 }
17200 
safe_VkPhysicalDeviceASTCDecodeFeaturesEXT()17201 safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT() :
17202     pNext(nullptr)
17203 {}
17204 
safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT & src)17205 safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& src)
17206 {
17207     sType = src.sType;
17208     decodeModeSharedExponent = src.decodeModeSharedExponent;
17209     pNext = SafePnextCopy(src.pNext);
17210 }
17211 
operator =(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT & src)17212 safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::operator=(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& src)
17213 {
17214     if (&src == this) return *this;
17215 
17216     if (pNext)
17217         FreePnextChain(pNext);
17218 
17219     sType = src.sType;
17220     decodeModeSharedExponent = src.decodeModeSharedExponent;
17221     pNext = SafePnextCopy(src.pNext);
17222 
17223     return *this;
17224 }
17225 
~safe_VkPhysicalDeviceASTCDecodeFeaturesEXT()17226 safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::~safe_VkPhysicalDeviceASTCDecodeFeaturesEXT()
17227 {
17228     if (pNext)
17229         FreePnextChain(pNext);
17230 }
17231 
initialize(const VkPhysicalDeviceASTCDecodeFeaturesEXT * in_struct)17232 void safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::initialize(const VkPhysicalDeviceASTCDecodeFeaturesEXT* in_struct)
17233 {
17234     sType = in_struct->sType;
17235     decodeModeSharedExponent = in_struct->decodeModeSharedExponent;
17236     pNext = SafePnextCopy(in_struct->pNext);
17237 }
17238 
initialize(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT * src)17239 void safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::initialize(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT* src)
17240 {
17241     sType = src->sType;
17242     decodeModeSharedExponent = src->decodeModeSharedExponent;
17243     pNext = SafePnextCopy(src->pNext);
17244 }
17245 
safe_VkConditionalRenderingBeginInfoEXT(const VkConditionalRenderingBeginInfoEXT * in_struct)17246 safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT(const VkConditionalRenderingBeginInfoEXT* in_struct) :
17247     sType(in_struct->sType),
17248     buffer(in_struct->buffer),
17249     offset(in_struct->offset),
17250     flags(in_struct->flags)
17251 {
17252     pNext = SafePnextCopy(in_struct->pNext);
17253 }
17254 
safe_VkConditionalRenderingBeginInfoEXT()17255 safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT() :
17256     pNext(nullptr)
17257 {}
17258 
safe_VkConditionalRenderingBeginInfoEXT(const safe_VkConditionalRenderingBeginInfoEXT & src)17259 safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT(const safe_VkConditionalRenderingBeginInfoEXT& src)
17260 {
17261     sType = src.sType;
17262     buffer = src.buffer;
17263     offset = src.offset;
17264     flags = src.flags;
17265     pNext = SafePnextCopy(src.pNext);
17266 }
17267 
operator =(const safe_VkConditionalRenderingBeginInfoEXT & src)17268 safe_VkConditionalRenderingBeginInfoEXT& safe_VkConditionalRenderingBeginInfoEXT::operator=(const safe_VkConditionalRenderingBeginInfoEXT& src)
17269 {
17270     if (&src == this) return *this;
17271 
17272     if (pNext)
17273         FreePnextChain(pNext);
17274 
17275     sType = src.sType;
17276     buffer = src.buffer;
17277     offset = src.offset;
17278     flags = src.flags;
17279     pNext = SafePnextCopy(src.pNext);
17280 
17281     return *this;
17282 }
17283 
~safe_VkConditionalRenderingBeginInfoEXT()17284 safe_VkConditionalRenderingBeginInfoEXT::~safe_VkConditionalRenderingBeginInfoEXT()
17285 {
17286     if (pNext)
17287         FreePnextChain(pNext);
17288 }
17289 
initialize(const VkConditionalRenderingBeginInfoEXT * in_struct)17290 void safe_VkConditionalRenderingBeginInfoEXT::initialize(const VkConditionalRenderingBeginInfoEXT* in_struct)
17291 {
17292     sType = in_struct->sType;
17293     buffer = in_struct->buffer;
17294     offset = in_struct->offset;
17295     flags = in_struct->flags;
17296     pNext = SafePnextCopy(in_struct->pNext);
17297 }
17298 
initialize(const safe_VkConditionalRenderingBeginInfoEXT * src)17299 void safe_VkConditionalRenderingBeginInfoEXT::initialize(const safe_VkConditionalRenderingBeginInfoEXT* src)
17300 {
17301     sType = src->sType;
17302     buffer = src->buffer;
17303     offset = src->offset;
17304     flags = src->flags;
17305     pNext = SafePnextCopy(src->pNext);
17306 }
17307 
safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const VkPhysicalDeviceConditionalRenderingFeaturesEXT * in_struct)17308 safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const VkPhysicalDeviceConditionalRenderingFeaturesEXT* in_struct) :
17309     sType(in_struct->sType),
17310     conditionalRendering(in_struct->conditionalRendering),
17311     inheritedConditionalRendering(in_struct->inheritedConditionalRendering)
17312 {
17313     pNext = SafePnextCopy(in_struct->pNext);
17314 }
17315 
safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT()17316 safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT() :
17317     pNext(nullptr)
17318 {}
17319 
safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT & src)17320 safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& src)
17321 {
17322     sType = src.sType;
17323     conditionalRendering = src.conditionalRendering;
17324     inheritedConditionalRendering = src.inheritedConditionalRendering;
17325     pNext = SafePnextCopy(src.pNext);
17326 }
17327 
operator =(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT & src)17328 safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::operator=(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& src)
17329 {
17330     if (&src == this) return *this;
17331 
17332     if (pNext)
17333         FreePnextChain(pNext);
17334 
17335     sType = src.sType;
17336     conditionalRendering = src.conditionalRendering;
17337     inheritedConditionalRendering = src.inheritedConditionalRendering;
17338     pNext = SafePnextCopy(src.pNext);
17339 
17340     return *this;
17341 }
17342 
~safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT()17343 safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::~safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT()
17344 {
17345     if (pNext)
17346         FreePnextChain(pNext);
17347 }
17348 
initialize(const VkPhysicalDeviceConditionalRenderingFeaturesEXT * in_struct)17349 void safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::initialize(const VkPhysicalDeviceConditionalRenderingFeaturesEXT* in_struct)
17350 {
17351     sType = in_struct->sType;
17352     conditionalRendering = in_struct->conditionalRendering;
17353     inheritedConditionalRendering = in_struct->inheritedConditionalRendering;
17354     pNext = SafePnextCopy(in_struct->pNext);
17355 }
17356 
initialize(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT * src)17357 void safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::initialize(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT* src)
17358 {
17359     sType = src->sType;
17360     conditionalRendering = src->conditionalRendering;
17361     inheritedConditionalRendering = src->inheritedConditionalRendering;
17362     pNext = SafePnextCopy(src->pNext);
17363 }
17364 
safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const VkCommandBufferInheritanceConditionalRenderingInfoEXT * in_struct)17365 safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const VkCommandBufferInheritanceConditionalRenderingInfoEXT* in_struct) :
17366     sType(in_struct->sType),
17367     conditionalRenderingEnable(in_struct->conditionalRenderingEnable)
17368 {
17369     pNext = SafePnextCopy(in_struct->pNext);
17370 }
17371 
safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT()17372 safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT() :
17373     pNext(nullptr)
17374 {}
17375 
safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT & src)17376 safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& src)
17377 {
17378     sType = src.sType;
17379     conditionalRenderingEnable = src.conditionalRenderingEnable;
17380     pNext = SafePnextCopy(src.pNext);
17381 }
17382 
operator =(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT & src)17383 safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::operator=(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& src)
17384 {
17385     if (&src == this) return *this;
17386 
17387     if (pNext)
17388         FreePnextChain(pNext);
17389 
17390     sType = src.sType;
17391     conditionalRenderingEnable = src.conditionalRenderingEnable;
17392     pNext = SafePnextCopy(src.pNext);
17393 
17394     return *this;
17395 }
17396 
~safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT()17397 safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::~safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT()
17398 {
17399     if (pNext)
17400         FreePnextChain(pNext);
17401 }
17402 
initialize(const VkCommandBufferInheritanceConditionalRenderingInfoEXT * in_struct)17403 void safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::initialize(const VkCommandBufferInheritanceConditionalRenderingInfoEXT* in_struct)
17404 {
17405     sType = in_struct->sType;
17406     conditionalRenderingEnable = in_struct->conditionalRenderingEnable;
17407     pNext = SafePnextCopy(in_struct->pNext);
17408 }
17409 
initialize(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT * src)17410 void safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::initialize(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT* src)
17411 {
17412     sType = src->sType;
17413     conditionalRenderingEnable = src->conditionalRenderingEnable;
17414     pNext = SafePnextCopy(src->pNext);
17415 }
17416 
safe_VkDeviceGeneratedCommandsFeaturesNVX(const VkDeviceGeneratedCommandsFeaturesNVX * in_struct)17417 safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX(const VkDeviceGeneratedCommandsFeaturesNVX* in_struct) :
17418     sType(in_struct->sType),
17419     computeBindingPointSupport(in_struct->computeBindingPointSupport)
17420 {
17421     pNext = SafePnextCopy(in_struct->pNext);
17422 }
17423 
safe_VkDeviceGeneratedCommandsFeaturesNVX()17424 safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX() :
17425     pNext(nullptr)
17426 {}
17427 
safe_VkDeviceGeneratedCommandsFeaturesNVX(const safe_VkDeviceGeneratedCommandsFeaturesNVX & src)17428 safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX(const safe_VkDeviceGeneratedCommandsFeaturesNVX& src)
17429 {
17430     sType = src.sType;
17431     computeBindingPointSupport = src.computeBindingPointSupport;
17432     pNext = SafePnextCopy(src.pNext);
17433 }
17434 
operator =(const safe_VkDeviceGeneratedCommandsFeaturesNVX & src)17435 safe_VkDeviceGeneratedCommandsFeaturesNVX& safe_VkDeviceGeneratedCommandsFeaturesNVX::operator=(const safe_VkDeviceGeneratedCommandsFeaturesNVX& src)
17436 {
17437     if (&src == this) return *this;
17438 
17439     if (pNext)
17440         FreePnextChain(pNext);
17441 
17442     sType = src.sType;
17443     computeBindingPointSupport = src.computeBindingPointSupport;
17444     pNext = SafePnextCopy(src.pNext);
17445 
17446     return *this;
17447 }
17448 
~safe_VkDeviceGeneratedCommandsFeaturesNVX()17449 safe_VkDeviceGeneratedCommandsFeaturesNVX::~safe_VkDeviceGeneratedCommandsFeaturesNVX()
17450 {
17451     if (pNext)
17452         FreePnextChain(pNext);
17453 }
17454 
initialize(const VkDeviceGeneratedCommandsFeaturesNVX * in_struct)17455 void safe_VkDeviceGeneratedCommandsFeaturesNVX::initialize(const VkDeviceGeneratedCommandsFeaturesNVX* in_struct)
17456 {
17457     sType = in_struct->sType;
17458     computeBindingPointSupport = in_struct->computeBindingPointSupport;
17459     pNext = SafePnextCopy(in_struct->pNext);
17460 }
17461 
initialize(const safe_VkDeviceGeneratedCommandsFeaturesNVX * src)17462 void safe_VkDeviceGeneratedCommandsFeaturesNVX::initialize(const safe_VkDeviceGeneratedCommandsFeaturesNVX* src)
17463 {
17464     sType = src->sType;
17465     computeBindingPointSupport = src->computeBindingPointSupport;
17466     pNext = SafePnextCopy(src->pNext);
17467 }
17468 
safe_VkDeviceGeneratedCommandsLimitsNVX(const VkDeviceGeneratedCommandsLimitsNVX * in_struct)17469 safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX(const VkDeviceGeneratedCommandsLimitsNVX* in_struct) :
17470     sType(in_struct->sType),
17471     maxIndirectCommandsLayoutTokenCount(in_struct->maxIndirectCommandsLayoutTokenCount),
17472     maxObjectEntryCounts(in_struct->maxObjectEntryCounts),
17473     minSequenceCountBufferOffsetAlignment(in_struct->minSequenceCountBufferOffsetAlignment),
17474     minSequenceIndexBufferOffsetAlignment(in_struct->minSequenceIndexBufferOffsetAlignment),
17475     minCommandsTokenBufferOffsetAlignment(in_struct->minCommandsTokenBufferOffsetAlignment)
17476 {
17477     pNext = SafePnextCopy(in_struct->pNext);
17478 }
17479 
safe_VkDeviceGeneratedCommandsLimitsNVX()17480 safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX() :
17481     pNext(nullptr)
17482 {}
17483 
safe_VkDeviceGeneratedCommandsLimitsNVX(const safe_VkDeviceGeneratedCommandsLimitsNVX & src)17484 safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX(const safe_VkDeviceGeneratedCommandsLimitsNVX& src)
17485 {
17486     sType = src.sType;
17487     maxIndirectCommandsLayoutTokenCount = src.maxIndirectCommandsLayoutTokenCount;
17488     maxObjectEntryCounts = src.maxObjectEntryCounts;
17489     minSequenceCountBufferOffsetAlignment = src.minSequenceCountBufferOffsetAlignment;
17490     minSequenceIndexBufferOffsetAlignment = src.minSequenceIndexBufferOffsetAlignment;
17491     minCommandsTokenBufferOffsetAlignment = src.minCommandsTokenBufferOffsetAlignment;
17492     pNext = SafePnextCopy(src.pNext);
17493 }
17494 
operator =(const safe_VkDeviceGeneratedCommandsLimitsNVX & src)17495 safe_VkDeviceGeneratedCommandsLimitsNVX& safe_VkDeviceGeneratedCommandsLimitsNVX::operator=(const safe_VkDeviceGeneratedCommandsLimitsNVX& src)
17496 {
17497     if (&src == this) return *this;
17498 
17499     if (pNext)
17500         FreePnextChain(pNext);
17501 
17502     sType = src.sType;
17503     maxIndirectCommandsLayoutTokenCount = src.maxIndirectCommandsLayoutTokenCount;
17504     maxObjectEntryCounts = src.maxObjectEntryCounts;
17505     minSequenceCountBufferOffsetAlignment = src.minSequenceCountBufferOffsetAlignment;
17506     minSequenceIndexBufferOffsetAlignment = src.minSequenceIndexBufferOffsetAlignment;
17507     minCommandsTokenBufferOffsetAlignment = src.minCommandsTokenBufferOffsetAlignment;
17508     pNext = SafePnextCopy(src.pNext);
17509 
17510     return *this;
17511 }
17512 
~safe_VkDeviceGeneratedCommandsLimitsNVX()17513 safe_VkDeviceGeneratedCommandsLimitsNVX::~safe_VkDeviceGeneratedCommandsLimitsNVX()
17514 {
17515     if (pNext)
17516         FreePnextChain(pNext);
17517 }
17518 
initialize(const VkDeviceGeneratedCommandsLimitsNVX * in_struct)17519 void safe_VkDeviceGeneratedCommandsLimitsNVX::initialize(const VkDeviceGeneratedCommandsLimitsNVX* in_struct)
17520 {
17521     sType = in_struct->sType;
17522     maxIndirectCommandsLayoutTokenCount = in_struct->maxIndirectCommandsLayoutTokenCount;
17523     maxObjectEntryCounts = in_struct->maxObjectEntryCounts;
17524     minSequenceCountBufferOffsetAlignment = in_struct->minSequenceCountBufferOffsetAlignment;
17525     minSequenceIndexBufferOffsetAlignment = in_struct->minSequenceIndexBufferOffsetAlignment;
17526     minCommandsTokenBufferOffsetAlignment = in_struct->minCommandsTokenBufferOffsetAlignment;
17527     pNext = SafePnextCopy(in_struct->pNext);
17528 }
17529 
initialize(const safe_VkDeviceGeneratedCommandsLimitsNVX * src)17530 void safe_VkDeviceGeneratedCommandsLimitsNVX::initialize(const safe_VkDeviceGeneratedCommandsLimitsNVX* src)
17531 {
17532     sType = src->sType;
17533     maxIndirectCommandsLayoutTokenCount = src->maxIndirectCommandsLayoutTokenCount;
17534     maxObjectEntryCounts = src->maxObjectEntryCounts;
17535     minSequenceCountBufferOffsetAlignment = src->minSequenceCountBufferOffsetAlignment;
17536     minSequenceIndexBufferOffsetAlignment = src->minSequenceIndexBufferOffsetAlignment;
17537     minCommandsTokenBufferOffsetAlignment = src->minCommandsTokenBufferOffsetAlignment;
17538     pNext = SafePnextCopy(src->pNext);
17539 }
17540 
safe_VkIndirectCommandsLayoutCreateInfoNVX(const VkIndirectCommandsLayoutCreateInfoNVX * in_struct)17541 safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX(const VkIndirectCommandsLayoutCreateInfoNVX* in_struct) :
17542     sType(in_struct->sType),
17543     pipelineBindPoint(in_struct->pipelineBindPoint),
17544     flags(in_struct->flags),
17545     tokenCount(in_struct->tokenCount),
17546     pTokens(nullptr)
17547 {
17548     pNext = SafePnextCopy(in_struct->pNext);
17549     if (in_struct->pTokens) {
17550         pTokens = new VkIndirectCommandsLayoutTokenNVX[in_struct->tokenCount];
17551         memcpy ((void *)pTokens, (void *)in_struct->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*in_struct->tokenCount);
17552     }
17553 }
17554 
safe_VkIndirectCommandsLayoutCreateInfoNVX()17555 safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX() :
17556     pNext(nullptr),
17557     pTokens(nullptr)
17558 {}
17559 
safe_VkIndirectCommandsLayoutCreateInfoNVX(const safe_VkIndirectCommandsLayoutCreateInfoNVX & src)17560 safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX(const safe_VkIndirectCommandsLayoutCreateInfoNVX& src)
17561 {
17562     sType = src.sType;
17563     pipelineBindPoint = src.pipelineBindPoint;
17564     flags = src.flags;
17565     tokenCount = src.tokenCount;
17566     pTokens = nullptr;
17567     pNext = SafePnextCopy(src.pNext);
17568     if (src.pTokens) {
17569         pTokens = new VkIndirectCommandsLayoutTokenNVX[src.tokenCount];
17570         memcpy ((void *)pTokens, (void *)src.pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src.tokenCount);
17571     }
17572 }
17573 
operator =(const safe_VkIndirectCommandsLayoutCreateInfoNVX & src)17574 safe_VkIndirectCommandsLayoutCreateInfoNVX& safe_VkIndirectCommandsLayoutCreateInfoNVX::operator=(const safe_VkIndirectCommandsLayoutCreateInfoNVX& src)
17575 {
17576     if (&src == this) return *this;
17577 
17578     if (pTokens)
17579         delete[] pTokens;
17580     if (pNext)
17581         FreePnextChain(pNext);
17582 
17583     sType = src.sType;
17584     pipelineBindPoint = src.pipelineBindPoint;
17585     flags = src.flags;
17586     tokenCount = src.tokenCount;
17587     pTokens = nullptr;
17588     pNext = SafePnextCopy(src.pNext);
17589     if (src.pTokens) {
17590         pTokens = new VkIndirectCommandsLayoutTokenNVX[src.tokenCount];
17591         memcpy ((void *)pTokens, (void *)src.pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src.tokenCount);
17592     }
17593 
17594     return *this;
17595 }
17596 
~safe_VkIndirectCommandsLayoutCreateInfoNVX()17597 safe_VkIndirectCommandsLayoutCreateInfoNVX::~safe_VkIndirectCommandsLayoutCreateInfoNVX()
17598 {
17599     if (pTokens)
17600         delete[] pTokens;
17601     if (pNext)
17602         FreePnextChain(pNext);
17603 }
17604 
initialize(const VkIndirectCommandsLayoutCreateInfoNVX * in_struct)17605 void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const VkIndirectCommandsLayoutCreateInfoNVX* in_struct)
17606 {
17607     sType = in_struct->sType;
17608     pipelineBindPoint = in_struct->pipelineBindPoint;
17609     flags = in_struct->flags;
17610     tokenCount = in_struct->tokenCount;
17611     pTokens = nullptr;
17612     pNext = SafePnextCopy(in_struct->pNext);
17613     if (in_struct->pTokens) {
17614         pTokens = new VkIndirectCommandsLayoutTokenNVX[in_struct->tokenCount];
17615         memcpy ((void *)pTokens, (void *)in_struct->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*in_struct->tokenCount);
17616     }
17617 }
17618 
initialize(const safe_VkIndirectCommandsLayoutCreateInfoNVX * src)17619 void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const safe_VkIndirectCommandsLayoutCreateInfoNVX* src)
17620 {
17621     sType = src->sType;
17622     pipelineBindPoint = src->pipelineBindPoint;
17623     flags = src->flags;
17624     tokenCount = src->tokenCount;
17625     pTokens = nullptr;
17626     pNext = SafePnextCopy(src->pNext);
17627     if (src->pTokens) {
17628         pTokens = new VkIndirectCommandsLayoutTokenNVX[src->tokenCount];
17629         memcpy ((void *)pTokens, (void *)src->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src->tokenCount);
17630     }
17631 }
17632 
safe_VkCmdProcessCommandsInfoNVX(const VkCmdProcessCommandsInfoNVX * in_struct)17633 safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const VkCmdProcessCommandsInfoNVX* in_struct) :
17634     sType(in_struct->sType),
17635     objectTable(in_struct->objectTable),
17636     indirectCommandsLayout(in_struct->indirectCommandsLayout),
17637     indirectCommandsTokenCount(in_struct->indirectCommandsTokenCount),
17638     pIndirectCommandsTokens(nullptr),
17639     maxSequencesCount(in_struct->maxSequencesCount),
17640     targetCommandBuffer(in_struct->targetCommandBuffer),
17641     sequencesCountBuffer(in_struct->sequencesCountBuffer),
17642     sequencesCountOffset(in_struct->sequencesCountOffset),
17643     sequencesIndexBuffer(in_struct->sequencesIndexBuffer),
17644     sequencesIndexOffset(in_struct->sequencesIndexOffset)
17645 {
17646     pNext = SafePnextCopy(in_struct->pNext);
17647     if (indirectCommandsTokenCount && in_struct->pIndirectCommandsTokens) {
17648         pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17649         for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) {
17650             pIndirectCommandsTokens[i] = in_struct->pIndirectCommandsTokens[i];
17651         }
17652     }
17653 }
17654 
safe_VkCmdProcessCommandsInfoNVX()17655 safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX() :
17656     pNext(nullptr),
17657     pIndirectCommandsTokens(nullptr)
17658 {}
17659 
safe_VkCmdProcessCommandsInfoNVX(const safe_VkCmdProcessCommandsInfoNVX & src)17660 safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const safe_VkCmdProcessCommandsInfoNVX& src)
17661 {
17662     sType = src.sType;
17663     objectTable = src.objectTable;
17664     indirectCommandsLayout = src.indirectCommandsLayout;
17665     indirectCommandsTokenCount = src.indirectCommandsTokenCount;
17666     pIndirectCommandsTokens = nullptr;
17667     maxSequencesCount = src.maxSequencesCount;
17668     targetCommandBuffer = src.targetCommandBuffer;
17669     sequencesCountBuffer = src.sequencesCountBuffer;
17670     sequencesCountOffset = src.sequencesCountOffset;
17671     sequencesIndexBuffer = src.sequencesIndexBuffer;
17672     sequencesIndexOffset = src.sequencesIndexOffset;
17673     pNext = SafePnextCopy(src.pNext);
17674     if (indirectCommandsTokenCount && src.pIndirectCommandsTokens) {
17675         pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17676         for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) {
17677             pIndirectCommandsTokens[i] = src.pIndirectCommandsTokens[i];
17678         }
17679     }
17680 }
17681 
operator =(const safe_VkCmdProcessCommandsInfoNVX & src)17682 safe_VkCmdProcessCommandsInfoNVX& safe_VkCmdProcessCommandsInfoNVX::operator=(const safe_VkCmdProcessCommandsInfoNVX& src)
17683 {
17684     if (&src == this) return *this;
17685 
17686     if (pIndirectCommandsTokens)
17687         delete[] pIndirectCommandsTokens;
17688     if (pNext)
17689         FreePnextChain(pNext);
17690 
17691     sType = src.sType;
17692     objectTable = src.objectTable;
17693     indirectCommandsLayout = src.indirectCommandsLayout;
17694     indirectCommandsTokenCount = src.indirectCommandsTokenCount;
17695     pIndirectCommandsTokens = nullptr;
17696     maxSequencesCount = src.maxSequencesCount;
17697     targetCommandBuffer = src.targetCommandBuffer;
17698     sequencesCountBuffer = src.sequencesCountBuffer;
17699     sequencesCountOffset = src.sequencesCountOffset;
17700     sequencesIndexBuffer = src.sequencesIndexBuffer;
17701     sequencesIndexOffset = src.sequencesIndexOffset;
17702     pNext = SafePnextCopy(src.pNext);
17703     if (indirectCommandsTokenCount && src.pIndirectCommandsTokens) {
17704         pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17705         for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) {
17706             pIndirectCommandsTokens[i] = src.pIndirectCommandsTokens[i];
17707         }
17708     }
17709 
17710     return *this;
17711 }
17712 
~safe_VkCmdProcessCommandsInfoNVX()17713 safe_VkCmdProcessCommandsInfoNVX::~safe_VkCmdProcessCommandsInfoNVX()
17714 {
17715     if (pIndirectCommandsTokens)
17716         delete[] pIndirectCommandsTokens;
17717     if (pNext)
17718         FreePnextChain(pNext);
17719 }
17720 
initialize(const VkCmdProcessCommandsInfoNVX * in_struct)17721 void safe_VkCmdProcessCommandsInfoNVX::initialize(const VkCmdProcessCommandsInfoNVX* in_struct)
17722 {
17723     sType = in_struct->sType;
17724     objectTable = in_struct->objectTable;
17725     indirectCommandsLayout = in_struct->indirectCommandsLayout;
17726     indirectCommandsTokenCount = in_struct->indirectCommandsTokenCount;
17727     pIndirectCommandsTokens = nullptr;
17728     maxSequencesCount = in_struct->maxSequencesCount;
17729     targetCommandBuffer = in_struct->targetCommandBuffer;
17730     sequencesCountBuffer = in_struct->sequencesCountBuffer;
17731     sequencesCountOffset = in_struct->sequencesCountOffset;
17732     sequencesIndexBuffer = in_struct->sequencesIndexBuffer;
17733     sequencesIndexOffset = in_struct->sequencesIndexOffset;
17734     pNext = SafePnextCopy(in_struct->pNext);
17735     if (indirectCommandsTokenCount && in_struct->pIndirectCommandsTokens) {
17736         pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17737         for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) {
17738             pIndirectCommandsTokens[i] = in_struct->pIndirectCommandsTokens[i];
17739         }
17740     }
17741 }
17742 
initialize(const safe_VkCmdProcessCommandsInfoNVX * src)17743 void safe_VkCmdProcessCommandsInfoNVX::initialize(const safe_VkCmdProcessCommandsInfoNVX* src)
17744 {
17745     sType = src->sType;
17746     objectTable = src->objectTable;
17747     indirectCommandsLayout = src->indirectCommandsLayout;
17748     indirectCommandsTokenCount = src->indirectCommandsTokenCount;
17749     pIndirectCommandsTokens = nullptr;
17750     maxSequencesCount = src->maxSequencesCount;
17751     targetCommandBuffer = src->targetCommandBuffer;
17752     sequencesCountBuffer = src->sequencesCountBuffer;
17753     sequencesCountOffset = src->sequencesCountOffset;
17754     sequencesIndexBuffer = src->sequencesIndexBuffer;
17755     sequencesIndexOffset = src->sequencesIndexOffset;
17756     pNext = SafePnextCopy(src->pNext);
17757     if (indirectCommandsTokenCount && src->pIndirectCommandsTokens) {
17758         pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17759         for (uint32_t i = 0; i < indirectCommandsTokenCount; ++i) {
17760             pIndirectCommandsTokens[i] = src->pIndirectCommandsTokens[i];
17761         }
17762     }
17763 }
17764 
safe_VkCmdReserveSpaceForCommandsInfoNVX(const VkCmdReserveSpaceForCommandsInfoNVX * in_struct)17765 safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX(const VkCmdReserveSpaceForCommandsInfoNVX* in_struct) :
17766     sType(in_struct->sType),
17767     objectTable(in_struct->objectTable),
17768     indirectCommandsLayout(in_struct->indirectCommandsLayout),
17769     maxSequencesCount(in_struct->maxSequencesCount)
17770 {
17771     pNext = SafePnextCopy(in_struct->pNext);
17772 }
17773 
safe_VkCmdReserveSpaceForCommandsInfoNVX()17774 safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX() :
17775     pNext(nullptr)
17776 {}
17777 
safe_VkCmdReserveSpaceForCommandsInfoNVX(const safe_VkCmdReserveSpaceForCommandsInfoNVX & src)17778 safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX(const safe_VkCmdReserveSpaceForCommandsInfoNVX& src)
17779 {
17780     sType = src.sType;
17781     objectTable = src.objectTable;
17782     indirectCommandsLayout = src.indirectCommandsLayout;
17783     maxSequencesCount = src.maxSequencesCount;
17784     pNext = SafePnextCopy(src.pNext);
17785 }
17786 
operator =(const safe_VkCmdReserveSpaceForCommandsInfoNVX & src)17787 safe_VkCmdReserveSpaceForCommandsInfoNVX& safe_VkCmdReserveSpaceForCommandsInfoNVX::operator=(const safe_VkCmdReserveSpaceForCommandsInfoNVX& src)
17788 {
17789     if (&src == this) return *this;
17790 
17791     if (pNext)
17792         FreePnextChain(pNext);
17793 
17794     sType = src.sType;
17795     objectTable = src.objectTable;
17796     indirectCommandsLayout = src.indirectCommandsLayout;
17797     maxSequencesCount = src.maxSequencesCount;
17798     pNext = SafePnextCopy(src.pNext);
17799 
17800     return *this;
17801 }
17802 
~safe_VkCmdReserveSpaceForCommandsInfoNVX()17803 safe_VkCmdReserveSpaceForCommandsInfoNVX::~safe_VkCmdReserveSpaceForCommandsInfoNVX()
17804 {
17805     if (pNext)
17806         FreePnextChain(pNext);
17807 }
17808 
initialize(const VkCmdReserveSpaceForCommandsInfoNVX * in_struct)17809 void safe_VkCmdReserveSpaceForCommandsInfoNVX::initialize(const VkCmdReserveSpaceForCommandsInfoNVX* in_struct)
17810 {
17811     sType = in_struct->sType;
17812     objectTable = in_struct->objectTable;
17813     indirectCommandsLayout = in_struct->indirectCommandsLayout;
17814     maxSequencesCount = in_struct->maxSequencesCount;
17815     pNext = SafePnextCopy(in_struct->pNext);
17816 }
17817 
initialize(const safe_VkCmdReserveSpaceForCommandsInfoNVX * src)17818 void safe_VkCmdReserveSpaceForCommandsInfoNVX::initialize(const safe_VkCmdReserveSpaceForCommandsInfoNVX* src)
17819 {
17820     sType = src->sType;
17821     objectTable = src->objectTable;
17822     indirectCommandsLayout = src->indirectCommandsLayout;
17823     maxSequencesCount = src->maxSequencesCount;
17824     pNext = SafePnextCopy(src->pNext);
17825 }
17826 
safe_VkObjectTableCreateInfoNVX(const VkObjectTableCreateInfoNVX * in_struct)17827 safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const VkObjectTableCreateInfoNVX* in_struct) :
17828     sType(in_struct->sType),
17829     objectCount(in_struct->objectCount),
17830     pObjectEntryTypes(nullptr),
17831     pObjectEntryCounts(nullptr),
17832     pObjectEntryUsageFlags(nullptr),
17833     maxUniformBuffersPerDescriptor(in_struct->maxUniformBuffersPerDescriptor),
17834     maxStorageBuffersPerDescriptor(in_struct->maxStorageBuffersPerDescriptor),
17835     maxStorageImagesPerDescriptor(in_struct->maxStorageImagesPerDescriptor),
17836     maxSampledImagesPerDescriptor(in_struct->maxSampledImagesPerDescriptor),
17837     maxPipelineLayouts(in_struct->maxPipelineLayouts)
17838 {
17839     pNext = SafePnextCopy(in_struct->pNext);
17840     if (in_struct->pObjectEntryTypes) {
17841         pObjectEntryTypes = new VkObjectEntryTypeNVX[in_struct->objectCount];
17842         memcpy ((void *)pObjectEntryTypes, (void *)in_struct->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*in_struct->objectCount);
17843     }
17844     if (in_struct->pObjectEntryCounts) {
17845         pObjectEntryCounts = new uint32_t[in_struct->objectCount];
17846         memcpy ((void *)pObjectEntryCounts, (void *)in_struct->pObjectEntryCounts, sizeof(uint32_t)*in_struct->objectCount);
17847     }
17848     if (in_struct->pObjectEntryUsageFlags) {
17849         pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[in_struct->objectCount];
17850         memcpy ((void *)pObjectEntryUsageFlags, (void *)in_struct->pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*in_struct->objectCount);
17851     }
17852 }
17853 
safe_VkObjectTableCreateInfoNVX()17854 safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX() :
17855     pNext(nullptr),
17856     pObjectEntryTypes(nullptr),
17857     pObjectEntryCounts(nullptr),
17858     pObjectEntryUsageFlags(nullptr)
17859 {}
17860 
safe_VkObjectTableCreateInfoNVX(const safe_VkObjectTableCreateInfoNVX & src)17861 safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const safe_VkObjectTableCreateInfoNVX& src)
17862 {
17863     sType = src.sType;
17864     objectCount = src.objectCount;
17865     pObjectEntryTypes = nullptr;
17866     pObjectEntryCounts = nullptr;
17867     pObjectEntryUsageFlags = nullptr;
17868     maxUniformBuffersPerDescriptor = src.maxUniformBuffersPerDescriptor;
17869     maxStorageBuffersPerDescriptor = src.maxStorageBuffersPerDescriptor;
17870     maxStorageImagesPerDescriptor = src.maxStorageImagesPerDescriptor;
17871     maxSampledImagesPerDescriptor = src.maxSampledImagesPerDescriptor;
17872     maxPipelineLayouts = src.maxPipelineLayouts;
17873     pNext = SafePnextCopy(src.pNext);
17874     if (src.pObjectEntryTypes) {
17875         pObjectEntryTypes = new VkObjectEntryTypeNVX[src.objectCount];
17876         memcpy ((void *)pObjectEntryTypes, (void *)src.pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src.objectCount);
17877     }
17878     if (src.pObjectEntryCounts) {
17879         pObjectEntryCounts = new uint32_t[src.objectCount];
17880         memcpy ((void *)pObjectEntryCounts, (void *)src.pObjectEntryCounts, sizeof(uint32_t)*src.objectCount);
17881     }
17882     if (src.pObjectEntryUsageFlags) {
17883         pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[src.objectCount];
17884         memcpy ((void *)pObjectEntryUsageFlags, (void *)src.pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*src.objectCount);
17885     }
17886 }
17887 
operator =(const safe_VkObjectTableCreateInfoNVX & src)17888 safe_VkObjectTableCreateInfoNVX& safe_VkObjectTableCreateInfoNVX::operator=(const safe_VkObjectTableCreateInfoNVX& src)
17889 {
17890     if (&src == this) return *this;
17891 
17892     if (pObjectEntryTypes)
17893         delete[] pObjectEntryTypes;
17894     if (pObjectEntryCounts)
17895         delete[] pObjectEntryCounts;
17896     if (pObjectEntryUsageFlags)
17897         delete[] pObjectEntryUsageFlags;
17898     if (pNext)
17899         FreePnextChain(pNext);
17900 
17901     sType = src.sType;
17902     objectCount = src.objectCount;
17903     pObjectEntryTypes = nullptr;
17904     pObjectEntryCounts = nullptr;
17905     pObjectEntryUsageFlags = nullptr;
17906     maxUniformBuffersPerDescriptor = src.maxUniformBuffersPerDescriptor;
17907     maxStorageBuffersPerDescriptor = src.maxStorageBuffersPerDescriptor;
17908     maxStorageImagesPerDescriptor = src.maxStorageImagesPerDescriptor;
17909     maxSampledImagesPerDescriptor = src.maxSampledImagesPerDescriptor;
17910     maxPipelineLayouts = src.maxPipelineLayouts;
17911     pNext = SafePnextCopy(src.pNext);
17912     if (src.pObjectEntryTypes) {
17913         pObjectEntryTypes = new VkObjectEntryTypeNVX[src.objectCount];
17914         memcpy ((void *)pObjectEntryTypes, (void *)src.pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src.objectCount);
17915     }
17916     if (src.pObjectEntryCounts) {
17917         pObjectEntryCounts = new uint32_t[src.objectCount];
17918         memcpy ((void *)pObjectEntryCounts, (void *)src.pObjectEntryCounts, sizeof(uint32_t)*src.objectCount);
17919     }
17920     if (src.pObjectEntryUsageFlags) {
17921         pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[src.objectCount];
17922         memcpy ((void *)pObjectEntryUsageFlags, (void *)src.pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*src.objectCount);
17923     }
17924 
17925     return *this;
17926 }
17927 
~safe_VkObjectTableCreateInfoNVX()17928 safe_VkObjectTableCreateInfoNVX::~safe_VkObjectTableCreateInfoNVX()
17929 {
17930     if (pObjectEntryTypes)
17931         delete[] pObjectEntryTypes;
17932     if (pObjectEntryCounts)
17933         delete[] pObjectEntryCounts;
17934     if (pObjectEntryUsageFlags)
17935         delete[] pObjectEntryUsageFlags;
17936     if (pNext)
17937         FreePnextChain(pNext);
17938 }
17939 
initialize(const VkObjectTableCreateInfoNVX * in_struct)17940 void safe_VkObjectTableCreateInfoNVX::initialize(const VkObjectTableCreateInfoNVX* in_struct)
17941 {
17942     sType = in_struct->sType;
17943     objectCount = in_struct->objectCount;
17944     pObjectEntryTypes = nullptr;
17945     pObjectEntryCounts = nullptr;
17946     pObjectEntryUsageFlags = nullptr;
17947     maxUniformBuffersPerDescriptor = in_struct->maxUniformBuffersPerDescriptor;
17948     maxStorageBuffersPerDescriptor = in_struct->maxStorageBuffersPerDescriptor;
17949     maxStorageImagesPerDescriptor = in_struct->maxStorageImagesPerDescriptor;
17950     maxSampledImagesPerDescriptor = in_struct->maxSampledImagesPerDescriptor;
17951     maxPipelineLayouts = in_struct->maxPipelineLayouts;
17952     pNext = SafePnextCopy(in_struct->pNext);
17953     if (in_struct->pObjectEntryTypes) {
17954         pObjectEntryTypes = new VkObjectEntryTypeNVX[in_struct->objectCount];
17955         memcpy ((void *)pObjectEntryTypes, (void *)in_struct->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*in_struct->objectCount);
17956     }
17957     if (in_struct->pObjectEntryCounts) {
17958         pObjectEntryCounts = new uint32_t[in_struct->objectCount];
17959         memcpy ((void *)pObjectEntryCounts, (void *)in_struct->pObjectEntryCounts, sizeof(uint32_t)*in_struct->objectCount);
17960     }
17961     if (in_struct->pObjectEntryUsageFlags) {
17962         pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[in_struct->objectCount];
17963         memcpy ((void *)pObjectEntryUsageFlags, (void *)in_struct->pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*in_struct->objectCount);
17964     }
17965 }
17966 
initialize(const safe_VkObjectTableCreateInfoNVX * src)17967 void safe_VkObjectTableCreateInfoNVX::initialize(const safe_VkObjectTableCreateInfoNVX* src)
17968 {
17969     sType = src->sType;
17970     objectCount = src->objectCount;
17971     pObjectEntryTypes = nullptr;
17972     pObjectEntryCounts = nullptr;
17973     pObjectEntryUsageFlags = nullptr;
17974     maxUniformBuffersPerDescriptor = src->maxUniformBuffersPerDescriptor;
17975     maxStorageBuffersPerDescriptor = src->maxStorageBuffersPerDescriptor;
17976     maxStorageImagesPerDescriptor = src->maxStorageImagesPerDescriptor;
17977     maxSampledImagesPerDescriptor = src->maxSampledImagesPerDescriptor;
17978     maxPipelineLayouts = src->maxPipelineLayouts;
17979     pNext = SafePnextCopy(src->pNext);
17980     if (src->pObjectEntryTypes) {
17981         pObjectEntryTypes = new VkObjectEntryTypeNVX[src->objectCount];
17982         memcpy ((void *)pObjectEntryTypes, (void *)src->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src->objectCount);
17983     }
17984     if (src->pObjectEntryCounts) {
17985         pObjectEntryCounts = new uint32_t[src->objectCount];
17986         memcpy ((void *)pObjectEntryCounts, (void *)src->pObjectEntryCounts, sizeof(uint32_t)*src->objectCount);
17987     }
17988     if (src->pObjectEntryUsageFlags) {
17989         pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[src->objectCount];
17990         memcpy ((void *)pObjectEntryUsageFlags, (void *)src->pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*src->objectCount);
17991     }
17992 }
17993 
safe_VkPipelineViewportWScalingStateCreateInfoNV(const VkPipelineViewportWScalingStateCreateInfoNV * in_struct)17994 safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV(const VkPipelineViewportWScalingStateCreateInfoNV* in_struct) :
17995     sType(in_struct->sType),
17996     viewportWScalingEnable(in_struct->viewportWScalingEnable),
17997     viewportCount(in_struct->viewportCount),
17998     pViewportWScalings(nullptr)
17999 {
18000     pNext = SafePnextCopy(in_struct->pNext);
18001     if (in_struct->pViewportWScalings) {
18002         pViewportWScalings = new VkViewportWScalingNV[in_struct->viewportCount];
18003         memcpy ((void *)pViewportWScalings, (void *)in_struct->pViewportWScalings, sizeof(VkViewportWScalingNV)*in_struct->viewportCount);
18004     }
18005 }
18006 
safe_VkPipelineViewportWScalingStateCreateInfoNV()18007 safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV() :
18008     pNext(nullptr),
18009     pViewportWScalings(nullptr)
18010 {}
18011 
safe_VkPipelineViewportWScalingStateCreateInfoNV(const safe_VkPipelineViewportWScalingStateCreateInfoNV & src)18012 safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV(const safe_VkPipelineViewportWScalingStateCreateInfoNV& src)
18013 {
18014     sType = src.sType;
18015     viewportWScalingEnable = src.viewportWScalingEnable;
18016     viewportCount = src.viewportCount;
18017     pViewportWScalings = nullptr;
18018     pNext = SafePnextCopy(src.pNext);
18019     if (src.pViewportWScalings) {
18020         pViewportWScalings = new VkViewportWScalingNV[src.viewportCount];
18021         memcpy ((void *)pViewportWScalings, (void *)src.pViewportWScalings, sizeof(VkViewportWScalingNV)*src.viewportCount);
18022     }
18023 }
18024 
operator =(const safe_VkPipelineViewportWScalingStateCreateInfoNV & src)18025 safe_VkPipelineViewportWScalingStateCreateInfoNV& safe_VkPipelineViewportWScalingStateCreateInfoNV::operator=(const safe_VkPipelineViewportWScalingStateCreateInfoNV& src)
18026 {
18027     if (&src == this) return *this;
18028 
18029     if (pViewportWScalings)
18030         delete[] pViewportWScalings;
18031     if (pNext)
18032         FreePnextChain(pNext);
18033 
18034     sType = src.sType;
18035     viewportWScalingEnable = src.viewportWScalingEnable;
18036     viewportCount = src.viewportCount;
18037     pViewportWScalings = nullptr;
18038     pNext = SafePnextCopy(src.pNext);
18039     if (src.pViewportWScalings) {
18040         pViewportWScalings = new VkViewportWScalingNV[src.viewportCount];
18041         memcpy ((void *)pViewportWScalings, (void *)src.pViewportWScalings, sizeof(VkViewportWScalingNV)*src.viewportCount);
18042     }
18043 
18044     return *this;
18045 }
18046 
~safe_VkPipelineViewportWScalingStateCreateInfoNV()18047 safe_VkPipelineViewportWScalingStateCreateInfoNV::~safe_VkPipelineViewportWScalingStateCreateInfoNV()
18048 {
18049     if (pViewportWScalings)
18050         delete[] pViewportWScalings;
18051     if (pNext)
18052         FreePnextChain(pNext);
18053 }
18054 
initialize(const VkPipelineViewportWScalingStateCreateInfoNV * in_struct)18055 void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const VkPipelineViewportWScalingStateCreateInfoNV* in_struct)
18056 {
18057     sType = in_struct->sType;
18058     viewportWScalingEnable = in_struct->viewportWScalingEnable;
18059     viewportCount = in_struct->viewportCount;
18060     pViewportWScalings = nullptr;
18061     pNext = SafePnextCopy(in_struct->pNext);
18062     if (in_struct->pViewportWScalings) {
18063         pViewportWScalings = new VkViewportWScalingNV[in_struct->viewportCount];
18064         memcpy ((void *)pViewportWScalings, (void *)in_struct->pViewportWScalings, sizeof(VkViewportWScalingNV)*in_struct->viewportCount);
18065     }
18066 }
18067 
initialize(const safe_VkPipelineViewportWScalingStateCreateInfoNV * src)18068 void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const safe_VkPipelineViewportWScalingStateCreateInfoNV* src)
18069 {
18070     sType = src->sType;
18071     viewportWScalingEnable = src->viewportWScalingEnable;
18072     viewportCount = src->viewportCount;
18073     pViewportWScalings = nullptr;
18074     pNext = SafePnextCopy(src->pNext);
18075     if (src->pViewportWScalings) {
18076         pViewportWScalings = new VkViewportWScalingNV[src->viewportCount];
18077         memcpy ((void *)pViewportWScalings, (void *)src->pViewportWScalings, sizeof(VkViewportWScalingNV)*src->viewportCount);
18078     }
18079 }
18080 
safe_VkSurfaceCapabilities2EXT(const VkSurfaceCapabilities2EXT * in_struct)18081 safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const VkSurfaceCapabilities2EXT* in_struct) :
18082     sType(in_struct->sType),
18083     minImageCount(in_struct->minImageCount),
18084     maxImageCount(in_struct->maxImageCount),
18085     currentExtent(in_struct->currentExtent),
18086     minImageExtent(in_struct->minImageExtent),
18087     maxImageExtent(in_struct->maxImageExtent),
18088     maxImageArrayLayers(in_struct->maxImageArrayLayers),
18089     supportedTransforms(in_struct->supportedTransforms),
18090     currentTransform(in_struct->currentTransform),
18091     supportedCompositeAlpha(in_struct->supportedCompositeAlpha),
18092     supportedUsageFlags(in_struct->supportedUsageFlags),
18093     supportedSurfaceCounters(in_struct->supportedSurfaceCounters)
18094 {
18095     pNext = SafePnextCopy(in_struct->pNext);
18096 }
18097 
safe_VkSurfaceCapabilities2EXT()18098 safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT() :
18099     pNext(nullptr)
18100 {}
18101 
safe_VkSurfaceCapabilities2EXT(const safe_VkSurfaceCapabilities2EXT & src)18102 safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const safe_VkSurfaceCapabilities2EXT& src)
18103 {
18104     sType = src.sType;
18105     minImageCount = src.minImageCount;
18106     maxImageCount = src.maxImageCount;
18107     currentExtent = src.currentExtent;
18108     minImageExtent = src.minImageExtent;
18109     maxImageExtent = src.maxImageExtent;
18110     maxImageArrayLayers = src.maxImageArrayLayers;
18111     supportedTransforms = src.supportedTransforms;
18112     currentTransform = src.currentTransform;
18113     supportedCompositeAlpha = src.supportedCompositeAlpha;
18114     supportedUsageFlags = src.supportedUsageFlags;
18115     supportedSurfaceCounters = src.supportedSurfaceCounters;
18116     pNext = SafePnextCopy(src.pNext);
18117 }
18118 
operator =(const safe_VkSurfaceCapabilities2EXT & src)18119 safe_VkSurfaceCapabilities2EXT& safe_VkSurfaceCapabilities2EXT::operator=(const safe_VkSurfaceCapabilities2EXT& src)
18120 {
18121     if (&src == this) return *this;
18122 
18123     if (pNext)
18124         FreePnextChain(pNext);
18125 
18126     sType = src.sType;
18127     minImageCount = src.minImageCount;
18128     maxImageCount = src.maxImageCount;
18129     currentExtent = src.currentExtent;
18130     minImageExtent = src.minImageExtent;
18131     maxImageExtent = src.maxImageExtent;
18132     maxImageArrayLayers = src.maxImageArrayLayers;
18133     supportedTransforms = src.supportedTransforms;
18134     currentTransform = src.currentTransform;
18135     supportedCompositeAlpha = src.supportedCompositeAlpha;
18136     supportedUsageFlags = src.supportedUsageFlags;
18137     supportedSurfaceCounters = src.supportedSurfaceCounters;
18138     pNext = SafePnextCopy(src.pNext);
18139 
18140     return *this;
18141 }
18142 
~safe_VkSurfaceCapabilities2EXT()18143 safe_VkSurfaceCapabilities2EXT::~safe_VkSurfaceCapabilities2EXT()
18144 {
18145     if (pNext)
18146         FreePnextChain(pNext);
18147 }
18148 
initialize(const VkSurfaceCapabilities2EXT * in_struct)18149 void safe_VkSurfaceCapabilities2EXT::initialize(const VkSurfaceCapabilities2EXT* in_struct)
18150 {
18151     sType = in_struct->sType;
18152     minImageCount = in_struct->minImageCount;
18153     maxImageCount = in_struct->maxImageCount;
18154     currentExtent = in_struct->currentExtent;
18155     minImageExtent = in_struct->minImageExtent;
18156     maxImageExtent = in_struct->maxImageExtent;
18157     maxImageArrayLayers = in_struct->maxImageArrayLayers;
18158     supportedTransforms = in_struct->supportedTransforms;
18159     currentTransform = in_struct->currentTransform;
18160     supportedCompositeAlpha = in_struct->supportedCompositeAlpha;
18161     supportedUsageFlags = in_struct->supportedUsageFlags;
18162     supportedSurfaceCounters = in_struct->supportedSurfaceCounters;
18163     pNext = SafePnextCopy(in_struct->pNext);
18164 }
18165 
initialize(const safe_VkSurfaceCapabilities2EXT * src)18166 void safe_VkSurfaceCapabilities2EXT::initialize(const safe_VkSurfaceCapabilities2EXT* src)
18167 {
18168     sType = src->sType;
18169     minImageCount = src->minImageCount;
18170     maxImageCount = src->maxImageCount;
18171     currentExtent = src->currentExtent;
18172     minImageExtent = src->minImageExtent;
18173     maxImageExtent = src->maxImageExtent;
18174     maxImageArrayLayers = src->maxImageArrayLayers;
18175     supportedTransforms = src->supportedTransforms;
18176     currentTransform = src->currentTransform;
18177     supportedCompositeAlpha = src->supportedCompositeAlpha;
18178     supportedUsageFlags = src->supportedUsageFlags;
18179     supportedSurfaceCounters = src->supportedSurfaceCounters;
18180     pNext = SafePnextCopy(src->pNext);
18181 }
18182 
safe_VkDisplayPowerInfoEXT(const VkDisplayPowerInfoEXT * in_struct)18183 safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT(const VkDisplayPowerInfoEXT* in_struct) :
18184     sType(in_struct->sType),
18185     powerState(in_struct->powerState)
18186 {
18187     pNext = SafePnextCopy(in_struct->pNext);
18188 }
18189 
safe_VkDisplayPowerInfoEXT()18190 safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT() :
18191     pNext(nullptr)
18192 {}
18193 
safe_VkDisplayPowerInfoEXT(const safe_VkDisplayPowerInfoEXT & src)18194 safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT(const safe_VkDisplayPowerInfoEXT& src)
18195 {
18196     sType = src.sType;
18197     powerState = src.powerState;
18198     pNext = SafePnextCopy(src.pNext);
18199 }
18200 
operator =(const safe_VkDisplayPowerInfoEXT & src)18201 safe_VkDisplayPowerInfoEXT& safe_VkDisplayPowerInfoEXT::operator=(const safe_VkDisplayPowerInfoEXT& src)
18202 {
18203     if (&src == this) return *this;
18204 
18205     if (pNext)
18206         FreePnextChain(pNext);
18207 
18208     sType = src.sType;
18209     powerState = src.powerState;
18210     pNext = SafePnextCopy(src.pNext);
18211 
18212     return *this;
18213 }
18214 
~safe_VkDisplayPowerInfoEXT()18215 safe_VkDisplayPowerInfoEXT::~safe_VkDisplayPowerInfoEXT()
18216 {
18217     if (pNext)
18218         FreePnextChain(pNext);
18219 }
18220 
initialize(const VkDisplayPowerInfoEXT * in_struct)18221 void safe_VkDisplayPowerInfoEXT::initialize(const VkDisplayPowerInfoEXT* in_struct)
18222 {
18223     sType = in_struct->sType;
18224     powerState = in_struct->powerState;
18225     pNext = SafePnextCopy(in_struct->pNext);
18226 }
18227 
initialize(const safe_VkDisplayPowerInfoEXT * src)18228 void safe_VkDisplayPowerInfoEXT::initialize(const safe_VkDisplayPowerInfoEXT* src)
18229 {
18230     sType = src->sType;
18231     powerState = src->powerState;
18232     pNext = SafePnextCopy(src->pNext);
18233 }
18234 
safe_VkDeviceEventInfoEXT(const VkDeviceEventInfoEXT * in_struct)18235 safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT(const VkDeviceEventInfoEXT* in_struct) :
18236     sType(in_struct->sType),
18237     deviceEvent(in_struct->deviceEvent)
18238 {
18239     pNext = SafePnextCopy(in_struct->pNext);
18240 }
18241 
safe_VkDeviceEventInfoEXT()18242 safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT() :
18243     pNext(nullptr)
18244 {}
18245 
safe_VkDeviceEventInfoEXT(const safe_VkDeviceEventInfoEXT & src)18246 safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT(const safe_VkDeviceEventInfoEXT& src)
18247 {
18248     sType = src.sType;
18249     deviceEvent = src.deviceEvent;
18250     pNext = SafePnextCopy(src.pNext);
18251 }
18252 
operator =(const safe_VkDeviceEventInfoEXT & src)18253 safe_VkDeviceEventInfoEXT& safe_VkDeviceEventInfoEXT::operator=(const safe_VkDeviceEventInfoEXT& src)
18254 {
18255     if (&src == this) return *this;
18256 
18257     if (pNext)
18258         FreePnextChain(pNext);
18259 
18260     sType = src.sType;
18261     deviceEvent = src.deviceEvent;
18262     pNext = SafePnextCopy(src.pNext);
18263 
18264     return *this;
18265 }
18266 
~safe_VkDeviceEventInfoEXT()18267 safe_VkDeviceEventInfoEXT::~safe_VkDeviceEventInfoEXT()
18268 {
18269     if (pNext)
18270         FreePnextChain(pNext);
18271 }
18272 
initialize(const VkDeviceEventInfoEXT * in_struct)18273 void safe_VkDeviceEventInfoEXT::initialize(const VkDeviceEventInfoEXT* in_struct)
18274 {
18275     sType = in_struct->sType;
18276     deviceEvent = in_struct->deviceEvent;
18277     pNext = SafePnextCopy(in_struct->pNext);
18278 }
18279 
initialize(const safe_VkDeviceEventInfoEXT * src)18280 void safe_VkDeviceEventInfoEXT::initialize(const safe_VkDeviceEventInfoEXT* src)
18281 {
18282     sType = src->sType;
18283     deviceEvent = src->deviceEvent;
18284     pNext = SafePnextCopy(src->pNext);
18285 }
18286 
safe_VkDisplayEventInfoEXT(const VkDisplayEventInfoEXT * in_struct)18287 safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT(const VkDisplayEventInfoEXT* in_struct) :
18288     sType(in_struct->sType),
18289     displayEvent(in_struct->displayEvent)
18290 {
18291     pNext = SafePnextCopy(in_struct->pNext);
18292 }
18293 
safe_VkDisplayEventInfoEXT()18294 safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT() :
18295     pNext(nullptr)
18296 {}
18297 
safe_VkDisplayEventInfoEXT(const safe_VkDisplayEventInfoEXT & src)18298 safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT(const safe_VkDisplayEventInfoEXT& src)
18299 {
18300     sType = src.sType;
18301     displayEvent = src.displayEvent;
18302     pNext = SafePnextCopy(src.pNext);
18303 }
18304 
operator =(const safe_VkDisplayEventInfoEXT & src)18305 safe_VkDisplayEventInfoEXT& safe_VkDisplayEventInfoEXT::operator=(const safe_VkDisplayEventInfoEXT& src)
18306 {
18307     if (&src == this) return *this;
18308 
18309     if (pNext)
18310         FreePnextChain(pNext);
18311 
18312     sType = src.sType;
18313     displayEvent = src.displayEvent;
18314     pNext = SafePnextCopy(src.pNext);
18315 
18316     return *this;
18317 }
18318 
~safe_VkDisplayEventInfoEXT()18319 safe_VkDisplayEventInfoEXT::~safe_VkDisplayEventInfoEXT()
18320 {
18321     if (pNext)
18322         FreePnextChain(pNext);
18323 }
18324 
initialize(const VkDisplayEventInfoEXT * in_struct)18325 void safe_VkDisplayEventInfoEXT::initialize(const VkDisplayEventInfoEXT* in_struct)
18326 {
18327     sType = in_struct->sType;
18328     displayEvent = in_struct->displayEvent;
18329     pNext = SafePnextCopy(in_struct->pNext);
18330 }
18331 
initialize(const safe_VkDisplayEventInfoEXT * src)18332 void safe_VkDisplayEventInfoEXT::initialize(const safe_VkDisplayEventInfoEXT* src)
18333 {
18334     sType = src->sType;
18335     displayEvent = src->displayEvent;
18336     pNext = SafePnextCopy(src->pNext);
18337 }
18338 
safe_VkSwapchainCounterCreateInfoEXT(const VkSwapchainCounterCreateInfoEXT * in_struct)18339 safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT(const VkSwapchainCounterCreateInfoEXT* in_struct) :
18340     sType(in_struct->sType),
18341     surfaceCounters(in_struct->surfaceCounters)
18342 {
18343     pNext = SafePnextCopy(in_struct->pNext);
18344 }
18345 
safe_VkSwapchainCounterCreateInfoEXT()18346 safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT() :
18347     pNext(nullptr)
18348 {}
18349 
safe_VkSwapchainCounterCreateInfoEXT(const safe_VkSwapchainCounterCreateInfoEXT & src)18350 safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT(const safe_VkSwapchainCounterCreateInfoEXT& src)
18351 {
18352     sType = src.sType;
18353     surfaceCounters = src.surfaceCounters;
18354     pNext = SafePnextCopy(src.pNext);
18355 }
18356 
operator =(const safe_VkSwapchainCounterCreateInfoEXT & src)18357 safe_VkSwapchainCounterCreateInfoEXT& safe_VkSwapchainCounterCreateInfoEXT::operator=(const safe_VkSwapchainCounterCreateInfoEXT& src)
18358 {
18359     if (&src == this) return *this;
18360 
18361     if (pNext)
18362         FreePnextChain(pNext);
18363 
18364     sType = src.sType;
18365     surfaceCounters = src.surfaceCounters;
18366     pNext = SafePnextCopy(src.pNext);
18367 
18368     return *this;
18369 }
18370 
~safe_VkSwapchainCounterCreateInfoEXT()18371 safe_VkSwapchainCounterCreateInfoEXT::~safe_VkSwapchainCounterCreateInfoEXT()
18372 {
18373     if (pNext)
18374         FreePnextChain(pNext);
18375 }
18376 
initialize(const VkSwapchainCounterCreateInfoEXT * in_struct)18377 void safe_VkSwapchainCounterCreateInfoEXT::initialize(const VkSwapchainCounterCreateInfoEXT* in_struct)
18378 {
18379     sType = in_struct->sType;
18380     surfaceCounters = in_struct->surfaceCounters;
18381     pNext = SafePnextCopy(in_struct->pNext);
18382 }
18383 
initialize(const safe_VkSwapchainCounterCreateInfoEXT * src)18384 void safe_VkSwapchainCounterCreateInfoEXT::initialize(const safe_VkSwapchainCounterCreateInfoEXT* src)
18385 {
18386     sType = src->sType;
18387     surfaceCounters = src->surfaceCounters;
18388     pNext = SafePnextCopy(src->pNext);
18389 }
18390 
safe_VkPresentTimesInfoGOOGLE(const VkPresentTimesInfoGOOGLE * in_struct)18391 safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const VkPresentTimesInfoGOOGLE* in_struct) :
18392     sType(in_struct->sType),
18393     swapchainCount(in_struct->swapchainCount),
18394     pTimes(nullptr)
18395 {
18396     pNext = SafePnextCopy(in_struct->pNext);
18397     if (in_struct->pTimes) {
18398         pTimes = new VkPresentTimeGOOGLE[in_struct->swapchainCount];
18399         memcpy ((void *)pTimes, (void *)in_struct->pTimes, sizeof(VkPresentTimeGOOGLE)*in_struct->swapchainCount);
18400     }
18401 }
18402 
safe_VkPresentTimesInfoGOOGLE()18403 safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE() :
18404     pNext(nullptr),
18405     pTimes(nullptr)
18406 {}
18407 
safe_VkPresentTimesInfoGOOGLE(const safe_VkPresentTimesInfoGOOGLE & src)18408 safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const safe_VkPresentTimesInfoGOOGLE& src)
18409 {
18410     sType = src.sType;
18411     swapchainCount = src.swapchainCount;
18412     pTimes = nullptr;
18413     pNext = SafePnextCopy(src.pNext);
18414     if (src.pTimes) {
18415         pTimes = new VkPresentTimeGOOGLE[src.swapchainCount];
18416         memcpy ((void *)pTimes, (void *)src.pTimes, sizeof(VkPresentTimeGOOGLE)*src.swapchainCount);
18417     }
18418 }
18419 
operator =(const safe_VkPresentTimesInfoGOOGLE & src)18420 safe_VkPresentTimesInfoGOOGLE& safe_VkPresentTimesInfoGOOGLE::operator=(const safe_VkPresentTimesInfoGOOGLE& src)
18421 {
18422     if (&src == this) return *this;
18423 
18424     if (pTimes)
18425         delete[] pTimes;
18426     if (pNext)
18427         FreePnextChain(pNext);
18428 
18429     sType = src.sType;
18430     swapchainCount = src.swapchainCount;
18431     pTimes = nullptr;
18432     pNext = SafePnextCopy(src.pNext);
18433     if (src.pTimes) {
18434         pTimes = new VkPresentTimeGOOGLE[src.swapchainCount];
18435         memcpy ((void *)pTimes, (void *)src.pTimes, sizeof(VkPresentTimeGOOGLE)*src.swapchainCount);
18436     }
18437 
18438     return *this;
18439 }
18440 
~safe_VkPresentTimesInfoGOOGLE()18441 safe_VkPresentTimesInfoGOOGLE::~safe_VkPresentTimesInfoGOOGLE()
18442 {
18443     if (pTimes)
18444         delete[] pTimes;
18445     if (pNext)
18446         FreePnextChain(pNext);
18447 }
18448 
initialize(const VkPresentTimesInfoGOOGLE * in_struct)18449 void safe_VkPresentTimesInfoGOOGLE::initialize(const VkPresentTimesInfoGOOGLE* in_struct)
18450 {
18451     sType = in_struct->sType;
18452     swapchainCount = in_struct->swapchainCount;
18453     pTimes = nullptr;
18454     pNext = SafePnextCopy(in_struct->pNext);
18455     if (in_struct->pTimes) {
18456         pTimes = new VkPresentTimeGOOGLE[in_struct->swapchainCount];
18457         memcpy ((void *)pTimes, (void *)in_struct->pTimes, sizeof(VkPresentTimeGOOGLE)*in_struct->swapchainCount);
18458     }
18459 }
18460 
initialize(const safe_VkPresentTimesInfoGOOGLE * src)18461 void safe_VkPresentTimesInfoGOOGLE::initialize(const safe_VkPresentTimesInfoGOOGLE* src)
18462 {
18463     sType = src->sType;
18464     swapchainCount = src->swapchainCount;
18465     pTimes = nullptr;
18466     pNext = SafePnextCopy(src->pNext);
18467     if (src->pTimes) {
18468         pTimes = new VkPresentTimeGOOGLE[src->swapchainCount];
18469         memcpy ((void *)pTimes, (void *)src->pTimes, sizeof(VkPresentTimeGOOGLE)*src->swapchainCount);
18470     }
18471 }
18472 
safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX * in_struct)18473 safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* in_struct) :
18474     sType(in_struct->sType),
18475     perViewPositionAllComponents(in_struct->perViewPositionAllComponents)
18476 {
18477     pNext = SafePnextCopy(in_struct->pNext);
18478 }
18479 
safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX()18480 safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX() :
18481     pNext(nullptr)
18482 {}
18483 
safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX & src)18484 safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& src)
18485 {
18486     sType = src.sType;
18487     perViewPositionAllComponents = src.perViewPositionAllComponents;
18488     pNext = SafePnextCopy(src.pNext);
18489 }
18490 
operator =(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX & src)18491 safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::operator=(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& src)
18492 {
18493     if (&src == this) return *this;
18494 
18495     if (pNext)
18496         FreePnextChain(pNext);
18497 
18498     sType = src.sType;
18499     perViewPositionAllComponents = src.perViewPositionAllComponents;
18500     pNext = SafePnextCopy(src.pNext);
18501 
18502     return *this;
18503 }
18504 
~safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX()18505 safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::~safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX()
18506 {
18507     if (pNext)
18508         FreePnextChain(pNext);
18509 }
18510 
initialize(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX * in_struct)18511 void safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::initialize(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* in_struct)
18512 {
18513     sType = in_struct->sType;
18514     perViewPositionAllComponents = in_struct->perViewPositionAllComponents;
18515     pNext = SafePnextCopy(in_struct->pNext);
18516 }
18517 
initialize(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX * src)18518 void safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::initialize(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* src)
18519 {
18520     sType = src->sType;
18521     perViewPositionAllComponents = src->perViewPositionAllComponents;
18522     pNext = SafePnextCopy(src->pNext);
18523 }
18524 
safe_VkPipelineViewportSwizzleStateCreateInfoNV(const VkPipelineViewportSwizzleStateCreateInfoNV * in_struct)18525 safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV(const VkPipelineViewportSwizzleStateCreateInfoNV* in_struct) :
18526     sType(in_struct->sType),
18527     flags(in_struct->flags),
18528     viewportCount(in_struct->viewportCount),
18529     pViewportSwizzles(nullptr)
18530 {
18531     pNext = SafePnextCopy(in_struct->pNext);
18532     if (in_struct->pViewportSwizzles) {
18533         pViewportSwizzles = new VkViewportSwizzleNV[in_struct->viewportCount];
18534         memcpy ((void *)pViewportSwizzles, (void *)in_struct->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*in_struct->viewportCount);
18535     }
18536 }
18537 
safe_VkPipelineViewportSwizzleStateCreateInfoNV()18538 safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV() :
18539     pNext(nullptr),
18540     pViewportSwizzles(nullptr)
18541 {}
18542 
safe_VkPipelineViewportSwizzleStateCreateInfoNV(const safe_VkPipelineViewportSwizzleStateCreateInfoNV & src)18543 safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV(const safe_VkPipelineViewportSwizzleStateCreateInfoNV& src)
18544 {
18545     sType = src.sType;
18546     flags = src.flags;
18547     viewportCount = src.viewportCount;
18548     pViewportSwizzles = nullptr;
18549     pNext = SafePnextCopy(src.pNext);
18550     if (src.pViewportSwizzles) {
18551         pViewportSwizzles = new VkViewportSwizzleNV[src.viewportCount];
18552         memcpy ((void *)pViewportSwizzles, (void *)src.pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src.viewportCount);
18553     }
18554 }
18555 
operator =(const safe_VkPipelineViewportSwizzleStateCreateInfoNV & src)18556 safe_VkPipelineViewportSwizzleStateCreateInfoNV& safe_VkPipelineViewportSwizzleStateCreateInfoNV::operator=(const safe_VkPipelineViewportSwizzleStateCreateInfoNV& src)
18557 {
18558     if (&src == this) return *this;
18559 
18560     if (pViewportSwizzles)
18561         delete[] pViewportSwizzles;
18562     if (pNext)
18563         FreePnextChain(pNext);
18564 
18565     sType = src.sType;
18566     flags = src.flags;
18567     viewportCount = src.viewportCount;
18568     pViewportSwizzles = nullptr;
18569     pNext = SafePnextCopy(src.pNext);
18570     if (src.pViewportSwizzles) {
18571         pViewportSwizzles = new VkViewportSwizzleNV[src.viewportCount];
18572         memcpy ((void *)pViewportSwizzles, (void *)src.pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src.viewportCount);
18573     }
18574 
18575     return *this;
18576 }
18577 
~safe_VkPipelineViewportSwizzleStateCreateInfoNV()18578 safe_VkPipelineViewportSwizzleStateCreateInfoNV::~safe_VkPipelineViewportSwizzleStateCreateInfoNV()
18579 {
18580     if (pViewportSwizzles)
18581         delete[] pViewportSwizzles;
18582     if (pNext)
18583         FreePnextChain(pNext);
18584 }
18585 
initialize(const VkPipelineViewportSwizzleStateCreateInfoNV * in_struct)18586 void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const VkPipelineViewportSwizzleStateCreateInfoNV* in_struct)
18587 {
18588     sType = in_struct->sType;
18589     flags = in_struct->flags;
18590     viewportCount = in_struct->viewportCount;
18591     pViewportSwizzles = nullptr;
18592     pNext = SafePnextCopy(in_struct->pNext);
18593     if (in_struct->pViewportSwizzles) {
18594         pViewportSwizzles = new VkViewportSwizzleNV[in_struct->viewportCount];
18595         memcpy ((void *)pViewportSwizzles, (void *)in_struct->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*in_struct->viewportCount);
18596     }
18597 }
18598 
initialize(const safe_VkPipelineViewportSwizzleStateCreateInfoNV * src)18599 void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const safe_VkPipelineViewportSwizzleStateCreateInfoNV* src)
18600 {
18601     sType = src->sType;
18602     flags = src->flags;
18603     viewportCount = src->viewportCount;
18604     pViewportSwizzles = nullptr;
18605     pNext = SafePnextCopy(src->pNext);
18606     if (src->pViewportSwizzles) {
18607         pViewportSwizzles = new VkViewportSwizzleNV[src->viewportCount];
18608         memcpy ((void *)pViewportSwizzles, (void *)src->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src->viewportCount);
18609     }
18610 }
18611 
safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const VkPhysicalDeviceDiscardRectanglePropertiesEXT * in_struct)18612 safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const VkPhysicalDeviceDiscardRectanglePropertiesEXT* in_struct) :
18613     sType(in_struct->sType),
18614     maxDiscardRectangles(in_struct->maxDiscardRectangles)
18615 {
18616     pNext = SafePnextCopy(in_struct->pNext);
18617 }
18618 
safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT()18619 safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT() :
18620     pNext(nullptr)
18621 {}
18622 
safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT & src)18623 safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& src)
18624 {
18625     sType = src.sType;
18626     maxDiscardRectangles = src.maxDiscardRectangles;
18627     pNext = SafePnextCopy(src.pNext);
18628 }
18629 
operator =(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT & src)18630 safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::operator=(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& src)
18631 {
18632     if (&src == this) return *this;
18633 
18634     if (pNext)
18635         FreePnextChain(pNext);
18636 
18637     sType = src.sType;
18638     maxDiscardRectangles = src.maxDiscardRectangles;
18639     pNext = SafePnextCopy(src.pNext);
18640 
18641     return *this;
18642 }
18643 
~safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT()18644 safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::~safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT()
18645 {
18646     if (pNext)
18647         FreePnextChain(pNext);
18648 }
18649 
initialize(const VkPhysicalDeviceDiscardRectanglePropertiesEXT * in_struct)18650 void safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::initialize(const VkPhysicalDeviceDiscardRectanglePropertiesEXT* in_struct)
18651 {
18652     sType = in_struct->sType;
18653     maxDiscardRectangles = in_struct->maxDiscardRectangles;
18654     pNext = SafePnextCopy(in_struct->pNext);
18655 }
18656 
initialize(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT * src)18657 void safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::initialize(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT* src)
18658 {
18659     sType = src->sType;
18660     maxDiscardRectangles = src->maxDiscardRectangles;
18661     pNext = SafePnextCopy(src->pNext);
18662 }
18663 
safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const VkPipelineDiscardRectangleStateCreateInfoEXT * in_struct)18664 safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const VkPipelineDiscardRectangleStateCreateInfoEXT* in_struct) :
18665     sType(in_struct->sType),
18666     flags(in_struct->flags),
18667     discardRectangleMode(in_struct->discardRectangleMode),
18668     discardRectangleCount(in_struct->discardRectangleCount),
18669     pDiscardRectangles(nullptr)
18670 {
18671     pNext = SafePnextCopy(in_struct->pNext);
18672     if (in_struct->pDiscardRectangles) {
18673         pDiscardRectangles = new VkRect2D[in_struct->discardRectangleCount];
18674         memcpy ((void *)pDiscardRectangles, (void *)in_struct->pDiscardRectangles, sizeof(VkRect2D)*in_struct->discardRectangleCount);
18675     }
18676 }
18677 
safe_VkPipelineDiscardRectangleStateCreateInfoEXT()18678 safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT() :
18679     pNext(nullptr),
18680     pDiscardRectangles(nullptr)
18681 {}
18682 
safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT & src)18683 safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT& src)
18684 {
18685     sType = src.sType;
18686     flags = src.flags;
18687     discardRectangleMode = src.discardRectangleMode;
18688     discardRectangleCount = src.discardRectangleCount;
18689     pDiscardRectangles = nullptr;
18690     pNext = SafePnextCopy(src.pNext);
18691     if (src.pDiscardRectangles) {
18692         pDiscardRectangles = new VkRect2D[src.discardRectangleCount];
18693         memcpy ((void *)pDiscardRectangles, (void *)src.pDiscardRectangles, sizeof(VkRect2D)*src.discardRectangleCount);
18694     }
18695 }
18696 
operator =(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT & src)18697 safe_VkPipelineDiscardRectangleStateCreateInfoEXT& safe_VkPipelineDiscardRectangleStateCreateInfoEXT::operator=(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT& src)
18698 {
18699     if (&src == this) return *this;
18700 
18701     if (pDiscardRectangles)
18702         delete[] pDiscardRectangles;
18703     if (pNext)
18704         FreePnextChain(pNext);
18705 
18706     sType = src.sType;
18707     flags = src.flags;
18708     discardRectangleMode = src.discardRectangleMode;
18709     discardRectangleCount = src.discardRectangleCount;
18710     pDiscardRectangles = nullptr;
18711     pNext = SafePnextCopy(src.pNext);
18712     if (src.pDiscardRectangles) {
18713         pDiscardRectangles = new VkRect2D[src.discardRectangleCount];
18714         memcpy ((void *)pDiscardRectangles, (void *)src.pDiscardRectangles, sizeof(VkRect2D)*src.discardRectangleCount);
18715     }
18716 
18717     return *this;
18718 }
18719 
~safe_VkPipelineDiscardRectangleStateCreateInfoEXT()18720 safe_VkPipelineDiscardRectangleStateCreateInfoEXT::~safe_VkPipelineDiscardRectangleStateCreateInfoEXT()
18721 {
18722     if (pDiscardRectangles)
18723         delete[] pDiscardRectangles;
18724     if (pNext)
18725         FreePnextChain(pNext);
18726 }
18727 
initialize(const VkPipelineDiscardRectangleStateCreateInfoEXT * in_struct)18728 void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const VkPipelineDiscardRectangleStateCreateInfoEXT* in_struct)
18729 {
18730     sType = in_struct->sType;
18731     flags = in_struct->flags;
18732     discardRectangleMode = in_struct->discardRectangleMode;
18733     discardRectangleCount = in_struct->discardRectangleCount;
18734     pDiscardRectangles = nullptr;
18735     pNext = SafePnextCopy(in_struct->pNext);
18736     if (in_struct->pDiscardRectangles) {
18737         pDiscardRectangles = new VkRect2D[in_struct->discardRectangleCount];
18738         memcpy ((void *)pDiscardRectangles, (void *)in_struct->pDiscardRectangles, sizeof(VkRect2D)*in_struct->discardRectangleCount);
18739     }
18740 }
18741 
initialize(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT * src)18742 void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT* src)
18743 {
18744     sType = src->sType;
18745     flags = src->flags;
18746     discardRectangleMode = src->discardRectangleMode;
18747     discardRectangleCount = src->discardRectangleCount;
18748     pDiscardRectangles = nullptr;
18749     pNext = SafePnextCopy(src->pNext);
18750     if (src->pDiscardRectangles) {
18751         pDiscardRectangles = new VkRect2D[src->discardRectangleCount];
18752         memcpy ((void *)pDiscardRectangles, (void *)src->pDiscardRectangles, sizeof(VkRect2D)*src->discardRectangleCount);
18753     }
18754 }
18755 
safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT * in_struct)18756 safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* in_struct) :
18757     sType(in_struct->sType),
18758     primitiveOverestimationSize(in_struct->primitiveOverestimationSize),
18759     maxExtraPrimitiveOverestimationSize(in_struct->maxExtraPrimitiveOverestimationSize),
18760     extraPrimitiveOverestimationSizeGranularity(in_struct->extraPrimitiveOverestimationSizeGranularity),
18761     primitiveUnderestimation(in_struct->primitiveUnderestimation),
18762     conservativePointAndLineRasterization(in_struct->conservativePointAndLineRasterization),
18763     degenerateTrianglesRasterized(in_struct->degenerateTrianglesRasterized),
18764     degenerateLinesRasterized(in_struct->degenerateLinesRasterized),
18765     fullyCoveredFragmentShaderInputVariable(in_struct->fullyCoveredFragmentShaderInputVariable),
18766     conservativeRasterizationPostDepthCoverage(in_struct->conservativeRasterizationPostDepthCoverage)
18767 {
18768     pNext = SafePnextCopy(in_struct->pNext);
18769 }
18770 
safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT()18771 safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT() :
18772     pNext(nullptr)
18773 {}
18774 
safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT & src)18775 safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& src)
18776 {
18777     sType = src.sType;
18778     primitiveOverestimationSize = src.primitiveOverestimationSize;
18779     maxExtraPrimitiveOverestimationSize = src.maxExtraPrimitiveOverestimationSize;
18780     extraPrimitiveOverestimationSizeGranularity = src.extraPrimitiveOverestimationSizeGranularity;
18781     primitiveUnderestimation = src.primitiveUnderestimation;
18782     conservativePointAndLineRasterization = src.conservativePointAndLineRasterization;
18783     degenerateTrianglesRasterized = src.degenerateTrianglesRasterized;
18784     degenerateLinesRasterized = src.degenerateLinesRasterized;
18785     fullyCoveredFragmentShaderInputVariable = src.fullyCoveredFragmentShaderInputVariable;
18786     conservativeRasterizationPostDepthCoverage = src.conservativeRasterizationPostDepthCoverage;
18787     pNext = SafePnextCopy(src.pNext);
18788 }
18789 
operator =(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT & src)18790 safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::operator=(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& src)
18791 {
18792     if (&src == this) return *this;
18793 
18794     if (pNext)
18795         FreePnextChain(pNext);
18796 
18797     sType = src.sType;
18798     primitiveOverestimationSize = src.primitiveOverestimationSize;
18799     maxExtraPrimitiveOverestimationSize = src.maxExtraPrimitiveOverestimationSize;
18800     extraPrimitiveOverestimationSizeGranularity = src.extraPrimitiveOverestimationSizeGranularity;
18801     primitiveUnderestimation = src.primitiveUnderestimation;
18802     conservativePointAndLineRasterization = src.conservativePointAndLineRasterization;
18803     degenerateTrianglesRasterized = src.degenerateTrianglesRasterized;
18804     degenerateLinesRasterized = src.degenerateLinesRasterized;
18805     fullyCoveredFragmentShaderInputVariable = src.fullyCoveredFragmentShaderInputVariable;
18806     conservativeRasterizationPostDepthCoverage = src.conservativeRasterizationPostDepthCoverage;
18807     pNext = SafePnextCopy(src.pNext);
18808 
18809     return *this;
18810 }
18811 
~safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT()18812 safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::~safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT()
18813 {
18814     if (pNext)
18815         FreePnextChain(pNext);
18816 }
18817 
initialize(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT * in_struct)18818 void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* in_struct)
18819 {
18820     sType = in_struct->sType;
18821     primitiveOverestimationSize = in_struct->primitiveOverestimationSize;
18822     maxExtraPrimitiveOverestimationSize = in_struct->maxExtraPrimitiveOverestimationSize;
18823     extraPrimitiveOverestimationSizeGranularity = in_struct->extraPrimitiveOverestimationSizeGranularity;
18824     primitiveUnderestimation = in_struct->primitiveUnderestimation;
18825     conservativePointAndLineRasterization = in_struct->conservativePointAndLineRasterization;
18826     degenerateTrianglesRasterized = in_struct->degenerateTrianglesRasterized;
18827     degenerateLinesRasterized = in_struct->degenerateLinesRasterized;
18828     fullyCoveredFragmentShaderInputVariable = in_struct->fullyCoveredFragmentShaderInputVariable;
18829     conservativeRasterizationPostDepthCoverage = in_struct->conservativeRasterizationPostDepthCoverage;
18830     pNext = SafePnextCopy(in_struct->pNext);
18831 }
18832 
initialize(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT * src)18833 void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT* src)
18834 {
18835     sType = src->sType;
18836     primitiveOverestimationSize = src->primitiveOverestimationSize;
18837     maxExtraPrimitiveOverestimationSize = src->maxExtraPrimitiveOverestimationSize;
18838     extraPrimitiveOverestimationSizeGranularity = src->extraPrimitiveOverestimationSizeGranularity;
18839     primitiveUnderestimation = src->primitiveUnderestimation;
18840     conservativePointAndLineRasterization = src->conservativePointAndLineRasterization;
18841     degenerateTrianglesRasterized = src->degenerateTrianglesRasterized;
18842     degenerateLinesRasterized = src->degenerateLinesRasterized;
18843     fullyCoveredFragmentShaderInputVariable = src->fullyCoveredFragmentShaderInputVariable;
18844     conservativeRasterizationPostDepthCoverage = src->conservativeRasterizationPostDepthCoverage;
18845     pNext = SafePnextCopy(src->pNext);
18846 }
18847 
safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const VkPipelineRasterizationConservativeStateCreateInfoEXT * in_struct)18848 safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const VkPipelineRasterizationConservativeStateCreateInfoEXT* in_struct) :
18849     sType(in_struct->sType),
18850     flags(in_struct->flags),
18851     conservativeRasterizationMode(in_struct->conservativeRasterizationMode),
18852     extraPrimitiveOverestimationSize(in_struct->extraPrimitiveOverestimationSize)
18853 {
18854     pNext = SafePnextCopy(in_struct->pNext);
18855 }
18856 
safe_VkPipelineRasterizationConservativeStateCreateInfoEXT()18857 safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT() :
18858     pNext(nullptr)
18859 {}
18860 
safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT & src)18861 safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& src)
18862 {
18863     sType = src.sType;
18864     flags = src.flags;
18865     conservativeRasterizationMode = src.conservativeRasterizationMode;
18866     extraPrimitiveOverestimationSize = src.extraPrimitiveOverestimationSize;
18867     pNext = SafePnextCopy(src.pNext);
18868 }
18869 
operator =(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT & src)18870 safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& src)
18871 {
18872     if (&src == this) return *this;
18873 
18874     if (pNext)
18875         FreePnextChain(pNext);
18876 
18877     sType = src.sType;
18878     flags = src.flags;
18879     conservativeRasterizationMode = src.conservativeRasterizationMode;
18880     extraPrimitiveOverestimationSize = src.extraPrimitiveOverestimationSize;
18881     pNext = SafePnextCopy(src.pNext);
18882 
18883     return *this;
18884 }
18885 
~safe_VkPipelineRasterizationConservativeStateCreateInfoEXT()18886 safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::~safe_VkPipelineRasterizationConservativeStateCreateInfoEXT()
18887 {
18888     if (pNext)
18889         FreePnextChain(pNext);
18890 }
18891 
initialize(const VkPipelineRasterizationConservativeStateCreateInfoEXT * in_struct)18892 void safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::initialize(const VkPipelineRasterizationConservativeStateCreateInfoEXT* in_struct)
18893 {
18894     sType = in_struct->sType;
18895     flags = in_struct->flags;
18896     conservativeRasterizationMode = in_struct->conservativeRasterizationMode;
18897     extraPrimitiveOverestimationSize = in_struct->extraPrimitiveOverestimationSize;
18898     pNext = SafePnextCopy(in_struct->pNext);
18899 }
18900 
initialize(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT * src)18901 void safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT* src)
18902 {
18903     sType = src->sType;
18904     flags = src->flags;
18905     conservativeRasterizationMode = src->conservativeRasterizationMode;
18906     extraPrimitiveOverestimationSize = src->extraPrimitiveOverestimationSize;
18907     pNext = SafePnextCopy(src->pNext);
18908 }
18909 
safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const VkPhysicalDeviceDepthClipEnableFeaturesEXT * in_struct)18910 safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const VkPhysicalDeviceDepthClipEnableFeaturesEXT* in_struct) :
18911     sType(in_struct->sType),
18912     depthClipEnable(in_struct->depthClipEnable)
18913 {
18914     pNext = SafePnextCopy(in_struct->pNext);
18915 }
18916 
safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT()18917 safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT() :
18918     pNext(nullptr)
18919 {}
18920 
safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT & src)18921 safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& src)
18922 {
18923     sType = src.sType;
18924     depthClipEnable = src.depthClipEnable;
18925     pNext = SafePnextCopy(src.pNext);
18926 }
18927 
operator =(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT & src)18928 safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::operator=(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& src)
18929 {
18930     if (&src == this) return *this;
18931 
18932     if (pNext)
18933         FreePnextChain(pNext);
18934 
18935     sType = src.sType;
18936     depthClipEnable = src.depthClipEnable;
18937     pNext = SafePnextCopy(src.pNext);
18938 
18939     return *this;
18940 }
18941 
~safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT()18942 safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::~safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT()
18943 {
18944     if (pNext)
18945         FreePnextChain(pNext);
18946 }
18947 
initialize(const VkPhysicalDeviceDepthClipEnableFeaturesEXT * in_struct)18948 void safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::initialize(const VkPhysicalDeviceDepthClipEnableFeaturesEXT* in_struct)
18949 {
18950     sType = in_struct->sType;
18951     depthClipEnable = in_struct->depthClipEnable;
18952     pNext = SafePnextCopy(in_struct->pNext);
18953 }
18954 
initialize(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT * src)18955 void safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::initialize(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT* src)
18956 {
18957     sType = src->sType;
18958     depthClipEnable = src->depthClipEnable;
18959     pNext = SafePnextCopy(src->pNext);
18960 }
18961 
safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const VkPipelineRasterizationDepthClipStateCreateInfoEXT * in_struct)18962 safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const VkPipelineRasterizationDepthClipStateCreateInfoEXT* in_struct) :
18963     sType(in_struct->sType),
18964     flags(in_struct->flags),
18965     depthClipEnable(in_struct->depthClipEnable)
18966 {
18967     pNext = SafePnextCopy(in_struct->pNext);
18968 }
18969 
safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT()18970 safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT() :
18971     pNext(nullptr)
18972 {}
18973 
safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT & src)18974 safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& src)
18975 {
18976     sType = src.sType;
18977     flags = src.flags;
18978     depthClipEnable = src.depthClipEnable;
18979     pNext = SafePnextCopy(src.pNext);
18980 }
18981 
operator =(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT & src)18982 safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& src)
18983 {
18984     if (&src == this) return *this;
18985 
18986     if (pNext)
18987         FreePnextChain(pNext);
18988 
18989     sType = src.sType;
18990     flags = src.flags;
18991     depthClipEnable = src.depthClipEnable;
18992     pNext = SafePnextCopy(src.pNext);
18993 
18994     return *this;
18995 }
18996 
~safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT()18997 safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::~safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT()
18998 {
18999     if (pNext)
19000         FreePnextChain(pNext);
19001 }
19002 
initialize(const VkPipelineRasterizationDepthClipStateCreateInfoEXT * in_struct)19003 void safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::initialize(const VkPipelineRasterizationDepthClipStateCreateInfoEXT* in_struct)
19004 {
19005     sType = in_struct->sType;
19006     flags = in_struct->flags;
19007     depthClipEnable = in_struct->depthClipEnable;
19008     pNext = SafePnextCopy(in_struct->pNext);
19009 }
19010 
initialize(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT * src)19011 void safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT* src)
19012 {
19013     sType = src->sType;
19014     flags = src->flags;
19015     depthClipEnable = src->depthClipEnable;
19016     pNext = SafePnextCopy(src->pNext);
19017 }
19018 
safe_VkHdrMetadataEXT(const VkHdrMetadataEXT * in_struct)19019 safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const VkHdrMetadataEXT* in_struct) :
19020     sType(in_struct->sType),
19021     displayPrimaryRed(in_struct->displayPrimaryRed),
19022     displayPrimaryGreen(in_struct->displayPrimaryGreen),
19023     displayPrimaryBlue(in_struct->displayPrimaryBlue),
19024     whitePoint(in_struct->whitePoint),
19025     maxLuminance(in_struct->maxLuminance),
19026     minLuminance(in_struct->minLuminance),
19027     maxContentLightLevel(in_struct->maxContentLightLevel),
19028     maxFrameAverageLightLevel(in_struct->maxFrameAverageLightLevel)
19029 {
19030     pNext = SafePnextCopy(in_struct->pNext);
19031 }
19032 
safe_VkHdrMetadataEXT()19033 safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT() :
19034     pNext(nullptr)
19035 {}
19036 
safe_VkHdrMetadataEXT(const safe_VkHdrMetadataEXT & src)19037 safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const safe_VkHdrMetadataEXT& src)
19038 {
19039     sType = src.sType;
19040     displayPrimaryRed = src.displayPrimaryRed;
19041     displayPrimaryGreen = src.displayPrimaryGreen;
19042     displayPrimaryBlue = src.displayPrimaryBlue;
19043     whitePoint = src.whitePoint;
19044     maxLuminance = src.maxLuminance;
19045     minLuminance = src.minLuminance;
19046     maxContentLightLevel = src.maxContentLightLevel;
19047     maxFrameAverageLightLevel = src.maxFrameAverageLightLevel;
19048     pNext = SafePnextCopy(src.pNext);
19049 }
19050 
operator =(const safe_VkHdrMetadataEXT & src)19051 safe_VkHdrMetadataEXT& safe_VkHdrMetadataEXT::operator=(const safe_VkHdrMetadataEXT& src)
19052 {
19053     if (&src == this) return *this;
19054 
19055     if (pNext)
19056         FreePnextChain(pNext);
19057 
19058     sType = src.sType;
19059     displayPrimaryRed = src.displayPrimaryRed;
19060     displayPrimaryGreen = src.displayPrimaryGreen;
19061     displayPrimaryBlue = src.displayPrimaryBlue;
19062     whitePoint = src.whitePoint;
19063     maxLuminance = src.maxLuminance;
19064     minLuminance = src.minLuminance;
19065     maxContentLightLevel = src.maxContentLightLevel;
19066     maxFrameAverageLightLevel = src.maxFrameAverageLightLevel;
19067     pNext = SafePnextCopy(src.pNext);
19068 
19069     return *this;
19070 }
19071 
~safe_VkHdrMetadataEXT()19072 safe_VkHdrMetadataEXT::~safe_VkHdrMetadataEXT()
19073 {
19074     if (pNext)
19075         FreePnextChain(pNext);
19076 }
19077 
initialize(const VkHdrMetadataEXT * in_struct)19078 void safe_VkHdrMetadataEXT::initialize(const VkHdrMetadataEXT* in_struct)
19079 {
19080     sType = in_struct->sType;
19081     displayPrimaryRed = in_struct->displayPrimaryRed;
19082     displayPrimaryGreen = in_struct->displayPrimaryGreen;
19083     displayPrimaryBlue = in_struct->displayPrimaryBlue;
19084     whitePoint = in_struct->whitePoint;
19085     maxLuminance = in_struct->maxLuminance;
19086     minLuminance = in_struct->minLuminance;
19087     maxContentLightLevel = in_struct->maxContentLightLevel;
19088     maxFrameAverageLightLevel = in_struct->maxFrameAverageLightLevel;
19089     pNext = SafePnextCopy(in_struct->pNext);
19090 }
19091 
initialize(const safe_VkHdrMetadataEXT * src)19092 void safe_VkHdrMetadataEXT::initialize(const safe_VkHdrMetadataEXT* src)
19093 {
19094     sType = src->sType;
19095     displayPrimaryRed = src->displayPrimaryRed;
19096     displayPrimaryGreen = src->displayPrimaryGreen;
19097     displayPrimaryBlue = src->displayPrimaryBlue;
19098     whitePoint = src->whitePoint;
19099     maxLuminance = src->maxLuminance;
19100     minLuminance = src->minLuminance;
19101     maxContentLightLevel = src->maxContentLightLevel;
19102     maxFrameAverageLightLevel = src->maxFrameAverageLightLevel;
19103     pNext = SafePnextCopy(src->pNext);
19104 }
19105 #ifdef VK_USE_PLATFORM_IOS_MVK
19106 
19107 
safe_VkIOSSurfaceCreateInfoMVK(const VkIOSSurfaceCreateInfoMVK * in_struct)19108 safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK(const VkIOSSurfaceCreateInfoMVK* in_struct) :
19109     sType(in_struct->sType),
19110     flags(in_struct->flags),
19111     pView(in_struct->pView)
19112 {
19113     pNext = SafePnextCopy(in_struct->pNext);
19114 }
19115 
safe_VkIOSSurfaceCreateInfoMVK()19116 safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK() :
19117     pNext(nullptr),
19118     pView(nullptr)
19119 {}
19120 
safe_VkIOSSurfaceCreateInfoMVK(const safe_VkIOSSurfaceCreateInfoMVK & src)19121 safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK(const safe_VkIOSSurfaceCreateInfoMVK& src)
19122 {
19123     sType = src.sType;
19124     flags = src.flags;
19125     pView = src.pView;
19126     pNext = SafePnextCopy(src.pNext);
19127 }
19128 
operator =(const safe_VkIOSSurfaceCreateInfoMVK & src)19129 safe_VkIOSSurfaceCreateInfoMVK& safe_VkIOSSurfaceCreateInfoMVK::operator=(const safe_VkIOSSurfaceCreateInfoMVK& src)
19130 {
19131     if (&src == this) return *this;
19132 
19133     if (pNext)
19134         FreePnextChain(pNext);
19135 
19136     sType = src.sType;
19137     flags = src.flags;
19138     pView = src.pView;
19139     pNext = SafePnextCopy(src.pNext);
19140 
19141     return *this;
19142 }
19143 
~safe_VkIOSSurfaceCreateInfoMVK()19144 safe_VkIOSSurfaceCreateInfoMVK::~safe_VkIOSSurfaceCreateInfoMVK()
19145 {
19146     if (pNext)
19147         FreePnextChain(pNext);
19148 }
19149 
initialize(const VkIOSSurfaceCreateInfoMVK * in_struct)19150 void safe_VkIOSSurfaceCreateInfoMVK::initialize(const VkIOSSurfaceCreateInfoMVK* in_struct)
19151 {
19152     sType = in_struct->sType;
19153     flags = in_struct->flags;
19154     pView = in_struct->pView;
19155     pNext = SafePnextCopy(in_struct->pNext);
19156 }
19157 
initialize(const safe_VkIOSSurfaceCreateInfoMVK * src)19158 void safe_VkIOSSurfaceCreateInfoMVK::initialize(const safe_VkIOSSurfaceCreateInfoMVK* src)
19159 {
19160     sType = src->sType;
19161     flags = src->flags;
19162     pView = src->pView;
19163     pNext = SafePnextCopy(src->pNext);
19164 }
19165 #endif // VK_USE_PLATFORM_IOS_MVK
19166 
19167 #ifdef VK_USE_PLATFORM_MACOS_MVK
19168 
19169 
safe_VkMacOSSurfaceCreateInfoMVK(const VkMacOSSurfaceCreateInfoMVK * in_struct)19170 safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK(const VkMacOSSurfaceCreateInfoMVK* in_struct) :
19171     sType(in_struct->sType),
19172     flags(in_struct->flags),
19173     pView(in_struct->pView)
19174 {
19175     pNext = SafePnextCopy(in_struct->pNext);
19176 }
19177 
safe_VkMacOSSurfaceCreateInfoMVK()19178 safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK() :
19179     pNext(nullptr),
19180     pView(nullptr)
19181 {}
19182 
safe_VkMacOSSurfaceCreateInfoMVK(const safe_VkMacOSSurfaceCreateInfoMVK & src)19183 safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK(const safe_VkMacOSSurfaceCreateInfoMVK& src)
19184 {
19185     sType = src.sType;
19186     flags = src.flags;
19187     pView = src.pView;
19188     pNext = SafePnextCopy(src.pNext);
19189 }
19190 
operator =(const safe_VkMacOSSurfaceCreateInfoMVK & src)19191 safe_VkMacOSSurfaceCreateInfoMVK& safe_VkMacOSSurfaceCreateInfoMVK::operator=(const safe_VkMacOSSurfaceCreateInfoMVK& src)
19192 {
19193     if (&src == this) return *this;
19194 
19195     if (pNext)
19196         FreePnextChain(pNext);
19197 
19198     sType = src.sType;
19199     flags = src.flags;
19200     pView = src.pView;
19201     pNext = SafePnextCopy(src.pNext);
19202 
19203     return *this;
19204 }
19205 
~safe_VkMacOSSurfaceCreateInfoMVK()19206 safe_VkMacOSSurfaceCreateInfoMVK::~safe_VkMacOSSurfaceCreateInfoMVK()
19207 {
19208     if (pNext)
19209         FreePnextChain(pNext);
19210 }
19211 
initialize(const VkMacOSSurfaceCreateInfoMVK * in_struct)19212 void safe_VkMacOSSurfaceCreateInfoMVK::initialize(const VkMacOSSurfaceCreateInfoMVK* in_struct)
19213 {
19214     sType = in_struct->sType;
19215     flags = in_struct->flags;
19216     pView = in_struct->pView;
19217     pNext = SafePnextCopy(in_struct->pNext);
19218 }
19219 
initialize(const safe_VkMacOSSurfaceCreateInfoMVK * src)19220 void safe_VkMacOSSurfaceCreateInfoMVK::initialize(const safe_VkMacOSSurfaceCreateInfoMVK* src)
19221 {
19222     sType = src->sType;
19223     flags = src->flags;
19224     pView = src->pView;
19225     pNext = SafePnextCopy(src->pNext);
19226 }
19227 #endif // VK_USE_PLATFORM_MACOS_MVK
19228 
19229 
safe_VkDebugUtilsObjectNameInfoEXT(const VkDebugUtilsObjectNameInfoEXT * in_struct)19230 safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT(const VkDebugUtilsObjectNameInfoEXT* in_struct) :
19231     sType(in_struct->sType),
19232     objectType(in_struct->objectType),
19233     objectHandle(in_struct->objectHandle)
19234 {
19235     pNext = SafePnextCopy(in_struct->pNext);
19236     pObjectName = SafeStringCopy(in_struct->pObjectName);
19237 }
19238 
safe_VkDebugUtilsObjectNameInfoEXT()19239 safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT() :
19240     pNext(nullptr),
19241     pObjectName(nullptr)
19242 {}
19243 
safe_VkDebugUtilsObjectNameInfoEXT(const safe_VkDebugUtilsObjectNameInfoEXT & src)19244 safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT(const safe_VkDebugUtilsObjectNameInfoEXT& src)
19245 {
19246     sType = src.sType;
19247     objectType = src.objectType;
19248     objectHandle = src.objectHandle;
19249     pNext = SafePnextCopy(src.pNext);
19250     pObjectName = SafeStringCopy(src.pObjectName);
19251 }
19252 
operator =(const safe_VkDebugUtilsObjectNameInfoEXT & src)19253 safe_VkDebugUtilsObjectNameInfoEXT& safe_VkDebugUtilsObjectNameInfoEXT::operator=(const safe_VkDebugUtilsObjectNameInfoEXT& src)
19254 {
19255     if (&src == this) return *this;
19256 
19257     if (pObjectName) delete [] pObjectName;
19258     if (pNext)
19259         FreePnextChain(pNext);
19260 
19261     sType = src.sType;
19262     objectType = src.objectType;
19263     objectHandle = src.objectHandle;
19264     pNext = SafePnextCopy(src.pNext);
19265     pObjectName = SafeStringCopy(src.pObjectName);
19266 
19267     return *this;
19268 }
19269 
~safe_VkDebugUtilsObjectNameInfoEXT()19270 safe_VkDebugUtilsObjectNameInfoEXT::~safe_VkDebugUtilsObjectNameInfoEXT()
19271 {
19272     if (pObjectName) delete [] pObjectName;
19273     if (pNext)
19274         FreePnextChain(pNext);
19275 }
19276 
initialize(const VkDebugUtilsObjectNameInfoEXT * in_struct)19277 void safe_VkDebugUtilsObjectNameInfoEXT::initialize(const VkDebugUtilsObjectNameInfoEXT* in_struct)
19278 {
19279     sType = in_struct->sType;
19280     objectType = in_struct->objectType;
19281     objectHandle = in_struct->objectHandle;
19282     pNext = SafePnextCopy(in_struct->pNext);
19283     pObjectName = SafeStringCopy(in_struct->pObjectName);
19284 }
19285 
initialize(const safe_VkDebugUtilsObjectNameInfoEXT * src)19286 void safe_VkDebugUtilsObjectNameInfoEXT::initialize(const safe_VkDebugUtilsObjectNameInfoEXT* src)
19287 {
19288     sType = src->sType;
19289     objectType = src->objectType;
19290     objectHandle = src->objectHandle;
19291     pNext = SafePnextCopy(src->pNext);
19292     pObjectName = SafeStringCopy(src->pObjectName);
19293 }
19294 
safe_VkDebugUtilsObjectTagInfoEXT(const VkDebugUtilsObjectTagInfoEXT * in_struct)19295 safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT(const VkDebugUtilsObjectTagInfoEXT* in_struct) :
19296     sType(in_struct->sType),
19297     objectType(in_struct->objectType),
19298     objectHandle(in_struct->objectHandle),
19299     tagName(in_struct->tagName),
19300     tagSize(in_struct->tagSize),
19301     pTag(in_struct->pTag)
19302 {
19303     pNext = SafePnextCopy(in_struct->pNext);
19304 }
19305 
safe_VkDebugUtilsObjectTagInfoEXT()19306 safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT() :
19307     pNext(nullptr),
19308     pTag(nullptr)
19309 {}
19310 
safe_VkDebugUtilsObjectTagInfoEXT(const safe_VkDebugUtilsObjectTagInfoEXT & src)19311 safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT(const safe_VkDebugUtilsObjectTagInfoEXT& src)
19312 {
19313     sType = src.sType;
19314     objectType = src.objectType;
19315     objectHandle = src.objectHandle;
19316     tagName = src.tagName;
19317     tagSize = src.tagSize;
19318     pTag = src.pTag;
19319     pNext = SafePnextCopy(src.pNext);
19320 }
19321 
operator =(const safe_VkDebugUtilsObjectTagInfoEXT & src)19322 safe_VkDebugUtilsObjectTagInfoEXT& safe_VkDebugUtilsObjectTagInfoEXT::operator=(const safe_VkDebugUtilsObjectTagInfoEXT& src)
19323 {
19324     if (&src == this) return *this;
19325 
19326     if (pNext)
19327         FreePnextChain(pNext);
19328 
19329     sType = src.sType;
19330     objectType = src.objectType;
19331     objectHandle = src.objectHandle;
19332     tagName = src.tagName;
19333     tagSize = src.tagSize;
19334     pTag = src.pTag;
19335     pNext = SafePnextCopy(src.pNext);
19336 
19337     return *this;
19338 }
19339 
~safe_VkDebugUtilsObjectTagInfoEXT()19340 safe_VkDebugUtilsObjectTagInfoEXT::~safe_VkDebugUtilsObjectTagInfoEXT()
19341 {
19342     if (pNext)
19343         FreePnextChain(pNext);
19344 }
19345 
initialize(const VkDebugUtilsObjectTagInfoEXT * in_struct)19346 void safe_VkDebugUtilsObjectTagInfoEXT::initialize(const VkDebugUtilsObjectTagInfoEXT* in_struct)
19347 {
19348     sType = in_struct->sType;
19349     objectType = in_struct->objectType;
19350     objectHandle = in_struct->objectHandle;
19351     tagName = in_struct->tagName;
19352     tagSize = in_struct->tagSize;
19353     pTag = in_struct->pTag;
19354     pNext = SafePnextCopy(in_struct->pNext);
19355 }
19356 
initialize(const safe_VkDebugUtilsObjectTagInfoEXT * src)19357 void safe_VkDebugUtilsObjectTagInfoEXT::initialize(const safe_VkDebugUtilsObjectTagInfoEXT* src)
19358 {
19359     sType = src->sType;
19360     objectType = src->objectType;
19361     objectHandle = src->objectHandle;
19362     tagName = src->tagName;
19363     tagSize = src->tagSize;
19364     pTag = src->pTag;
19365     pNext = SafePnextCopy(src->pNext);
19366 }
19367 
safe_VkDebugUtilsLabelEXT(const VkDebugUtilsLabelEXT * in_struct)19368 safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT(const VkDebugUtilsLabelEXT* in_struct) :
19369     sType(in_struct->sType)
19370 {
19371     pNext = SafePnextCopy(in_struct->pNext);
19372     pLabelName = SafeStringCopy(in_struct->pLabelName);
19373     for (uint32_t i = 0; i < 4; ++i) {
19374         color[i] = in_struct->color[i];
19375     }
19376 }
19377 
safe_VkDebugUtilsLabelEXT()19378 safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT() :
19379     pNext(nullptr),
19380     pLabelName(nullptr)
19381 {}
19382 
safe_VkDebugUtilsLabelEXT(const safe_VkDebugUtilsLabelEXT & src)19383 safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT(const safe_VkDebugUtilsLabelEXT& src)
19384 {
19385     sType = src.sType;
19386     pNext = SafePnextCopy(src.pNext);
19387     pLabelName = SafeStringCopy(src.pLabelName);
19388     for (uint32_t i = 0; i < 4; ++i) {
19389         color[i] = src.color[i];
19390     }
19391 }
19392 
operator =(const safe_VkDebugUtilsLabelEXT & src)19393 safe_VkDebugUtilsLabelEXT& safe_VkDebugUtilsLabelEXT::operator=(const safe_VkDebugUtilsLabelEXT& src)
19394 {
19395     if (&src == this) return *this;
19396 
19397     if (pLabelName) delete [] pLabelName;
19398     if (pNext)
19399         FreePnextChain(pNext);
19400 
19401     sType = src.sType;
19402     pNext = SafePnextCopy(src.pNext);
19403     pLabelName = SafeStringCopy(src.pLabelName);
19404     for (uint32_t i = 0; i < 4; ++i) {
19405         color[i] = src.color[i];
19406     }
19407 
19408     return *this;
19409 }
19410 
~safe_VkDebugUtilsLabelEXT()19411 safe_VkDebugUtilsLabelEXT::~safe_VkDebugUtilsLabelEXT()
19412 {
19413     if (pLabelName) delete [] pLabelName;
19414     if (pNext)
19415         FreePnextChain(pNext);
19416 }
19417 
initialize(const VkDebugUtilsLabelEXT * in_struct)19418 void safe_VkDebugUtilsLabelEXT::initialize(const VkDebugUtilsLabelEXT* in_struct)
19419 {
19420     sType = in_struct->sType;
19421     pNext = SafePnextCopy(in_struct->pNext);
19422     pLabelName = SafeStringCopy(in_struct->pLabelName);
19423     for (uint32_t i = 0; i < 4; ++i) {
19424         color[i] = in_struct->color[i];
19425     }
19426 }
19427 
initialize(const safe_VkDebugUtilsLabelEXT * src)19428 void safe_VkDebugUtilsLabelEXT::initialize(const safe_VkDebugUtilsLabelEXT* src)
19429 {
19430     sType = src->sType;
19431     pNext = SafePnextCopy(src->pNext);
19432     pLabelName = SafeStringCopy(src->pLabelName);
19433     for (uint32_t i = 0; i < 4; ++i) {
19434         color[i] = src->color[i];
19435     }
19436 }
19437 
safe_VkDebugUtilsMessengerCallbackDataEXT(const VkDebugUtilsMessengerCallbackDataEXT * in_struct)19438 safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT(const VkDebugUtilsMessengerCallbackDataEXT* in_struct) :
19439     sType(in_struct->sType),
19440     flags(in_struct->flags),
19441     messageIdNumber(in_struct->messageIdNumber),
19442     queueLabelCount(in_struct->queueLabelCount),
19443     pQueueLabels(nullptr),
19444     cmdBufLabelCount(in_struct->cmdBufLabelCount),
19445     pCmdBufLabels(nullptr),
19446     objectCount(in_struct->objectCount),
19447     pObjects(nullptr)
19448 {
19449     pNext = SafePnextCopy(in_struct->pNext);
19450     pMessageIdName = SafeStringCopy(in_struct->pMessageIdName);
19451     pMessage = SafeStringCopy(in_struct->pMessage);
19452     if (queueLabelCount && in_struct->pQueueLabels) {
19453         pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19454         for (uint32_t i = 0; i < queueLabelCount; ++i) {
19455             pQueueLabels[i].initialize(&in_struct->pQueueLabels[i]);
19456         }
19457     }
19458     if (cmdBufLabelCount && in_struct->pCmdBufLabels) {
19459         pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19460         for (uint32_t i = 0; i < cmdBufLabelCount; ++i) {
19461             pCmdBufLabels[i].initialize(&in_struct->pCmdBufLabels[i]);
19462         }
19463     }
19464     if (objectCount && in_struct->pObjects) {
19465         pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19466         for (uint32_t i = 0; i < objectCount; ++i) {
19467             pObjects[i].initialize(&in_struct->pObjects[i]);
19468         }
19469     }
19470 }
19471 
safe_VkDebugUtilsMessengerCallbackDataEXT()19472 safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT() :
19473     pNext(nullptr),
19474     pMessageIdName(nullptr),
19475     pMessage(nullptr),
19476     pQueueLabels(nullptr),
19477     pCmdBufLabels(nullptr),
19478     pObjects(nullptr)
19479 {}
19480 
safe_VkDebugUtilsMessengerCallbackDataEXT(const safe_VkDebugUtilsMessengerCallbackDataEXT & src)19481 safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT(const safe_VkDebugUtilsMessengerCallbackDataEXT& src)
19482 {
19483     sType = src.sType;
19484     flags = src.flags;
19485     messageIdNumber = src.messageIdNumber;
19486     queueLabelCount = src.queueLabelCount;
19487     pQueueLabels = nullptr;
19488     cmdBufLabelCount = src.cmdBufLabelCount;
19489     pCmdBufLabels = nullptr;
19490     objectCount = src.objectCount;
19491     pObjects = nullptr;
19492     pNext = SafePnextCopy(src.pNext);
19493     pMessageIdName = SafeStringCopy(src.pMessageIdName);
19494     pMessage = SafeStringCopy(src.pMessage);
19495     if (queueLabelCount && src.pQueueLabels) {
19496         pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19497         for (uint32_t i = 0; i < queueLabelCount; ++i) {
19498             pQueueLabels[i].initialize(&src.pQueueLabels[i]);
19499         }
19500     }
19501     if (cmdBufLabelCount && src.pCmdBufLabels) {
19502         pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19503         for (uint32_t i = 0; i < cmdBufLabelCount; ++i) {
19504             pCmdBufLabels[i].initialize(&src.pCmdBufLabels[i]);
19505         }
19506     }
19507     if (objectCount && src.pObjects) {
19508         pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19509         for (uint32_t i = 0; i < objectCount; ++i) {
19510             pObjects[i].initialize(&src.pObjects[i]);
19511         }
19512     }
19513 }
19514 
operator =(const safe_VkDebugUtilsMessengerCallbackDataEXT & src)19515 safe_VkDebugUtilsMessengerCallbackDataEXT& safe_VkDebugUtilsMessengerCallbackDataEXT::operator=(const safe_VkDebugUtilsMessengerCallbackDataEXT& src)
19516 {
19517     if (&src == this) return *this;
19518 
19519     if (pMessageIdName) delete [] pMessageIdName;
19520     if (pMessage) delete [] pMessage;
19521     if (pQueueLabels)
19522         delete[] pQueueLabels;
19523     if (pCmdBufLabels)
19524         delete[] pCmdBufLabels;
19525     if (pObjects)
19526         delete[] pObjects;
19527     if (pNext)
19528         FreePnextChain(pNext);
19529 
19530     sType = src.sType;
19531     flags = src.flags;
19532     messageIdNumber = src.messageIdNumber;
19533     queueLabelCount = src.queueLabelCount;
19534     pQueueLabels = nullptr;
19535     cmdBufLabelCount = src.cmdBufLabelCount;
19536     pCmdBufLabels = nullptr;
19537     objectCount = src.objectCount;
19538     pObjects = nullptr;
19539     pNext = SafePnextCopy(src.pNext);
19540     pMessageIdName = SafeStringCopy(src.pMessageIdName);
19541     pMessage = SafeStringCopy(src.pMessage);
19542     if (queueLabelCount && src.pQueueLabels) {
19543         pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19544         for (uint32_t i = 0; i < queueLabelCount; ++i) {
19545             pQueueLabels[i].initialize(&src.pQueueLabels[i]);
19546         }
19547     }
19548     if (cmdBufLabelCount && src.pCmdBufLabels) {
19549         pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19550         for (uint32_t i = 0; i < cmdBufLabelCount; ++i) {
19551             pCmdBufLabels[i].initialize(&src.pCmdBufLabels[i]);
19552         }
19553     }
19554     if (objectCount && src.pObjects) {
19555         pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19556         for (uint32_t i = 0; i < objectCount; ++i) {
19557             pObjects[i].initialize(&src.pObjects[i]);
19558         }
19559     }
19560 
19561     return *this;
19562 }
19563 
~safe_VkDebugUtilsMessengerCallbackDataEXT()19564 safe_VkDebugUtilsMessengerCallbackDataEXT::~safe_VkDebugUtilsMessengerCallbackDataEXT()
19565 {
19566     if (pMessageIdName) delete [] pMessageIdName;
19567     if (pMessage) delete [] pMessage;
19568     if (pQueueLabels)
19569         delete[] pQueueLabels;
19570     if (pCmdBufLabels)
19571         delete[] pCmdBufLabels;
19572     if (pObjects)
19573         delete[] pObjects;
19574     if (pNext)
19575         FreePnextChain(pNext);
19576 }
19577 
initialize(const VkDebugUtilsMessengerCallbackDataEXT * in_struct)19578 void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const VkDebugUtilsMessengerCallbackDataEXT* in_struct)
19579 {
19580     sType = in_struct->sType;
19581     flags = in_struct->flags;
19582     messageIdNumber = in_struct->messageIdNumber;
19583     queueLabelCount = in_struct->queueLabelCount;
19584     pQueueLabels = nullptr;
19585     cmdBufLabelCount = in_struct->cmdBufLabelCount;
19586     pCmdBufLabels = nullptr;
19587     objectCount = in_struct->objectCount;
19588     pObjects = nullptr;
19589     pNext = SafePnextCopy(in_struct->pNext);
19590     pMessageIdName = SafeStringCopy(in_struct->pMessageIdName);
19591     pMessage = SafeStringCopy(in_struct->pMessage);
19592     if (queueLabelCount && in_struct->pQueueLabels) {
19593         pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19594         for (uint32_t i = 0; i < queueLabelCount; ++i) {
19595             pQueueLabels[i].initialize(&in_struct->pQueueLabels[i]);
19596         }
19597     }
19598     if (cmdBufLabelCount && in_struct->pCmdBufLabels) {
19599         pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19600         for (uint32_t i = 0; i < cmdBufLabelCount; ++i) {
19601             pCmdBufLabels[i].initialize(&in_struct->pCmdBufLabels[i]);
19602         }
19603     }
19604     if (objectCount && in_struct->pObjects) {
19605         pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19606         for (uint32_t i = 0; i < objectCount; ++i) {
19607             pObjects[i].initialize(&in_struct->pObjects[i]);
19608         }
19609     }
19610 }
19611 
initialize(const safe_VkDebugUtilsMessengerCallbackDataEXT * src)19612 void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const safe_VkDebugUtilsMessengerCallbackDataEXT* src)
19613 {
19614     sType = src->sType;
19615     flags = src->flags;
19616     messageIdNumber = src->messageIdNumber;
19617     queueLabelCount = src->queueLabelCount;
19618     pQueueLabels = nullptr;
19619     cmdBufLabelCount = src->cmdBufLabelCount;
19620     pCmdBufLabels = nullptr;
19621     objectCount = src->objectCount;
19622     pObjects = nullptr;
19623     pNext = SafePnextCopy(src->pNext);
19624     pMessageIdName = SafeStringCopy(src->pMessageIdName);
19625     pMessage = SafeStringCopy(src->pMessage);
19626     if (queueLabelCount && src->pQueueLabels) {
19627         pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19628         for (uint32_t i = 0; i < queueLabelCount; ++i) {
19629             pQueueLabels[i].initialize(&src->pQueueLabels[i]);
19630         }
19631     }
19632     if (cmdBufLabelCount && src->pCmdBufLabels) {
19633         pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19634         for (uint32_t i = 0; i < cmdBufLabelCount; ++i) {
19635             pCmdBufLabels[i].initialize(&src->pCmdBufLabels[i]);
19636         }
19637     }
19638     if (objectCount && src->pObjects) {
19639         pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19640         for (uint32_t i = 0; i < objectCount; ++i) {
19641             pObjects[i].initialize(&src->pObjects[i]);
19642         }
19643     }
19644 }
19645 
safe_VkDebugUtilsMessengerCreateInfoEXT(const VkDebugUtilsMessengerCreateInfoEXT * in_struct)19646 safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT(const VkDebugUtilsMessengerCreateInfoEXT* in_struct) :
19647     sType(in_struct->sType),
19648     flags(in_struct->flags),
19649     messageSeverity(in_struct->messageSeverity),
19650     messageType(in_struct->messageType),
19651     pfnUserCallback(in_struct->pfnUserCallback),
19652     pUserData(in_struct->pUserData)
19653 {
19654     pNext = SafePnextCopy(in_struct->pNext);
19655 }
19656 
safe_VkDebugUtilsMessengerCreateInfoEXT()19657 safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT() :
19658     pNext(nullptr),
19659     pUserData(nullptr)
19660 {}
19661 
safe_VkDebugUtilsMessengerCreateInfoEXT(const safe_VkDebugUtilsMessengerCreateInfoEXT & src)19662 safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT(const safe_VkDebugUtilsMessengerCreateInfoEXT& src)
19663 {
19664     sType = src.sType;
19665     flags = src.flags;
19666     messageSeverity = src.messageSeverity;
19667     messageType = src.messageType;
19668     pfnUserCallback = src.pfnUserCallback;
19669     pUserData = src.pUserData;
19670     pNext = SafePnextCopy(src.pNext);
19671 }
19672 
operator =(const safe_VkDebugUtilsMessengerCreateInfoEXT & src)19673 safe_VkDebugUtilsMessengerCreateInfoEXT& safe_VkDebugUtilsMessengerCreateInfoEXT::operator=(const safe_VkDebugUtilsMessengerCreateInfoEXT& src)
19674 {
19675     if (&src == this) return *this;
19676 
19677     if (pNext)
19678         FreePnextChain(pNext);
19679 
19680     sType = src.sType;
19681     flags = src.flags;
19682     messageSeverity = src.messageSeverity;
19683     messageType = src.messageType;
19684     pfnUserCallback = src.pfnUserCallback;
19685     pUserData = src.pUserData;
19686     pNext = SafePnextCopy(src.pNext);
19687 
19688     return *this;
19689 }
19690 
~safe_VkDebugUtilsMessengerCreateInfoEXT()19691 safe_VkDebugUtilsMessengerCreateInfoEXT::~safe_VkDebugUtilsMessengerCreateInfoEXT()
19692 {
19693     if (pNext)
19694         FreePnextChain(pNext);
19695 }
19696 
initialize(const VkDebugUtilsMessengerCreateInfoEXT * in_struct)19697 void safe_VkDebugUtilsMessengerCreateInfoEXT::initialize(const VkDebugUtilsMessengerCreateInfoEXT* in_struct)
19698 {
19699     sType = in_struct->sType;
19700     flags = in_struct->flags;
19701     messageSeverity = in_struct->messageSeverity;
19702     messageType = in_struct->messageType;
19703     pfnUserCallback = in_struct->pfnUserCallback;
19704     pUserData = in_struct->pUserData;
19705     pNext = SafePnextCopy(in_struct->pNext);
19706 }
19707 
initialize(const safe_VkDebugUtilsMessengerCreateInfoEXT * src)19708 void safe_VkDebugUtilsMessengerCreateInfoEXT::initialize(const safe_VkDebugUtilsMessengerCreateInfoEXT* src)
19709 {
19710     sType = src->sType;
19711     flags = src->flags;
19712     messageSeverity = src->messageSeverity;
19713     messageType = src->messageType;
19714     pfnUserCallback = src->pfnUserCallback;
19715     pUserData = src->pUserData;
19716     pNext = SafePnextCopy(src->pNext);
19717 }
19718 #ifdef VK_USE_PLATFORM_ANDROID_KHR
19719 
19720 
safe_VkAndroidHardwareBufferUsageANDROID(const VkAndroidHardwareBufferUsageANDROID * in_struct)19721 safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID(const VkAndroidHardwareBufferUsageANDROID* in_struct) :
19722     sType(in_struct->sType),
19723     androidHardwareBufferUsage(in_struct->androidHardwareBufferUsage)
19724 {
19725     pNext = SafePnextCopy(in_struct->pNext);
19726 }
19727 
safe_VkAndroidHardwareBufferUsageANDROID()19728 safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID() :
19729     pNext(nullptr)
19730 {}
19731 
safe_VkAndroidHardwareBufferUsageANDROID(const safe_VkAndroidHardwareBufferUsageANDROID & src)19732 safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID(const safe_VkAndroidHardwareBufferUsageANDROID& src)
19733 {
19734     sType = src.sType;
19735     androidHardwareBufferUsage = src.androidHardwareBufferUsage;
19736     pNext = SafePnextCopy(src.pNext);
19737 }
19738 
operator =(const safe_VkAndroidHardwareBufferUsageANDROID & src)19739 safe_VkAndroidHardwareBufferUsageANDROID& safe_VkAndroidHardwareBufferUsageANDROID::operator=(const safe_VkAndroidHardwareBufferUsageANDROID& src)
19740 {
19741     if (&src == this) return *this;
19742 
19743     if (pNext)
19744         FreePnextChain(pNext);
19745 
19746     sType = src.sType;
19747     androidHardwareBufferUsage = src.androidHardwareBufferUsage;
19748     pNext = SafePnextCopy(src.pNext);
19749 
19750     return *this;
19751 }
19752 
~safe_VkAndroidHardwareBufferUsageANDROID()19753 safe_VkAndroidHardwareBufferUsageANDROID::~safe_VkAndroidHardwareBufferUsageANDROID()
19754 {
19755     if (pNext)
19756         FreePnextChain(pNext);
19757 }
19758 
initialize(const VkAndroidHardwareBufferUsageANDROID * in_struct)19759 void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const VkAndroidHardwareBufferUsageANDROID* in_struct)
19760 {
19761     sType = in_struct->sType;
19762     androidHardwareBufferUsage = in_struct->androidHardwareBufferUsage;
19763     pNext = SafePnextCopy(in_struct->pNext);
19764 }
19765 
initialize(const safe_VkAndroidHardwareBufferUsageANDROID * src)19766 void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const safe_VkAndroidHardwareBufferUsageANDROID* src)
19767 {
19768     sType = src->sType;
19769     androidHardwareBufferUsage = src->androidHardwareBufferUsage;
19770     pNext = SafePnextCopy(src->pNext);
19771 }
19772 #endif // VK_USE_PLATFORM_ANDROID_KHR
19773 
19774 #ifdef VK_USE_PLATFORM_ANDROID_KHR
19775 
19776 
safe_VkAndroidHardwareBufferPropertiesANDROID(const VkAndroidHardwareBufferPropertiesANDROID * in_struct)19777 safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID(const VkAndroidHardwareBufferPropertiesANDROID* in_struct) :
19778     sType(in_struct->sType),
19779     allocationSize(in_struct->allocationSize),
19780     memoryTypeBits(in_struct->memoryTypeBits)
19781 {
19782     pNext = SafePnextCopy(in_struct->pNext);
19783 }
19784 
safe_VkAndroidHardwareBufferPropertiesANDROID()19785 safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID() :
19786     pNext(nullptr)
19787 {}
19788 
safe_VkAndroidHardwareBufferPropertiesANDROID(const safe_VkAndroidHardwareBufferPropertiesANDROID & src)19789 safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID(const safe_VkAndroidHardwareBufferPropertiesANDROID& src)
19790 {
19791     sType = src.sType;
19792     allocationSize = src.allocationSize;
19793     memoryTypeBits = src.memoryTypeBits;
19794     pNext = SafePnextCopy(src.pNext);
19795 }
19796 
operator =(const safe_VkAndroidHardwareBufferPropertiesANDROID & src)19797 safe_VkAndroidHardwareBufferPropertiesANDROID& safe_VkAndroidHardwareBufferPropertiesANDROID::operator=(const safe_VkAndroidHardwareBufferPropertiesANDROID& src)
19798 {
19799     if (&src == this) return *this;
19800 
19801     if (pNext)
19802         FreePnextChain(pNext);
19803 
19804     sType = src.sType;
19805     allocationSize = src.allocationSize;
19806     memoryTypeBits = src.memoryTypeBits;
19807     pNext = SafePnextCopy(src.pNext);
19808 
19809     return *this;
19810 }
19811 
~safe_VkAndroidHardwareBufferPropertiesANDROID()19812 safe_VkAndroidHardwareBufferPropertiesANDROID::~safe_VkAndroidHardwareBufferPropertiesANDROID()
19813 {
19814     if (pNext)
19815         FreePnextChain(pNext);
19816 }
19817 
initialize(const VkAndroidHardwareBufferPropertiesANDROID * in_struct)19818 void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const VkAndroidHardwareBufferPropertiesANDROID* in_struct)
19819 {
19820     sType = in_struct->sType;
19821     allocationSize = in_struct->allocationSize;
19822     memoryTypeBits = in_struct->memoryTypeBits;
19823     pNext = SafePnextCopy(in_struct->pNext);
19824 }
19825 
initialize(const safe_VkAndroidHardwareBufferPropertiesANDROID * src)19826 void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const safe_VkAndroidHardwareBufferPropertiesANDROID* src)
19827 {
19828     sType = src->sType;
19829     allocationSize = src->allocationSize;
19830     memoryTypeBits = src->memoryTypeBits;
19831     pNext = SafePnextCopy(src->pNext);
19832 }
19833 #endif // VK_USE_PLATFORM_ANDROID_KHR
19834 
19835 #ifdef VK_USE_PLATFORM_ANDROID_KHR
19836 
19837 
safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const VkAndroidHardwareBufferFormatPropertiesANDROID * in_struct)19838 safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const VkAndroidHardwareBufferFormatPropertiesANDROID* in_struct) :
19839     sType(in_struct->sType),
19840     format(in_struct->format),
19841     externalFormat(in_struct->externalFormat),
19842     formatFeatures(in_struct->formatFeatures),
19843     samplerYcbcrConversionComponents(in_struct->samplerYcbcrConversionComponents),
19844     suggestedYcbcrModel(in_struct->suggestedYcbcrModel),
19845     suggestedYcbcrRange(in_struct->suggestedYcbcrRange),
19846     suggestedXChromaOffset(in_struct->suggestedXChromaOffset),
19847     suggestedYChromaOffset(in_struct->suggestedYChromaOffset)
19848 {
19849     pNext = SafePnextCopy(in_struct->pNext);
19850 }
19851 
safe_VkAndroidHardwareBufferFormatPropertiesANDROID()19852 safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID() :
19853     pNext(nullptr)
19854 {}
19855 
safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID & src)19856 safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID& src)
19857 {
19858     sType = src.sType;
19859     format = src.format;
19860     externalFormat = src.externalFormat;
19861     formatFeatures = src.formatFeatures;
19862     samplerYcbcrConversionComponents = src.samplerYcbcrConversionComponents;
19863     suggestedYcbcrModel = src.suggestedYcbcrModel;
19864     suggestedYcbcrRange = src.suggestedYcbcrRange;
19865     suggestedXChromaOffset = src.suggestedXChromaOffset;
19866     suggestedYChromaOffset = src.suggestedYChromaOffset;
19867     pNext = SafePnextCopy(src.pNext);
19868 }
19869 
operator =(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID & src)19870 safe_VkAndroidHardwareBufferFormatPropertiesANDROID& safe_VkAndroidHardwareBufferFormatPropertiesANDROID::operator=(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID& src)
19871 {
19872     if (&src == this) return *this;
19873 
19874     if (pNext)
19875         FreePnextChain(pNext);
19876 
19877     sType = src.sType;
19878     format = src.format;
19879     externalFormat = src.externalFormat;
19880     formatFeatures = src.formatFeatures;
19881     samplerYcbcrConversionComponents = src.samplerYcbcrConversionComponents;
19882     suggestedYcbcrModel = src.suggestedYcbcrModel;
19883     suggestedYcbcrRange = src.suggestedYcbcrRange;
19884     suggestedXChromaOffset = src.suggestedXChromaOffset;
19885     suggestedYChromaOffset = src.suggestedYChromaOffset;
19886     pNext = SafePnextCopy(src.pNext);
19887 
19888     return *this;
19889 }
19890 
~safe_VkAndroidHardwareBufferFormatPropertiesANDROID()19891 safe_VkAndroidHardwareBufferFormatPropertiesANDROID::~safe_VkAndroidHardwareBufferFormatPropertiesANDROID()
19892 {
19893     if (pNext)
19894         FreePnextChain(pNext);
19895 }
19896 
initialize(const VkAndroidHardwareBufferFormatPropertiesANDROID * in_struct)19897 void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const VkAndroidHardwareBufferFormatPropertiesANDROID* in_struct)
19898 {
19899     sType = in_struct->sType;
19900     format = in_struct->format;
19901     externalFormat = in_struct->externalFormat;
19902     formatFeatures = in_struct->formatFeatures;
19903     samplerYcbcrConversionComponents = in_struct->samplerYcbcrConversionComponents;
19904     suggestedYcbcrModel = in_struct->suggestedYcbcrModel;
19905     suggestedYcbcrRange = in_struct->suggestedYcbcrRange;
19906     suggestedXChromaOffset = in_struct->suggestedXChromaOffset;
19907     suggestedYChromaOffset = in_struct->suggestedYChromaOffset;
19908     pNext = SafePnextCopy(in_struct->pNext);
19909 }
19910 
initialize(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID * src)19911 void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID* src)
19912 {
19913     sType = src->sType;
19914     format = src->format;
19915     externalFormat = src->externalFormat;
19916     formatFeatures = src->formatFeatures;
19917     samplerYcbcrConversionComponents = src->samplerYcbcrConversionComponents;
19918     suggestedYcbcrModel = src->suggestedYcbcrModel;
19919     suggestedYcbcrRange = src->suggestedYcbcrRange;
19920     suggestedXChromaOffset = src->suggestedXChromaOffset;
19921     suggestedYChromaOffset = src->suggestedYChromaOffset;
19922     pNext = SafePnextCopy(src->pNext);
19923 }
19924 #endif // VK_USE_PLATFORM_ANDROID_KHR
19925 
19926 #ifdef VK_USE_PLATFORM_ANDROID_KHR
19927 
19928 
safe_VkImportAndroidHardwareBufferInfoANDROID(const VkImportAndroidHardwareBufferInfoANDROID * in_struct)19929 safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID(const VkImportAndroidHardwareBufferInfoANDROID* in_struct) :
19930     sType(in_struct->sType),
19931     buffer(nullptr)
19932 {
19933     pNext = SafePnextCopy(in_struct->pNext);
19934     buffer = in_struct->buffer;
19935 }
19936 
safe_VkImportAndroidHardwareBufferInfoANDROID()19937 safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID() :
19938     pNext(nullptr),
19939     buffer(nullptr)
19940 {}
19941 
safe_VkImportAndroidHardwareBufferInfoANDROID(const safe_VkImportAndroidHardwareBufferInfoANDROID & src)19942 safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID(const safe_VkImportAndroidHardwareBufferInfoANDROID& src)
19943 {
19944     sType = src.sType;
19945     pNext = SafePnextCopy(src.pNext);
19946     buffer = src.buffer;
19947 }
19948 
operator =(const safe_VkImportAndroidHardwareBufferInfoANDROID & src)19949 safe_VkImportAndroidHardwareBufferInfoANDROID& safe_VkImportAndroidHardwareBufferInfoANDROID::operator=(const safe_VkImportAndroidHardwareBufferInfoANDROID& src)
19950 {
19951     if (&src == this) return *this;
19952 
19953     if (pNext)
19954         FreePnextChain(pNext);
19955 
19956     sType = src.sType;
19957     pNext = SafePnextCopy(src.pNext);
19958     buffer = src.buffer;
19959 
19960     return *this;
19961 }
19962 
~safe_VkImportAndroidHardwareBufferInfoANDROID()19963 safe_VkImportAndroidHardwareBufferInfoANDROID::~safe_VkImportAndroidHardwareBufferInfoANDROID()
19964 {
19965     if (pNext)
19966         FreePnextChain(pNext);
19967 }
19968 
initialize(const VkImportAndroidHardwareBufferInfoANDROID * in_struct)19969 void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const VkImportAndroidHardwareBufferInfoANDROID* in_struct)
19970 {
19971     sType = in_struct->sType;
19972     pNext = SafePnextCopy(in_struct->pNext);
19973     buffer = in_struct->buffer;
19974 }
19975 
initialize(const safe_VkImportAndroidHardwareBufferInfoANDROID * src)19976 void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const safe_VkImportAndroidHardwareBufferInfoANDROID* src)
19977 {
19978     sType = src->sType;
19979     pNext = SafePnextCopy(src->pNext);
19980     buffer = src->buffer;
19981 }
19982 #endif // VK_USE_PLATFORM_ANDROID_KHR
19983 
19984 #ifdef VK_USE_PLATFORM_ANDROID_KHR
19985 
19986 
safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const VkMemoryGetAndroidHardwareBufferInfoANDROID * in_struct)19987 safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const VkMemoryGetAndroidHardwareBufferInfoANDROID* in_struct) :
19988     sType(in_struct->sType),
19989     memory(in_struct->memory)
19990 {
19991     pNext = SafePnextCopy(in_struct->pNext);
19992 }
19993 
safe_VkMemoryGetAndroidHardwareBufferInfoANDROID()19994 safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID() :
19995     pNext(nullptr)
19996 {}
19997 
safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID & src)19998 safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& src)
19999 {
20000     sType = src.sType;
20001     memory = src.memory;
20002     pNext = SafePnextCopy(src.pNext);
20003 }
20004 
operator =(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID & src)20005 safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::operator=(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& src)
20006 {
20007     if (&src == this) return *this;
20008 
20009     if (pNext)
20010         FreePnextChain(pNext);
20011 
20012     sType = src.sType;
20013     memory = src.memory;
20014     pNext = SafePnextCopy(src.pNext);
20015 
20016     return *this;
20017 }
20018 
~safe_VkMemoryGetAndroidHardwareBufferInfoANDROID()20019 safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::~safe_VkMemoryGetAndroidHardwareBufferInfoANDROID()
20020 {
20021     if (pNext)
20022         FreePnextChain(pNext);
20023 }
20024 
initialize(const VkMemoryGetAndroidHardwareBufferInfoANDROID * in_struct)20025 void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const VkMemoryGetAndroidHardwareBufferInfoANDROID* in_struct)
20026 {
20027     sType = in_struct->sType;
20028     memory = in_struct->memory;
20029     pNext = SafePnextCopy(in_struct->pNext);
20030 }
20031 
initialize(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID * src)20032 void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID* src)
20033 {
20034     sType = src->sType;
20035     memory = src->memory;
20036     pNext = SafePnextCopy(src->pNext);
20037 }
20038 #endif // VK_USE_PLATFORM_ANDROID_KHR
20039 
20040 #ifdef VK_USE_PLATFORM_ANDROID_KHR
20041 
20042 
safe_VkExternalFormatANDROID(const VkExternalFormatANDROID * in_struct)20043 safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID(const VkExternalFormatANDROID* in_struct) :
20044     sType(in_struct->sType),
20045     externalFormat(in_struct->externalFormat)
20046 {
20047     pNext = SafePnextCopy(in_struct->pNext);
20048 }
20049 
safe_VkExternalFormatANDROID()20050 safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID() :
20051     pNext(nullptr)
20052 {}
20053 
safe_VkExternalFormatANDROID(const safe_VkExternalFormatANDROID & src)20054 safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID(const safe_VkExternalFormatANDROID& src)
20055 {
20056     sType = src.sType;
20057     externalFormat = src.externalFormat;
20058     pNext = SafePnextCopy(src.pNext);
20059 }
20060 
operator =(const safe_VkExternalFormatANDROID & src)20061 safe_VkExternalFormatANDROID& safe_VkExternalFormatANDROID::operator=(const safe_VkExternalFormatANDROID& src)
20062 {
20063     if (&src == this) return *this;
20064 
20065     if (pNext)
20066         FreePnextChain(pNext);
20067 
20068     sType = src.sType;
20069     externalFormat = src.externalFormat;
20070     pNext = SafePnextCopy(src.pNext);
20071 
20072     return *this;
20073 }
20074 
~safe_VkExternalFormatANDROID()20075 safe_VkExternalFormatANDROID::~safe_VkExternalFormatANDROID()
20076 {
20077     if (pNext)
20078         FreePnextChain(pNext);
20079 }
20080 
initialize(const VkExternalFormatANDROID * in_struct)20081 void safe_VkExternalFormatANDROID::initialize(const VkExternalFormatANDROID* in_struct)
20082 {
20083     sType = in_struct->sType;
20084     externalFormat = in_struct->externalFormat;
20085     pNext = SafePnextCopy(in_struct->pNext);
20086 }
20087 
initialize(const safe_VkExternalFormatANDROID * src)20088 void safe_VkExternalFormatANDROID::initialize(const safe_VkExternalFormatANDROID* src)
20089 {
20090     sType = src->sType;
20091     externalFormat = src->externalFormat;
20092     pNext = SafePnextCopy(src->pNext);
20093 }
20094 #endif // VK_USE_PLATFORM_ANDROID_KHR
20095 
20096 
safe_VkSamplerReductionModeCreateInfoEXT(const VkSamplerReductionModeCreateInfoEXT * in_struct)20097 safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT(const VkSamplerReductionModeCreateInfoEXT* in_struct) :
20098     sType(in_struct->sType),
20099     reductionMode(in_struct->reductionMode)
20100 {
20101     pNext = SafePnextCopy(in_struct->pNext);
20102 }
20103 
safe_VkSamplerReductionModeCreateInfoEXT()20104 safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT() :
20105     pNext(nullptr)
20106 {}
20107 
safe_VkSamplerReductionModeCreateInfoEXT(const safe_VkSamplerReductionModeCreateInfoEXT & src)20108 safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT(const safe_VkSamplerReductionModeCreateInfoEXT& src)
20109 {
20110     sType = src.sType;
20111     reductionMode = src.reductionMode;
20112     pNext = SafePnextCopy(src.pNext);
20113 }
20114 
operator =(const safe_VkSamplerReductionModeCreateInfoEXT & src)20115 safe_VkSamplerReductionModeCreateInfoEXT& safe_VkSamplerReductionModeCreateInfoEXT::operator=(const safe_VkSamplerReductionModeCreateInfoEXT& src)
20116 {
20117     if (&src == this) return *this;
20118 
20119     if (pNext)
20120         FreePnextChain(pNext);
20121 
20122     sType = src.sType;
20123     reductionMode = src.reductionMode;
20124     pNext = SafePnextCopy(src.pNext);
20125 
20126     return *this;
20127 }
20128 
~safe_VkSamplerReductionModeCreateInfoEXT()20129 safe_VkSamplerReductionModeCreateInfoEXT::~safe_VkSamplerReductionModeCreateInfoEXT()
20130 {
20131     if (pNext)
20132         FreePnextChain(pNext);
20133 }
20134 
initialize(const VkSamplerReductionModeCreateInfoEXT * in_struct)20135 void safe_VkSamplerReductionModeCreateInfoEXT::initialize(const VkSamplerReductionModeCreateInfoEXT* in_struct)
20136 {
20137     sType = in_struct->sType;
20138     reductionMode = in_struct->reductionMode;
20139     pNext = SafePnextCopy(in_struct->pNext);
20140 }
20141 
initialize(const safe_VkSamplerReductionModeCreateInfoEXT * src)20142 void safe_VkSamplerReductionModeCreateInfoEXT::initialize(const safe_VkSamplerReductionModeCreateInfoEXT* src)
20143 {
20144     sType = src->sType;
20145     reductionMode = src->reductionMode;
20146     pNext = SafePnextCopy(src->pNext);
20147 }
20148 
safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT * in_struct)20149 safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* in_struct) :
20150     sType(in_struct->sType),
20151     filterMinmaxSingleComponentFormats(in_struct->filterMinmaxSingleComponentFormats),
20152     filterMinmaxImageComponentMapping(in_struct->filterMinmaxImageComponentMapping)
20153 {
20154     pNext = SafePnextCopy(in_struct->pNext);
20155 }
20156 
safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT()20157 safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT() :
20158     pNext(nullptr)
20159 {}
20160 
safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT & src)20161 safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& src)
20162 {
20163     sType = src.sType;
20164     filterMinmaxSingleComponentFormats = src.filterMinmaxSingleComponentFormats;
20165     filterMinmaxImageComponentMapping = src.filterMinmaxImageComponentMapping;
20166     pNext = SafePnextCopy(src.pNext);
20167 }
20168 
operator =(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT & src)20169 safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::operator=(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& src)
20170 {
20171     if (&src == this) return *this;
20172 
20173     if (pNext)
20174         FreePnextChain(pNext);
20175 
20176     sType = src.sType;
20177     filterMinmaxSingleComponentFormats = src.filterMinmaxSingleComponentFormats;
20178     filterMinmaxImageComponentMapping = src.filterMinmaxImageComponentMapping;
20179     pNext = SafePnextCopy(src.pNext);
20180 
20181     return *this;
20182 }
20183 
~safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT()20184 safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::~safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT()
20185 {
20186     if (pNext)
20187         FreePnextChain(pNext);
20188 }
20189 
initialize(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT * in_struct)20190 void safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::initialize(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* in_struct)
20191 {
20192     sType = in_struct->sType;
20193     filterMinmaxSingleComponentFormats = in_struct->filterMinmaxSingleComponentFormats;
20194     filterMinmaxImageComponentMapping = in_struct->filterMinmaxImageComponentMapping;
20195     pNext = SafePnextCopy(in_struct->pNext);
20196 }
20197 
initialize(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT * src)20198 void safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::initialize(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* src)
20199 {
20200     sType = src->sType;
20201     filterMinmaxSingleComponentFormats = src->filterMinmaxSingleComponentFormats;
20202     filterMinmaxImageComponentMapping = src->filterMinmaxImageComponentMapping;
20203     pNext = SafePnextCopy(src->pNext);
20204 }
20205 
safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT * in_struct)20206 safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* in_struct) :
20207     sType(in_struct->sType),
20208     inlineUniformBlock(in_struct->inlineUniformBlock),
20209     descriptorBindingInlineUniformBlockUpdateAfterBind(in_struct->descriptorBindingInlineUniformBlockUpdateAfterBind)
20210 {
20211     pNext = SafePnextCopy(in_struct->pNext);
20212 }
20213 
safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT()20214 safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT() :
20215     pNext(nullptr)
20216 {}
20217 
safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT & src)20218 safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& src)
20219 {
20220     sType = src.sType;
20221     inlineUniformBlock = src.inlineUniformBlock;
20222     descriptorBindingInlineUniformBlockUpdateAfterBind = src.descriptorBindingInlineUniformBlockUpdateAfterBind;
20223     pNext = SafePnextCopy(src.pNext);
20224 }
20225 
operator =(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT & src)20226 safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::operator=(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& src)
20227 {
20228     if (&src == this) return *this;
20229 
20230     if (pNext)
20231         FreePnextChain(pNext);
20232 
20233     sType = src.sType;
20234     inlineUniformBlock = src.inlineUniformBlock;
20235     descriptorBindingInlineUniformBlockUpdateAfterBind = src.descriptorBindingInlineUniformBlockUpdateAfterBind;
20236     pNext = SafePnextCopy(src.pNext);
20237 
20238     return *this;
20239 }
20240 
~safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT()20241 safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::~safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT()
20242 {
20243     if (pNext)
20244         FreePnextChain(pNext);
20245 }
20246 
initialize(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT * in_struct)20247 void safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::initialize(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* in_struct)
20248 {
20249     sType = in_struct->sType;
20250     inlineUniformBlock = in_struct->inlineUniformBlock;
20251     descriptorBindingInlineUniformBlockUpdateAfterBind = in_struct->descriptorBindingInlineUniformBlockUpdateAfterBind;
20252     pNext = SafePnextCopy(in_struct->pNext);
20253 }
20254 
initialize(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT * src)20255 void safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::initialize(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT* src)
20256 {
20257     sType = src->sType;
20258     inlineUniformBlock = src->inlineUniformBlock;
20259     descriptorBindingInlineUniformBlockUpdateAfterBind = src->descriptorBindingInlineUniformBlockUpdateAfterBind;
20260     pNext = SafePnextCopy(src->pNext);
20261 }
20262 
safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT * in_struct)20263 safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* in_struct) :
20264     sType(in_struct->sType),
20265     maxInlineUniformBlockSize(in_struct->maxInlineUniformBlockSize),
20266     maxPerStageDescriptorInlineUniformBlocks(in_struct->maxPerStageDescriptorInlineUniformBlocks),
20267     maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(in_struct->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks),
20268     maxDescriptorSetInlineUniformBlocks(in_struct->maxDescriptorSetInlineUniformBlocks),
20269     maxDescriptorSetUpdateAfterBindInlineUniformBlocks(in_struct->maxDescriptorSetUpdateAfterBindInlineUniformBlocks)
20270 {
20271     pNext = SafePnextCopy(in_struct->pNext);
20272 }
20273 
safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT()20274 safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT() :
20275     pNext(nullptr)
20276 {}
20277 
safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT & src)20278 safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& src)
20279 {
20280     sType = src.sType;
20281     maxInlineUniformBlockSize = src.maxInlineUniformBlockSize;
20282     maxPerStageDescriptorInlineUniformBlocks = src.maxPerStageDescriptorInlineUniformBlocks;
20283     maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20284     maxDescriptorSetInlineUniformBlocks = src.maxDescriptorSetInlineUniformBlocks;
20285     maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src.maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
20286     pNext = SafePnextCopy(src.pNext);
20287 }
20288 
operator =(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT & src)20289 safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::operator=(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& src)
20290 {
20291     if (&src == this) return *this;
20292 
20293     if (pNext)
20294         FreePnextChain(pNext);
20295 
20296     sType = src.sType;
20297     maxInlineUniformBlockSize = src.maxInlineUniformBlockSize;
20298     maxPerStageDescriptorInlineUniformBlocks = src.maxPerStageDescriptorInlineUniformBlocks;
20299     maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20300     maxDescriptorSetInlineUniformBlocks = src.maxDescriptorSetInlineUniformBlocks;
20301     maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src.maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
20302     pNext = SafePnextCopy(src.pNext);
20303 
20304     return *this;
20305 }
20306 
~safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT()20307 safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::~safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT()
20308 {
20309     if (pNext)
20310         FreePnextChain(pNext);
20311 }
20312 
initialize(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT * in_struct)20313 void safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::initialize(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* in_struct)
20314 {
20315     sType = in_struct->sType;
20316     maxInlineUniformBlockSize = in_struct->maxInlineUniformBlockSize;
20317     maxPerStageDescriptorInlineUniformBlocks = in_struct->maxPerStageDescriptorInlineUniformBlocks;
20318     maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = in_struct->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20319     maxDescriptorSetInlineUniformBlocks = in_struct->maxDescriptorSetInlineUniformBlocks;
20320     maxDescriptorSetUpdateAfterBindInlineUniformBlocks = in_struct->maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
20321     pNext = SafePnextCopy(in_struct->pNext);
20322 }
20323 
initialize(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT * src)20324 void safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::initialize(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT* src)
20325 {
20326     sType = src->sType;
20327     maxInlineUniformBlockSize = src->maxInlineUniformBlockSize;
20328     maxPerStageDescriptorInlineUniformBlocks = src->maxPerStageDescriptorInlineUniformBlocks;
20329     maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20330     maxDescriptorSetInlineUniformBlocks = src->maxDescriptorSetInlineUniformBlocks;
20331     maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src->maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
20332     pNext = SafePnextCopy(src->pNext);
20333 }
20334 
safe_VkWriteDescriptorSetInlineUniformBlockEXT(const VkWriteDescriptorSetInlineUniformBlockEXT * in_struct)20335 safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT(const VkWriteDescriptorSetInlineUniformBlockEXT* in_struct) :
20336     sType(in_struct->sType),
20337     dataSize(in_struct->dataSize),
20338     pData(in_struct->pData)
20339 {
20340     pNext = SafePnextCopy(in_struct->pNext);
20341 }
20342 
safe_VkWriteDescriptorSetInlineUniformBlockEXT()20343 safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT() :
20344     pNext(nullptr),
20345     pData(nullptr)
20346 {}
20347 
safe_VkWriteDescriptorSetInlineUniformBlockEXT(const safe_VkWriteDescriptorSetInlineUniformBlockEXT & src)20348 safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT(const safe_VkWriteDescriptorSetInlineUniformBlockEXT& src)
20349 {
20350     sType = src.sType;
20351     dataSize = src.dataSize;
20352     pData = src.pData;
20353     pNext = SafePnextCopy(src.pNext);
20354 }
20355 
operator =(const safe_VkWriteDescriptorSetInlineUniformBlockEXT & src)20356 safe_VkWriteDescriptorSetInlineUniformBlockEXT& safe_VkWriteDescriptorSetInlineUniformBlockEXT::operator=(const safe_VkWriteDescriptorSetInlineUniformBlockEXT& src)
20357 {
20358     if (&src == this) return *this;
20359 
20360     if (pNext)
20361         FreePnextChain(pNext);
20362 
20363     sType = src.sType;
20364     dataSize = src.dataSize;
20365     pData = src.pData;
20366     pNext = SafePnextCopy(src.pNext);
20367 
20368     return *this;
20369 }
20370 
~safe_VkWriteDescriptorSetInlineUniformBlockEXT()20371 safe_VkWriteDescriptorSetInlineUniformBlockEXT::~safe_VkWriteDescriptorSetInlineUniformBlockEXT()
20372 {
20373     if (pNext)
20374         FreePnextChain(pNext);
20375 }
20376 
initialize(const VkWriteDescriptorSetInlineUniformBlockEXT * in_struct)20377 void safe_VkWriteDescriptorSetInlineUniformBlockEXT::initialize(const VkWriteDescriptorSetInlineUniformBlockEXT* in_struct)
20378 {
20379     sType = in_struct->sType;
20380     dataSize = in_struct->dataSize;
20381     pData = in_struct->pData;
20382     pNext = SafePnextCopy(in_struct->pNext);
20383 }
20384 
initialize(const safe_VkWriteDescriptorSetInlineUniformBlockEXT * src)20385 void safe_VkWriteDescriptorSetInlineUniformBlockEXT::initialize(const safe_VkWriteDescriptorSetInlineUniformBlockEXT* src)
20386 {
20387     sType = src->sType;
20388     dataSize = src->dataSize;
20389     pData = src->pData;
20390     pNext = SafePnextCopy(src->pNext);
20391 }
20392 
safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT * in_struct)20393 safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* in_struct) :
20394     sType(in_struct->sType),
20395     maxInlineUniformBlockBindings(in_struct->maxInlineUniformBlockBindings)
20396 {
20397     pNext = SafePnextCopy(in_struct->pNext);
20398 }
20399 
safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT()20400 safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT() :
20401     pNext(nullptr)
20402 {}
20403 
safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT & src)20404 safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& src)
20405 {
20406     sType = src.sType;
20407     maxInlineUniformBlockBindings = src.maxInlineUniformBlockBindings;
20408     pNext = SafePnextCopy(src.pNext);
20409 }
20410 
operator =(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT & src)20411 safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::operator=(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& src)
20412 {
20413     if (&src == this) return *this;
20414 
20415     if (pNext)
20416         FreePnextChain(pNext);
20417 
20418     sType = src.sType;
20419     maxInlineUniformBlockBindings = src.maxInlineUniformBlockBindings;
20420     pNext = SafePnextCopy(src.pNext);
20421 
20422     return *this;
20423 }
20424 
~safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT()20425 safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::~safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT()
20426 {
20427     if (pNext)
20428         FreePnextChain(pNext);
20429 }
20430 
initialize(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT * in_struct)20431 void safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::initialize(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* in_struct)
20432 {
20433     sType = in_struct->sType;
20434     maxInlineUniformBlockBindings = in_struct->maxInlineUniformBlockBindings;
20435     pNext = SafePnextCopy(in_struct->pNext);
20436 }
20437 
initialize(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT * src)20438 void safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::initialize(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT* src)
20439 {
20440     sType = src->sType;
20441     maxInlineUniformBlockBindings = src->maxInlineUniformBlockBindings;
20442     pNext = SafePnextCopy(src->pNext);
20443 }
20444 
safe_VkSampleLocationsInfoEXT(const VkSampleLocationsInfoEXT * in_struct)20445 safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const VkSampleLocationsInfoEXT* in_struct) :
20446     sType(in_struct->sType),
20447     sampleLocationsPerPixel(in_struct->sampleLocationsPerPixel),
20448     sampleLocationGridSize(in_struct->sampleLocationGridSize),
20449     sampleLocationsCount(in_struct->sampleLocationsCount),
20450     pSampleLocations(nullptr)
20451 {
20452     pNext = SafePnextCopy(in_struct->pNext);
20453     if (in_struct->pSampleLocations) {
20454         pSampleLocations = new VkSampleLocationEXT[in_struct->sampleLocationsCount];
20455         memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkSampleLocationEXT)*in_struct->sampleLocationsCount);
20456     }
20457 }
20458 
safe_VkSampleLocationsInfoEXT()20459 safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT() :
20460     pNext(nullptr),
20461     pSampleLocations(nullptr)
20462 {}
20463 
safe_VkSampleLocationsInfoEXT(const safe_VkSampleLocationsInfoEXT & src)20464 safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const safe_VkSampleLocationsInfoEXT& src)
20465 {
20466     sType = src.sType;
20467     sampleLocationsPerPixel = src.sampleLocationsPerPixel;
20468     sampleLocationGridSize = src.sampleLocationGridSize;
20469     sampleLocationsCount = src.sampleLocationsCount;
20470     pSampleLocations = nullptr;
20471     pNext = SafePnextCopy(src.pNext);
20472     if (src.pSampleLocations) {
20473         pSampleLocations = new VkSampleLocationEXT[src.sampleLocationsCount];
20474         memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkSampleLocationEXT)*src.sampleLocationsCount);
20475     }
20476 }
20477 
operator =(const safe_VkSampleLocationsInfoEXT & src)20478 safe_VkSampleLocationsInfoEXT& safe_VkSampleLocationsInfoEXT::operator=(const safe_VkSampleLocationsInfoEXT& src)
20479 {
20480     if (&src == this) return *this;
20481 
20482     if (pSampleLocations)
20483         delete[] pSampleLocations;
20484     if (pNext)
20485         FreePnextChain(pNext);
20486 
20487     sType = src.sType;
20488     sampleLocationsPerPixel = src.sampleLocationsPerPixel;
20489     sampleLocationGridSize = src.sampleLocationGridSize;
20490     sampleLocationsCount = src.sampleLocationsCount;
20491     pSampleLocations = nullptr;
20492     pNext = SafePnextCopy(src.pNext);
20493     if (src.pSampleLocations) {
20494         pSampleLocations = new VkSampleLocationEXT[src.sampleLocationsCount];
20495         memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkSampleLocationEXT)*src.sampleLocationsCount);
20496     }
20497 
20498     return *this;
20499 }
20500 
~safe_VkSampleLocationsInfoEXT()20501 safe_VkSampleLocationsInfoEXT::~safe_VkSampleLocationsInfoEXT()
20502 {
20503     if (pSampleLocations)
20504         delete[] pSampleLocations;
20505     if (pNext)
20506         FreePnextChain(pNext);
20507 }
20508 
initialize(const VkSampleLocationsInfoEXT * in_struct)20509 void safe_VkSampleLocationsInfoEXT::initialize(const VkSampleLocationsInfoEXT* in_struct)
20510 {
20511     sType = in_struct->sType;
20512     sampleLocationsPerPixel = in_struct->sampleLocationsPerPixel;
20513     sampleLocationGridSize = in_struct->sampleLocationGridSize;
20514     sampleLocationsCount = in_struct->sampleLocationsCount;
20515     pSampleLocations = nullptr;
20516     pNext = SafePnextCopy(in_struct->pNext);
20517     if (in_struct->pSampleLocations) {
20518         pSampleLocations = new VkSampleLocationEXT[in_struct->sampleLocationsCount];
20519         memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkSampleLocationEXT)*in_struct->sampleLocationsCount);
20520     }
20521 }
20522 
initialize(const safe_VkSampleLocationsInfoEXT * src)20523 void safe_VkSampleLocationsInfoEXT::initialize(const safe_VkSampleLocationsInfoEXT* src)
20524 {
20525     sType = src->sType;
20526     sampleLocationsPerPixel = src->sampleLocationsPerPixel;
20527     sampleLocationGridSize = src->sampleLocationGridSize;
20528     sampleLocationsCount = src->sampleLocationsCount;
20529     pSampleLocations = nullptr;
20530     pNext = SafePnextCopy(src->pNext);
20531     if (src->pSampleLocations) {
20532         pSampleLocations = new VkSampleLocationEXT[src->sampleLocationsCount];
20533         memcpy ((void *)pSampleLocations, (void *)src->pSampleLocations, sizeof(VkSampleLocationEXT)*src->sampleLocationsCount);
20534     }
20535 }
20536 
safe_VkRenderPassSampleLocationsBeginInfoEXT(const VkRenderPassSampleLocationsBeginInfoEXT * in_struct)20537 safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT(const VkRenderPassSampleLocationsBeginInfoEXT* in_struct) :
20538     sType(in_struct->sType),
20539     attachmentInitialSampleLocationsCount(in_struct->attachmentInitialSampleLocationsCount),
20540     pAttachmentInitialSampleLocations(nullptr),
20541     postSubpassSampleLocationsCount(in_struct->postSubpassSampleLocationsCount),
20542     pPostSubpassSampleLocations(nullptr)
20543 {
20544     pNext = SafePnextCopy(in_struct->pNext);
20545     if (in_struct->pAttachmentInitialSampleLocations) {
20546         pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[in_struct->attachmentInitialSampleLocationsCount];
20547         memcpy ((void *)pAttachmentInitialSampleLocations, (void *)in_struct->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*in_struct->attachmentInitialSampleLocationsCount);
20548     }
20549     if (in_struct->pPostSubpassSampleLocations) {
20550         pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[in_struct->postSubpassSampleLocationsCount];
20551         memcpy ((void *)pPostSubpassSampleLocations, (void *)in_struct->pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*in_struct->postSubpassSampleLocationsCount);
20552     }
20553 }
20554 
safe_VkRenderPassSampleLocationsBeginInfoEXT()20555 safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT() :
20556     pNext(nullptr),
20557     pAttachmentInitialSampleLocations(nullptr),
20558     pPostSubpassSampleLocations(nullptr)
20559 {}
20560 
safe_VkRenderPassSampleLocationsBeginInfoEXT(const safe_VkRenderPassSampleLocationsBeginInfoEXT & src)20561 safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT(const safe_VkRenderPassSampleLocationsBeginInfoEXT& src)
20562 {
20563     sType = src.sType;
20564     attachmentInitialSampleLocationsCount = src.attachmentInitialSampleLocationsCount;
20565     pAttachmentInitialSampleLocations = nullptr;
20566     postSubpassSampleLocationsCount = src.postSubpassSampleLocationsCount;
20567     pPostSubpassSampleLocations = nullptr;
20568     pNext = SafePnextCopy(src.pNext);
20569     if (src.pAttachmentInitialSampleLocations) {
20570         pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src.attachmentInitialSampleLocationsCount];
20571         memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src.pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src.attachmentInitialSampleLocationsCount);
20572     }
20573     if (src.pPostSubpassSampleLocations) {
20574         pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[src.postSubpassSampleLocationsCount];
20575         memcpy ((void *)pPostSubpassSampleLocations, (void *)src.pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*src.postSubpassSampleLocationsCount);
20576     }
20577 }
20578 
operator =(const safe_VkRenderPassSampleLocationsBeginInfoEXT & src)20579 safe_VkRenderPassSampleLocationsBeginInfoEXT& safe_VkRenderPassSampleLocationsBeginInfoEXT::operator=(const safe_VkRenderPassSampleLocationsBeginInfoEXT& src)
20580 {
20581     if (&src == this) return *this;
20582 
20583     if (pAttachmentInitialSampleLocations)
20584         delete[] pAttachmentInitialSampleLocations;
20585     if (pPostSubpassSampleLocations)
20586         delete[] pPostSubpassSampleLocations;
20587     if (pNext)
20588         FreePnextChain(pNext);
20589 
20590     sType = src.sType;
20591     attachmentInitialSampleLocationsCount = src.attachmentInitialSampleLocationsCount;
20592     pAttachmentInitialSampleLocations = nullptr;
20593     postSubpassSampleLocationsCount = src.postSubpassSampleLocationsCount;
20594     pPostSubpassSampleLocations = nullptr;
20595     pNext = SafePnextCopy(src.pNext);
20596     if (src.pAttachmentInitialSampleLocations) {
20597         pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src.attachmentInitialSampleLocationsCount];
20598         memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src.pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src.attachmentInitialSampleLocationsCount);
20599     }
20600     if (src.pPostSubpassSampleLocations) {
20601         pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[src.postSubpassSampleLocationsCount];
20602         memcpy ((void *)pPostSubpassSampleLocations, (void *)src.pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*src.postSubpassSampleLocationsCount);
20603     }
20604 
20605     return *this;
20606 }
20607 
~safe_VkRenderPassSampleLocationsBeginInfoEXT()20608 safe_VkRenderPassSampleLocationsBeginInfoEXT::~safe_VkRenderPassSampleLocationsBeginInfoEXT()
20609 {
20610     if (pAttachmentInitialSampleLocations)
20611         delete[] pAttachmentInitialSampleLocations;
20612     if (pPostSubpassSampleLocations)
20613         delete[] pPostSubpassSampleLocations;
20614     if (pNext)
20615         FreePnextChain(pNext);
20616 }
20617 
initialize(const VkRenderPassSampleLocationsBeginInfoEXT * in_struct)20618 void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const VkRenderPassSampleLocationsBeginInfoEXT* in_struct)
20619 {
20620     sType = in_struct->sType;
20621     attachmentInitialSampleLocationsCount = in_struct->attachmentInitialSampleLocationsCount;
20622     pAttachmentInitialSampleLocations = nullptr;
20623     postSubpassSampleLocationsCount = in_struct->postSubpassSampleLocationsCount;
20624     pPostSubpassSampleLocations = nullptr;
20625     pNext = SafePnextCopy(in_struct->pNext);
20626     if (in_struct->pAttachmentInitialSampleLocations) {
20627         pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[in_struct->attachmentInitialSampleLocationsCount];
20628         memcpy ((void *)pAttachmentInitialSampleLocations, (void *)in_struct->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*in_struct->attachmentInitialSampleLocationsCount);
20629     }
20630     if (in_struct->pPostSubpassSampleLocations) {
20631         pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[in_struct->postSubpassSampleLocationsCount];
20632         memcpy ((void *)pPostSubpassSampleLocations, (void *)in_struct->pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*in_struct->postSubpassSampleLocationsCount);
20633     }
20634 }
20635 
initialize(const safe_VkRenderPassSampleLocationsBeginInfoEXT * src)20636 void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const safe_VkRenderPassSampleLocationsBeginInfoEXT* src)
20637 {
20638     sType = src->sType;
20639     attachmentInitialSampleLocationsCount = src->attachmentInitialSampleLocationsCount;
20640     pAttachmentInitialSampleLocations = nullptr;
20641     postSubpassSampleLocationsCount = src->postSubpassSampleLocationsCount;
20642     pPostSubpassSampleLocations = nullptr;
20643     pNext = SafePnextCopy(src->pNext);
20644     if (src->pAttachmentInitialSampleLocations) {
20645         pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src->attachmentInitialSampleLocationsCount];
20646         memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src->attachmentInitialSampleLocationsCount);
20647     }
20648     if (src->pPostSubpassSampleLocations) {
20649         pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[src->postSubpassSampleLocationsCount];
20650         memcpy ((void *)pPostSubpassSampleLocations, (void *)src->pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*src->postSubpassSampleLocationsCount);
20651     }
20652 }
20653 
safe_VkPipelineSampleLocationsStateCreateInfoEXT(const VkPipelineSampleLocationsStateCreateInfoEXT * in_struct)20654 safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT(const VkPipelineSampleLocationsStateCreateInfoEXT* in_struct) :
20655     sType(in_struct->sType),
20656     sampleLocationsEnable(in_struct->sampleLocationsEnable),
20657     sampleLocationsInfo(&in_struct->sampleLocationsInfo)
20658 {
20659     pNext = SafePnextCopy(in_struct->pNext);
20660 }
20661 
safe_VkPipelineSampleLocationsStateCreateInfoEXT()20662 safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT() :
20663     pNext(nullptr)
20664 {}
20665 
safe_VkPipelineSampleLocationsStateCreateInfoEXT(const safe_VkPipelineSampleLocationsStateCreateInfoEXT & src)20666 safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT(const safe_VkPipelineSampleLocationsStateCreateInfoEXT& src)
20667 {
20668     sType = src.sType;
20669     sampleLocationsEnable = src.sampleLocationsEnable;
20670     sampleLocationsInfo.initialize(&src.sampleLocationsInfo);
20671     pNext = SafePnextCopy(src.pNext);
20672 }
20673 
operator =(const safe_VkPipelineSampleLocationsStateCreateInfoEXT & src)20674 safe_VkPipelineSampleLocationsStateCreateInfoEXT& safe_VkPipelineSampleLocationsStateCreateInfoEXT::operator=(const safe_VkPipelineSampleLocationsStateCreateInfoEXT& src)
20675 {
20676     if (&src == this) return *this;
20677 
20678     if (pNext)
20679         FreePnextChain(pNext);
20680 
20681     sType = src.sType;
20682     sampleLocationsEnable = src.sampleLocationsEnable;
20683     sampleLocationsInfo.initialize(&src.sampleLocationsInfo);
20684     pNext = SafePnextCopy(src.pNext);
20685 
20686     return *this;
20687 }
20688 
~safe_VkPipelineSampleLocationsStateCreateInfoEXT()20689 safe_VkPipelineSampleLocationsStateCreateInfoEXT::~safe_VkPipelineSampleLocationsStateCreateInfoEXT()
20690 {
20691     if (pNext)
20692         FreePnextChain(pNext);
20693 }
20694 
initialize(const VkPipelineSampleLocationsStateCreateInfoEXT * in_struct)20695 void safe_VkPipelineSampleLocationsStateCreateInfoEXT::initialize(const VkPipelineSampleLocationsStateCreateInfoEXT* in_struct)
20696 {
20697     sType = in_struct->sType;
20698     sampleLocationsEnable = in_struct->sampleLocationsEnable;
20699     sampleLocationsInfo.initialize(&in_struct->sampleLocationsInfo);
20700     pNext = SafePnextCopy(in_struct->pNext);
20701 }
20702 
initialize(const safe_VkPipelineSampleLocationsStateCreateInfoEXT * src)20703 void safe_VkPipelineSampleLocationsStateCreateInfoEXT::initialize(const safe_VkPipelineSampleLocationsStateCreateInfoEXT* src)
20704 {
20705     sType = src->sType;
20706     sampleLocationsEnable = src->sampleLocationsEnable;
20707     sampleLocationsInfo.initialize(&src->sampleLocationsInfo);
20708     pNext = SafePnextCopy(src->pNext);
20709 }
20710 
safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const VkPhysicalDeviceSampleLocationsPropertiesEXT * in_struct)20711 safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const VkPhysicalDeviceSampleLocationsPropertiesEXT* in_struct) :
20712     sType(in_struct->sType),
20713     sampleLocationSampleCounts(in_struct->sampleLocationSampleCounts),
20714     maxSampleLocationGridSize(in_struct->maxSampleLocationGridSize),
20715     sampleLocationSubPixelBits(in_struct->sampleLocationSubPixelBits),
20716     variableSampleLocations(in_struct->variableSampleLocations)
20717 {
20718     pNext = SafePnextCopy(in_struct->pNext);
20719     for (uint32_t i = 0; i < 2; ++i) {
20720         sampleLocationCoordinateRange[i] = in_struct->sampleLocationCoordinateRange[i];
20721     }
20722 }
20723 
safe_VkPhysicalDeviceSampleLocationsPropertiesEXT()20724 safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT() :
20725     pNext(nullptr)
20726 {}
20727 
safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT & src)20728 safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& src)
20729 {
20730     sType = src.sType;
20731     sampleLocationSampleCounts = src.sampleLocationSampleCounts;
20732     maxSampleLocationGridSize = src.maxSampleLocationGridSize;
20733     sampleLocationSubPixelBits = src.sampleLocationSubPixelBits;
20734     variableSampleLocations = src.variableSampleLocations;
20735     pNext = SafePnextCopy(src.pNext);
20736     for (uint32_t i = 0; i < 2; ++i) {
20737         sampleLocationCoordinateRange[i] = src.sampleLocationCoordinateRange[i];
20738     }
20739 }
20740 
operator =(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT & src)20741 safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::operator=(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& src)
20742 {
20743     if (&src == this) return *this;
20744 
20745     if (pNext)
20746         FreePnextChain(pNext);
20747 
20748     sType = src.sType;
20749     sampleLocationSampleCounts = src.sampleLocationSampleCounts;
20750     maxSampleLocationGridSize = src.maxSampleLocationGridSize;
20751     sampleLocationSubPixelBits = src.sampleLocationSubPixelBits;
20752     variableSampleLocations = src.variableSampleLocations;
20753     pNext = SafePnextCopy(src.pNext);
20754     for (uint32_t i = 0; i < 2; ++i) {
20755         sampleLocationCoordinateRange[i] = src.sampleLocationCoordinateRange[i];
20756     }
20757 
20758     return *this;
20759 }
20760 
~safe_VkPhysicalDeviceSampleLocationsPropertiesEXT()20761 safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::~safe_VkPhysicalDeviceSampleLocationsPropertiesEXT()
20762 {
20763     if (pNext)
20764         FreePnextChain(pNext);
20765 }
20766 
initialize(const VkPhysicalDeviceSampleLocationsPropertiesEXT * in_struct)20767 void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const VkPhysicalDeviceSampleLocationsPropertiesEXT* in_struct)
20768 {
20769     sType = in_struct->sType;
20770     sampleLocationSampleCounts = in_struct->sampleLocationSampleCounts;
20771     maxSampleLocationGridSize = in_struct->maxSampleLocationGridSize;
20772     sampleLocationSubPixelBits = in_struct->sampleLocationSubPixelBits;
20773     variableSampleLocations = in_struct->variableSampleLocations;
20774     pNext = SafePnextCopy(in_struct->pNext);
20775     for (uint32_t i = 0; i < 2; ++i) {
20776         sampleLocationCoordinateRange[i] = in_struct->sampleLocationCoordinateRange[i];
20777     }
20778 }
20779 
initialize(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT * src)20780 void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT* src)
20781 {
20782     sType = src->sType;
20783     sampleLocationSampleCounts = src->sampleLocationSampleCounts;
20784     maxSampleLocationGridSize = src->maxSampleLocationGridSize;
20785     sampleLocationSubPixelBits = src->sampleLocationSubPixelBits;
20786     variableSampleLocations = src->variableSampleLocations;
20787     pNext = SafePnextCopy(src->pNext);
20788     for (uint32_t i = 0; i < 2; ++i) {
20789         sampleLocationCoordinateRange[i] = src->sampleLocationCoordinateRange[i];
20790     }
20791 }
20792 
safe_VkMultisamplePropertiesEXT(const VkMultisamplePropertiesEXT * in_struct)20793 safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT(const VkMultisamplePropertiesEXT* in_struct) :
20794     sType(in_struct->sType),
20795     maxSampleLocationGridSize(in_struct->maxSampleLocationGridSize)
20796 {
20797     pNext = SafePnextCopy(in_struct->pNext);
20798 }
20799 
safe_VkMultisamplePropertiesEXT()20800 safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT() :
20801     pNext(nullptr)
20802 {}
20803 
safe_VkMultisamplePropertiesEXT(const safe_VkMultisamplePropertiesEXT & src)20804 safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT(const safe_VkMultisamplePropertiesEXT& src)
20805 {
20806     sType = src.sType;
20807     maxSampleLocationGridSize = src.maxSampleLocationGridSize;
20808     pNext = SafePnextCopy(src.pNext);
20809 }
20810 
operator =(const safe_VkMultisamplePropertiesEXT & src)20811 safe_VkMultisamplePropertiesEXT& safe_VkMultisamplePropertiesEXT::operator=(const safe_VkMultisamplePropertiesEXT& src)
20812 {
20813     if (&src == this) return *this;
20814 
20815     if (pNext)
20816         FreePnextChain(pNext);
20817 
20818     sType = src.sType;
20819     maxSampleLocationGridSize = src.maxSampleLocationGridSize;
20820     pNext = SafePnextCopy(src.pNext);
20821 
20822     return *this;
20823 }
20824 
~safe_VkMultisamplePropertiesEXT()20825 safe_VkMultisamplePropertiesEXT::~safe_VkMultisamplePropertiesEXT()
20826 {
20827     if (pNext)
20828         FreePnextChain(pNext);
20829 }
20830 
initialize(const VkMultisamplePropertiesEXT * in_struct)20831 void safe_VkMultisamplePropertiesEXT::initialize(const VkMultisamplePropertiesEXT* in_struct)
20832 {
20833     sType = in_struct->sType;
20834     maxSampleLocationGridSize = in_struct->maxSampleLocationGridSize;
20835     pNext = SafePnextCopy(in_struct->pNext);
20836 }
20837 
initialize(const safe_VkMultisamplePropertiesEXT * src)20838 void safe_VkMultisamplePropertiesEXT::initialize(const safe_VkMultisamplePropertiesEXT* src)
20839 {
20840     sType = src->sType;
20841     maxSampleLocationGridSize = src->maxSampleLocationGridSize;
20842     pNext = SafePnextCopy(src->pNext);
20843 }
20844 
safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT * in_struct)20845 safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* in_struct) :
20846     sType(in_struct->sType),
20847     advancedBlendCoherentOperations(in_struct->advancedBlendCoherentOperations)
20848 {
20849     pNext = SafePnextCopy(in_struct->pNext);
20850 }
20851 
safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT()20852 safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT() :
20853     pNext(nullptr)
20854 {}
20855 
safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT & src)20856 safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& src)
20857 {
20858     sType = src.sType;
20859     advancedBlendCoherentOperations = src.advancedBlendCoherentOperations;
20860     pNext = SafePnextCopy(src.pNext);
20861 }
20862 
operator =(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT & src)20863 safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::operator=(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& src)
20864 {
20865     if (&src == this) return *this;
20866 
20867     if (pNext)
20868         FreePnextChain(pNext);
20869 
20870     sType = src.sType;
20871     advancedBlendCoherentOperations = src.advancedBlendCoherentOperations;
20872     pNext = SafePnextCopy(src.pNext);
20873 
20874     return *this;
20875 }
20876 
~safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT()20877 safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::~safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT()
20878 {
20879     if (pNext)
20880         FreePnextChain(pNext);
20881 }
20882 
initialize(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT * in_struct)20883 void safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::initialize(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* in_struct)
20884 {
20885     sType = in_struct->sType;
20886     advancedBlendCoherentOperations = in_struct->advancedBlendCoherentOperations;
20887     pNext = SafePnextCopy(in_struct->pNext);
20888 }
20889 
initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT * src)20890 void safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* src)
20891 {
20892     sType = src->sType;
20893     advancedBlendCoherentOperations = src->advancedBlendCoherentOperations;
20894     pNext = SafePnextCopy(src->pNext);
20895 }
20896 
safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT * in_struct)20897 safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* in_struct) :
20898     sType(in_struct->sType),
20899     advancedBlendMaxColorAttachments(in_struct->advancedBlendMaxColorAttachments),
20900     advancedBlendIndependentBlend(in_struct->advancedBlendIndependentBlend),
20901     advancedBlendNonPremultipliedSrcColor(in_struct->advancedBlendNonPremultipliedSrcColor),
20902     advancedBlendNonPremultipliedDstColor(in_struct->advancedBlendNonPremultipliedDstColor),
20903     advancedBlendCorrelatedOverlap(in_struct->advancedBlendCorrelatedOverlap),
20904     advancedBlendAllOperations(in_struct->advancedBlendAllOperations)
20905 {
20906     pNext = SafePnextCopy(in_struct->pNext);
20907 }
20908 
safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT()20909 safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT() :
20910     pNext(nullptr)
20911 {}
20912 
safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT & src)20913 safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& src)
20914 {
20915     sType = src.sType;
20916     advancedBlendMaxColorAttachments = src.advancedBlendMaxColorAttachments;
20917     advancedBlendIndependentBlend = src.advancedBlendIndependentBlend;
20918     advancedBlendNonPremultipliedSrcColor = src.advancedBlendNonPremultipliedSrcColor;
20919     advancedBlendNonPremultipliedDstColor = src.advancedBlendNonPremultipliedDstColor;
20920     advancedBlendCorrelatedOverlap = src.advancedBlendCorrelatedOverlap;
20921     advancedBlendAllOperations = src.advancedBlendAllOperations;
20922     pNext = SafePnextCopy(src.pNext);
20923 }
20924 
operator =(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT & src)20925 safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::operator=(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& src)
20926 {
20927     if (&src == this) return *this;
20928 
20929     if (pNext)
20930         FreePnextChain(pNext);
20931 
20932     sType = src.sType;
20933     advancedBlendMaxColorAttachments = src.advancedBlendMaxColorAttachments;
20934     advancedBlendIndependentBlend = src.advancedBlendIndependentBlend;
20935     advancedBlendNonPremultipliedSrcColor = src.advancedBlendNonPremultipliedSrcColor;
20936     advancedBlendNonPremultipliedDstColor = src.advancedBlendNonPremultipliedDstColor;
20937     advancedBlendCorrelatedOverlap = src.advancedBlendCorrelatedOverlap;
20938     advancedBlendAllOperations = src.advancedBlendAllOperations;
20939     pNext = SafePnextCopy(src.pNext);
20940 
20941     return *this;
20942 }
20943 
~safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT()20944 safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::~safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT()
20945 {
20946     if (pNext)
20947         FreePnextChain(pNext);
20948 }
20949 
initialize(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT * in_struct)20950 void safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::initialize(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* in_struct)
20951 {
20952     sType = in_struct->sType;
20953     advancedBlendMaxColorAttachments = in_struct->advancedBlendMaxColorAttachments;
20954     advancedBlendIndependentBlend = in_struct->advancedBlendIndependentBlend;
20955     advancedBlendNonPremultipliedSrcColor = in_struct->advancedBlendNonPremultipliedSrcColor;
20956     advancedBlendNonPremultipliedDstColor = in_struct->advancedBlendNonPremultipliedDstColor;
20957     advancedBlendCorrelatedOverlap = in_struct->advancedBlendCorrelatedOverlap;
20958     advancedBlendAllOperations = in_struct->advancedBlendAllOperations;
20959     pNext = SafePnextCopy(in_struct->pNext);
20960 }
20961 
initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT * src)20962 void safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* src)
20963 {
20964     sType = src->sType;
20965     advancedBlendMaxColorAttachments = src->advancedBlendMaxColorAttachments;
20966     advancedBlendIndependentBlend = src->advancedBlendIndependentBlend;
20967     advancedBlendNonPremultipliedSrcColor = src->advancedBlendNonPremultipliedSrcColor;
20968     advancedBlendNonPremultipliedDstColor = src->advancedBlendNonPremultipliedDstColor;
20969     advancedBlendCorrelatedOverlap = src->advancedBlendCorrelatedOverlap;
20970     advancedBlendAllOperations = src->advancedBlendAllOperations;
20971     pNext = SafePnextCopy(src->pNext);
20972 }
20973 
safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const VkPipelineColorBlendAdvancedStateCreateInfoEXT * in_struct)20974 safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const VkPipelineColorBlendAdvancedStateCreateInfoEXT* in_struct) :
20975     sType(in_struct->sType),
20976     srcPremultiplied(in_struct->srcPremultiplied),
20977     dstPremultiplied(in_struct->dstPremultiplied),
20978     blendOverlap(in_struct->blendOverlap)
20979 {
20980     pNext = SafePnextCopy(in_struct->pNext);
20981 }
20982 
safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT()20983 safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT() :
20984     pNext(nullptr)
20985 {}
20986 
safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT & src)20987 safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& src)
20988 {
20989     sType = src.sType;
20990     srcPremultiplied = src.srcPremultiplied;
20991     dstPremultiplied = src.dstPremultiplied;
20992     blendOverlap = src.blendOverlap;
20993     pNext = SafePnextCopy(src.pNext);
20994 }
20995 
operator =(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT & src)20996 safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::operator=(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& src)
20997 {
20998     if (&src == this) return *this;
20999 
21000     if (pNext)
21001         FreePnextChain(pNext);
21002 
21003     sType = src.sType;
21004     srcPremultiplied = src.srcPremultiplied;
21005     dstPremultiplied = src.dstPremultiplied;
21006     blendOverlap = src.blendOverlap;
21007     pNext = SafePnextCopy(src.pNext);
21008 
21009     return *this;
21010 }
21011 
~safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT()21012 safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::~safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT()
21013 {
21014     if (pNext)
21015         FreePnextChain(pNext);
21016 }
21017 
initialize(const VkPipelineColorBlendAdvancedStateCreateInfoEXT * in_struct)21018 void safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::initialize(const VkPipelineColorBlendAdvancedStateCreateInfoEXT* in_struct)
21019 {
21020     sType = in_struct->sType;
21021     srcPremultiplied = in_struct->srcPremultiplied;
21022     dstPremultiplied = in_struct->dstPremultiplied;
21023     blendOverlap = in_struct->blendOverlap;
21024     pNext = SafePnextCopy(in_struct->pNext);
21025 }
21026 
initialize(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT * src)21027 void safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::initialize(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT* src)
21028 {
21029     sType = src->sType;
21030     srcPremultiplied = src->srcPremultiplied;
21031     dstPremultiplied = src->dstPremultiplied;
21032     blendOverlap = src->blendOverlap;
21033     pNext = SafePnextCopy(src->pNext);
21034 }
21035 
safe_VkPipelineCoverageToColorStateCreateInfoNV(const VkPipelineCoverageToColorStateCreateInfoNV * in_struct)21036 safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV(const VkPipelineCoverageToColorStateCreateInfoNV* in_struct) :
21037     sType(in_struct->sType),
21038     flags(in_struct->flags),
21039     coverageToColorEnable(in_struct->coverageToColorEnable),
21040     coverageToColorLocation(in_struct->coverageToColorLocation)
21041 {
21042     pNext = SafePnextCopy(in_struct->pNext);
21043 }
21044 
safe_VkPipelineCoverageToColorStateCreateInfoNV()21045 safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV() :
21046     pNext(nullptr)
21047 {}
21048 
safe_VkPipelineCoverageToColorStateCreateInfoNV(const safe_VkPipelineCoverageToColorStateCreateInfoNV & src)21049 safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV(const safe_VkPipelineCoverageToColorStateCreateInfoNV& src)
21050 {
21051     sType = src.sType;
21052     flags = src.flags;
21053     coverageToColorEnable = src.coverageToColorEnable;
21054     coverageToColorLocation = src.coverageToColorLocation;
21055     pNext = SafePnextCopy(src.pNext);
21056 }
21057 
operator =(const safe_VkPipelineCoverageToColorStateCreateInfoNV & src)21058 safe_VkPipelineCoverageToColorStateCreateInfoNV& safe_VkPipelineCoverageToColorStateCreateInfoNV::operator=(const safe_VkPipelineCoverageToColorStateCreateInfoNV& src)
21059 {
21060     if (&src == this) return *this;
21061 
21062     if (pNext)
21063         FreePnextChain(pNext);
21064 
21065     sType = src.sType;
21066     flags = src.flags;
21067     coverageToColorEnable = src.coverageToColorEnable;
21068     coverageToColorLocation = src.coverageToColorLocation;
21069     pNext = SafePnextCopy(src.pNext);
21070 
21071     return *this;
21072 }
21073 
~safe_VkPipelineCoverageToColorStateCreateInfoNV()21074 safe_VkPipelineCoverageToColorStateCreateInfoNV::~safe_VkPipelineCoverageToColorStateCreateInfoNV()
21075 {
21076     if (pNext)
21077         FreePnextChain(pNext);
21078 }
21079 
initialize(const VkPipelineCoverageToColorStateCreateInfoNV * in_struct)21080 void safe_VkPipelineCoverageToColorStateCreateInfoNV::initialize(const VkPipelineCoverageToColorStateCreateInfoNV* in_struct)
21081 {
21082     sType = in_struct->sType;
21083     flags = in_struct->flags;
21084     coverageToColorEnable = in_struct->coverageToColorEnable;
21085     coverageToColorLocation = in_struct->coverageToColorLocation;
21086     pNext = SafePnextCopy(in_struct->pNext);
21087 }
21088 
initialize(const safe_VkPipelineCoverageToColorStateCreateInfoNV * src)21089 void safe_VkPipelineCoverageToColorStateCreateInfoNV::initialize(const safe_VkPipelineCoverageToColorStateCreateInfoNV* src)
21090 {
21091     sType = src->sType;
21092     flags = src->flags;
21093     coverageToColorEnable = src->coverageToColorEnable;
21094     coverageToColorLocation = src->coverageToColorLocation;
21095     pNext = SafePnextCopy(src->pNext);
21096 }
21097 
safe_VkPipelineCoverageModulationStateCreateInfoNV(const VkPipelineCoverageModulationStateCreateInfoNV * in_struct)21098 safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV(const VkPipelineCoverageModulationStateCreateInfoNV* in_struct) :
21099     sType(in_struct->sType),
21100     flags(in_struct->flags),
21101     coverageModulationMode(in_struct->coverageModulationMode),
21102     coverageModulationTableEnable(in_struct->coverageModulationTableEnable),
21103     coverageModulationTableCount(in_struct->coverageModulationTableCount),
21104     pCoverageModulationTable(nullptr)
21105 {
21106     pNext = SafePnextCopy(in_struct->pNext);
21107     if (in_struct->pCoverageModulationTable) {
21108         pCoverageModulationTable = new float[in_struct->coverageModulationTableCount];
21109         memcpy ((void *)pCoverageModulationTable, (void *)in_struct->pCoverageModulationTable, sizeof(float)*in_struct->coverageModulationTableCount);
21110     }
21111 }
21112 
safe_VkPipelineCoverageModulationStateCreateInfoNV()21113 safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV() :
21114     pNext(nullptr),
21115     pCoverageModulationTable(nullptr)
21116 {}
21117 
safe_VkPipelineCoverageModulationStateCreateInfoNV(const safe_VkPipelineCoverageModulationStateCreateInfoNV & src)21118 safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV(const safe_VkPipelineCoverageModulationStateCreateInfoNV& src)
21119 {
21120     sType = src.sType;
21121     flags = src.flags;
21122     coverageModulationMode = src.coverageModulationMode;
21123     coverageModulationTableEnable = src.coverageModulationTableEnable;
21124     coverageModulationTableCount = src.coverageModulationTableCount;
21125     pCoverageModulationTable = nullptr;
21126     pNext = SafePnextCopy(src.pNext);
21127     if (src.pCoverageModulationTable) {
21128         pCoverageModulationTable = new float[src.coverageModulationTableCount];
21129         memcpy ((void *)pCoverageModulationTable, (void *)src.pCoverageModulationTable, sizeof(float)*src.coverageModulationTableCount);
21130     }
21131 }
21132 
operator =(const safe_VkPipelineCoverageModulationStateCreateInfoNV & src)21133 safe_VkPipelineCoverageModulationStateCreateInfoNV& safe_VkPipelineCoverageModulationStateCreateInfoNV::operator=(const safe_VkPipelineCoverageModulationStateCreateInfoNV& src)
21134 {
21135     if (&src == this) return *this;
21136 
21137     if (pCoverageModulationTable)
21138         delete[] pCoverageModulationTable;
21139     if (pNext)
21140         FreePnextChain(pNext);
21141 
21142     sType = src.sType;
21143     flags = src.flags;
21144     coverageModulationMode = src.coverageModulationMode;
21145     coverageModulationTableEnable = src.coverageModulationTableEnable;
21146     coverageModulationTableCount = src.coverageModulationTableCount;
21147     pCoverageModulationTable = nullptr;
21148     pNext = SafePnextCopy(src.pNext);
21149     if (src.pCoverageModulationTable) {
21150         pCoverageModulationTable = new float[src.coverageModulationTableCount];
21151         memcpy ((void *)pCoverageModulationTable, (void *)src.pCoverageModulationTable, sizeof(float)*src.coverageModulationTableCount);
21152     }
21153 
21154     return *this;
21155 }
21156 
~safe_VkPipelineCoverageModulationStateCreateInfoNV()21157 safe_VkPipelineCoverageModulationStateCreateInfoNV::~safe_VkPipelineCoverageModulationStateCreateInfoNV()
21158 {
21159     if (pCoverageModulationTable)
21160         delete[] pCoverageModulationTable;
21161     if (pNext)
21162         FreePnextChain(pNext);
21163 }
21164 
initialize(const VkPipelineCoverageModulationStateCreateInfoNV * in_struct)21165 void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const VkPipelineCoverageModulationStateCreateInfoNV* in_struct)
21166 {
21167     sType = in_struct->sType;
21168     flags = in_struct->flags;
21169     coverageModulationMode = in_struct->coverageModulationMode;
21170     coverageModulationTableEnable = in_struct->coverageModulationTableEnable;
21171     coverageModulationTableCount = in_struct->coverageModulationTableCount;
21172     pCoverageModulationTable = nullptr;
21173     pNext = SafePnextCopy(in_struct->pNext);
21174     if (in_struct->pCoverageModulationTable) {
21175         pCoverageModulationTable = new float[in_struct->coverageModulationTableCount];
21176         memcpy ((void *)pCoverageModulationTable, (void *)in_struct->pCoverageModulationTable, sizeof(float)*in_struct->coverageModulationTableCount);
21177     }
21178 }
21179 
initialize(const safe_VkPipelineCoverageModulationStateCreateInfoNV * src)21180 void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const safe_VkPipelineCoverageModulationStateCreateInfoNV* src)
21181 {
21182     sType = src->sType;
21183     flags = src->flags;
21184     coverageModulationMode = src->coverageModulationMode;
21185     coverageModulationTableEnable = src->coverageModulationTableEnable;
21186     coverageModulationTableCount = src->coverageModulationTableCount;
21187     pCoverageModulationTable = nullptr;
21188     pNext = SafePnextCopy(src->pNext);
21189     if (src->pCoverageModulationTable) {
21190         pCoverageModulationTable = new float[src->coverageModulationTableCount];
21191         memcpy ((void *)pCoverageModulationTable, (void *)src->pCoverageModulationTable, sizeof(float)*src->coverageModulationTableCount);
21192     }
21193 }
21194 
safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV * in_struct)21195 safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* in_struct) :
21196     sType(in_struct->sType),
21197     shaderSMCount(in_struct->shaderSMCount),
21198     shaderWarpsPerSM(in_struct->shaderWarpsPerSM)
21199 {
21200     pNext = SafePnextCopy(in_struct->pNext);
21201 }
21202 
safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV()21203 safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV() :
21204     pNext(nullptr)
21205 {}
21206 
safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV & src)21207 safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& src)
21208 {
21209     sType = src.sType;
21210     shaderSMCount = src.shaderSMCount;
21211     shaderWarpsPerSM = src.shaderWarpsPerSM;
21212     pNext = SafePnextCopy(src.pNext);
21213 }
21214 
operator =(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV & src)21215 safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::operator=(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& src)
21216 {
21217     if (&src == this) return *this;
21218 
21219     if (pNext)
21220         FreePnextChain(pNext);
21221 
21222     sType = src.sType;
21223     shaderSMCount = src.shaderSMCount;
21224     shaderWarpsPerSM = src.shaderWarpsPerSM;
21225     pNext = SafePnextCopy(src.pNext);
21226 
21227     return *this;
21228 }
21229 
~safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV()21230 safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::~safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV()
21231 {
21232     if (pNext)
21233         FreePnextChain(pNext);
21234 }
21235 
initialize(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV * in_struct)21236 void safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::initialize(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* in_struct)
21237 {
21238     sType = in_struct->sType;
21239     shaderSMCount = in_struct->shaderSMCount;
21240     shaderWarpsPerSM = in_struct->shaderWarpsPerSM;
21241     pNext = SafePnextCopy(in_struct->pNext);
21242 }
21243 
initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV * src)21244 void safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* src)
21245 {
21246     sType = src->sType;
21247     shaderSMCount = src->shaderSMCount;
21248     shaderWarpsPerSM = src->shaderWarpsPerSM;
21249     pNext = SafePnextCopy(src->pNext);
21250 }
21251 
safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV * in_struct)21252 safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* in_struct) :
21253     sType(in_struct->sType),
21254     shaderSMBuiltins(in_struct->shaderSMBuiltins)
21255 {
21256     pNext = SafePnextCopy(in_struct->pNext);
21257 }
21258 
safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV()21259 safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV() :
21260     pNext(nullptr)
21261 {}
21262 
safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV & src)21263 safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& src)
21264 {
21265     sType = src.sType;
21266     shaderSMBuiltins = src.shaderSMBuiltins;
21267     pNext = SafePnextCopy(src.pNext);
21268 }
21269 
operator =(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV & src)21270 safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::operator=(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& src)
21271 {
21272     if (&src == this) return *this;
21273 
21274     if (pNext)
21275         FreePnextChain(pNext);
21276 
21277     sType = src.sType;
21278     shaderSMBuiltins = src.shaderSMBuiltins;
21279     pNext = SafePnextCopy(src.pNext);
21280 
21281     return *this;
21282 }
21283 
~safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV()21284 safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::~safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV()
21285 {
21286     if (pNext)
21287         FreePnextChain(pNext);
21288 }
21289 
initialize(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV * in_struct)21290 void safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::initialize(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* in_struct)
21291 {
21292     sType = in_struct->sType;
21293     shaderSMBuiltins = in_struct->shaderSMBuiltins;
21294     pNext = SafePnextCopy(in_struct->pNext);
21295 }
21296 
initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV * src)21297 void safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* src)
21298 {
21299     sType = src->sType;
21300     shaderSMBuiltins = src->shaderSMBuiltins;
21301     pNext = SafePnextCopy(src->pNext);
21302 }
21303 
safe_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT * in_struct)21304 safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT* in_struct) :
21305     sType(in_struct->sType),
21306     drmFormatModifierCount(in_struct->drmFormatModifierCount),
21307     pDrmFormatModifierProperties(nullptr)
21308 {
21309     pNext = SafePnextCopy(in_struct->pNext);
21310     if (in_struct->pDrmFormatModifierProperties) {
21311         pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[in_struct->drmFormatModifierCount];
21312         memcpy ((void *)pDrmFormatModifierProperties, (void *)in_struct->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*in_struct->drmFormatModifierCount);
21313     }
21314 }
21315 
safe_VkDrmFormatModifierPropertiesListEXT()21316 safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT() :
21317     pNext(nullptr),
21318     pDrmFormatModifierProperties(nullptr)
21319 {}
21320 
safe_VkDrmFormatModifierPropertiesListEXT(const safe_VkDrmFormatModifierPropertiesListEXT & src)21321 safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT(const safe_VkDrmFormatModifierPropertiesListEXT& src)
21322 {
21323     sType = src.sType;
21324     drmFormatModifierCount = src.drmFormatModifierCount;
21325     pDrmFormatModifierProperties = nullptr;
21326     pNext = SafePnextCopy(src.pNext);
21327     if (src.pDrmFormatModifierProperties) {
21328         pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src.drmFormatModifierCount];
21329         memcpy ((void *)pDrmFormatModifierProperties, (void *)src.pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src.drmFormatModifierCount);
21330     }
21331 }
21332 
operator =(const safe_VkDrmFormatModifierPropertiesListEXT & src)21333 safe_VkDrmFormatModifierPropertiesListEXT& safe_VkDrmFormatModifierPropertiesListEXT::operator=(const safe_VkDrmFormatModifierPropertiesListEXT& src)
21334 {
21335     if (&src == this) return *this;
21336 
21337     if (pDrmFormatModifierProperties)
21338         delete[] pDrmFormatModifierProperties;
21339     if (pNext)
21340         FreePnextChain(pNext);
21341 
21342     sType = src.sType;
21343     drmFormatModifierCount = src.drmFormatModifierCount;
21344     pDrmFormatModifierProperties = nullptr;
21345     pNext = SafePnextCopy(src.pNext);
21346     if (src.pDrmFormatModifierProperties) {
21347         pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src.drmFormatModifierCount];
21348         memcpy ((void *)pDrmFormatModifierProperties, (void *)src.pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src.drmFormatModifierCount);
21349     }
21350 
21351     return *this;
21352 }
21353 
~safe_VkDrmFormatModifierPropertiesListEXT()21354 safe_VkDrmFormatModifierPropertiesListEXT::~safe_VkDrmFormatModifierPropertiesListEXT()
21355 {
21356     if (pDrmFormatModifierProperties)
21357         delete[] pDrmFormatModifierProperties;
21358     if (pNext)
21359         FreePnextChain(pNext);
21360 }
21361 
initialize(const VkDrmFormatModifierPropertiesListEXT * in_struct)21362 void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const VkDrmFormatModifierPropertiesListEXT* in_struct)
21363 {
21364     sType = in_struct->sType;
21365     drmFormatModifierCount = in_struct->drmFormatModifierCount;
21366     pDrmFormatModifierProperties = nullptr;
21367     pNext = SafePnextCopy(in_struct->pNext);
21368     if (in_struct->pDrmFormatModifierProperties) {
21369         pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[in_struct->drmFormatModifierCount];
21370         memcpy ((void *)pDrmFormatModifierProperties, (void *)in_struct->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*in_struct->drmFormatModifierCount);
21371     }
21372 }
21373 
initialize(const safe_VkDrmFormatModifierPropertiesListEXT * src)21374 void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const safe_VkDrmFormatModifierPropertiesListEXT* src)
21375 {
21376     sType = src->sType;
21377     drmFormatModifierCount = src->drmFormatModifierCount;
21378     pDrmFormatModifierProperties = nullptr;
21379     pNext = SafePnextCopy(src->pNext);
21380     if (src->pDrmFormatModifierProperties) {
21381         pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src->drmFormatModifierCount];
21382         memcpy ((void *)pDrmFormatModifierProperties, (void *)src->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src->drmFormatModifierCount);
21383     }
21384 }
21385 
safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * in_struct)21386 safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* in_struct) :
21387     sType(in_struct->sType),
21388     drmFormatModifier(in_struct->drmFormatModifier),
21389     sharingMode(in_struct->sharingMode),
21390     queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
21391     pQueueFamilyIndices(nullptr)
21392 {
21393     pNext = SafePnextCopy(in_struct->pNext);
21394     if (in_struct->pQueueFamilyIndices) {
21395         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
21396         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
21397     }
21398 }
21399 
safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT()21400 safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT() :
21401     pNext(nullptr),
21402     pQueueFamilyIndices(nullptr)
21403 {}
21404 
safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT & src)21405 safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& src)
21406 {
21407     sType = src.sType;
21408     drmFormatModifier = src.drmFormatModifier;
21409     sharingMode = src.sharingMode;
21410     queueFamilyIndexCount = src.queueFamilyIndexCount;
21411     pQueueFamilyIndices = nullptr;
21412     pNext = SafePnextCopy(src.pNext);
21413     if (src.pQueueFamilyIndices) {
21414         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
21415         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
21416     }
21417 }
21418 
operator =(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT & src)21419 safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::operator=(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& src)
21420 {
21421     if (&src == this) return *this;
21422 
21423     if (pQueueFamilyIndices)
21424         delete[] pQueueFamilyIndices;
21425     if (pNext)
21426         FreePnextChain(pNext);
21427 
21428     sType = src.sType;
21429     drmFormatModifier = src.drmFormatModifier;
21430     sharingMode = src.sharingMode;
21431     queueFamilyIndexCount = src.queueFamilyIndexCount;
21432     pQueueFamilyIndices = nullptr;
21433     pNext = SafePnextCopy(src.pNext);
21434     if (src.pQueueFamilyIndices) {
21435         pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
21436         memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
21437     }
21438 
21439     return *this;
21440 }
21441 
~safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT()21442 safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::~safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT()
21443 {
21444     if (pQueueFamilyIndices)
21445         delete[] pQueueFamilyIndices;
21446     if (pNext)
21447         FreePnextChain(pNext);
21448 }
21449 
initialize(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * in_struct)21450 void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* in_struct)
21451 {
21452     sType = in_struct->sType;
21453     drmFormatModifier = in_struct->drmFormatModifier;
21454     sharingMode = in_struct->sharingMode;
21455     queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
21456     pQueueFamilyIndices = nullptr;
21457     pNext = SafePnextCopy(in_struct->pNext);
21458     if (in_struct->pQueueFamilyIndices) {
21459         pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
21460         memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
21461     }
21462 }
21463 
initialize(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT * src)21464 void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT* src)
21465 {
21466     sType = src->sType;
21467     drmFormatModifier = src->drmFormatModifier;
21468     sharingMode = src->sharingMode;
21469     queueFamilyIndexCount = src->queueFamilyIndexCount;
21470     pQueueFamilyIndices = nullptr;
21471     pNext = SafePnextCopy(src->pNext);
21472     if (src->pQueueFamilyIndices) {
21473         pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
21474         memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
21475     }
21476 }
21477 
safe_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT * in_struct)21478 safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT* in_struct) :
21479     sType(in_struct->sType),
21480     drmFormatModifierCount(in_struct->drmFormatModifierCount),
21481     pDrmFormatModifiers(nullptr)
21482 {
21483     pNext = SafePnextCopy(in_struct->pNext);
21484     if (in_struct->pDrmFormatModifiers) {
21485         pDrmFormatModifiers = new uint64_t[in_struct->drmFormatModifierCount];
21486         memcpy ((void *)pDrmFormatModifiers, (void *)in_struct->pDrmFormatModifiers, sizeof(uint64_t)*in_struct->drmFormatModifierCount);
21487     }
21488 }
21489 
safe_VkImageDrmFormatModifierListCreateInfoEXT()21490 safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT() :
21491     pNext(nullptr),
21492     pDrmFormatModifiers(nullptr)
21493 {}
21494 
safe_VkImageDrmFormatModifierListCreateInfoEXT(const safe_VkImageDrmFormatModifierListCreateInfoEXT & src)21495 safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT(const safe_VkImageDrmFormatModifierListCreateInfoEXT& src)
21496 {
21497     sType = src.sType;
21498     drmFormatModifierCount = src.drmFormatModifierCount;
21499     pDrmFormatModifiers = nullptr;
21500     pNext = SafePnextCopy(src.pNext);
21501     if (src.pDrmFormatModifiers) {
21502         pDrmFormatModifiers = new uint64_t[src.drmFormatModifierCount];
21503         memcpy ((void *)pDrmFormatModifiers, (void *)src.pDrmFormatModifiers, sizeof(uint64_t)*src.drmFormatModifierCount);
21504     }
21505 }
21506 
operator =(const safe_VkImageDrmFormatModifierListCreateInfoEXT & src)21507 safe_VkImageDrmFormatModifierListCreateInfoEXT& safe_VkImageDrmFormatModifierListCreateInfoEXT::operator=(const safe_VkImageDrmFormatModifierListCreateInfoEXT& src)
21508 {
21509     if (&src == this) return *this;
21510 
21511     if (pDrmFormatModifiers)
21512         delete[] pDrmFormatModifiers;
21513     if (pNext)
21514         FreePnextChain(pNext);
21515 
21516     sType = src.sType;
21517     drmFormatModifierCount = src.drmFormatModifierCount;
21518     pDrmFormatModifiers = nullptr;
21519     pNext = SafePnextCopy(src.pNext);
21520     if (src.pDrmFormatModifiers) {
21521         pDrmFormatModifiers = new uint64_t[src.drmFormatModifierCount];
21522         memcpy ((void *)pDrmFormatModifiers, (void *)src.pDrmFormatModifiers, sizeof(uint64_t)*src.drmFormatModifierCount);
21523     }
21524 
21525     return *this;
21526 }
21527 
~safe_VkImageDrmFormatModifierListCreateInfoEXT()21528 safe_VkImageDrmFormatModifierListCreateInfoEXT::~safe_VkImageDrmFormatModifierListCreateInfoEXT()
21529 {
21530     if (pDrmFormatModifiers)
21531         delete[] pDrmFormatModifiers;
21532     if (pNext)
21533         FreePnextChain(pNext);
21534 }
21535 
initialize(const VkImageDrmFormatModifierListCreateInfoEXT * in_struct)21536 void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const VkImageDrmFormatModifierListCreateInfoEXT* in_struct)
21537 {
21538     sType = in_struct->sType;
21539     drmFormatModifierCount = in_struct->drmFormatModifierCount;
21540     pDrmFormatModifiers = nullptr;
21541     pNext = SafePnextCopy(in_struct->pNext);
21542     if (in_struct->pDrmFormatModifiers) {
21543         pDrmFormatModifiers = new uint64_t[in_struct->drmFormatModifierCount];
21544         memcpy ((void *)pDrmFormatModifiers, (void *)in_struct->pDrmFormatModifiers, sizeof(uint64_t)*in_struct->drmFormatModifierCount);
21545     }
21546 }
21547 
initialize(const safe_VkImageDrmFormatModifierListCreateInfoEXT * src)21548 void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const safe_VkImageDrmFormatModifierListCreateInfoEXT* src)
21549 {
21550     sType = src->sType;
21551     drmFormatModifierCount = src->drmFormatModifierCount;
21552     pDrmFormatModifiers = nullptr;
21553     pNext = SafePnextCopy(src->pNext);
21554     if (src->pDrmFormatModifiers) {
21555         pDrmFormatModifiers = new uint64_t[src->drmFormatModifierCount];
21556         memcpy ((void *)pDrmFormatModifiers, (void *)src->pDrmFormatModifiers, sizeof(uint64_t)*src->drmFormatModifierCount);
21557     }
21558 }
21559 
safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT * in_struct)21560 safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT* in_struct) :
21561     sType(in_struct->sType),
21562     drmFormatModifier(in_struct->drmFormatModifier),
21563     drmFormatModifierPlaneCount(in_struct->drmFormatModifierPlaneCount),
21564     pPlaneLayouts(nullptr)
21565 {
21566     pNext = SafePnextCopy(in_struct->pNext);
21567     if (in_struct->pPlaneLayouts) {
21568         pPlaneLayouts = new VkSubresourceLayout[in_struct->drmFormatModifierPlaneCount];
21569         memcpy ((void *)pPlaneLayouts, (void *)in_struct->pPlaneLayouts, sizeof(VkSubresourceLayout)*in_struct->drmFormatModifierPlaneCount);
21570     }
21571 }
21572 
safe_VkImageDrmFormatModifierExplicitCreateInfoEXT()21573 safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT() :
21574     pNext(nullptr),
21575     pPlaneLayouts(nullptr)
21576 {}
21577 
safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT & src)21578 safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& src)
21579 {
21580     sType = src.sType;
21581     drmFormatModifier = src.drmFormatModifier;
21582     drmFormatModifierPlaneCount = src.drmFormatModifierPlaneCount;
21583     pPlaneLayouts = nullptr;
21584     pNext = SafePnextCopy(src.pNext);
21585     if (src.pPlaneLayouts) {
21586         pPlaneLayouts = new VkSubresourceLayout[src.drmFormatModifierPlaneCount];
21587         memcpy ((void *)pPlaneLayouts, (void *)src.pPlaneLayouts, sizeof(VkSubresourceLayout)*src.drmFormatModifierPlaneCount);
21588     }
21589 }
21590 
operator =(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT & src)21591 safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::operator=(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& src)
21592 {
21593     if (&src == this) return *this;
21594 
21595     if (pPlaneLayouts)
21596         delete[] pPlaneLayouts;
21597     if (pNext)
21598         FreePnextChain(pNext);
21599 
21600     sType = src.sType;
21601     drmFormatModifier = src.drmFormatModifier;
21602     drmFormatModifierPlaneCount = src.drmFormatModifierPlaneCount;
21603     pPlaneLayouts = nullptr;
21604     pNext = SafePnextCopy(src.pNext);
21605     if (src.pPlaneLayouts) {
21606         pPlaneLayouts = new VkSubresourceLayout[src.drmFormatModifierPlaneCount];
21607         memcpy ((void *)pPlaneLayouts, (void *)src.pPlaneLayouts, sizeof(VkSubresourceLayout)*src.drmFormatModifierPlaneCount);
21608     }
21609 
21610     return *this;
21611 }
21612 
~safe_VkImageDrmFormatModifierExplicitCreateInfoEXT()21613 safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::~safe_VkImageDrmFormatModifierExplicitCreateInfoEXT()
21614 {
21615     if (pPlaneLayouts)
21616         delete[] pPlaneLayouts;
21617     if (pNext)
21618         FreePnextChain(pNext);
21619 }
21620 
initialize(const VkImageDrmFormatModifierExplicitCreateInfoEXT * in_struct)21621 void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const VkImageDrmFormatModifierExplicitCreateInfoEXT* in_struct)
21622 {
21623     sType = in_struct->sType;
21624     drmFormatModifier = in_struct->drmFormatModifier;
21625     drmFormatModifierPlaneCount = in_struct->drmFormatModifierPlaneCount;
21626     pPlaneLayouts = nullptr;
21627     pNext = SafePnextCopy(in_struct->pNext);
21628     if (in_struct->pPlaneLayouts) {
21629         pPlaneLayouts = new VkSubresourceLayout[in_struct->drmFormatModifierPlaneCount];
21630         memcpy ((void *)pPlaneLayouts, (void *)in_struct->pPlaneLayouts, sizeof(VkSubresourceLayout)*in_struct->drmFormatModifierPlaneCount);
21631     }
21632 }
21633 
initialize(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT * src)21634 void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT* src)
21635 {
21636     sType = src->sType;
21637     drmFormatModifier = src->drmFormatModifier;
21638     drmFormatModifierPlaneCount = src->drmFormatModifierPlaneCount;
21639     pPlaneLayouts = nullptr;
21640     pNext = SafePnextCopy(src->pNext);
21641     if (src->pPlaneLayouts) {
21642         pPlaneLayouts = new VkSubresourceLayout[src->drmFormatModifierPlaneCount];
21643         memcpy ((void *)pPlaneLayouts, (void *)src->pPlaneLayouts, sizeof(VkSubresourceLayout)*src->drmFormatModifierPlaneCount);
21644     }
21645 }
21646 
safe_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT * in_struct)21647 safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT* in_struct) :
21648     sType(in_struct->sType),
21649     drmFormatModifier(in_struct->drmFormatModifier)
21650 {
21651     pNext = SafePnextCopy(in_struct->pNext);
21652 }
21653 
safe_VkImageDrmFormatModifierPropertiesEXT()21654 safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT() :
21655     pNext(nullptr)
21656 {}
21657 
safe_VkImageDrmFormatModifierPropertiesEXT(const safe_VkImageDrmFormatModifierPropertiesEXT & src)21658 safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT(const safe_VkImageDrmFormatModifierPropertiesEXT& src)
21659 {
21660     sType = src.sType;
21661     drmFormatModifier = src.drmFormatModifier;
21662     pNext = SafePnextCopy(src.pNext);
21663 }
21664 
operator =(const safe_VkImageDrmFormatModifierPropertiesEXT & src)21665 safe_VkImageDrmFormatModifierPropertiesEXT& safe_VkImageDrmFormatModifierPropertiesEXT::operator=(const safe_VkImageDrmFormatModifierPropertiesEXT& src)
21666 {
21667     if (&src == this) return *this;
21668 
21669     if (pNext)
21670         FreePnextChain(pNext);
21671 
21672     sType = src.sType;
21673     drmFormatModifier = src.drmFormatModifier;
21674     pNext = SafePnextCopy(src.pNext);
21675 
21676     return *this;
21677 }
21678 
~safe_VkImageDrmFormatModifierPropertiesEXT()21679 safe_VkImageDrmFormatModifierPropertiesEXT::~safe_VkImageDrmFormatModifierPropertiesEXT()
21680 {
21681     if (pNext)
21682         FreePnextChain(pNext);
21683 }
21684 
initialize(const VkImageDrmFormatModifierPropertiesEXT * in_struct)21685 void safe_VkImageDrmFormatModifierPropertiesEXT::initialize(const VkImageDrmFormatModifierPropertiesEXT* in_struct)
21686 {
21687     sType = in_struct->sType;
21688     drmFormatModifier = in_struct->drmFormatModifier;
21689     pNext = SafePnextCopy(in_struct->pNext);
21690 }
21691 
initialize(const safe_VkImageDrmFormatModifierPropertiesEXT * src)21692 void safe_VkImageDrmFormatModifierPropertiesEXT::initialize(const safe_VkImageDrmFormatModifierPropertiesEXT* src)
21693 {
21694     sType = src->sType;
21695     drmFormatModifier = src->drmFormatModifier;
21696     pNext = SafePnextCopy(src->pNext);
21697 }
21698 
safe_VkValidationCacheCreateInfoEXT(const VkValidationCacheCreateInfoEXT * in_struct)21699 safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT(const VkValidationCacheCreateInfoEXT* in_struct) :
21700     sType(in_struct->sType),
21701     flags(in_struct->flags),
21702     initialDataSize(in_struct->initialDataSize),
21703     pInitialData(in_struct->pInitialData)
21704 {
21705     pNext = SafePnextCopy(in_struct->pNext);
21706 }
21707 
safe_VkValidationCacheCreateInfoEXT()21708 safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT() :
21709     pNext(nullptr),
21710     pInitialData(nullptr)
21711 {}
21712 
safe_VkValidationCacheCreateInfoEXT(const safe_VkValidationCacheCreateInfoEXT & src)21713 safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT(const safe_VkValidationCacheCreateInfoEXT& src)
21714 {
21715     sType = src.sType;
21716     flags = src.flags;
21717     initialDataSize = src.initialDataSize;
21718     pInitialData = src.pInitialData;
21719     pNext = SafePnextCopy(src.pNext);
21720 }
21721 
operator =(const safe_VkValidationCacheCreateInfoEXT & src)21722 safe_VkValidationCacheCreateInfoEXT& safe_VkValidationCacheCreateInfoEXT::operator=(const safe_VkValidationCacheCreateInfoEXT& src)
21723 {
21724     if (&src == this) return *this;
21725 
21726     if (pNext)
21727         FreePnextChain(pNext);
21728 
21729     sType = src.sType;
21730     flags = src.flags;
21731     initialDataSize = src.initialDataSize;
21732     pInitialData = src.pInitialData;
21733     pNext = SafePnextCopy(src.pNext);
21734 
21735     return *this;
21736 }
21737 
~safe_VkValidationCacheCreateInfoEXT()21738 safe_VkValidationCacheCreateInfoEXT::~safe_VkValidationCacheCreateInfoEXT()
21739 {
21740     if (pNext)
21741         FreePnextChain(pNext);
21742 }
21743 
initialize(const VkValidationCacheCreateInfoEXT * in_struct)21744 void safe_VkValidationCacheCreateInfoEXT::initialize(const VkValidationCacheCreateInfoEXT* in_struct)
21745 {
21746     sType = in_struct->sType;
21747     flags = in_struct->flags;
21748     initialDataSize = in_struct->initialDataSize;
21749     pInitialData = in_struct->pInitialData;
21750     pNext = SafePnextCopy(in_struct->pNext);
21751 }
21752 
initialize(const safe_VkValidationCacheCreateInfoEXT * src)21753 void safe_VkValidationCacheCreateInfoEXT::initialize(const safe_VkValidationCacheCreateInfoEXT* src)
21754 {
21755     sType = src->sType;
21756     flags = src->flags;
21757     initialDataSize = src->initialDataSize;
21758     pInitialData = src->pInitialData;
21759     pNext = SafePnextCopy(src->pNext);
21760 }
21761 
safe_VkShaderModuleValidationCacheCreateInfoEXT(const VkShaderModuleValidationCacheCreateInfoEXT * in_struct)21762 safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT(const VkShaderModuleValidationCacheCreateInfoEXT* in_struct) :
21763     sType(in_struct->sType),
21764     validationCache(in_struct->validationCache)
21765 {
21766     pNext = SafePnextCopy(in_struct->pNext);
21767 }
21768 
safe_VkShaderModuleValidationCacheCreateInfoEXT()21769 safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT() :
21770     pNext(nullptr)
21771 {}
21772 
safe_VkShaderModuleValidationCacheCreateInfoEXT(const safe_VkShaderModuleValidationCacheCreateInfoEXT & src)21773 safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT(const safe_VkShaderModuleValidationCacheCreateInfoEXT& src)
21774 {
21775     sType = src.sType;
21776     validationCache = src.validationCache;
21777     pNext = SafePnextCopy(src.pNext);
21778 }
21779 
operator =(const safe_VkShaderModuleValidationCacheCreateInfoEXT & src)21780 safe_VkShaderModuleValidationCacheCreateInfoEXT& safe_VkShaderModuleValidationCacheCreateInfoEXT::operator=(const safe_VkShaderModuleValidationCacheCreateInfoEXT& src)
21781 {
21782     if (&src == this) return *this;
21783 
21784     if (pNext)
21785         FreePnextChain(pNext);
21786 
21787     sType = src.sType;
21788     validationCache = src.validationCache;
21789     pNext = SafePnextCopy(src.pNext);
21790 
21791     return *this;
21792 }
21793 
~safe_VkShaderModuleValidationCacheCreateInfoEXT()21794 safe_VkShaderModuleValidationCacheCreateInfoEXT::~safe_VkShaderModuleValidationCacheCreateInfoEXT()
21795 {
21796     if (pNext)
21797         FreePnextChain(pNext);
21798 }
21799 
initialize(const VkShaderModuleValidationCacheCreateInfoEXT * in_struct)21800 void safe_VkShaderModuleValidationCacheCreateInfoEXT::initialize(const VkShaderModuleValidationCacheCreateInfoEXT* in_struct)
21801 {
21802     sType = in_struct->sType;
21803     validationCache = in_struct->validationCache;
21804     pNext = SafePnextCopy(in_struct->pNext);
21805 }
21806 
initialize(const safe_VkShaderModuleValidationCacheCreateInfoEXT * src)21807 void safe_VkShaderModuleValidationCacheCreateInfoEXT::initialize(const safe_VkShaderModuleValidationCacheCreateInfoEXT* src)
21808 {
21809     sType = src->sType;
21810     validationCache = src->validationCache;
21811     pNext = SafePnextCopy(src->pNext);
21812 }
21813 
safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT * in_struct)21814 safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* in_struct) :
21815     sType(in_struct->sType),
21816     bindingCount(in_struct->bindingCount),
21817     pBindingFlags(nullptr)
21818 {
21819     pNext = SafePnextCopy(in_struct->pNext);
21820     if (in_struct->pBindingFlags) {
21821         pBindingFlags = new VkDescriptorBindingFlagsEXT[in_struct->bindingCount];
21822         memcpy ((void *)pBindingFlags, (void *)in_struct->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*in_struct->bindingCount);
21823     }
21824 }
21825 
safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT()21826 safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT() :
21827     pNext(nullptr),
21828     pBindingFlags(nullptr)
21829 {}
21830 
safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT & src)21831 safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& src)
21832 {
21833     sType = src.sType;
21834     bindingCount = src.bindingCount;
21835     pBindingFlags = nullptr;
21836     pNext = SafePnextCopy(src.pNext);
21837     if (src.pBindingFlags) {
21838         pBindingFlags = new VkDescriptorBindingFlagsEXT[src.bindingCount];
21839         memcpy ((void *)pBindingFlags, (void *)src.pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src.bindingCount);
21840     }
21841 }
21842 
operator =(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT & src)21843 safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::operator=(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& src)
21844 {
21845     if (&src == this) return *this;
21846 
21847     if (pBindingFlags)
21848         delete[] pBindingFlags;
21849     if (pNext)
21850         FreePnextChain(pNext);
21851 
21852     sType = src.sType;
21853     bindingCount = src.bindingCount;
21854     pBindingFlags = nullptr;
21855     pNext = SafePnextCopy(src.pNext);
21856     if (src.pBindingFlags) {
21857         pBindingFlags = new VkDescriptorBindingFlagsEXT[src.bindingCount];
21858         memcpy ((void *)pBindingFlags, (void *)src.pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src.bindingCount);
21859     }
21860 
21861     return *this;
21862 }
21863 
~safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT()21864 safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::~safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT()
21865 {
21866     if (pBindingFlags)
21867         delete[] pBindingFlags;
21868     if (pNext)
21869         FreePnextChain(pNext);
21870 }
21871 
initialize(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT * in_struct)21872 void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* in_struct)
21873 {
21874     sType = in_struct->sType;
21875     bindingCount = in_struct->bindingCount;
21876     pBindingFlags = nullptr;
21877     pNext = SafePnextCopy(in_struct->pNext);
21878     if (in_struct->pBindingFlags) {
21879         pBindingFlags = new VkDescriptorBindingFlagsEXT[in_struct->bindingCount];
21880         memcpy ((void *)pBindingFlags, (void *)in_struct->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*in_struct->bindingCount);
21881     }
21882 }
21883 
initialize(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT * src)21884 void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* src)
21885 {
21886     sType = src->sType;
21887     bindingCount = src->bindingCount;
21888     pBindingFlags = nullptr;
21889     pNext = SafePnextCopy(src->pNext);
21890     if (src->pBindingFlags) {
21891         pBindingFlags = new VkDescriptorBindingFlagsEXT[src->bindingCount];
21892         memcpy ((void *)pBindingFlags, (void *)src->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src->bindingCount);
21893     }
21894 }
21895 
safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT * in_struct)21896 safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* in_struct) :
21897     sType(in_struct->sType),
21898     shaderInputAttachmentArrayDynamicIndexing(in_struct->shaderInputAttachmentArrayDynamicIndexing),
21899     shaderUniformTexelBufferArrayDynamicIndexing(in_struct->shaderUniformTexelBufferArrayDynamicIndexing),
21900     shaderStorageTexelBufferArrayDynamicIndexing(in_struct->shaderStorageTexelBufferArrayDynamicIndexing),
21901     shaderUniformBufferArrayNonUniformIndexing(in_struct->shaderUniformBufferArrayNonUniformIndexing),
21902     shaderSampledImageArrayNonUniformIndexing(in_struct->shaderSampledImageArrayNonUniformIndexing),
21903     shaderStorageBufferArrayNonUniformIndexing(in_struct->shaderStorageBufferArrayNonUniformIndexing),
21904     shaderStorageImageArrayNonUniformIndexing(in_struct->shaderStorageImageArrayNonUniformIndexing),
21905     shaderInputAttachmentArrayNonUniformIndexing(in_struct->shaderInputAttachmentArrayNonUniformIndexing),
21906     shaderUniformTexelBufferArrayNonUniformIndexing(in_struct->shaderUniformTexelBufferArrayNonUniformIndexing),
21907     shaderStorageTexelBufferArrayNonUniformIndexing(in_struct->shaderStorageTexelBufferArrayNonUniformIndexing),
21908     descriptorBindingUniformBufferUpdateAfterBind(in_struct->descriptorBindingUniformBufferUpdateAfterBind),
21909     descriptorBindingSampledImageUpdateAfterBind(in_struct->descriptorBindingSampledImageUpdateAfterBind),
21910     descriptorBindingStorageImageUpdateAfterBind(in_struct->descriptorBindingStorageImageUpdateAfterBind),
21911     descriptorBindingStorageBufferUpdateAfterBind(in_struct->descriptorBindingStorageBufferUpdateAfterBind),
21912     descriptorBindingUniformTexelBufferUpdateAfterBind(in_struct->descriptorBindingUniformTexelBufferUpdateAfterBind),
21913     descriptorBindingStorageTexelBufferUpdateAfterBind(in_struct->descriptorBindingStorageTexelBufferUpdateAfterBind),
21914     descriptorBindingUpdateUnusedWhilePending(in_struct->descriptorBindingUpdateUnusedWhilePending),
21915     descriptorBindingPartiallyBound(in_struct->descriptorBindingPartiallyBound),
21916     descriptorBindingVariableDescriptorCount(in_struct->descriptorBindingVariableDescriptorCount),
21917     runtimeDescriptorArray(in_struct->runtimeDescriptorArray)
21918 {
21919     pNext = SafePnextCopy(in_struct->pNext);
21920 }
21921 
safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT()21922 safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT() :
21923     pNext(nullptr)
21924 {}
21925 
safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT & src)21926 safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& src)
21927 {
21928     sType = src.sType;
21929     shaderInputAttachmentArrayDynamicIndexing = src.shaderInputAttachmentArrayDynamicIndexing;
21930     shaderUniformTexelBufferArrayDynamicIndexing = src.shaderUniformTexelBufferArrayDynamicIndexing;
21931     shaderStorageTexelBufferArrayDynamicIndexing = src.shaderStorageTexelBufferArrayDynamicIndexing;
21932     shaderUniformBufferArrayNonUniformIndexing = src.shaderUniformBufferArrayNonUniformIndexing;
21933     shaderSampledImageArrayNonUniformIndexing = src.shaderSampledImageArrayNonUniformIndexing;
21934     shaderStorageBufferArrayNonUniformIndexing = src.shaderStorageBufferArrayNonUniformIndexing;
21935     shaderStorageImageArrayNonUniformIndexing = src.shaderStorageImageArrayNonUniformIndexing;
21936     shaderInputAttachmentArrayNonUniformIndexing = src.shaderInputAttachmentArrayNonUniformIndexing;
21937     shaderUniformTexelBufferArrayNonUniformIndexing = src.shaderUniformTexelBufferArrayNonUniformIndexing;
21938     shaderStorageTexelBufferArrayNonUniformIndexing = src.shaderStorageTexelBufferArrayNonUniformIndexing;
21939     descriptorBindingUniformBufferUpdateAfterBind = src.descriptorBindingUniformBufferUpdateAfterBind;
21940     descriptorBindingSampledImageUpdateAfterBind = src.descriptorBindingSampledImageUpdateAfterBind;
21941     descriptorBindingStorageImageUpdateAfterBind = src.descriptorBindingStorageImageUpdateAfterBind;
21942     descriptorBindingStorageBufferUpdateAfterBind = src.descriptorBindingStorageBufferUpdateAfterBind;
21943     descriptorBindingUniformTexelBufferUpdateAfterBind = src.descriptorBindingUniformTexelBufferUpdateAfterBind;
21944     descriptorBindingStorageTexelBufferUpdateAfterBind = src.descriptorBindingStorageTexelBufferUpdateAfterBind;
21945     descriptorBindingUpdateUnusedWhilePending = src.descriptorBindingUpdateUnusedWhilePending;
21946     descriptorBindingPartiallyBound = src.descriptorBindingPartiallyBound;
21947     descriptorBindingVariableDescriptorCount = src.descriptorBindingVariableDescriptorCount;
21948     runtimeDescriptorArray = src.runtimeDescriptorArray;
21949     pNext = SafePnextCopy(src.pNext);
21950 }
21951 
operator =(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT & src)21952 safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::operator=(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& src)
21953 {
21954     if (&src == this) return *this;
21955 
21956     if (pNext)
21957         FreePnextChain(pNext);
21958 
21959     sType = src.sType;
21960     shaderInputAttachmentArrayDynamicIndexing = src.shaderInputAttachmentArrayDynamicIndexing;
21961     shaderUniformTexelBufferArrayDynamicIndexing = src.shaderUniformTexelBufferArrayDynamicIndexing;
21962     shaderStorageTexelBufferArrayDynamicIndexing = src.shaderStorageTexelBufferArrayDynamicIndexing;
21963     shaderUniformBufferArrayNonUniformIndexing = src.shaderUniformBufferArrayNonUniformIndexing;
21964     shaderSampledImageArrayNonUniformIndexing = src.shaderSampledImageArrayNonUniformIndexing;
21965     shaderStorageBufferArrayNonUniformIndexing = src.shaderStorageBufferArrayNonUniformIndexing;
21966     shaderStorageImageArrayNonUniformIndexing = src.shaderStorageImageArrayNonUniformIndexing;
21967     shaderInputAttachmentArrayNonUniformIndexing = src.shaderInputAttachmentArrayNonUniformIndexing;
21968     shaderUniformTexelBufferArrayNonUniformIndexing = src.shaderUniformTexelBufferArrayNonUniformIndexing;
21969     shaderStorageTexelBufferArrayNonUniformIndexing = src.shaderStorageTexelBufferArrayNonUniformIndexing;
21970     descriptorBindingUniformBufferUpdateAfterBind = src.descriptorBindingUniformBufferUpdateAfterBind;
21971     descriptorBindingSampledImageUpdateAfterBind = src.descriptorBindingSampledImageUpdateAfterBind;
21972     descriptorBindingStorageImageUpdateAfterBind = src.descriptorBindingStorageImageUpdateAfterBind;
21973     descriptorBindingStorageBufferUpdateAfterBind = src.descriptorBindingStorageBufferUpdateAfterBind;
21974     descriptorBindingUniformTexelBufferUpdateAfterBind = src.descriptorBindingUniformTexelBufferUpdateAfterBind;
21975     descriptorBindingStorageTexelBufferUpdateAfterBind = src.descriptorBindingStorageTexelBufferUpdateAfterBind;
21976     descriptorBindingUpdateUnusedWhilePending = src.descriptorBindingUpdateUnusedWhilePending;
21977     descriptorBindingPartiallyBound = src.descriptorBindingPartiallyBound;
21978     descriptorBindingVariableDescriptorCount = src.descriptorBindingVariableDescriptorCount;
21979     runtimeDescriptorArray = src.runtimeDescriptorArray;
21980     pNext = SafePnextCopy(src.pNext);
21981 
21982     return *this;
21983 }
21984 
~safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT()21985 safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::~safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT()
21986 {
21987     if (pNext)
21988         FreePnextChain(pNext);
21989 }
21990 
initialize(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT * in_struct)21991 void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* in_struct)
21992 {
21993     sType = in_struct->sType;
21994     shaderInputAttachmentArrayDynamicIndexing = in_struct->shaderInputAttachmentArrayDynamicIndexing;
21995     shaderUniformTexelBufferArrayDynamicIndexing = in_struct->shaderUniformTexelBufferArrayDynamicIndexing;
21996     shaderStorageTexelBufferArrayDynamicIndexing = in_struct->shaderStorageTexelBufferArrayDynamicIndexing;
21997     shaderUniformBufferArrayNonUniformIndexing = in_struct->shaderUniformBufferArrayNonUniformIndexing;
21998     shaderSampledImageArrayNonUniformIndexing = in_struct->shaderSampledImageArrayNonUniformIndexing;
21999     shaderStorageBufferArrayNonUniformIndexing = in_struct->shaderStorageBufferArrayNonUniformIndexing;
22000     shaderStorageImageArrayNonUniformIndexing = in_struct->shaderStorageImageArrayNonUniformIndexing;
22001     shaderInputAttachmentArrayNonUniformIndexing = in_struct->shaderInputAttachmentArrayNonUniformIndexing;
22002     shaderUniformTexelBufferArrayNonUniformIndexing = in_struct->shaderUniformTexelBufferArrayNonUniformIndexing;
22003     shaderStorageTexelBufferArrayNonUniformIndexing = in_struct->shaderStorageTexelBufferArrayNonUniformIndexing;
22004     descriptorBindingUniformBufferUpdateAfterBind = in_struct->descriptorBindingUniformBufferUpdateAfterBind;
22005     descriptorBindingSampledImageUpdateAfterBind = in_struct->descriptorBindingSampledImageUpdateAfterBind;
22006     descriptorBindingStorageImageUpdateAfterBind = in_struct->descriptorBindingStorageImageUpdateAfterBind;
22007     descriptorBindingStorageBufferUpdateAfterBind = in_struct->descriptorBindingStorageBufferUpdateAfterBind;
22008     descriptorBindingUniformTexelBufferUpdateAfterBind = in_struct->descriptorBindingUniformTexelBufferUpdateAfterBind;
22009     descriptorBindingStorageTexelBufferUpdateAfterBind = in_struct->descriptorBindingStorageTexelBufferUpdateAfterBind;
22010     descriptorBindingUpdateUnusedWhilePending = in_struct->descriptorBindingUpdateUnusedWhilePending;
22011     descriptorBindingPartiallyBound = in_struct->descriptorBindingPartiallyBound;
22012     descriptorBindingVariableDescriptorCount = in_struct->descriptorBindingVariableDescriptorCount;
22013     runtimeDescriptorArray = in_struct->runtimeDescriptorArray;
22014     pNext = SafePnextCopy(in_struct->pNext);
22015 }
22016 
initialize(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT * src)22017 void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT* src)
22018 {
22019     sType = src->sType;
22020     shaderInputAttachmentArrayDynamicIndexing = src->shaderInputAttachmentArrayDynamicIndexing;
22021     shaderUniformTexelBufferArrayDynamicIndexing = src->shaderUniformTexelBufferArrayDynamicIndexing;
22022     shaderStorageTexelBufferArrayDynamicIndexing = src->shaderStorageTexelBufferArrayDynamicIndexing;
22023     shaderUniformBufferArrayNonUniformIndexing = src->shaderUniformBufferArrayNonUniformIndexing;
22024     shaderSampledImageArrayNonUniformIndexing = src->shaderSampledImageArrayNonUniformIndexing;
22025     shaderStorageBufferArrayNonUniformIndexing = src->shaderStorageBufferArrayNonUniformIndexing;
22026     shaderStorageImageArrayNonUniformIndexing = src->shaderStorageImageArrayNonUniformIndexing;
22027     shaderInputAttachmentArrayNonUniformIndexing = src->shaderInputAttachmentArrayNonUniformIndexing;
22028     shaderUniformTexelBufferArrayNonUniformIndexing = src->shaderUniformTexelBufferArrayNonUniformIndexing;
22029     shaderStorageTexelBufferArrayNonUniformIndexing = src->shaderStorageTexelBufferArrayNonUniformIndexing;
22030     descriptorBindingUniformBufferUpdateAfterBind = src->descriptorBindingUniformBufferUpdateAfterBind;
22031     descriptorBindingSampledImageUpdateAfterBind = src->descriptorBindingSampledImageUpdateAfterBind;
22032     descriptorBindingStorageImageUpdateAfterBind = src->descriptorBindingStorageImageUpdateAfterBind;
22033     descriptorBindingStorageBufferUpdateAfterBind = src->descriptorBindingStorageBufferUpdateAfterBind;
22034     descriptorBindingUniformTexelBufferUpdateAfterBind = src->descriptorBindingUniformTexelBufferUpdateAfterBind;
22035     descriptorBindingStorageTexelBufferUpdateAfterBind = src->descriptorBindingStorageTexelBufferUpdateAfterBind;
22036     descriptorBindingUpdateUnusedWhilePending = src->descriptorBindingUpdateUnusedWhilePending;
22037     descriptorBindingPartiallyBound = src->descriptorBindingPartiallyBound;
22038     descriptorBindingVariableDescriptorCount = src->descriptorBindingVariableDescriptorCount;
22039     runtimeDescriptorArray = src->runtimeDescriptorArray;
22040     pNext = SafePnextCopy(src->pNext);
22041 }
22042 
safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT * in_struct)22043 safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* in_struct) :
22044     sType(in_struct->sType),
22045     maxUpdateAfterBindDescriptorsInAllPools(in_struct->maxUpdateAfterBindDescriptorsInAllPools),
22046     shaderUniformBufferArrayNonUniformIndexingNative(in_struct->shaderUniformBufferArrayNonUniformIndexingNative),
22047     shaderSampledImageArrayNonUniformIndexingNative(in_struct->shaderSampledImageArrayNonUniformIndexingNative),
22048     shaderStorageBufferArrayNonUniformIndexingNative(in_struct->shaderStorageBufferArrayNonUniformIndexingNative),
22049     shaderStorageImageArrayNonUniformIndexingNative(in_struct->shaderStorageImageArrayNonUniformIndexingNative),
22050     shaderInputAttachmentArrayNonUniformIndexingNative(in_struct->shaderInputAttachmentArrayNonUniformIndexingNative),
22051     robustBufferAccessUpdateAfterBind(in_struct->robustBufferAccessUpdateAfterBind),
22052     quadDivergentImplicitLod(in_struct->quadDivergentImplicitLod),
22053     maxPerStageDescriptorUpdateAfterBindSamplers(in_struct->maxPerStageDescriptorUpdateAfterBindSamplers),
22054     maxPerStageDescriptorUpdateAfterBindUniformBuffers(in_struct->maxPerStageDescriptorUpdateAfterBindUniformBuffers),
22055     maxPerStageDescriptorUpdateAfterBindStorageBuffers(in_struct->maxPerStageDescriptorUpdateAfterBindStorageBuffers),
22056     maxPerStageDescriptorUpdateAfterBindSampledImages(in_struct->maxPerStageDescriptorUpdateAfterBindSampledImages),
22057     maxPerStageDescriptorUpdateAfterBindStorageImages(in_struct->maxPerStageDescriptorUpdateAfterBindStorageImages),
22058     maxPerStageDescriptorUpdateAfterBindInputAttachments(in_struct->maxPerStageDescriptorUpdateAfterBindInputAttachments),
22059     maxPerStageUpdateAfterBindResources(in_struct->maxPerStageUpdateAfterBindResources),
22060     maxDescriptorSetUpdateAfterBindSamplers(in_struct->maxDescriptorSetUpdateAfterBindSamplers),
22061     maxDescriptorSetUpdateAfterBindUniformBuffers(in_struct->maxDescriptorSetUpdateAfterBindUniformBuffers),
22062     maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(in_struct->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic),
22063     maxDescriptorSetUpdateAfterBindStorageBuffers(in_struct->maxDescriptorSetUpdateAfterBindStorageBuffers),
22064     maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(in_struct->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic),
22065     maxDescriptorSetUpdateAfterBindSampledImages(in_struct->maxDescriptorSetUpdateAfterBindSampledImages),
22066     maxDescriptorSetUpdateAfterBindStorageImages(in_struct->maxDescriptorSetUpdateAfterBindStorageImages),
22067     maxDescriptorSetUpdateAfterBindInputAttachments(in_struct->maxDescriptorSetUpdateAfterBindInputAttachments)
22068 {
22069     pNext = SafePnextCopy(in_struct->pNext);
22070 }
22071 
safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT()22072 safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT() :
22073     pNext(nullptr)
22074 {}
22075 
safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT & src)22076 safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& src)
22077 {
22078     sType = src.sType;
22079     maxUpdateAfterBindDescriptorsInAllPools = src.maxUpdateAfterBindDescriptorsInAllPools;
22080     shaderUniformBufferArrayNonUniformIndexingNative = src.shaderUniformBufferArrayNonUniformIndexingNative;
22081     shaderSampledImageArrayNonUniformIndexingNative = src.shaderSampledImageArrayNonUniformIndexingNative;
22082     shaderStorageBufferArrayNonUniformIndexingNative = src.shaderStorageBufferArrayNonUniformIndexingNative;
22083     shaderStorageImageArrayNonUniformIndexingNative = src.shaderStorageImageArrayNonUniformIndexingNative;
22084     shaderInputAttachmentArrayNonUniformIndexingNative = src.shaderInputAttachmentArrayNonUniformIndexingNative;
22085     robustBufferAccessUpdateAfterBind = src.robustBufferAccessUpdateAfterBind;
22086     quadDivergentImplicitLod = src.quadDivergentImplicitLod;
22087     maxPerStageDescriptorUpdateAfterBindSamplers = src.maxPerStageDescriptorUpdateAfterBindSamplers;
22088     maxPerStageDescriptorUpdateAfterBindUniformBuffers = src.maxPerStageDescriptorUpdateAfterBindUniformBuffers;
22089     maxPerStageDescriptorUpdateAfterBindStorageBuffers = src.maxPerStageDescriptorUpdateAfterBindStorageBuffers;
22090     maxPerStageDescriptorUpdateAfterBindSampledImages = src.maxPerStageDescriptorUpdateAfterBindSampledImages;
22091     maxPerStageDescriptorUpdateAfterBindStorageImages = src.maxPerStageDescriptorUpdateAfterBindStorageImages;
22092     maxPerStageDescriptorUpdateAfterBindInputAttachments = src.maxPerStageDescriptorUpdateAfterBindInputAttachments;
22093     maxPerStageUpdateAfterBindResources = src.maxPerStageUpdateAfterBindResources;
22094     maxDescriptorSetUpdateAfterBindSamplers = src.maxDescriptorSetUpdateAfterBindSamplers;
22095     maxDescriptorSetUpdateAfterBindUniformBuffers = src.maxDescriptorSetUpdateAfterBindUniformBuffers;
22096     maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = src.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
22097     maxDescriptorSetUpdateAfterBindStorageBuffers = src.maxDescriptorSetUpdateAfterBindStorageBuffers;
22098     maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = src.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
22099     maxDescriptorSetUpdateAfterBindSampledImages = src.maxDescriptorSetUpdateAfterBindSampledImages;
22100     maxDescriptorSetUpdateAfterBindStorageImages = src.maxDescriptorSetUpdateAfterBindStorageImages;
22101     maxDescriptorSetUpdateAfterBindInputAttachments = src.maxDescriptorSetUpdateAfterBindInputAttachments;
22102     pNext = SafePnextCopy(src.pNext);
22103 }
22104 
operator =(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT & src)22105 safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::operator=(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& src)
22106 {
22107     if (&src == this) return *this;
22108 
22109     if (pNext)
22110         FreePnextChain(pNext);
22111 
22112     sType = src.sType;
22113     maxUpdateAfterBindDescriptorsInAllPools = src.maxUpdateAfterBindDescriptorsInAllPools;
22114     shaderUniformBufferArrayNonUniformIndexingNative = src.shaderUniformBufferArrayNonUniformIndexingNative;
22115     shaderSampledImageArrayNonUniformIndexingNative = src.shaderSampledImageArrayNonUniformIndexingNative;
22116     shaderStorageBufferArrayNonUniformIndexingNative = src.shaderStorageBufferArrayNonUniformIndexingNative;
22117     shaderStorageImageArrayNonUniformIndexingNative = src.shaderStorageImageArrayNonUniformIndexingNative;
22118     shaderInputAttachmentArrayNonUniformIndexingNative = src.shaderInputAttachmentArrayNonUniformIndexingNative;
22119     robustBufferAccessUpdateAfterBind = src.robustBufferAccessUpdateAfterBind;
22120     quadDivergentImplicitLod = src.quadDivergentImplicitLod;
22121     maxPerStageDescriptorUpdateAfterBindSamplers = src.maxPerStageDescriptorUpdateAfterBindSamplers;
22122     maxPerStageDescriptorUpdateAfterBindUniformBuffers = src.maxPerStageDescriptorUpdateAfterBindUniformBuffers;
22123     maxPerStageDescriptorUpdateAfterBindStorageBuffers = src.maxPerStageDescriptorUpdateAfterBindStorageBuffers;
22124     maxPerStageDescriptorUpdateAfterBindSampledImages = src.maxPerStageDescriptorUpdateAfterBindSampledImages;
22125     maxPerStageDescriptorUpdateAfterBindStorageImages = src.maxPerStageDescriptorUpdateAfterBindStorageImages;
22126     maxPerStageDescriptorUpdateAfterBindInputAttachments = src.maxPerStageDescriptorUpdateAfterBindInputAttachments;
22127     maxPerStageUpdateAfterBindResources = src.maxPerStageUpdateAfterBindResources;
22128     maxDescriptorSetUpdateAfterBindSamplers = src.maxDescriptorSetUpdateAfterBindSamplers;
22129     maxDescriptorSetUpdateAfterBindUniformBuffers = src.maxDescriptorSetUpdateAfterBindUniformBuffers;
22130     maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = src.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
22131     maxDescriptorSetUpdateAfterBindStorageBuffers = src.maxDescriptorSetUpdateAfterBindStorageBuffers;
22132     maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = src.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
22133     maxDescriptorSetUpdateAfterBindSampledImages = src.maxDescriptorSetUpdateAfterBindSampledImages;
22134     maxDescriptorSetUpdateAfterBindStorageImages = src.maxDescriptorSetUpdateAfterBindStorageImages;
22135     maxDescriptorSetUpdateAfterBindInputAttachments = src.maxDescriptorSetUpdateAfterBindInputAttachments;
22136     pNext = SafePnextCopy(src.pNext);
22137 
22138     return *this;
22139 }
22140 
~safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT()22141 safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::~safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT()
22142 {
22143     if (pNext)
22144         FreePnextChain(pNext);
22145 }
22146 
initialize(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT * in_struct)22147 void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* in_struct)
22148 {
22149     sType = in_struct->sType;
22150     maxUpdateAfterBindDescriptorsInAllPools = in_struct->maxUpdateAfterBindDescriptorsInAllPools;
22151     shaderUniformBufferArrayNonUniformIndexingNative = in_struct->shaderUniformBufferArrayNonUniformIndexingNative;
22152     shaderSampledImageArrayNonUniformIndexingNative = in_struct->shaderSampledImageArrayNonUniformIndexingNative;
22153     shaderStorageBufferArrayNonUniformIndexingNative = in_struct->shaderStorageBufferArrayNonUniformIndexingNative;
22154     shaderStorageImageArrayNonUniformIndexingNative = in_struct->shaderStorageImageArrayNonUniformIndexingNative;
22155     shaderInputAttachmentArrayNonUniformIndexingNative = in_struct->shaderInputAttachmentArrayNonUniformIndexingNative;
22156     robustBufferAccessUpdateAfterBind = in_struct->robustBufferAccessUpdateAfterBind;
22157     quadDivergentImplicitLod = in_struct->quadDivergentImplicitLod;
22158     maxPerStageDescriptorUpdateAfterBindSamplers = in_struct->maxPerStageDescriptorUpdateAfterBindSamplers;
22159     maxPerStageDescriptorUpdateAfterBindUniformBuffers = in_struct->maxPerStageDescriptorUpdateAfterBindUniformBuffers;
22160     maxPerStageDescriptorUpdateAfterBindStorageBuffers = in_struct->maxPerStageDescriptorUpdateAfterBindStorageBuffers;
22161     maxPerStageDescriptorUpdateAfterBindSampledImages = in_struct->maxPerStageDescriptorUpdateAfterBindSampledImages;
22162     maxPerStageDescriptorUpdateAfterBindStorageImages = in_struct->maxPerStageDescriptorUpdateAfterBindStorageImages;
22163     maxPerStageDescriptorUpdateAfterBindInputAttachments = in_struct->maxPerStageDescriptorUpdateAfterBindInputAttachments;
22164     maxPerStageUpdateAfterBindResources = in_struct->maxPerStageUpdateAfterBindResources;
22165     maxDescriptorSetUpdateAfterBindSamplers = in_struct->maxDescriptorSetUpdateAfterBindSamplers;
22166     maxDescriptorSetUpdateAfterBindUniformBuffers = in_struct->maxDescriptorSetUpdateAfterBindUniformBuffers;
22167     maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = in_struct->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
22168     maxDescriptorSetUpdateAfterBindStorageBuffers = in_struct->maxDescriptorSetUpdateAfterBindStorageBuffers;
22169     maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = in_struct->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
22170     maxDescriptorSetUpdateAfterBindSampledImages = in_struct->maxDescriptorSetUpdateAfterBindSampledImages;
22171     maxDescriptorSetUpdateAfterBindStorageImages = in_struct->maxDescriptorSetUpdateAfterBindStorageImages;
22172     maxDescriptorSetUpdateAfterBindInputAttachments = in_struct->maxDescriptorSetUpdateAfterBindInputAttachments;
22173     pNext = SafePnextCopy(in_struct->pNext);
22174 }
22175 
initialize(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT * src)22176 void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT* src)
22177 {
22178     sType = src->sType;
22179     maxUpdateAfterBindDescriptorsInAllPools = src->maxUpdateAfterBindDescriptorsInAllPools;
22180     shaderUniformBufferArrayNonUniformIndexingNative = src->shaderUniformBufferArrayNonUniformIndexingNative;
22181     shaderSampledImageArrayNonUniformIndexingNative = src->shaderSampledImageArrayNonUniformIndexingNative;
22182     shaderStorageBufferArrayNonUniformIndexingNative = src->shaderStorageBufferArrayNonUniformIndexingNative;
22183     shaderStorageImageArrayNonUniformIndexingNative = src->shaderStorageImageArrayNonUniformIndexingNative;
22184     shaderInputAttachmentArrayNonUniformIndexingNative = src->shaderInputAttachmentArrayNonUniformIndexingNative;
22185     robustBufferAccessUpdateAfterBind = src->robustBufferAccessUpdateAfterBind;
22186     quadDivergentImplicitLod = src->quadDivergentImplicitLod;
22187     maxPerStageDescriptorUpdateAfterBindSamplers = src->maxPerStageDescriptorUpdateAfterBindSamplers;
22188     maxPerStageDescriptorUpdateAfterBindUniformBuffers = src->maxPerStageDescriptorUpdateAfterBindUniformBuffers;
22189     maxPerStageDescriptorUpdateAfterBindStorageBuffers = src->maxPerStageDescriptorUpdateAfterBindStorageBuffers;
22190     maxPerStageDescriptorUpdateAfterBindSampledImages = src->maxPerStageDescriptorUpdateAfterBindSampledImages;
22191     maxPerStageDescriptorUpdateAfterBindStorageImages = src->maxPerStageDescriptorUpdateAfterBindStorageImages;
22192     maxPerStageDescriptorUpdateAfterBindInputAttachments = src->maxPerStageDescriptorUpdateAfterBindInputAttachments;
22193     maxPerStageUpdateAfterBindResources = src->maxPerStageUpdateAfterBindResources;
22194     maxDescriptorSetUpdateAfterBindSamplers = src->maxDescriptorSetUpdateAfterBindSamplers;
22195     maxDescriptorSetUpdateAfterBindUniformBuffers = src->maxDescriptorSetUpdateAfterBindUniformBuffers;
22196     maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = src->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
22197     maxDescriptorSetUpdateAfterBindStorageBuffers = src->maxDescriptorSetUpdateAfterBindStorageBuffers;
22198     maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = src->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
22199     maxDescriptorSetUpdateAfterBindSampledImages = src->maxDescriptorSetUpdateAfterBindSampledImages;
22200     maxDescriptorSetUpdateAfterBindStorageImages = src->maxDescriptorSetUpdateAfterBindStorageImages;
22201     maxDescriptorSetUpdateAfterBindInputAttachments = src->maxDescriptorSetUpdateAfterBindInputAttachments;
22202     pNext = SafePnextCopy(src->pNext);
22203 }
22204 
safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT * in_struct)22205 safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* in_struct) :
22206     sType(in_struct->sType),
22207     descriptorSetCount(in_struct->descriptorSetCount),
22208     pDescriptorCounts(nullptr)
22209 {
22210     pNext = SafePnextCopy(in_struct->pNext);
22211     if (in_struct->pDescriptorCounts) {
22212         pDescriptorCounts = new uint32_t[in_struct->descriptorSetCount];
22213         memcpy ((void *)pDescriptorCounts, (void *)in_struct->pDescriptorCounts, sizeof(uint32_t)*in_struct->descriptorSetCount);
22214     }
22215 }
22216 
safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT()22217 safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT() :
22218     pNext(nullptr),
22219     pDescriptorCounts(nullptr)
22220 {}
22221 
safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT & src)22222 safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& src)
22223 {
22224     sType = src.sType;
22225     descriptorSetCount = src.descriptorSetCount;
22226     pDescriptorCounts = nullptr;
22227     pNext = SafePnextCopy(src.pNext);
22228     if (src.pDescriptorCounts) {
22229         pDescriptorCounts = new uint32_t[src.descriptorSetCount];
22230         memcpy ((void *)pDescriptorCounts, (void *)src.pDescriptorCounts, sizeof(uint32_t)*src.descriptorSetCount);
22231     }
22232 }
22233 
operator =(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT & src)22234 safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::operator=(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& src)
22235 {
22236     if (&src == this) return *this;
22237 
22238     if (pDescriptorCounts)
22239         delete[] pDescriptorCounts;
22240     if (pNext)
22241         FreePnextChain(pNext);
22242 
22243     sType = src.sType;
22244     descriptorSetCount = src.descriptorSetCount;
22245     pDescriptorCounts = nullptr;
22246     pNext = SafePnextCopy(src.pNext);
22247     if (src.pDescriptorCounts) {
22248         pDescriptorCounts = new uint32_t[src.descriptorSetCount];
22249         memcpy ((void *)pDescriptorCounts, (void *)src.pDescriptorCounts, sizeof(uint32_t)*src.descriptorSetCount);
22250     }
22251 
22252     return *this;
22253 }
22254 
~safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT()22255 safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::~safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT()
22256 {
22257     if (pDescriptorCounts)
22258         delete[] pDescriptorCounts;
22259     if (pNext)
22260         FreePnextChain(pNext);
22261 }
22262 
initialize(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT * in_struct)22263 void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* in_struct)
22264 {
22265     sType = in_struct->sType;
22266     descriptorSetCount = in_struct->descriptorSetCount;
22267     pDescriptorCounts = nullptr;
22268     pNext = SafePnextCopy(in_struct->pNext);
22269     if (in_struct->pDescriptorCounts) {
22270         pDescriptorCounts = new uint32_t[in_struct->descriptorSetCount];
22271         memcpy ((void *)pDescriptorCounts, (void *)in_struct->pDescriptorCounts, sizeof(uint32_t)*in_struct->descriptorSetCount);
22272     }
22273 }
22274 
initialize(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT * src)22275 void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* src)
22276 {
22277     sType = src->sType;
22278     descriptorSetCount = src->descriptorSetCount;
22279     pDescriptorCounts = nullptr;
22280     pNext = SafePnextCopy(src->pNext);
22281     if (src->pDescriptorCounts) {
22282         pDescriptorCounts = new uint32_t[src->descriptorSetCount];
22283         memcpy ((void *)pDescriptorCounts, (void *)src->pDescriptorCounts, sizeof(uint32_t)*src->descriptorSetCount);
22284     }
22285 }
22286 
safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT * in_struct)22287 safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* in_struct) :
22288     sType(in_struct->sType),
22289     maxVariableDescriptorCount(in_struct->maxVariableDescriptorCount)
22290 {
22291     pNext = SafePnextCopy(in_struct->pNext);
22292 }
22293 
safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT()22294 safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT() :
22295     pNext(nullptr)
22296 {}
22297 
safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT & src)22298 safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& src)
22299 {
22300     sType = src.sType;
22301     maxVariableDescriptorCount = src.maxVariableDescriptorCount;
22302     pNext = SafePnextCopy(src.pNext);
22303 }
22304 
operator =(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT & src)22305 safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::operator=(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& src)
22306 {
22307     if (&src == this) return *this;
22308 
22309     if (pNext)
22310         FreePnextChain(pNext);
22311 
22312     sType = src.sType;
22313     maxVariableDescriptorCount = src.maxVariableDescriptorCount;
22314     pNext = SafePnextCopy(src.pNext);
22315 
22316     return *this;
22317 }
22318 
~safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT()22319 safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::~safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT()
22320 {
22321     if (pNext)
22322         FreePnextChain(pNext);
22323 }
22324 
initialize(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT * in_struct)22325 void safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::initialize(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* in_struct)
22326 {
22327     sType = in_struct->sType;
22328     maxVariableDescriptorCount = in_struct->maxVariableDescriptorCount;
22329     pNext = SafePnextCopy(in_struct->pNext);
22330 }
22331 
initialize(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT * src)22332 void safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::initialize(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* src)
22333 {
22334     sType = src->sType;
22335     maxVariableDescriptorCount = src->maxVariableDescriptorCount;
22336     pNext = SafePnextCopy(src->pNext);
22337 }
22338 
safe_VkShadingRatePaletteNV(const VkShadingRatePaletteNV * in_struct)22339 safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV(const VkShadingRatePaletteNV* in_struct) :
22340     shadingRatePaletteEntryCount(in_struct->shadingRatePaletteEntryCount),
22341     pShadingRatePaletteEntries(nullptr)
22342 {
22343     if (in_struct->pShadingRatePaletteEntries) {
22344         pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[in_struct->shadingRatePaletteEntryCount];
22345         memcpy ((void *)pShadingRatePaletteEntries, (void *)in_struct->pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*in_struct->shadingRatePaletteEntryCount);
22346     }
22347 }
22348 
safe_VkShadingRatePaletteNV()22349 safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV() :
22350     pShadingRatePaletteEntries(nullptr)
22351 {}
22352 
safe_VkShadingRatePaletteNV(const safe_VkShadingRatePaletteNV & src)22353 safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV(const safe_VkShadingRatePaletteNV& src)
22354 {
22355     shadingRatePaletteEntryCount = src.shadingRatePaletteEntryCount;
22356     pShadingRatePaletteEntries = nullptr;
22357     if (src.pShadingRatePaletteEntries) {
22358         pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[src.shadingRatePaletteEntryCount];
22359         memcpy ((void *)pShadingRatePaletteEntries, (void *)src.pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*src.shadingRatePaletteEntryCount);
22360     }
22361 }
22362 
operator =(const safe_VkShadingRatePaletteNV & src)22363 safe_VkShadingRatePaletteNV& safe_VkShadingRatePaletteNV::operator=(const safe_VkShadingRatePaletteNV& src)
22364 {
22365     if (&src == this) return *this;
22366 
22367     if (pShadingRatePaletteEntries)
22368         delete[] pShadingRatePaletteEntries;
22369 
22370     shadingRatePaletteEntryCount = src.shadingRatePaletteEntryCount;
22371     pShadingRatePaletteEntries = nullptr;
22372     if (src.pShadingRatePaletteEntries) {
22373         pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[src.shadingRatePaletteEntryCount];
22374         memcpy ((void *)pShadingRatePaletteEntries, (void *)src.pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*src.shadingRatePaletteEntryCount);
22375     }
22376 
22377     return *this;
22378 }
22379 
~safe_VkShadingRatePaletteNV()22380 safe_VkShadingRatePaletteNV::~safe_VkShadingRatePaletteNV()
22381 {
22382     if (pShadingRatePaletteEntries)
22383         delete[] pShadingRatePaletteEntries;
22384 }
22385 
initialize(const VkShadingRatePaletteNV * in_struct)22386 void safe_VkShadingRatePaletteNV::initialize(const VkShadingRatePaletteNV* in_struct)
22387 {
22388     shadingRatePaletteEntryCount = in_struct->shadingRatePaletteEntryCount;
22389     pShadingRatePaletteEntries = nullptr;
22390     if (in_struct->pShadingRatePaletteEntries) {
22391         pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[in_struct->shadingRatePaletteEntryCount];
22392         memcpy ((void *)pShadingRatePaletteEntries, (void *)in_struct->pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*in_struct->shadingRatePaletteEntryCount);
22393     }
22394 }
22395 
initialize(const safe_VkShadingRatePaletteNV * src)22396 void safe_VkShadingRatePaletteNV::initialize(const safe_VkShadingRatePaletteNV* src)
22397 {
22398     shadingRatePaletteEntryCount = src->shadingRatePaletteEntryCount;
22399     pShadingRatePaletteEntries = nullptr;
22400     if (src->pShadingRatePaletteEntries) {
22401         pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[src->shadingRatePaletteEntryCount];
22402         memcpy ((void *)pShadingRatePaletteEntries, (void *)src->pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*src->shadingRatePaletteEntryCount);
22403     }
22404 }
22405 
safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const VkPipelineViewportShadingRateImageStateCreateInfoNV * in_struct)22406 safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const VkPipelineViewportShadingRateImageStateCreateInfoNV* in_struct) :
22407     sType(in_struct->sType),
22408     shadingRateImageEnable(in_struct->shadingRateImageEnable),
22409     viewportCount(in_struct->viewportCount),
22410     pShadingRatePalettes(nullptr)
22411 {
22412     pNext = SafePnextCopy(in_struct->pNext);
22413     if (viewportCount && in_struct->pShadingRatePalettes) {
22414         pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22415         for (uint32_t i = 0; i < viewportCount; ++i) {
22416             pShadingRatePalettes[i].initialize(&in_struct->pShadingRatePalettes[i]);
22417         }
22418     }
22419 }
22420 
safe_VkPipelineViewportShadingRateImageStateCreateInfoNV()22421 safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV() :
22422     pNext(nullptr),
22423     pShadingRatePalettes(nullptr)
22424 {}
22425 
safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV & src)22426 safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& src)
22427 {
22428     sType = src.sType;
22429     shadingRateImageEnable = src.shadingRateImageEnable;
22430     viewportCount = src.viewportCount;
22431     pShadingRatePalettes = nullptr;
22432     pNext = SafePnextCopy(src.pNext);
22433     if (viewportCount && src.pShadingRatePalettes) {
22434         pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22435         for (uint32_t i = 0; i < viewportCount; ++i) {
22436             pShadingRatePalettes[i].initialize(&src.pShadingRatePalettes[i]);
22437         }
22438     }
22439 }
22440 
operator =(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV & src)22441 safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::operator=(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& src)
22442 {
22443     if (&src == this) return *this;
22444 
22445     if (pShadingRatePalettes)
22446         delete[] pShadingRatePalettes;
22447     if (pNext)
22448         FreePnextChain(pNext);
22449 
22450     sType = src.sType;
22451     shadingRateImageEnable = src.shadingRateImageEnable;
22452     viewportCount = src.viewportCount;
22453     pShadingRatePalettes = nullptr;
22454     pNext = SafePnextCopy(src.pNext);
22455     if (viewportCount && src.pShadingRatePalettes) {
22456         pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22457         for (uint32_t i = 0; i < viewportCount; ++i) {
22458             pShadingRatePalettes[i].initialize(&src.pShadingRatePalettes[i]);
22459         }
22460     }
22461 
22462     return *this;
22463 }
22464 
~safe_VkPipelineViewportShadingRateImageStateCreateInfoNV()22465 safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::~safe_VkPipelineViewportShadingRateImageStateCreateInfoNV()
22466 {
22467     if (pShadingRatePalettes)
22468         delete[] pShadingRatePalettes;
22469     if (pNext)
22470         FreePnextChain(pNext);
22471 }
22472 
initialize(const VkPipelineViewportShadingRateImageStateCreateInfoNV * in_struct)22473 void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const VkPipelineViewportShadingRateImageStateCreateInfoNV* in_struct)
22474 {
22475     sType = in_struct->sType;
22476     shadingRateImageEnable = in_struct->shadingRateImageEnable;
22477     viewportCount = in_struct->viewportCount;
22478     pShadingRatePalettes = nullptr;
22479     pNext = SafePnextCopy(in_struct->pNext);
22480     if (viewportCount && in_struct->pShadingRatePalettes) {
22481         pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22482         for (uint32_t i = 0; i < viewportCount; ++i) {
22483             pShadingRatePalettes[i].initialize(&in_struct->pShadingRatePalettes[i]);
22484         }
22485     }
22486 }
22487 
initialize(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV * src)22488 void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV* src)
22489 {
22490     sType = src->sType;
22491     shadingRateImageEnable = src->shadingRateImageEnable;
22492     viewportCount = src->viewportCount;
22493     pShadingRatePalettes = nullptr;
22494     pNext = SafePnextCopy(src->pNext);
22495     if (viewportCount && src->pShadingRatePalettes) {
22496         pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22497         for (uint32_t i = 0; i < viewportCount; ++i) {
22498             pShadingRatePalettes[i].initialize(&src->pShadingRatePalettes[i]);
22499         }
22500     }
22501 }
22502 
safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const VkPhysicalDeviceShadingRateImageFeaturesNV * in_struct)22503 safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const VkPhysicalDeviceShadingRateImageFeaturesNV* in_struct) :
22504     sType(in_struct->sType),
22505     shadingRateImage(in_struct->shadingRateImage),
22506     shadingRateCoarseSampleOrder(in_struct->shadingRateCoarseSampleOrder)
22507 {
22508     pNext = SafePnextCopy(in_struct->pNext);
22509 }
22510 
safe_VkPhysicalDeviceShadingRateImageFeaturesNV()22511 safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV() :
22512     pNext(nullptr)
22513 {}
22514 
safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV & src)22515 safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV& src)
22516 {
22517     sType = src.sType;
22518     shadingRateImage = src.shadingRateImage;
22519     shadingRateCoarseSampleOrder = src.shadingRateCoarseSampleOrder;
22520     pNext = SafePnextCopy(src.pNext);
22521 }
22522 
operator =(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV & src)22523 safe_VkPhysicalDeviceShadingRateImageFeaturesNV& safe_VkPhysicalDeviceShadingRateImageFeaturesNV::operator=(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV& src)
22524 {
22525     if (&src == this) return *this;
22526 
22527     if (pNext)
22528         FreePnextChain(pNext);
22529 
22530     sType = src.sType;
22531     shadingRateImage = src.shadingRateImage;
22532     shadingRateCoarseSampleOrder = src.shadingRateCoarseSampleOrder;
22533     pNext = SafePnextCopy(src.pNext);
22534 
22535     return *this;
22536 }
22537 
~safe_VkPhysicalDeviceShadingRateImageFeaturesNV()22538 safe_VkPhysicalDeviceShadingRateImageFeaturesNV::~safe_VkPhysicalDeviceShadingRateImageFeaturesNV()
22539 {
22540     if (pNext)
22541         FreePnextChain(pNext);
22542 }
22543 
initialize(const VkPhysicalDeviceShadingRateImageFeaturesNV * in_struct)22544 void safe_VkPhysicalDeviceShadingRateImageFeaturesNV::initialize(const VkPhysicalDeviceShadingRateImageFeaturesNV* in_struct)
22545 {
22546     sType = in_struct->sType;
22547     shadingRateImage = in_struct->shadingRateImage;
22548     shadingRateCoarseSampleOrder = in_struct->shadingRateCoarseSampleOrder;
22549     pNext = SafePnextCopy(in_struct->pNext);
22550 }
22551 
initialize(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV * src)22552 void safe_VkPhysicalDeviceShadingRateImageFeaturesNV::initialize(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV* src)
22553 {
22554     sType = src->sType;
22555     shadingRateImage = src->shadingRateImage;
22556     shadingRateCoarseSampleOrder = src->shadingRateCoarseSampleOrder;
22557     pNext = SafePnextCopy(src->pNext);
22558 }
22559 
safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const VkPhysicalDeviceShadingRateImagePropertiesNV * in_struct)22560 safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const VkPhysicalDeviceShadingRateImagePropertiesNV* in_struct) :
22561     sType(in_struct->sType),
22562     shadingRateTexelSize(in_struct->shadingRateTexelSize),
22563     shadingRatePaletteSize(in_struct->shadingRatePaletteSize),
22564     shadingRateMaxCoarseSamples(in_struct->shadingRateMaxCoarseSamples)
22565 {
22566     pNext = SafePnextCopy(in_struct->pNext);
22567 }
22568 
safe_VkPhysicalDeviceShadingRateImagePropertiesNV()22569 safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV() :
22570     pNext(nullptr)
22571 {}
22572 
safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV & src)22573 safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV& src)
22574 {
22575     sType = src.sType;
22576     shadingRateTexelSize = src.shadingRateTexelSize;
22577     shadingRatePaletteSize = src.shadingRatePaletteSize;
22578     shadingRateMaxCoarseSamples = src.shadingRateMaxCoarseSamples;
22579     pNext = SafePnextCopy(src.pNext);
22580 }
22581 
operator =(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV & src)22582 safe_VkPhysicalDeviceShadingRateImagePropertiesNV& safe_VkPhysicalDeviceShadingRateImagePropertiesNV::operator=(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV& src)
22583 {
22584     if (&src == this) return *this;
22585 
22586     if (pNext)
22587         FreePnextChain(pNext);
22588 
22589     sType = src.sType;
22590     shadingRateTexelSize = src.shadingRateTexelSize;
22591     shadingRatePaletteSize = src.shadingRatePaletteSize;
22592     shadingRateMaxCoarseSamples = src.shadingRateMaxCoarseSamples;
22593     pNext = SafePnextCopy(src.pNext);
22594 
22595     return *this;
22596 }
22597 
~safe_VkPhysicalDeviceShadingRateImagePropertiesNV()22598 safe_VkPhysicalDeviceShadingRateImagePropertiesNV::~safe_VkPhysicalDeviceShadingRateImagePropertiesNV()
22599 {
22600     if (pNext)
22601         FreePnextChain(pNext);
22602 }
22603 
initialize(const VkPhysicalDeviceShadingRateImagePropertiesNV * in_struct)22604 void safe_VkPhysicalDeviceShadingRateImagePropertiesNV::initialize(const VkPhysicalDeviceShadingRateImagePropertiesNV* in_struct)
22605 {
22606     sType = in_struct->sType;
22607     shadingRateTexelSize = in_struct->shadingRateTexelSize;
22608     shadingRatePaletteSize = in_struct->shadingRatePaletteSize;
22609     shadingRateMaxCoarseSamples = in_struct->shadingRateMaxCoarseSamples;
22610     pNext = SafePnextCopy(in_struct->pNext);
22611 }
22612 
initialize(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV * src)22613 void safe_VkPhysicalDeviceShadingRateImagePropertiesNV::initialize(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV* src)
22614 {
22615     sType = src->sType;
22616     shadingRateTexelSize = src->shadingRateTexelSize;
22617     shadingRatePaletteSize = src->shadingRatePaletteSize;
22618     shadingRateMaxCoarseSamples = src->shadingRateMaxCoarseSamples;
22619     pNext = SafePnextCopy(src->pNext);
22620 }
22621 
safe_VkCoarseSampleOrderCustomNV(const VkCoarseSampleOrderCustomNV * in_struct)22622 safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV(const VkCoarseSampleOrderCustomNV* in_struct) :
22623     shadingRate(in_struct->shadingRate),
22624     sampleCount(in_struct->sampleCount),
22625     sampleLocationCount(in_struct->sampleLocationCount),
22626     pSampleLocations(nullptr)
22627 {
22628     if (in_struct->pSampleLocations) {
22629         pSampleLocations = new VkCoarseSampleLocationNV[in_struct->sampleLocationCount];
22630         memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkCoarseSampleLocationNV)*in_struct->sampleLocationCount);
22631     }
22632 }
22633 
safe_VkCoarseSampleOrderCustomNV()22634 safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV() :
22635     pSampleLocations(nullptr)
22636 {}
22637 
safe_VkCoarseSampleOrderCustomNV(const safe_VkCoarseSampleOrderCustomNV & src)22638 safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV(const safe_VkCoarseSampleOrderCustomNV& src)
22639 {
22640     shadingRate = src.shadingRate;
22641     sampleCount = src.sampleCount;
22642     sampleLocationCount = src.sampleLocationCount;
22643     pSampleLocations = nullptr;
22644     if (src.pSampleLocations) {
22645         pSampleLocations = new VkCoarseSampleLocationNV[src.sampleLocationCount];
22646         memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkCoarseSampleLocationNV)*src.sampleLocationCount);
22647     }
22648 }
22649 
operator =(const safe_VkCoarseSampleOrderCustomNV & src)22650 safe_VkCoarseSampleOrderCustomNV& safe_VkCoarseSampleOrderCustomNV::operator=(const safe_VkCoarseSampleOrderCustomNV& src)
22651 {
22652     if (&src == this) return *this;
22653 
22654     if (pSampleLocations)
22655         delete[] pSampleLocations;
22656 
22657     shadingRate = src.shadingRate;
22658     sampleCount = src.sampleCount;
22659     sampleLocationCount = src.sampleLocationCount;
22660     pSampleLocations = nullptr;
22661     if (src.pSampleLocations) {
22662         pSampleLocations = new VkCoarseSampleLocationNV[src.sampleLocationCount];
22663         memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkCoarseSampleLocationNV)*src.sampleLocationCount);
22664     }
22665 
22666     return *this;
22667 }
22668 
~safe_VkCoarseSampleOrderCustomNV()22669 safe_VkCoarseSampleOrderCustomNV::~safe_VkCoarseSampleOrderCustomNV()
22670 {
22671     if (pSampleLocations)
22672         delete[] pSampleLocations;
22673 }
22674 
initialize(const VkCoarseSampleOrderCustomNV * in_struct)22675 void safe_VkCoarseSampleOrderCustomNV::initialize(const VkCoarseSampleOrderCustomNV* in_struct)
22676 {
22677     shadingRate = in_struct->shadingRate;
22678     sampleCount = in_struct->sampleCount;
22679     sampleLocationCount = in_struct->sampleLocationCount;
22680     pSampleLocations = nullptr;
22681     if (in_struct->pSampleLocations) {
22682         pSampleLocations = new VkCoarseSampleLocationNV[in_struct->sampleLocationCount];
22683         memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkCoarseSampleLocationNV)*in_struct->sampleLocationCount);
22684     }
22685 }
22686 
initialize(const safe_VkCoarseSampleOrderCustomNV * src)22687 void safe_VkCoarseSampleOrderCustomNV::initialize(const safe_VkCoarseSampleOrderCustomNV* src)
22688 {
22689     shadingRate = src->shadingRate;
22690     sampleCount = src->sampleCount;
22691     sampleLocationCount = src->sampleLocationCount;
22692     pSampleLocations = nullptr;
22693     if (src->pSampleLocations) {
22694         pSampleLocations = new VkCoarseSampleLocationNV[src->sampleLocationCount];
22695         memcpy ((void *)pSampleLocations, (void *)src->pSampleLocations, sizeof(VkCoarseSampleLocationNV)*src->sampleLocationCount);
22696     }
22697 }
22698 
safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV * in_struct)22699 safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* in_struct) :
22700     sType(in_struct->sType),
22701     sampleOrderType(in_struct->sampleOrderType),
22702     customSampleOrderCount(in_struct->customSampleOrderCount),
22703     pCustomSampleOrders(nullptr)
22704 {
22705     pNext = SafePnextCopy(in_struct->pNext);
22706     if (customSampleOrderCount && in_struct->pCustomSampleOrders) {
22707         pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22708         for (uint32_t i = 0; i < customSampleOrderCount; ++i) {
22709             pCustomSampleOrders[i].initialize(&in_struct->pCustomSampleOrders[i]);
22710         }
22711     }
22712 }
22713 
safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV()22714 safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV() :
22715     pNext(nullptr),
22716     pCustomSampleOrders(nullptr)
22717 {}
22718 
safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV & src)22719 safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& src)
22720 {
22721     sType = src.sType;
22722     sampleOrderType = src.sampleOrderType;
22723     customSampleOrderCount = src.customSampleOrderCount;
22724     pCustomSampleOrders = nullptr;
22725     pNext = SafePnextCopy(src.pNext);
22726     if (customSampleOrderCount && src.pCustomSampleOrders) {
22727         pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22728         for (uint32_t i = 0; i < customSampleOrderCount; ++i) {
22729             pCustomSampleOrders[i].initialize(&src.pCustomSampleOrders[i]);
22730         }
22731     }
22732 }
22733 
operator =(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV & src)22734 safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::operator=(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& src)
22735 {
22736     if (&src == this) return *this;
22737 
22738     if (pCustomSampleOrders)
22739         delete[] pCustomSampleOrders;
22740     if (pNext)
22741         FreePnextChain(pNext);
22742 
22743     sType = src.sType;
22744     sampleOrderType = src.sampleOrderType;
22745     customSampleOrderCount = src.customSampleOrderCount;
22746     pCustomSampleOrders = nullptr;
22747     pNext = SafePnextCopy(src.pNext);
22748     if (customSampleOrderCount && src.pCustomSampleOrders) {
22749         pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22750         for (uint32_t i = 0; i < customSampleOrderCount; ++i) {
22751             pCustomSampleOrders[i].initialize(&src.pCustomSampleOrders[i]);
22752         }
22753     }
22754 
22755     return *this;
22756 }
22757 
~safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV()22758 safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::~safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV()
22759 {
22760     if (pCustomSampleOrders)
22761         delete[] pCustomSampleOrders;
22762     if (pNext)
22763         FreePnextChain(pNext);
22764 }
22765 
initialize(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV * in_struct)22766 void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* in_struct)
22767 {
22768     sType = in_struct->sType;
22769     sampleOrderType = in_struct->sampleOrderType;
22770     customSampleOrderCount = in_struct->customSampleOrderCount;
22771     pCustomSampleOrders = nullptr;
22772     pNext = SafePnextCopy(in_struct->pNext);
22773     if (customSampleOrderCount && in_struct->pCustomSampleOrders) {
22774         pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22775         for (uint32_t i = 0; i < customSampleOrderCount; ++i) {
22776             pCustomSampleOrders[i].initialize(&in_struct->pCustomSampleOrders[i]);
22777         }
22778     }
22779 }
22780 
initialize(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV * src)22781 void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* src)
22782 {
22783     sType = src->sType;
22784     sampleOrderType = src->sampleOrderType;
22785     customSampleOrderCount = src->customSampleOrderCount;
22786     pCustomSampleOrders = nullptr;
22787     pNext = SafePnextCopy(src->pNext);
22788     if (customSampleOrderCount && src->pCustomSampleOrders) {
22789         pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22790         for (uint32_t i = 0; i < customSampleOrderCount; ++i) {
22791             pCustomSampleOrders[i].initialize(&src->pCustomSampleOrders[i]);
22792         }
22793     }
22794 }
22795 
safe_VkRayTracingShaderGroupCreateInfoNV(const VkRayTracingShaderGroupCreateInfoNV * in_struct)22796 safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV(const VkRayTracingShaderGroupCreateInfoNV* in_struct) :
22797     sType(in_struct->sType),
22798     type(in_struct->type),
22799     generalShader(in_struct->generalShader),
22800     closestHitShader(in_struct->closestHitShader),
22801     anyHitShader(in_struct->anyHitShader),
22802     intersectionShader(in_struct->intersectionShader)
22803 {
22804     pNext = SafePnextCopy(in_struct->pNext);
22805 }
22806 
safe_VkRayTracingShaderGroupCreateInfoNV()22807 safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV() :
22808     pNext(nullptr)
22809 {}
22810 
safe_VkRayTracingShaderGroupCreateInfoNV(const safe_VkRayTracingShaderGroupCreateInfoNV & src)22811 safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV(const safe_VkRayTracingShaderGroupCreateInfoNV& src)
22812 {
22813     sType = src.sType;
22814     type = src.type;
22815     generalShader = src.generalShader;
22816     closestHitShader = src.closestHitShader;
22817     anyHitShader = src.anyHitShader;
22818     intersectionShader = src.intersectionShader;
22819     pNext = SafePnextCopy(src.pNext);
22820 }
22821 
operator =(const safe_VkRayTracingShaderGroupCreateInfoNV & src)22822 safe_VkRayTracingShaderGroupCreateInfoNV& safe_VkRayTracingShaderGroupCreateInfoNV::operator=(const safe_VkRayTracingShaderGroupCreateInfoNV& src)
22823 {
22824     if (&src == this) return *this;
22825 
22826     if (pNext)
22827         FreePnextChain(pNext);
22828 
22829     sType = src.sType;
22830     type = src.type;
22831     generalShader = src.generalShader;
22832     closestHitShader = src.closestHitShader;
22833     anyHitShader = src.anyHitShader;
22834     intersectionShader = src.intersectionShader;
22835     pNext = SafePnextCopy(src.pNext);
22836 
22837     return *this;
22838 }
22839 
~safe_VkRayTracingShaderGroupCreateInfoNV()22840 safe_VkRayTracingShaderGroupCreateInfoNV::~safe_VkRayTracingShaderGroupCreateInfoNV()
22841 {
22842     if (pNext)
22843         FreePnextChain(pNext);
22844 }
22845 
initialize(const VkRayTracingShaderGroupCreateInfoNV * in_struct)22846 void safe_VkRayTracingShaderGroupCreateInfoNV::initialize(const VkRayTracingShaderGroupCreateInfoNV* in_struct)
22847 {
22848     sType = in_struct->sType;
22849     type = in_struct->type;
22850     generalShader = in_struct->generalShader;
22851     closestHitShader = in_struct->closestHitShader;
22852     anyHitShader = in_struct->anyHitShader;
22853     intersectionShader = in_struct->intersectionShader;
22854     pNext = SafePnextCopy(in_struct->pNext);
22855 }
22856 
initialize(const safe_VkRayTracingShaderGroupCreateInfoNV * src)22857 void safe_VkRayTracingShaderGroupCreateInfoNV::initialize(const safe_VkRayTracingShaderGroupCreateInfoNV* src)
22858 {
22859     sType = src->sType;
22860     type = src->type;
22861     generalShader = src->generalShader;
22862     closestHitShader = src->closestHitShader;
22863     anyHitShader = src->anyHitShader;
22864     intersectionShader = src->intersectionShader;
22865     pNext = SafePnextCopy(src->pNext);
22866 }
22867 
safe_VkRayTracingPipelineCreateInfoNV(const VkRayTracingPipelineCreateInfoNV * in_struct)22868 safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(const VkRayTracingPipelineCreateInfoNV* in_struct) :
22869     sType(in_struct->sType),
22870     flags(in_struct->flags),
22871     stageCount(in_struct->stageCount),
22872     pStages(nullptr),
22873     groupCount(in_struct->groupCount),
22874     pGroups(nullptr),
22875     maxRecursionDepth(in_struct->maxRecursionDepth),
22876     layout(in_struct->layout),
22877     basePipelineHandle(in_struct->basePipelineHandle),
22878     basePipelineIndex(in_struct->basePipelineIndex)
22879 {
22880     pNext = SafePnextCopy(in_struct->pNext);
22881     if (stageCount && in_struct->pStages) {
22882         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22883         for (uint32_t i = 0; i < stageCount; ++i) {
22884             pStages[i].initialize(&in_struct->pStages[i]);
22885         }
22886     }
22887     if (groupCount && in_struct->pGroups) {
22888         pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22889         for (uint32_t i = 0; i < groupCount; ++i) {
22890             pGroups[i].initialize(&in_struct->pGroups[i]);
22891         }
22892     }
22893 }
22894 
safe_VkRayTracingPipelineCreateInfoNV()22895 safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV() :
22896     pNext(nullptr),
22897     pStages(nullptr),
22898     pGroups(nullptr)
22899 {}
22900 
safe_VkRayTracingPipelineCreateInfoNV(const safe_VkRayTracingPipelineCreateInfoNV & src)22901 safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(const safe_VkRayTracingPipelineCreateInfoNV& src)
22902 {
22903     sType = src.sType;
22904     flags = src.flags;
22905     stageCount = src.stageCount;
22906     pStages = nullptr;
22907     groupCount = src.groupCount;
22908     pGroups = nullptr;
22909     maxRecursionDepth = src.maxRecursionDepth;
22910     layout = src.layout;
22911     basePipelineHandle = src.basePipelineHandle;
22912     basePipelineIndex = src.basePipelineIndex;
22913     pNext = SafePnextCopy(src.pNext);
22914     if (stageCount && src.pStages) {
22915         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22916         for (uint32_t i = 0; i < stageCount; ++i) {
22917             pStages[i].initialize(&src.pStages[i]);
22918         }
22919     }
22920     if (groupCount && src.pGroups) {
22921         pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22922         for (uint32_t i = 0; i < groupCount; ++i) {
22923             pGroups[i].initialize(&src.pGroups[i]);
22924         }
22925     }
22926 }
22927 
operator =(const safe_VkRayTracingPipelineCreateInfoNV & src)22928 safe_VkRayTracingPipelineCreateInfoNV& safe_VkRayTracingPipelineCreateInfoNV::operator=(const safe_VkRayTracingPipelineCreateInfoNV& src)
22929 {
22930     if (&src == this) return *this;
22931 
22932     if (pStages)
22933         delete[] pStages;
22934     if (pGroups)
22935         delete[] pGroups;
22936     if (pNext)
22937         FreePnextChain(pNext);
22938 
22939     sType = src.sType;
22940     flags = src.flags;
22941     stageCount = src.stageCount;
22942     pStages = nullptr;
22943     groupCount = src.groupCount;
22944     pGroups = nullptr;
22945     maxRecursionDepth = src.maxRecursionDepth;
22946     layout = src.layout;
22947     basePipelineHandle = src.basePipelineHandle;
22948     basePipelineIndex = src.basePipelineIndex;
22949     pNext = SafePnextCopy(src.pNext);
22950     if (stageCount && src.pStages) {
22951         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22952         for (uint32_t i = 0; i < stageCount; ++i) {
22953             pStages[i].initialize(&src.pStages[i]);
22954         }
22955     }
22956     if (groupCount && src.pGroups) {
22957         pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22958         for (uint32_t i = 0; i < groupCount; ++i) {
22959             pGroups[i].initialize(&src.pGroups[i]);
22960         }
22961     }
22962 
22963     return *this;
22964 }
22965 
~safe_VkRayTracingPipelineCreateInfoNV()22966 safe_VkRayTracingPipelineCreateInfoNV::~safe_VkRayTracingPipelineCreateInfoNV()
22967 {
22968     if (pStages)
22969         delete[] pStages;
22970     if (pGroups)
22971         delete[] pGroups;
22972     if (pNext)
22973         FreePnextChain(pNext);
22974 }
22975 
initialize(const VkRayTracingPipelineCreateInfoNV * in_struct)22976 void safe_VkRayTracingPipelineCreateInfoNV::initialize(const VkRayTracingPipelineCreateInfoNV* in_struct)
22977 {
22978     sType = in_struct->sType;
22979     flags = in_struct->flags;
22980     stageCount = in_struct->stageCount;
22981     pStages = nullptr;
22982     groupCount = in_struct->groupCount;
22983     pGroups = nullptr;
22984     maxRecursionDepth = in_struct->maxRecursionDepth;
22985     layout = in_struct->layout;
22986     basePipelineHandle = in_struct->basePipelineHandle;
22987     basePipelineIndex = in_struct->basePipelineIndex;
22988     pNext = SafePnextCopy(in_struct->pNext);
22989     if (stageCount && in_struct->pStages) {
22990         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22991         for (uint32_t i = 0; i < stageCount; ++i) {
22992             pStages[i].initialize(&in_struct->pStages[i]);
22993         }
22994     }
22995     if (groupCount && in_struct->pGroups) {
22996         pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22997         for (uint32_t i = 0; i < groupCount; ++i) {
22998             pGroups[i].initialize(&in_struct->pGroups[i]);
22999         }
23000     }
23001 }
23002 
initialize(const safe_VkRayTracingPipelineCreateInfoNV * src)23003 void safe_VkRayTracingPipelineCreateInfoNV::initialize(const safe_VkRayTracingPipelineCreateInfoNV* src)
23004 {
23005     sType = src->sType;
23006     flags = src->flags;
23007     stageCount = src->stageCount;
23008     pStages = nullptr;
23009     groupCount = src->groupCount;
23010     pGroups = nullptr;
23011     maxRecursionDepth = src->maxRecursionDepth;
23012     layout = src->layout;
23013     basePipelineHandle = src->basePipelineHandle;
23014     basePipelineIndex = src->basePipelineIndex;
23015     pNext = SafePnextCopy(src->pNext);
23016     if (stageCount && src->pStages) {
23017         pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
23018         for (uint32_t i = 0; i < stageCount; ++i) {
23019             pStages[i].initialize(&src->pStages[i]);
23020         }
23021     }
23022     if (groupCount && src->pGroups) {
23023         pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
23024         for (uint32_t i = 0; i < groupCount; ++i) {
23025             pGroups[i].initialize(&src->pGroups[i]);
23026         }
23027     }
23028 }
23029 
safe_VkGeometryTrianglesNV(const VkGeometryTrianglesNV * in_struct)23030 safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const VkGeometryTrianglesNV* in_struct) :
23031     sType(in_struct->sType),
23032     vertexData(in_struct->vertexData),
23033     vertexOffset(in_struct->vertexOffset),
23034     vertexCount(in_struct->vertexCount),
23035     vertexStride(in_struct->vertexStride),
23036     vertexFormat(in_struct->vertexFormat),
23037     indexData(in_struct->indexData),
23038     indexOffset(in_struct->indexOffset),
23039     indexCount(in_struct->indexCount),
23040     indexType(in_struct->indexType),
23041     transformData(in_struct->transformData),
23042     transformOffset(in_struct->transformOffset)
23043 {
23044     pNext = SafePnextCopy(in_struct->pNext);
23045 }
23046 
safe_VkGeometryTrianglesNV()23047 safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV() :
23048     pNext(nullptr)
23049 {}
23050 
safe_VkGeometryTrianglesNV(const safe_VkGeometryTrianglesNV & src)23051 safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const safe_VkGeometryTrianglesNV& src)
23052 {
23053     sType = src.sType;
23054     vertexData = src.vertexData;
23055     vertexOffset = src.vertexOffset;
23056     vertexCount = src.vertexCount;
23057     vertexStride = src.vertexStride;
23058     vertexFormat = src.vertexFormat;
23059     indexData = src.indexData;
23060     indexOffset = src.indexOffset;
23061     indexCount = src.indexCount;
23062     indexType = src.indexType;
23063     transformData = src.transformData;
23064     transformOffset = src.transformOffset;
23065     pNext = SafePnextCopy(src.pNext);
23066 }
23067 
operator =(const safe_VkGeometryTrianglesNV & src)23068 safe_VkGeometryTrianglesNV& safe_VkGeometryTrianglesNV::operator=(const safe_VkGeometryTrianglesNV& src)
23069 {
23070     if (&src == this) return *this;
23071 
23072     if (pNext)
23073         FreePnextChain(pNext);
23074 
23075     sType = src.sType;
23076     vertexData = src.vertexData;
23077     vertexOffset = src.vertexOffset;
23078     vertexCount = src.vertexCount;
23079     vertexStride = src.vertexStride;
23080     vertexFormat = src.vertexFormat;
23081     indexData = src.indexData;
23082     indexOffset = src.indexOffset;
23083     indexCount = src.indexCount;
23084     indexType = src.indexType;
23085     transformData = src.transformData;
23086     transformOffset = src.transformOffset;
23087     pNext = SafePnextCopy(src.pNext);
23088 
23089     return *this;
23090 }
23091 
~safe_VkGeometryTrianglesNV()23092 safe_VkGeometryTrianglesNV::~safe_VkGeometryTrianglesNV()
23093 {
23094     if (pNext)
23095         FreePnextChain(pNext);
23096 }
23097 
initialize(const VkGeometryTrianglesNV * in_struct)23098 void safe_VkGeometryTrianglesNV::initialize(const VkGeometryTrianglesNV* in_struct)
23099 {
23100     sType = in_struct->sType;
23101     vertexData = in_struct->vertexData;
23102     vertexOffset = in_struct->vertexOffset;
23103     vertexCount = in_struct->vertexCount;
23104     vertexStride = in_struct->vertexStride;
23105     vertexFormat = in_struct->vertexFormat;
23106     indexData = in_struct->indexData;
23107     indexOffset = in_struct->indexOffset;
23108     indexCount = in_struct->indexCount;
23109     indexType = in_struct->indexType;
23110     transformData = in_struct->transformData;
23111     transformOffset = in_struct->transformOffset;
23112     pNext = SafePnextCopy(in_struct->pNext);
23113 }
23114 
initialize(const safe_VkGeometryTrianglesNV * src)23115 void safe_VkGeometryTrianglesNV::initialize(const safe_VkGeometryTrianglesNV* src)
23116 {
23117     sType = src->sType;
23118     vertexData = src->vertexData;
23119     vertexOffset = src->vertexOffset;
23120     vertexCount = src->vertexCount;
23121     vertexStride = src->vertexStride;
23122     vertexFormat = src->vertexFormat;
23123     indexData = src->indexData;
23124     indexOffset = src->indexOffset;
23125     indexCount = src->indexCount;
23126     indexType = src->indexType;
23127     transformData = src->transformData;
23128     transformOffset = src->transformOffset;
23129     pNext = SafePnextCopy(src->pNext);
23130 }
23131 
safe_VkGeometryAABBNV(const VkGeometryAABBNV * in_struct)23132 safe_VkGeometryAABBNV::safe_VkGeometryAABBNV(const VkGeometryAABBNV* in_struct) :
23133     sType(in_struct->sType),
23134     aabbData(in_struct->aabbData),
23135     numAABBs(in_struct->numAABBs),
23136     stride(in_struct->stride),
23137     offset(in_struct->offset)
23138 {
23139     pNext = SafePnextCopy(in_struct->pNext);
23140 }
23141 
safe_VkGeometryAABBNV()23142 safe_VkGeometryAABBNV::safe_VkGeometryAABBNV() :
23143     pNext(nullptr)
23144 {}
23145 
safe_VkGeometryAABBNV(const safe_VkGeometryAABBNV & src)23146 safe_VkGeometryAABBNV::safe_VkGeometryAABBNV(const safe_VkGeometryAABBNV& src)
23147 {
23148     sType = src.sType;
23149     aabbData = src.aabbData;
23150     numAABBs = src.numAABBs;
23151     stride = src.stride;
23152     offset = src.offset;
23153     pNext = SafePnextCopy(src.pNext);
23154 }
23155 
operator =(const safe_VkGeometryAABBNV & src)23156 safe_VkGeometryAABBNV& safe_VkGeometryAABBNV::operator=(const safe_VkGeometryAABBNV& src)
23157 {
23158     if (&src == this) return *this;
23159 
23160     if (pNext)
23161         FreePnextChain(pNext);
23162 
23163     sType = src.sType;
23164     aabbData = src.aabbData;
23165     numAABBs = src.numAABBs;
23166     stride = src.stride;
23167     offset = src.offset;
23168     pNext = SafePnextCopy(src.pNext);
23169 
23170     return *this;
23171 }
23172 
~safe_VkGeometryAABBNV()23173 safe_VkGeometryAABBNV::~safe_VkGeometryAABBNV()
23174 {
23175     if (pNext)
23176         FreePnextChain(pNext);
23177 }
23178 
initialize(const VkGeometryAABBNV * in_struct)23179 void safe_VkGeometryAABBNV::initialize(const VkGeometryAABBNV* in_struct)
23180 {
23181     sType = in_struct->sType;
23182     aabbData = in_struct->aabbData;
23183     numAABBs = in_struct->numAABBs;
23184     stride = in_struct->stride;
23185     offset = in_struct->offset;
23186     pNext = SafePnextCopy(in_struct->pNext);
23187 }
23188 
initialize(const safe_VkGeometryAABBNV * src)23189 void safe_VkGeometryAABBNV::initialize(const safe_VkGeometryAABBNV* src)
23190 {
23191     sType = src->sType;
23192     aabbData = src->aabbData;
23193     numAABBs = src->numAABBs;
23194     stride = src->stride;
23195     offset = src->offset;
23196     pNext = SafePnextCopy(src->pNext);
23197 }
23198 
safe_VkGeometryNV(const VkGeometryNV * in_struct)23199 safe_VkGeometryNV::safe_VkGeometryNV(const VkGeometryNV* in_struct) :
23200     sType(in_struct->sType),
23201     geometryType(in_struct->geometryType),
23202     geometry(in_struct->geometry),
23203     flags(in_struct->flags)
23204 {
23205     pNext = SafePnextCopy(in_struct->pNext);
23206 }
23207 
safe_VkGeometryNV()23208 safe_VkGeometryNV::safe_VkGeometryNV() :
23209     pNext(nullptr)
23210 {}
23211 
safe_VkGeometryNV(const safe_VkGeometryNV & src)23212 safe_VkGeometryNV::safe_VkGeometryNV(const safe_VkGeometryNV& src)
23213 {
23214     sType = src.sType;
23215     geometryType = src.geometryType;
23216     geometry = src.geometry;
23217     flags = src.flags;
23218     pNext = SafePnextCopy(src.pNext);
23219 }
23220 
operator =(const safe_VkGeometryNV & src)23221 safe_VkGeometryNV& safe_VkGeometryNV::operator=(const safe_VkGeometryNV& src)
23222 {
23223     if (&src == this) return *this;
23224 
23225     if (pNext)
23226         FreePnextChain(pNext);
23227 
23228     sType = src.sType;
23229     geometryType = src.geometryType;
23230     geometry = src.geometry;
23231     flags = src.flags;
23232     pNext = SafePnextCopy(src.pNext);
23233 
23234     return *this;
23235 }
23236 
~safe_VkGeometryNV()23237 safe_VkGeometryNV::~safe_VkGeometryNV()
23238 {
23239     if (pNext)
23240         FreePnextChain(pNext);
23241 }
23242 
initialize(const VkGeometryNV * in_struct)23243 void safe_VkGeometryNV::initialize(const VkGeometryNV* in_struct)
23244 {
23245     sType = in_struct->sType;
23246     geometryType = in_struct->geometryType;
23247     geometry = in_struct->geometry;
23248     flags = in_struct->flags;
23249     pNext = SafePnextCopy(in_struct->pNext);
23250 }
23251 
initialize(const safe_VkGeometryNV * src)23252 void safe_VkGeometryNV::initialize(const safe_VkGeometryNV* src)
23253 {
23254     sType = src->sType;
23255     geometryType = src->geometryType;
23256     geometry = src->geometry;
23257     flags = src->flags;
23258     pNext = SafePnextCopy(src->pNext);
23259 }
23260 
safe_VkAccelerationStructureInfoNV(const VkAccelerationStructureInfoNV * in_struct)23261 safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV(const VkAccelerationStructureInfoNV* in_struct) :
23262     sType(in_struct->sType),
23263     type(in_struct->type),
23264     flags(in_struct->flags),
23265     instanceCount(in_struct->instanceCount),
23266     geometryCount(in_struct->geometryCount),
23267     pGeometries(nullptr)
23268 {
23269     pNext = SafePnextCopy(in_struct->pNext);
23270     if (geometryCount && in_struct->pGeometries) {
23271         pGeometries = new safe_VkGeometryNV[geometryCount];
23272         for (uint32_t i = 0; i < geometryCount; ++i) {
23273             pGeometries[i].initialize(&in_struct->pGeometries[i]);
23274         }
23275     }
23276 }
23277 
safe_VkAccelerationStructureInfoNV()23278 safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV() :
23279     pNext(nullptr),
23280     pGeometries(nullptr)
23281 {}
23282 
safe_VkAccelerationStructureInfoNV(const safe_VkAccelerationStructureInfoNV & src)23283 safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV(const safe_VkAccelerationStructureInfoNV& src)
23284 {
23285     sType = src.sType;
23286     type = src.type;
23287     flags = src.flags;
23288     instanceCount = src.instanceCount;
23289     geometryCount = src.geometryCount;
23290     pGeometries = nullptr;
23291     pNext = SafePnextCopy(src.pNext);
23292     if (geometryCount && src.pGeometries) {
23293         pGeometries = new safe_VkGeometryNV[geometryCount];
23294         for (uint32_t i = 0; i < geometryCount; ++i) {
23295             pGeometries[i].initialize(&src.pGeometries[i]);
23296         }
23297     }
23298 }
23299 
operator =(const safe_VkAccelerationStructureInfoNV & src)23300 safe_VkAccelerationStructureInfoNV& safe_VkAccelerationStructureInfoNV::operator=(const safe_VkAccelerationStructureInfoNV& src)
23301 {
23302     if (&src == this) return *this;
23303 
23304     if (pGeometries)
23305         delete[] pGeometries;
23306     if (pNext)
23307         FreePnextChain(pNext);
23308 
23309     sType = src.sType;
23310     type = src.type;
23311     flags = src.flags;
23312     instanceCount = src.instanceCount;
23313     geometryCount = src.geometryCount;
23314     pGeometries = nullptr;
23315     pNext = SafePnextCopy(src.pNext);
23316     if (geometryCount && src.pGeometries) {
23317         pGeometries = new safe_VkGeometryNV[geometryCount];
23318         for (uint32_t i = 0; i < geometryCount; ++i) {
23319             pGeometries[i].initialize(&src.pGeometries[i]);
23320         }
23321     }
23322 
23323     return *this;
23324 }
23325 
~safe_VkAccelerationStructureInfoNV()23326 safe_VkAccelerationStructureInfoNV::~safe_VkAccelerationStructureInfoNV()
23327 {
23328     if (pGeometries)
23329         delete[] pGeometries;
23330     if (pNext)
23331         FreePnextChain(pNext);
23332 }
23333 
initialize(const VkAccelerationStructureInfoNV * in_struct)23334 void safe_VkAccelerationStructureInfoNV::initialize(const VkAccelerationStructureInfoNV* in_struct)
23335 {
23336     sType = in_struct->sType;
23337     type = in_struct->type;
23338     flags = in_struct->flags;
23339     instanceCount = in_struct->instanceCount;
23340     geometryCount = in_struct->geometryCount;
23341     pGeometries = nullptr;
23342     pNext = SafePnextCopy(in_struct->pNext);
23343     if (geometryCount && in_struct->pGeometries) {
23344         pGeometries = new safe_VkGeometryNV[geometryCount];
23345         for (uint32_t i = 0; i < geometryCount; ++i) {
23346             pGeometries[i].initialize(&in_struct->pGeometries[i]);
23347         }
23348     }
23349 }
23350 
initialize(const safe_VkAccelerationStructureInfoNV * src)23351 void safe_VkAccelerationStructureInfoNV::initialize(const safe_VkAccelerationStructureInfoNV* src)
23352 {
23353     sType = src->sType;
23354     type = src->type;
23355     flags = src->flags;
23356     instanceCount = src->instanceCount;
23357     geometryCount = src->geometryCount;
23358     pGeometries = nullptr;
23359     pNext = SafePnextCopy(src->pNext);
23360     if (geometryCount && src->pGeometries) {
23361         pGeometries = new safe_VkGeometryNV[geometryCount];
23362         for (uint32_t i = 0; i < geometryCount; ++i) {
23363             pGeometries[i].initialize(&src->pGeometries[i]);
23364         }
23365     }
23366 }
23367 
safe_VkAccelerationStructureCreateInfoNV(const VkAccelerationStructureCreateInfoNV * in_struct)23368 safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV(const VkAccelerationStructureCreateInfoNV* in_struct) :
23369     sType(in_struct->sType),
23370     compactedSize(in_struct->compactedSize),
23371     info(&in_struct->info)
23372 {
23373     pNext = SafePnextCopy(in_struct->pNext);
23374 }
23375 
safe_VkAccelerationStructureCreateInfoNV()23376 safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV() :
23377     pNext(nullptr)
23378 {}
23379 
safe_VkAccelerationStructureCreateInfoNV(const safe_VkAccelerationStructureCreateInfoNV & src)23380 safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV(const safe_VkAccelerationStructureCreateInfoNV& src)
23381 {
23382     sType = src.sType;
23383     compactedSize = src.compactedSize;
23384     info.initialize(&src.info);
23385     pNext = SafePnextCopy(src.pNext);
23386 }
23387 
operator =(const safe_VkAccelerationStructureCreateInfoNV & src)23388 safe_VkAccelerationStructureCreateInfoNV& safe_VkAccelerationStructureCreateInfoNV::operator=(const safe_VkAccelerationStructureCreateInfoNV& src)
23389 {
23390     if (&src == this) return *this;
23391 
23392     if (pNext)
23393         FreePnextChain(pNext);
23394 
23395     sType = src.sType;
23396     compactedSize = src.compactedSize;
23397     info.initialize(&src.info);
23398     pNext = SafePnextCopy(src.pNext);
23399 
23400     return *this;
23401 }
23402 
~safe_VkAccelerationStructureCreateInfoNV()23403 safe_VkAccelerationStructureCreateInfoNV::~safe_VkAccelerationStructureCreateInfoNV()
23404 {
23405     if (pNext)
23406         FreePnextChain(pNext);
23407 }
23408 
initialize(const VkAccelerationStructureCreateInfoNV * in_struct)23409 void safe_VkAccelerationStructureCreateInfoNV::initialize(const VkAccelerationStructureCreateInfoNV* in_struct)
23410 {
23411     sType = in_struct->sType;
23412     compactedSize = in_struct->compactedSize;
23413     info.initialize(&in_struct->info);
23414     pNext = SafePnextCopy(in_struct->pNext);
23415 }
23416 
initialize(const safe_VkAccelerationStructureCreateInfoNV * src)23417 void safe_VkAccelerationStructureCreateInfoNV::initialize(const safe_VkAccelerationStructureCreateInfoNV* src)
23418 {
23419     sType = src->sType;
23420     compactedSize = src->compactedSize;
23421     info.initialize(&src->info);
23422     pNext = SafePnextCopy(src->pNext);
23423 }
23424 
safe_VkBindAccelerationStructureMemoryInfoNV(const VkBindAccelerationStructureMemoryInfoNV * in_struct)23425 safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV(const VkBindAccelerationStructureMemoryInfoNV* in_struct) :
23426     sType(in_struct->sType),
23427     accelerationStructure(in_struct->accelerationStructure),
23428     memory(in_struct->memory),
23429     memoryOffset(in_struct->memoryOffset),
23430     deviceIndexCount(in_struct->deviceIndexCount),
23431     pDeviceIndices(nullptr)
23432 {
23433     pNext = SafePnextCopy(in_struct->pNext);
23434     if (in_struct->pDeviceIndices) {
23435         pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
23436         memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
23437     }
23438 }
23439 
safe_VkBindAccelerationStructureMemoryInfoNV()23440 safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV() :
23441     pNext(nullptr),
23442     pDeviceIndices(nullptr)
23443 {}
23444 
safe_VkBindAccelerationStructureMemoryInfoNV(const safe_VkBindAccelerationStructureMemoryInfoNV & src)23445 safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV(const safe_VkBindAccelerationStructureMemoryInfoNV& src)
23446 {
23447     sType = src.sType;
23448     accelerationStructure = src.accelerationStructure;
23449     memory = src.memory;
23450     memoryOffset = src.memoryOffset;
23451     deviceIndexCount = src.deviceIndexCount;
23452     pDeviceIndices = nullptr;
23453     pNext = SafePnextCopy(src.pNext);
23454     if (src.pDeviceIndices) {
23455         pDeviceIndices = new uint32_t[src.deviceIndexCount];
23456         memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
23457     }
23458 }
23459 
operator =(const safe_VkBindAccelerationStructureMemoryInfoNV & src)23460 safe_VkBindAccelerationStructureMemoryInfoNV& safe_VkBindAccelerationStructureMemoryInfoNV::operator=(const safe_VkBindAccelerationStructureMemoryInfoNV& src)
23461 {
23462     if (&src == this) return *this;
23463 
23464     if (pDeviceIndices)
23465         delete[] pDeviceIndices;
23466     if (pNext)
23467         FreePnextChain(pNext);
23468 
23469     sType = src.sType;
23470     accelerationStructure = src.accelerationStructure;
23471     memory = src.memory;
23472     memoryOffset = src.memoryOffset;
23473     deviceIndexCount = src.deviceIndexCount;
23474     pDeviceIndices = nullptr;
23475     pNext = SafePnextCopy(src.pNext);
23476     if (src.pDeviceIndices) {
23477         pDeviceIndices = new uint32_t[src.deviceIndexCount];
23478         memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
23479     }
23480 
23481     return *this;
23482 }
23483 
~safe_VkBindAccelerationStructureMemoryInfoNV()23484 safe_VkBindAccelerationStructureMemoryInfoNV::~safe_VkBindAccelerationStructureMemoryInfoNV()
23485 {
23486     if (pDeviceIndices)
23487         delete[] pDeviceIndices;
23488     if (pNext)
23489         FreePnextChain(pNext);
23490 }
23491 
initialize(const VkBindAccelerationStructureMemoryInfoNV * in_struct)23492 void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const VkBindAccelerationStructureMemoryInfoNV* in_struct)
23493 {
23494     sType = in_struct->sType;
23495     accelerationStructure = in_struct->accelerationStructure;
23496     memory = in_struct->memory;
23497     memoryOffset = in_struct->memoryOffset;
23498     deviceIndexCount = in_struct->deviceIndexCount;
23499     pDeviceIndices = nullptr;
23500     pNext = SafePnextCopy(in_struct->pNext);
23501     if (in_struct->pDeviceIndices) {
23502         pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
23503         memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
23504     }
23505 }
23506 
initialize(const safe_VkBindAccelerationStructureMemoryInfoNV * src)23507 void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const safe_VkBindAccelerationStructureMemoryInfoNV* src)
23508 {
23509     sType = src->sType;
23510     accelerationStructure = src->accelerationStructure;
23511     memory = src->memory;
23512     memoryOffset = src->memoryOffset;
23513     deviceIndexCount = src->deviceIndexCount;
23514     pDeviceIndices = nullptr;
23515     pNext = SafePnextCopy(src->pNext);
23516     if (src->pDeviceIndices) {
23517         pDeviceIndices = new uint32_t[src->deviceIndexCount];
23518         memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount);
23519     }
23520 }
23521 
safe_VkWriteDescriptorSetAccelerationStructureNV(const VkWriteDescriptorSetAccelerationStructureNV * in_struct)23522 safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV(const VkWriteDescriptorSetAccelerationStructureNV* in_struct) :
23523     sType(in_struct->sType),
23524     accelerationStructureCount(in_struct->accelerationStructureCount),
23525     pAccelerationStructures(nullptr)
23526 {
23527     pNext = SafePnextCopy(in_struct->pNext);
23528     if (accelerationStructureCount && in_struct->pAccelerationStructures) {
23529         pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23530         for (uint32_t i = 0; i < accelerationStructureCount; ++i) {
23531             pAccelerationStructures[i] = in_struct->pAccelerationStructures[i];
23532         }
23533     }
23534 }
23535 
safe_VkWriteDescriptorSetAccelerationStructureNV()23536 safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV() :
23537     pNext(nullptr),
23538     pAccelerationStructures(nullptr)
23539 {}
23540 
safe_VkWriteDescriptorSetAccelerationStructureNV(const safe_VkWriteDescriptorSetAccelerationStructureNV & src)23541 safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV(const safe_VkWriteDescriptorSetAccelerationStructureNV& src)
23542 {
23543     sType = src.sType;
23544     accelerationStructureCount = src.accelerationStructureCount;
23545     pAccelerationStructures = nullptr;
23546     pNext = SafePnextCopy(src.pNext);
23547     if (accelerationStructureCount && src.pAccelerationStructures) {
23548         pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23549         for (uint32_t i = 0; i < accelerationStructureCount; ++i) {
23550             pAccelerationStructures[i] = src.pAccelerationStructures[i];
23551         }
23552     }
23553 }
23554 
operator =(const safe_VkWriteDescriptorSetAccelerationStructureNV & src)23555 safe_VkWriteDescriptorSetAccelerationStructureNV& safe_VkWriteDescriptorSetAccelerationStructureNV::operator=(const safe_VkWriteDescriptorSetAccelerationStructureNV& src)
23556 {
23557     if (&src == this) return *this;
23558 
23559     if (pAccelerationStructures)
23560         delete[] pAccelerationStructures;
23561     if (pNext)
23562         FreePnextChain(pNext);
23563 
23564     sType = src.sType;
23565     accelerationStructureCount = src.accelerationStructureCount;
23566     pAccelerationStructures = nullptr;
23567     pNext = SafePnextCopy(src.pNext);
23568     if (accelerationStructureCount && src.pAccelerationStructures) {
23569         pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23570         for (uint32_t i = 0; i < accelerationStructureCount; ++i) {
23571             pAccelerationStructures[i] = src.pAccelerationStructures[i];
23572         }
23573     }
23574 
23575     return *this;
23576 }
23577 
~safe_VkWriteDescriptorSetAccelerationStructureNV()23578 safe_VkWriteDescriptorSetAccelerationStructureNV::~safe_VkWriteDescriptorSetAccelerationStructureNV()
23579 {
23580     if (pAccelerationStructures)
23581         delete[] pAccelerationStructures;
23582     if (pNext)
23583         FreePnextChain(pNext);
23584 }
23585 
initialize(const VkWriteDescriptorSetAccelerationStructureNV * in_struct)23586 void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const VkWriteDescriptorSetAccelerationStructureNV* in_struct)
23587 {
23588     sType = in_struct->sType;
23589     accelerationStructureCount = in_struct->accelerationStructureCount;
23590     pAccelerationStructures = nullptr;
23591     pNext = SafePnextCopy(in_struct->pNext);
23592     if (accelerationStructureCount && in_struct->pAccelerationStructures) {
23593         pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23594         for (uint32_t i = 0; i < accelerationStructureCount; ++i) {
23595             pAccelerationStructures[i] = in_struct->pAccelerationStructures[i];
23596         }
23597     }
23598 }
23599 
initialize(const safe_VkWriteDescriptorSetAccelerationStructureNV * src)23600 void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const safe_VkWriteDescriptorSetAccelerationStructureNV* src)
23601 {
23602     sType = src->sType;
23603     accelerationStructureCount = src->accelerationStructureCount;
23604     pAccelerationStructures = nullptr;
23605     pNext = SafePnextCopy(src->pNext);
23606     if (accelerationStructureCount && src->pAccelerationStructures) {
23607         pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23608         for (uint32_t i = 0; i < accelerationStructureCount; ++i) {
23609             pAccelerationStructures[i] = src->pAccelerationStructures[i];
23610         }
23611     }
23612 }
23613 
safe_VkAccelerationStructureMemoryRequirementsInfoNV(const VkAccelerationStructureMemoryRequirementsInfoNV * in_struct)23614 safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV(const VkAccelerationStructureMemoryRequirementsInfoNV* in_struct) :
23615     sType(in_struct->sType),
23616     type(in_struct->type),
23617     accelerationStructure(in_struct->accelerationStructure)
23618 {
23619     pNext = SafePnextCopy(in_struct->pNext);
23620 }
23621 
safe_VkAccelerationStructureMemoryRequirementsInfoNV()23622 safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV() :
23623     pNext(nullptr)
23624 {}
23625 
safe_VkAccelerationStructureMemoryRequirementsInfoNV(const safe_VkAccelerationStructureMemoryRequirementsInfoNV & src)23626 safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV(const safe_VkAccelerationStructureMemoryRequirementsInfoNV& src)
23627 {
23628     sType = src.sType;
23629     type = src.type;
23630     accelerationStructure = src.accelerationStructure;
23631     pNext = SafePnextCopy(src.pNext);
23632 }
23633 
operator =(const safe_VkAccelerationStructureMemoryRequirementsInfoNV & src)23634 safe_VkAccelerationStructureMemoryRequirementsInfoNV& safe_VkAccelerationStructureMemoryRequirementsInfoNV::operator=(const safe_VkAccelerationStructureMemoryRequirementsInfoNV& src)
23635 {
23636     if (&src == this) return *this;
23637 
23638     if (pNext)
23639         FreePnextChain(pNext);
23640 
23641     sType = src.sType;
23642     type = src.type;
23643     accelerationStructure = src.accelerationStructure;
23644     pNext = SafePnextCopy(src.pNext);
23645 
23646     return *this;
23647 }
23648 
~safe_VkAccelerationStructureMemoryRequirementsInfoNV()23649 safe_VkAccelerationStructureMemoryRequirementsInfoNV::~safe_VkAccelerationStructureMemoryRequirementsInfoNV()
23650 {
23651     if (pNext)
23652         FreePnextChain(pNext);
23653 }
23654 
initialize(const VkAccelerationStructureMemoryRequirementsInfoNV * in_struct)23655 void safe_VkAccelerationStructureMemoryRequirementsInfoNV::initialize(const VkAccelerationStructureMemoryRequirementsInfoNV* in_struct)
23656 {
23657     sType = in_struct->sType;
23658     type = in_struct->type;
23659     accelerationStructure = in_struct->accelerationStructure;
23660     pNext = SafePnextCopy(in_struct->pNext);
23661 }
23662 
initialize(const safe_VkAccelerationStructureMemoryRequirementsInfoNV * src)23663 void safe_VkAccelerationStructureMemoryRequirementsInfoNV::initialize(const safe_VkAccelerationStructureMemoryRequirementsInfoNV* src)
23664 {
23665     sType = src->sType;
23666     type = src->type;
23667     accelerationStructure = src->accelerationStructure;
23668     pNext = SafePnextCopy(src->pNext);
23669 }
23670 
safe_VkPhysicalDeviceRayTracingPropertiesNV(const VkPhysicalDeviceRayTracingPropertiesNV * in_struct)23671 safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV(const VkPhysicalDeviceRayTracingPropertiesNV* in_struct) :
23672     sType(in_struct->sType),
23673     shaderGroupHandleSize(in_struct->shaderGroupHandleSize),
23674     maxRecursionDepth(in_struct->maxRecursionDepth),
23675     maxShaderGroupStride(in_struct->maxShaderGroupStride),
23676     shaderGroupBaseAlignment(in_struct->shaderGroupBaseAlignment),
23677     maxGeometryCount(in_struct->maxGeometryCount),
23678     maxInstanceCount(in_struct->maxInstanceCount),
23679     maxTriangleCount(in_struct->maxTriangleCount),
23680     maxDescriptorSetAccelerationStructures(in_struct->maxDescriptorSetAccelerationStructures)
23681 {
23682     pNext = SafePnextCopy(in_struct->pNext);
23683 }
23684 
safe_VkPhysicalDeviceRayTracingPropertiesNV()23685 safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV() :
23686     pNext(nullptr)
23687 {}
23688 
safe_VkPhysicalDeviceRayTracingPropertiesNV(const safe_VkPhysicalDeviceRayTracingPropertiesNV & src)23689 safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV(const safe_VkPhysicalDeviceRayTracingPropertiesNV& src)
23690 {
23691     sType = src.sType;
23692     shaderGroupHandleSize = src.shaderGroupHandleSize;
23693     maxRecursionDepth = src.maxRecursionDepth;
23694     maxShaderGroupStride = src.maxShaderGroupStride;
23695     shaderGroupBaseAlignment = src.shaderGroupBaseAlignment;
23696     maxGeometryCount = src.maxGeometryCount;
23697     maxInstanceCount = src.maxInstanceCount;
23698     maxTriangleCount = src.maxTriangleCount;
23699     maxDescriptorSetAccelerationStructures = src.maxDescriptorSetAccelerationStructures;
23700     pNext = SafePnextCopy(src.pNext);
23701 }
23702 
operator =(const safe_VkPhysicalDeviceRayTracingPropertiesNV & src)23703 safe_VkPhysicalDeviceRayTracingPropertiesNV& safe_VkPhysicalDeviceRayTracingPropertiesNV::operator=(const safe_VkPhysicalDeviceRayTracingPropertiesNV& src)
23704 {
23705     if (&src == this) return *this;
23706 
23707     if (pNext)
23708         FreePnextChain(pNext);
23709 
23710     sType = src.sType;
23711     shaderGroupHandleSize = src.shaderGroupHandleSize;
23712     maxRecursionDepth = src.maxRecursionDepth;
23713     maxShaderGroupStride = src.maxShaderGroupStride;
23714     shaderGroupBaseAlignment = src.shaderGroupBaseAlignment;
23715     maxGeometryCount = src.maxGeometryCount;
23716     maxInstanceCount = src.maxInstanceCount;
23717     maxTriangleCount = src.maxTriangleCount;
23718     maxDescriptorSetAccelerationStructures = src.maxDescriptorSetAccelerationStructures;
23719     pNext = SafePnextCopy(src.pNext);
23720 
23721     return *this;
23722 }
23723 
~safe_VkPhysicalDeviceRayTracingPropertiesNV()23724 safe_VkPhysicalDeviceRayTracingPropertiesNV::~safe_VkPhysicalDeviceRayTracingPropertiesNV()
23725 {
23726     if (pNext)
23727         FreePnextChain(pNext);
23728 }
23729 
initialize(const VkPhysicalDeviceRayTracingPropertiesNV * in_struct)23730 void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const VkPhysicalDeviceRayTracingPropertiesNV* in_struct)
23731 {
23732     sType = in_struct->sType;
23733     shaderGroupHandleSize = in_struct->shaderGroupHandleSize;
23734     maxRecursionDepth = in_struct->maxRecursionDepth;
23735     maxShaderGroupStride = in_struct->maxShaderGroupStride;
23736     shaderGroupBaseAlignment = in_struct->shaderGroupBaseAlignment;
23737     maxGeometryCount = in_struct->maxGeometryCount;
23738     maxInstanceCount = in_struct->maxInstanceCount;
23739     maxTriangleCount = in_struct->maxTriangleCount;
23740     maxDescriptorSetAccelerationStructures = in_struct->maxDescriptorSetAccelerationStructures;
23741     pNext = SafePnextCopy(in_struct->pNext);
23742 }
23743 
initialize(const safe_VkPhysicalDeviceRayTracingPropertiesNV * src)23744 void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const safe_VkPhysicalDeviceRayTracingPropertiesNV* src)
23745 {
23746     sType = src->sType;
23747     shaderGroupHandleSize = src->shaderGroupHandleSize;
23748     maxRecursionDepth = src->maxRecursionDepth;
23749     maxShaderGroupStride = src->maxShaderGroupStride;
23750     shaderGroupBaseAlignment = src->shaderGroupBaseAlignment;
23751     maxGeometryCount = src->maxGeometryCount;
23752     maxInstanceCount = src->maxInstanceCount;
23753     maxTriangleCount = src->maxTriangleCount;
23754     maxDescriptorSetAccelerationStructures = src->maxDescriptorSetAccelerationStructures;
23755     pNext = SafePnextCopy(src->pNext);
23756 }
23757 
safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV * in_struct)23758 safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* in_struct) :
23759     sType(in_struct->sType),
23760     representativeFragmentTest(in_struct->representativeFragmentTest)
23761 {
23762     pNext = SafePnextCopy(in_struct->pNext);
23763 }
23764 
safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV()23765 safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV() :
23766     pNext(nullptr)
23767 {}
23768 
safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV & src)23769 safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& src)
23770 {
23771     sType = src.sType;
23772     representativeFragmentTest = src.representativeFragmentTest;
23773     pNext = SafePnextCopy(src.pNext);
23774 }
23775 
operator =(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV & src)23776 safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::operator=(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& src)
23777 {
23778     if (&src == this) return *this;
23779 
23780     if (pNext)
23781         FreePnextChain(pNext);
23782 
23783     sType = src.sType;
23784     representativeFragmentTest = src.representativeFragmentTest;
23785     pNext = SafePnextCopy(src.pNext);
23786 
23787     return *this;
23788 }
23789 
~safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV()23790 safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::~safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV()
23791 {
23792     if (pNext)
23793         FreePnextChain(pNext);
23794 }
23795 
initialize(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV * in_struct)23796 void safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::initialize(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* in_struct)
23797 {
23798     sType = in_struct->sType;
23799     representativeFragmentTest = in_struct->representativeFragmentTest;
23800     pNext = SafePnextCopy(in_struct->pNext);
23801 }
23802 
initialize(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV * src)23803 void safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::initialize(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* src)
23804 {
23805     sType = src->sType;
23806     representativeFragmentTest = src->representativeFragmentTest;
23807     pNext = SafePnextCopy(src->pNext);
23808 }
23809 
safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV * in_struct)23810 safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* in_struct) :
23811     sType(in_struct->sType),
23812     representativeFragmentTestEnable(in_struct->representativeFragmentTestEnable)
23813 {
23814     pNext = SafePnextCopy(in_struct->pNext);
23815 }
23816 
safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV()23817 safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV() :
23818     pNext(nullptr)
23819 {}
23820 
safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV & src)23821 safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& src)
23822 {
23823     sType = src.sType;
23824     representativeFragmentTestEnable = src.representativeFragmentTestEnable;
23825     pNext = SafePnextCopy(src.pNext);
23826 }
23827 
operator =(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV & src)23828 safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::operator=(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& src)
23829 {
23830     if (&src == this) return *this;
23831 
23832     if (pNext)
23833         FreePnextChain(pNext);
23834 
23835     sType = src.sType;
23836     representativeFragmentTestEnable = src.representativeFragmentTestEnable;
23837     pNext = SafePnextCopy(src.pNext);
23838 
23839     return *this;
23840 }
23841 
~safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV()23842 safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::~safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV()
23843 {
23844     if (pNext)
23845         FreePnextChain(pNext);
23846 }
23847 
initialize(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV * in_struct)23848 void safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::initialize(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* in_struct)
23849 {
23850     sType = in_struct->sType;
23851     representativeFragmentTestEnable = in_struct->representativeFragmentTestEnable;
23852     pNext = SafePnextCopy(in_struct->pNext);
23853 }
23854 
initialize(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV * src)23855 void safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::initialize(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV* src)
23856 {
23857     sType = src->sType;
23858     representativeFragmentTestEnable = src->representativeFragmentTestEnable;
23859     pNext = SafePnextCopy(src->pNext);
23860 }
23861 
safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const VkPhysicalDeviceImageViewImageFormatInfoEXT * in_struct)23862 safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const VkPhysicalDeviceImageViewImageFormatInfoEXT* in_struct) :
23863     sType(in_struct->sType),
23864     imageViewType(in_struct->imageViewType)
23865 {
23866     pNext = SafePnextCopy(in_struct->pNext);
23867 }
23868 
safe_VkPhysicalDeviceImageViewImageFormatInfoEXT()23869 safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT() :
23870     pNext(nullptr)
23871 {}
23872 
safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT & src)23873 safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& src)
23874 {
23875     sType = src.sType;
23876     imageViewType = src.imageViewType;
23877     pNext = SafePnextCopy(src.pNext);
23878 }
23879 
operator =(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT & src)23880 safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::operator=(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& src)
23881 {
23882     if (&src == this) return *this;
23883 
23884     if (pNext)
23885         FreePnextChain(pNext);
23886 
23887     sType = src.sType;
23888     imageViewType = src.imageViewType;
23889     pNext = SafePnextCopy(src.pNext);
23890 
23891     return *this;
23892 }
23893 
~safe_VkPhysicalDeviceImageViewImageFormatInfoEXT()23894 safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::~safe_VkPhysicalDeviceImageViewImageFormatInfoEXT()
23895 {
23896     if (pNext)
23897         FreePnextChain(pNext);
23898 }
23899 
initialize(const VkPhysicalDeviceImageViewImageFormatInfoEXT * in_struct)23900 void safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::initialize(const VkPhysicalDeviceImageViewImageFormatInfoEXT* in_struct)
23901 {
23902     sType = in_struct->sType;
23903     imageViewType = in_struct->imageViewType;
23904     pNext = SafePnextCopy(in_struct->pNext);
23905 }
23906 
initialize(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT * src)23907 void safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::initialize(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT* src)
23908 {
23909     sType = src->sType;
23910     imageViewType = src->imageViewType;
23911     pNext = SafePnextCopy(src->pNext);
23912 }
23913 
safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const VkFilterCubicImageViewImageFormatPropertiesEXT * in_struct)23914 safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const VkFilterCubicImageViewImageFormatPropertiesEXT* in_struct) :
23915     sType(in_struct->sType),
23916     filterCubic(in_struct->filterCubic),
23917     filterCubicMinmax(in_struct->filterCubicMinmax)
23918 {
23919     pNext = SafePnextCopy(in_struct->pNext);
23920 }
23921 
safe_VkFilterCubicImageViewImageFormatPropertiesEXT()23922 safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT() :
23923     pNext(nullptr)
23924 {}
23925 
safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT & src)23926 safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT& src)
23927 {
23928     sType = src.sType;
23929     filterCubic = src.filterCubic;
23930     filterCubicMinmax = src.filterCubicMinmax;
23931     pNext = SafePnextCopy(src.pNext);
23932 }
23933 
operator =(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT & src)23934 safe_VkFilterCubicImageViewImageFormatPropertiesEXT& safe_VkFilterCubicImageViewImageFormatPropertiesEXT::operator=(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT& src)
23935 {
23936     if (&src == this) return *this;
23937 
23938     if (pNext)
23939         FreePnextChain(pNext);
23940 
23941     sType = src.sType;
23942     filterCubic = src.filterCubic;
23943     filterCubicMinmax = src.filterCubicMinmax;
23944     pNext = SafePnextCopy(src.pNext);
23945 
23946     return *this;
23947 }
23948 
~safe_VkFilterCubicImageViewImageFormatPropertiesEXT()23949 safe_VkFilterCubicImageViewImageFormatPropertiesEXT::~safe_VkFilterCubicImageViewImageFormatPropertiesEXT()
23950 {
23951     if (pNext)
23952         FreePnextChain(pNext);
23953 }
23954 
initialize(const VkFilterCubicImageViewImageFormatPropertiesEXT * in_struct)23955 void safe_VkFilterCubicImageViewImageFormatPropertiesEXT::initialize(const VkFilterCubicImageViewImageFormatPropertiesEXT* in_struct)
23956 {
23957     sType = in_struct->sType;
23958     filterCubic = in_struct->filterCubic;
23959     filterCubicMinmax = in_struct->filterCubicMinmax;
23960     pNext = SafePnextCopy(in_struct->pNext);
23961 }
23962 
initialize(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT * src)23963 void safe_VkFilterCubicImageViewImageFormatPropertiesEXT::initialize(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT* src)
23964 {
23965     sType = src->sType;
23966     filterCubic = src->filterCubic;
23967     filterCubicMinmax = src->filterCubicMinmax;
23968     pNext = SafePnextCopy(src->pNext);
23969 }
23970 
safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const VkDeviceQueueGlobalPriorityCreateInfoEXT * in_struct)23971 safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const VkDeviceQueueGlobalPriorityCreateInfoEXT* in_struct) :
23972     sType(in_struct->sType),
23973     globalPriority(in_struct->globalPriority)
23974 {
23975     pNext = SafePnextCopy(in_struct->pNext);
23976 }
23977 
safe_VkDeviceQueueGlobalPriorityCreateInfoEXT()23978 safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT() :
23979     pNext(nullptr)
23980 {}
23981 
safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT & src)23982 safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& src)
23983 {
23984     sType = src.sType;
23985     globalPriority = src.globalPriority;
23986     pNext = SafePnextCopy(src.pNext);
23987 }
23988 
operator =(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT & src)23989 safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::operator=(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& src)
23990 {
23991     if (&src == this) return *this;
23992 
23993     if (pNext)
23994         FreePnextChain(pNext);
23995 
23996     sType = src.sType;
23997     globalPriority = src.globalPriority;
23998     pNext = SafePnextCopy(src.pNext);
23999 
24000     return *this;
24001 }
24002 
~safe_VkDeviceQueueGlobalPriorityCreateInfoEXT()24003 safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::~safe_VkDeviceQueueGlobalPriorityCreateInfoEXT()
24004 {
24005     if (pNext)
24006         FreePnextChain(pNext);
24007 }
24008 
initialize(const VkDeviceQueueGlobalPriorityCreateInfoEXT * in_struct)24009 void safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::initialize(const VkDeviceQueueGlobalPriorityCreateInfoEXT* in_struct)
24010 {
24011     sType = in_struct->sType;
24012     globalPriority = in_struct->globalPriority;
24013     pNext = SafePnextCopy(in_struct->pNext);
24014 }
24015 
initialize(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT * src)24016 void safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::initialize(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT* src)
24017 {
24018     sType = src->sType;
24019     globalPriority = src->globalPriority;
24020     pNext = SafePnextCopy(src->pNext);
24021 }
24022 
safe_VkImportMemoryHostPointerInfoEXT(const VkImportMemoryHostPointerInfoEXT * in_struct)24023 safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT(const VkImportMemoryHostPointerInfoEXT* in_struct) :
24024     sType(in_struct->sType),
24025     handleType(in_struct->handleType),
24026     pHostPointer(in_struct->pHostPointer)
24027 {
24028     pNext = SafePnextCopy(in_struct->pNext);
24029 }
24030 
safe_VkImportMemoryHostPointerInfoEXT()24031 safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT() :
24032     pNext(nullptr),
24033     pHostPointer(nullptr)
24034 {}
24035 
safe_VkImportMemoryHostPointerInfoEXT(const safe_VkImportMemoryHostPointerInfoEXT & src)24036 safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT(const safe_VkImportMemoryHostPointerInfoEXT& src)
24037 {
24038     sType = src.sType;
24039     handleType = src.handleType;
24040     pHostPointer = src.pHostPointer;
24041     pNext = SafePnextCopy(src.pNext);
24042 }
24043 
operator =(const safe_VkImportMemoryHostPointerInfoEXT & src)24044 safe_VkImportMemoryHostPointerInfoEXT& safe_VkImportMemoryHostPointerInfoEXT::operator=(const safe_VkImportMemoryHostPointerInfoEXT& src)
24045 {
24046     if (&src == this) return *this;
24047 
24048     if (pNext)
24049         FreePnextChain(pNext);
24050 
24051     sType = src.sType;
24052     handleType = src.handleType;
24053     pHostPointer = src.pHostPointer;
24054     pNext = SafePnextCopy(src.pNext);
24055 
24056     return *this;
24057 }
24058 
~safe_VkImportMemoryHostPointerInfoEXT()24059 safe_VkImportMemoryHostPointerInfoEXT::~safe_VkImportMemoryHostPointerInfoEXT()
24060 {
24061     if (pNext)
24062         FreePnextChain(pNext);
24063 }
24064 
initialize(const VkImportMemoryHostPointerInfoEXT * in_struct)24065 void safe_VkImportMemoryHostPointerInfoEXT::initialize(const VkImportMemoryHostPointerInfoEXT* in_struct)
24066 {
24067     sType = in_struct->sType;
24068     handleType = in_struct->handleType;
24069     pHostPointer = in_struct->pHostPointer;
24070     pNext = SafePnextCopy(in_struct->pNext);
24071 }
24072 
initialize(const safe_VkImportMemoryHostPointerInfoEXT * src)24073 void safe_VkImportMemoryHostPointerInfoEXT::initialize(const safe_VkImportMemoryHostPointerInfoEXT* src)
24074 {
24075     sType = src->sType;
24076     handleType = src->handleType;
24077     pHostPointer = src->pHostPointer;
24078     pNext = SafePnextCopy(src->pNext);
24079 }
24080 
safe_VkMemoryHostPointerPropertiesEXT(const VkMemoryHostPointerPropertiesEXT * in_struct)24081 safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT(const VkMemoryHostPointerPropertiesEXT* in_struct) :
24082     sType(in_struct->sType),
24083     memoryTypeBits(in_struct->memoryTypeBits)
24084 {
24085     pNext = SafePnextCopy(in_struct->pNext);
24086 }
24087 
safe_VkMemoryHostPointerPropertiesEXT()24088 safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT() :
24089     pNext(nullptr)
24090 {}
24091 
safe_VkMemoryHostPointerPropertiesEXT(const safe_VkMemoryHostPointerPropertiesEXT & src)24092 safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT(const safe_VkMemoryHostPointerPropertiesEXT& src)
24093 {
24094     sType = src.sType;
24095     memoryTypeBits = src.memoryTypeBits;
24096     pNext = SafePnextCopy(src.pNext);
24097 }
24098 
operator =(const safe_VkMemoryHostPointerPropertiesEXT & src)24099 safe_VkMemoryHostPointerPropertiesEXT& safe_VkMemoryHostPointerPropertiesEXT::operator=(const safe_VkMemoryHostPointerPropertiesEXT& src)
24100 {
24101     if (&src == this) return *this;
24102 
24103     if (pNext)
24104         FreePnextChain(pNext);
24105 
24106     sType = src.sType;
24107     memoryTypeBits = src.memoryTypeBits;
24108     pNext = SafePnextCopy(src.pNext);
24109 
24110     return *this;
24111 }
24112 
~safe_VkMemoryHostPointerPropertiesEXT()24113 safe_VkMemoryHostPointerPropertiesEXT::~safe_VkMemoryHostPointerPropertiesEXT()
24114 {
24115     if (pNext)
24116         FreePnextChain(pNext);
24117 }
24118 
initialize(const VkMemoryHostPointerPropertiesEXT * in_struct)24119 void safe_VkMemoryHostPointerPropertiesEXT::initialize(const VkMemoryHostPointerPropertiesEXT* in_struct)
24120 {
24121     sType = in_struct->sType;
24122     memoryTypeBits = in_struct->memoryTypeBits;
24123     pNext = SafePnextCopy(in_struct->pNext);
24124 }
24125 
initialize(const safe_VkMemoryHostPointerPropertiesEXT * src)24126 void safe_VkMemoryHostPointerPropertiesEXT::initialize(const safe_VkMemoryHostPointerPropertiesEXT* src)
24127 {
24128     sType = src->sType;
24129     memoryTypeBits = src->memoryTypeBits;
24130     pNext = SafePnextCopy(src->pNext);
24131 }
24132 
safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT * in_struct)24133 safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* in_struct) :
24134     sType(in_struct->sType),
24135     minImportedHostPointerAlignment(in_struct->minImportedHostPointerAlignment)
24136 {
24137     pNext = SafePnextCopy(in_struct->pNext);
24138 }
24139 
safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT()24140 safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT() :
24141     pNext(nullptr)
24142 {}
24143 
safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT & src)24144 safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& src)
24145 {
24146     sType = src.sType;
24147     minImportedHostPointerAlignment = src.minImportedHostPointerAlignment;
24148     pNext = SafePnextCopy(src.pNext);
24149 }
24150 
operator =(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT & src)24151 safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::operator=(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& src)
24152 {
24153     if (&src == this) return *this;
24154 
24155     if (pNext)
24156         FreePnextChain(pNext);
24157 
24158     sType = src.sType;
24159     minImportedHostPointerAlignment = src.minImportedHostPointerAlignment;
24160     pNext = SafePnextCopy(src.pNext);
24161 
24162     return *this;
24163 }
24164 
~safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT()24165 safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::~safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT()
24166 {
24167     if (pNext)
24168         FreePnextChain(pNext);
24169 }
24170 
initialize(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT * in_struct)24171 void safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::initialize(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* in_struct)
24172 {
24173     sType = in_struct->sType;
24174     minImportedHostPointerAlignment = in_struct->minImportedHostPointerAlignment;
24175     pNext = SafePnextCopy(in_struct->pNext);
24176 }
24177 
initialize(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT * src)24178 void safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::initialize(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT* src)
24179 {
24180     sType = src->sType;
24181     minImportedHostPointerAlignment = src->minImportedHostPointerAlignment;
24182     pNext = SafePnextCopy(src->pNext);
24183 }
24184 
safe_VkPipelineCompilerControlCreateInfoAMD(const VkPipelineCompilerControlCreateInfoAMD * in_struct)24185 safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD(const VkPipelineCompilerControlCreateInfoAMD* in_struct) :
24186     sType(in_struct->sType),
24187     compilerControlFlags(in_struct->compilerControlFlags)
24188 {
24189     pNext = SafePnextCopy(in_struct->pNext);
24190 }
24191 
safe_VkPipelineCompilerControlCreateInfoAMD()24192 safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD() :
24193     pNext(nullptr)
24194 {}
24195 
safe_VkPipelineCompilerControlCreateInfoAMD(const safe_VkPipelineCompilerControlCreateInfoAMD & src)24196 safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD(const safe_VkPipelineCompilerControlCreateInfoAMD& src)
24197 {
24198     sType = src.sType;
24199     compilerControlFlags = src.compilerControlFlags;
24200     pNext = SafePnextCopy(src.pNext);
24201 }
24202 
operator =(const safe_VkPipelineCompilerControlCreateInfoAMD & src)24203 safe_VkPipelineCompilerControlCreateInfoAMD& safe_VkPipelineCompilerControlCreateInfoAMD::operator=(const safe_VkPipelineCompilerControlCreateInfoAMD& src)
24204 {
24205     if (&src == this) return *this;
24206 
24207     if (pNext)
24208         FreePnextChain(pNext);
24209 
24210     sType = src.sType;
24211     compilerControlFlags = src.compilerControlFlags;
24212     pNext = SafePnextCopy(src.pNext);
24213 
24214     return *this;
24215 }
24216 
~safe_VkPipelineCompilerControlCreateInfoAMD()24217 safe_VkPipelineCompilerControlCreateInfoAMD::~safe_VkPipelineCompilerControlCreateInfoAMD()
24218 {
24219     if (pNext)
24220         FreePnextChain(pNext);
24221 }
24222 
initialize(const VkPipelineCompilerControlCreateInfoAMD * in_struct)24223 void safe_VkPipelineCompilerControlCreateInfoAMD::initialize(const VkPipelineCompilerControlCreateInfoAMD* in_struct)
24224 {
24225     sType = in_struct->sType;
24226     compilerControlFlags = in_struct->compilerControlFlags;
24227     pNext = SafePnextCopy(in_struct->pNext);
24228 }
24229 
initialize(const safe_VkPipelineCompilerControlCreateInfoAMD * src)24230 void safe_VkPipelineCompilerControlCreateInfoAMD::initialize(const safe_VkPipelineCompilerControlCreateInfoAMD* src)
24231 {
24232     sType = src->sType;
24233     compilerControlFlags = src->compilerControlFlags;
24234     pNext = SafePnextCopy(src->pNext);
24235 }
24236 
safe_VkCalibratedTimestampInfoEXT(const VkCalibratedTimestampInfoEXT * in_struct)24237 safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT(const VkCalibratedTimestampInfoEXT* in_struct) :
24238     sType(in_struct->sType),
24239     timeDomain(in_struct->timeDomain)
24240 {
24241     pNext = SafePnextCopy(in_struct->pNext);
24242 }
24243 
safe_VkCalibratedTimestampInfoEXT()24244 safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT() :
24245     pNext(nullptr)
24246 {}
24247 
safe_VkCalibratedTimestampInfoEXT(const safe_VkCalibratedTimestampInfoEXT & src)24248 safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT(const safe_VkCalibratedTimestampInfoEXT& src)
24249 {
24250     sType = src.sType;
24251     timeDomain = src.timeDomain;
24252     pNext = SafePnextCopy(src.pNext);
24253 }
24254 
operator =(const safe_VkCalibratedTimestampInfoEXT & src)24255 safe_VkCalibratedTimestampInfoEXT& safe_VkCalibratedTimestampInfoEXT::operator=(const safe_VkCalibratedTimestampInfoEXT& src)
24256 {
24257     if (&src == this) return *this;
24258 
24259     if (pNext)
24260         FreePnextChain(pNext);
24261 
24262     sType = src.sType;
24263     timeDomain = src.timeDomain;
24264     pNext = SafePnextCopy(src.pNext);
24265 
24266     return *this;
24267 }
24268 
~safe_VkCalibratedTimestampInfoEXT()24269 safe_VkCalibratedTimestampInfoEXT::~safe_VkCalibratedTimestampInfoEXT()
24270 {
24271     if (pNext)
24272         FreePnextChain(pNext);
24273 }
24274 
initialize(const VkCalibratedTimestampInfoEXT * in_struct)24275 void safe_VkCalibratedTimestampInfoEXT::initialize(const VkCalibratedTimestampInfoEXT* in_struct)
24276 {
24277     sType = in_struct->sType;
24278     timeDomain = in_struct->timeDomain;
24279     pNext = SafePnextCopy(in_struct->pNext);
24280 }
24281 
initialize(const safe_VkCalibratedTimestampInfoEXT * src)24282 void safe_VkCalibratedTimestampInfoEXT::initialize(const safe_VkCalibratedTimestampInfoEXT* src)
24283 {
24284     sType = src->sType;
24285     timeDomain = src->timeDomain;
24286     pNext = SafePnextCopy(src->pNext);
24287 }
24288 
safe_VkPhysicalDeviceShaderCorePropertiesAMD(const VkPhysicalDeviceShaderCorePropertiesAMD * in_struct)24289 safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD(const VkPhysicalDeviceShaderCorePropertiesAMD* in_struct) :
24290     sType(in_struct->sType),
24291     shaderEngineCount(in_struct->shaderEngineCount),
24292     shaderArraysPerEngineCount(in_struct->shaderArraysPerEngineCount),
24293     computeUnitsPerShaderArray(in_struct->computeUnitsPerShaderArray),
24294     simdPerComputeUnit(in_struct->simdPerComputeUnit),
24295     wavefrontsPerSimd(in_struct->wavefrontsPerSimd),
24296     wavefrontSize(in_struct->wavefrontSize),
24297     sgprsPerSimd(in_struct->sgprsPerSimd),
24298     minSgprAllocation(in_struct->minSgprAllocation),
24299     maxSgprAllocation(in_struct->maxSgprAllocation),
24300     sgprAllocationGranularity(in_struct->sgprAllocationGranularity),
24301     vgprsPerSimd(in_struct->vgprsPerSimd),
24302     minVgprAllocation(in_struct->minVgprAllocation),
24303     maxVgprAllocation(in_struct->maxVgprAllocation),
24304     vgprAllocationGranularity(in_struct->vgprAllocationGranularity)
24305 {
24306     pNext = SafePnextCopy(in_struct->pNext);
24307 }
24308 
safe_VkPhysicalDeviceShaderCorePropertiesAMD()24309 safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD() :
24310     pNext(nullptr)
24311 {}
24312 
safe_VkPhysicalDeviceShaderCorePropertiesAMD(const safe_VkPhysicalDeviceShaderCorePropertiesAMD & src)24313 safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD(const safe_VkPhysicalDeviceShaderCorePropertiesAMD& src)
24314 {
24315     sType = src.sType;
24316     shaderEngineCount = src.shaderEngineCount;
24317     shaderArraysPerEngineCount = src.shaderArraysPerEngineCount;
24318     computeUnitsPerShaderArray = src.computeUnitsPerShaderArray;
24319     simdPerComputeUnit = src.simdPerComputeUnit;
24320     wavefrontsPerSimd = src.wavefrontsPerSimd;
24321     wavefrontSize = src.wavefrontSize;
24322     sgprsPerSimd = src.sgprsPerSimd;
24323     minSgprAllocation = src.minSgprAllocation;
24324     maxSgprAllocation = src.maxSgprAllocation;
24325     sgprAllocationGranularity = src.sgprAllocationGranularity;
24326     vgprsPerSimd = src.vgprsPerSimd;
24327     minVgprAllocation = src.minVgprAllocation;
24328     maxVgprAllocation = src.maxVgprAllocation;
24329     vgprAllocationGranularity = src.vgprAllocationGranularity;
24330     pNext = SafePnextCopy(src.pNext);
24331 }
24332 
operator =(const safe_VkPhysicalDeviceShaderCorePropertiesAMD & src)24333 safe_VkPhysicalDeviceShaderCorePropertiesAMD& safe_VkPhysicalDeviceShaderCorePropertiesAMD::operator=(const safe_VkPhysicalDeviceShaderCorePropertiesAMD& src)
24334 {
24335     if (&src == this) return *this;
24336 
24337     if (pNext)
24338         FreePnextChain(pNext);
24339 
24340     sType = src.sType;
24341     shaderEngineCount = src.shaderEngineCount;
24342     shaderArraysPerEngineCount = src.shaderArraysPerEngineCount;
24343     computeUnitsPerShaderArray = src.computeUnitsPerShaderArray;
24344     simdPerComputeUnit = src.simdPerComputeUnit;
24345     wavefrontsPerSimd = src.wavefrontsPerSimd;
24346     wavefrontSize = src.wavefrontSize;
24347     sgprsPerSimd = src.sgprsPerSimd;
24348     minSgprAllocation = src.minSgprAllocation;
24349     maxSgprAllocation = src.maxSgprAllocation;
24350     sgprAllocationGranularity = src.sgprAllocationGranularity;
24351     vgprsPerSimd = src.vgprsPerSimd;
24352     minVgprAllocation = src.minVgprAllocation;
24353     maxVgprAllocation = src.maxVgprAllocation;
24354     vgprAllocationGranularity = src.vgprAllocationGranularity;
24355     pNext = SafePnextCopy(src.pNext);
24356 
24357     return *this;
24358 }
24359 
~safe_VkPhysicalDeviceShaderCorePropertiesAMD()24360 safe_VkPhysicalDeviceShaderCorePropertiesAMD::~safe_VkPhysicalDeviceShaderCorePropertiesAMD()
24361 {
24362     if (pNext)
24363         FreePnextChain(pNext);
24364 }
24365 
initialize(const VkPhysicalDeviceShaderCorePropertiesAMD * in_struct)24366 void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const VkPhysicalDeviceShaderCorePropertiesAMD* in_struct)
24367 {
24368     sType = in_struct->sType;
24369     shaderEngineCount = in_struct->shaderEngineCount;
24370     shaderArraysPerEngineCount = in_struct->shaderArraysPerEngineCount;
24371     computeUnitsPerShaderArray = in_struct->computeUnitsPerShaderArray;
24372     simdPerComputeUnit = in_struct->simdPerComputeUnit;
24373     wavefrontsPerSimd = in_struct->wavefrontsPerSimd;
24374     wavefrontSize = in_struct->wavefrontSize;
24375     sgprsPerSimd = in_struct->sgprsPerSimd;
24376     minSgprAllocation = in_struct->minSgprAllocation;
24377     maxSgprAllocation = in_struct->maxSgprAllocation;
24378     sgprAllocationGranularity = in_struct->sgprAllocationGranularity;
24379     vgprsPerSimd = in_struct->vgprsPerSimd;
24380     minVgprAllocation = in_struct->minVgprAllocation;
24381     maxVgprAllocation = in_struct->maxVgprAllocation;
24382     vgprAllocationGranularity = in_struct->vgprAllocationGranularity;
24383     pNext = SafePnextCopy(in_struct->pNext);
24384 }
24385 
initialize(const safe_VkPhysicalDeviceShaderCorePropertiesAMD * src)24386 void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const safe_VkPhysicalDeviceShaderCorePropertiesAMD* src)
24387 {
24388     sType = src->sType;
24389     shaderEngineCount = src->shaderEngineCount;
24390     shaderArraysPerEngineCount = src->shaderArraysPerEngineCount;
24391     computeUnitsPerShaderArray = src->computeUnitsPerShaderArray;
24392     simdPerComputeUnit = src->simdPerComputeUnit;
24393     wavefrontsPerSimd = src->wavefrontsPerSimd;
24394     wavefrontSize = src->wavefrontSize;
24395     sgprsPerSimd = src->sgprsPerSimd;
24396     minSgprAllocation = src->minSgprAllocation;
24397     maxSgprAllocation = src->maxSgprAllocation;
24398     sgprAllocationGranularity = src->sgprAllocationGranularity;
24399     vgprsPerSimd = src->vgprsPerSimd;
24400     minVgprAllocation = src->minVgprAllocation;
24401     maxVgprAllocation = src->maxVgprAllocation;
24402     vgprAllocationGranularity = src->vgprAllocationGranularity;
24403     pNext = SafePnextCopy(src->pNext);
24404 }
24405 
safe_VkDeviceMemoryOverallocationCreateInfoAMD(const VkDeviceMemoryOverallocationCreateInfoAMD * in_struct)24406 safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD(const VkDeviceMemoryOverallocationCreateInfoAMD* in_struct) :
24407     sType(in_struct->sType),
24408     overallocationBehavior(in_struct->overallocationBehavior)
24409 {
24410     pNext = SafePnextCopy(in_struct->pNext);
24411 }
24412 
safe_VkDeviceMemoryOverallocationCreateInfoAMD()24413 safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD() :
24414     pNext(nullptr)
24415 {}
24416 
safe_VkDeviceMemoryOverallocationCreateInfoAMD(const safe_VkDeviceMemoryOverallocationCreateInfoAMD & src)24417 safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD(const safe_VkDeviceMemoryOverallocationCreateInfoAMD& src)
24418 {
24419     sType = src.sType;
24420     overallocationBehavior = src.overallocationBehavior;
24421     pNext = SafePnextCopy(src.pNext);
24422 }
24423 
operator =(const safe_VkDeviceMemoryOverallocationCreateInfoAMD & src)24424 safe_VkDeviceMemoryOverallocationCreateInfoAMD& safe_VkDeviceMemoryOverallocationCreateInfoAMD::operator=(const safe_VkDeviceMemoryOverallocationCreateInfoAMD& src)
24425 {
24426     if (&src == this) return *this;
24427 
24428     if (pNext)
24429         FreePnextChain(pNext);
24430 
24431     sType = src.sType;
24432     overallocationBehavior = src.overallocationBehavior;
24433     pNext = SafePnextCopy(src.pNext);
24434 
24435     return *this;
24436 }
24437 
~safe_VkDeviceMemoryOverallocationCreateInfoAMD()24438 safe_VkDeviceMemoryOverallocationCreateInfoAMD::~safe_VkDeviceMemoryOverallocationCreateInfoAMD()
24439 {
24440     if (pNext)
24441         FreePnextChain(pNext);
24442 }
24443 
initialize(const VkDeviceMemoryOverallocationCreateInfoAMD * in_struct)24444 void safe_VkDeviceMemoryOverallocationCreateInfoAMD::initialize(const VkDeviceMemoryOverallocationCreateInfoAMD* in_struct)
24445 {
24446     sType = in_struct->sType;
24447     overallocationBehavior = in_struct->overallocationBehavior;
24448     pNext = SafePnextCopy(in_struct->pNext);
24449 }
24450 
initialize(const safe_VkDeviceMemoryOverallocationCreateInfoAMD * src)24451 void safe_VkDeviceMemoryOverallocationCreateInfoAMD::initialize(const safe_VkDeviceMemoryOverallocationCreateInfoAMD* src)
24452 {
24453     sType = src->sType;
24454     overallocationBehavior = src->overallocationBehavior;
24455     pNext = SafePnextCopy(src->pNext);
24456 }
24457 
safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * in_struct)24458 safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* in_struct) :
24459     sType(in_struct->sType),
24460     maxVertexAttribDivisor(in_struct->maxVertexAttribDivisor)
24461 {
24462     pNext = SafePnextCopy(in_struct->pNext);
24463 }
24464 
safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT()24465 safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT() :
24466     pNext(nullptr)
24467 {}
24468 
safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT & src)24469 safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& src)
24470 {
24471     sType = src.sType;
24472     maxVertexAttribDivisor = src.maxVertexAttribDivisor;
24473     pNext = SafePnextCopy(src.pNext);
24474 }
24475 
operator =(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT & src)24476 safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::operator=(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& src)
24477 {
24478     if (&src == this) return *this;
24479 
24480     if (pNext)
24481         FreePnextChain(pNext);
24482 
24483     sType = src.sType;
24484     maxVertexAttribDivisor = src.maxVertexAttribDivisor;
24485     pNext = SafePnextCopy(src.pNext);
24486 
24487     return *this;
24488 }
24489 
~safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT()24490 safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::~safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT()
24491 {
24492     if (pNext)
24493         FreePnextChain(pNext);
24494 }
24495 
initialize(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * in_struct)24496 void safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::initialize(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* in_struct)
24497 {
24498     sType = in_struct->sType;
24499     maxVertexAttribDivisor = in_struct->maxVertexAttribDivisor;
24500     pNext = SafePnextCopy(in_struct->pNext);
24501 }
24502 
initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * src)24503 void safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* src)
24504 {
24505     sType = src->sType;
24506     maxVertexAttribDivisor = src->maxVertexAttribDivisor;
24507     pNext = SafePnextCopy(src->pNext);
24508 }
24509 
safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const VkPipelineVertexInputDivisorStateCreateInfoEXT * in_struct)24510 safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const VkPipelineVertexInputDivisorStateCreateInfoEXT* in_struct) :
24511     sType(in_struct->sType),
24512     vertexBindingDivisorCount(in_struct->vertexBindingDivisorCount),
24513     pVertexBindingDivisors(nullptr)
24514 {
24515     pNext = SafePnextCopy(in_struct->pNext);
24516     if (in_struct->pVertexBindingDivisors) {
24517         pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[in_struct->vertexBindingDivisorCount];
24518         memcpy ((void *)pVertexBindingDivisors, (void *)in_struct->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*in_struct->vertexBindingDivisorCount);
24519     }
24520 }
24521 
safe_VkPipelineVertexInputDivisorStateCreateInfoEXT()24522 safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT() :
24523     pNext(nullptr),
24524     pVertexBindingDivisors(nullptr)
24525 {}
24526 
safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT & src)24527 safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& src)
24528 {
24529     sType = src.sType;
24530     vertexBindingDivisorCount = src.vertexBindingDivisorCount;
24531     pVertexBindingDivisors = nullptr;
24532     pNext = SafePnextCopy(src.pNext);
24533     if (src.pVertexBindingDivisors) {
24534         pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src.vertexBindingDivisorCount];
24535         memcpy ((void *)pVertexBindingDivisors, (void *)src.pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src.vertexBindingDivisorCount);
24536     }
24537 }
24538 
operator =(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT & src)24539 safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::operator=(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& src)
24540 {
24541     if (&src == this) return *this;
24542 
24543     if (pVertexBindingDivisors)
24544         delete[] pVertexBindingDivisors;
24545     if (pNext)
24546         FreePnextChain(pNext);
24547 
24548     sType = src.sType;
24549     vertexBindingDivisorCount = src.vertexBindingDivisorCount;
24550     pVertexBindingDivisors = nullptr;
24551     pNext = SafePnextCopy(src.pNext);
24552     if (src.pVertexBindingDivisors) {
24553         pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src.vertexBindingDivisorCount];
24554         memcpy ((void *)pVertexBindingDivisors, (void *)src.pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src.vertexBindingDivisorCount);
24555     }
24556 
24557     return *this;
24558 }
24559 
~safe_VkPipelineVertexInputDivisorStateCreateInfoEXT()24560 safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::~safe_VkPipelineVertexInputDivisorStateCreateInfoEXT()
24561 {
24562     if (pVertexBindingDivisors)
24563         delete[] pVertexBindingDivisors;
24564     if (pNext)
24565         FreePnextChain(pNext);
24566 }
24567 
initialize(const VkPipelineVertexInputDivisorStateCreateInfoEXT * in_struct)24568 void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const VkPipelineVertexInputDivisorStateCreateInfoEXT* in_struct)
24569 {
24570     sType = in_struct->sType;
24571     vertexBindingDivisorCount = in_struct->vertexBindingDivisorCount;
24572     pVertexBindingDivisors = nullptr;
24573     pNext = SafePnextCopy(in_struct->pNext);
24574     if (in_struct->pVertexBindingDivisors) {
24575         pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[in_struct->vertexBindingDivisorCount];
24576         memcpy ((void *)pVertexBindingDivisors, (void *)in_struct->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*in_struct->vertexBindingDivisorCount);
24577     }
24578 }
24579 
initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT * src)24580 void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT* src)
24581 {
24582     sType = src->sType;
24583     vertexBindingDivisorCount = src->vertexBindingDivisorCount;
24584     pVertexBindingDivisors = nullptr;
24585     pNext = SafePnextCopy(src->pNext);
24586     if (src->pVertexBindingDivisors) {
24587         pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src->vertexBindingDivisorCount];
24588         memcpy ((void *)pVertexBindingDivisors, (void *)src->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src->vertexBindingDivisorCount);
24589     }
24590 }
24591 
safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * in_struct)24592 safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* in_struct) :
24593     sType(in_struct->sType),
24594     vertexAttributeInstanceRateDivisor(in_struct->vertexAttributeInstanceRateDivisor),
24595     vertexAttributeInstanceRateZeroDivisor(in_struct->vertexAttributeInstanceRateZeroDivisor)
24596 {
24597     pNext = SafePnextCopy(in_struct->pNext);
24598 }
24599 
safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT()24600 safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT() :
24601     pNext(nullptr)
24602 {}
24603 
safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT & src)24604 safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& src)
24605 {
24606     sType = src.sType;
24607     vertexAttributeInstanceRateDivisor = src.vertexAttributeInstanceRateDivisor;
24608     vertexAttributeInstanceRateZeroDivisor = src.vertexAttributeInstanceRateZeroDivisor;
24609     pNext = SafePnextCopy(src.pNext);
24610 }
24611 
operator =(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT & src)24612 safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::operator=(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& src)
24613 {
24614     if (&src == this) return *this;
24615 
24616     if (pNext)
24617         FreePnextChain(pNext);
24618 
24619     sType = src.sType;
24620     vertexAttributeInstanceRateDivisor = src.vertexAttributeInstanceRateDivisor;
24621     vertexAttributeInstanceRateZeroDivisor = src.vertexAttributeInstanceRateZeroDivisor;
24622     pNext = SafePnextCopy(src.pNext);
24623 
24624     return *this;
24625 }
24626 
~safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT()24627 safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::~safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT()
24628 {
24629     if (pNext)
24630         FreePnextChain(pNext);
24631 }
24632 
initialize(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * in_struct)24633 void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::initialize(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* in_struct)
24634 {
24635     sType = in_struct->sType;
24636     vertexAttributeInstanceRateDivisor = in_struct->vertexAttributeInstanceRateDivisor;
24637     vertexAttributeInstanceRateZeroDivisor = in_struct->vertexAttributeInstanceRateZeroDivisor;
24638     pNext = SafePnextCopy(in_struct->pNext);
24639 }
24640 
initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * src)24641 void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* src)
24642 {
24643     sType = src->sType;
24644     vertexAttributeInstanceRateDivisor = src->vertexAttributeInstanceRateDivisor;
24645     vertexAttributeInstanceRateZeroDivisor = src->vertexAttributeInstanceRateZeroDivisor;
24646     pNext = SafePnextCopy(src->pNext);
24647 }
24648 #ifdef VK_USE_PLATFORM_GGP
24649 
24650 
safe_VkPresentFrameTokenGGP(const VkPresentFrameTokenGGP * in_struct)24651 safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP(const VkPresentFrameTokenGGP* in_struct) :
24652     sType(in_struct->sType),
24653     frameToken(in_struct->frameToken)
24654 {
24655     pNext = SafePnextCopy(in_struct->pNext);
24656 }
24657 
safe_VkPresentFrameTokenGGP()24658 safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP() :
24659     pNext(nullptr)
24660 {}
24661 
safe_VkPresentFrameTokenGGP(const safe_VkPresentFrameTokenGGP & src)24662 safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP(const safe_VkPresentFrameTokenGGP& src)
24663 {
24664     sType = src.sType;
24665     frameToken = src.frameToken;
24666     pNext = SafePnextCopy(src.pNext);
24667 }
24668 
operator =(const safe_VkPresentFrameTokenGGP & src)24669 safe_VkPresentFrameTokenGGP& safe_VkPresentFrameTokenGGP::operator=(const safe_VkPresentFrameTokenGGP& src)
24670 {
24671     if (&src == this) return *this;
24672 
24673     if (pNext)
24674         FreePnextChain(pNext);
24675 
24676     sType = src.sType;
24677     frameToken = src.frameToken;
24678     pNext = SafePnextCopy(src.pNext);
24679 
24680     return *this;
24681 }
24682 
~safe_VkPresentFrameTokenGGP()24683 safe_VkPresentFrameTokenGGP::~safe_VkPresentFrameTokenGGP()
24684 {
24685     if (pNext)
24686         FreePnextChain(pNext);
24687 }
24688 
initialize(const VkPresentFrameTokenGGP * in_struct)24689 void safe_VkPresentFrameTokenGGP::initialize(const VkPresentFrameTokenGGP* in_struct)
24690 {
24691     sType = in_struct->sType;
24692     frameToken = in_struct->frameToken;
24693     pNext = SafePnextCopy(in_struct->pNext);
24694 }
24695 
initialize(const safe_VkPresentFrameTokenGGP * src)24696 void safe_VkPresentFrameTokenGGP::initialize(const safe_VkPresentFrameTokenGGP* src)
24697 {
24698     sType = src->sType;
24699     frameToken = src->frameToken;
24700     pNext = SafePnextCopy(src->pNext);
24701 }
24702 #endif // VK_USE_PLATFORM_GGP
24703 
24704 
safe_VkPipelineCreationFeedbackCreateInfoEXT(const VkPipelineCreationFeedbackCreateInfoEXT * in_struct)24705 safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT(const VkPipelineCreationFeedbackCreateInfoEXT* in_struct) :
24706     sType(in_struct->sType),
24707     pPipelineCreationFeedback(nullptr),
24708     pipelineStageCreationFeedbackCount(in_struct->pipelineStageCreationFeedbackCount),
24709     pPipelineStageCreationFeedbacks(nullptr)
24710 {
24711     pNext = SafePnextCopy(in_struct->pNext);
24712     if (in_struct->pPipelineCreationFeedback) {
24713         pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*in_struct->pPipelineCreationFeedback);
24714     }
24715     if (in_struct->pPipelineStageCreationFeedbacks) {
24716         pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[in_struct->pipelineStageCreationFeedbackCount];
24717         memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)in_struct->pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*in_struct->pipelineStageCreationFeedbackCount);
24718     }
24719 }
24720 
safe_VkPipelineCreationFeedbackCreateInfoEXT()24721 safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT() :
24722     pNext(nullptr),
24723     pPipelineCreationFeedback(nullptr),
24724     pPipelineStageCreationFeedbacks(nullptr)
24725 {}
24726 
safe_VkPipelineCreationFeedbackCreateInfoEXT(const safe_VkPipelineCreationFeedbackCreateInfoEXT & src)24727 safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT(const safe_VkPipelineCreationFeedbackCreateInfoEXT& src)
24728 {
24729     sType = src.sType;
24730     pPipelineCreationFeedback = nullptr;
24731     pipelineStageCreationFeedbackCount = src.pipelineStageCreationFeedbackCount;
24732     pPipelineStageCreationFeedbacks = nullptr;
24733     pNext = SafePnextCopy(src.pNext);
24734     if (src.pPipelineCreationFeedback) {
24735         pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src.pPipelineCreationFeedback);
24736     }
24737     if (src.pPipelineStageCreationFeedbacks) {
24738         pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[src.pipelineStageCreationFeedbackCount];
24739         memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)src.pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*src.pipelineStageCreationFeedbackCount);
24740     }
24741 }
24742 
operator =(const safe_VkPipelineCreationFeedbackCreateInfoEXT & src)24743 safe_VkPipelineCreationFeedbackCreateInfoEXT& safe_VkPipelineCreationFeedbackCreateInfoEXT::operator=(const safe_VkPipelineCreationFeedbackCreateInfoEXT& src)
24744 {
24745     if (&src == this) return *this;
24746 
24747     if (pPipelineCreationFeedback)
24748         delete pPipelineCreationFeedback;
24749     if (pPipelineStageCreationFeedbacks)
24750         delete[] pPipelineStageCreationFeedbacks;
24751     if (pNext)
24752         FreePnextChain(pNext);
24753 
24754     sType = src.sType;
24755     pPipelineCreationFeedback = nullptr;
24756     pipelineStageCreationFeedbackCount = src.pipelineStageCreationFeedbackCount;
24757     pPipelineStageCreationFeedbacks = nullptr;
24758     pNext = SafePnextCopy(src.pNext);
24759     if (src.pPipelineCreationFeedback) {
24760         pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src.pPipelineCreationFeedback);
24761     }
24762     if (src.pPipelineStageCreationFeedbacks) {
24763         pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[src.pipelineStageCreationFeedbackCount];
24764         memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)src.pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*src.pipelineStageCreationFeedbackCount);
24765     }
24766 
24767     return *this;
24768 }
24769 
~safe_VkPipelineCreationFeedbackCreateInfoEXT()24770 safe_VkPipelineCreationFeedbackCreateInfoEXT::~safe_VkPipelineCreationFeedbackCreateInfoEXT()
24771 {
24772     if (pPipelineCreationFeedback)
24773         delete pPipelineCreationFeedback;
24774     if (pPipelineStageCreationFeedbacks)
24775         delete[] pPipelineStageCreationFeedbacks;
24776     if (pNext)
24777         FreePnextChain(pNext);
24778 }
24779 
initialize(const VkPipelineCreationFeedbackCreateInfoEXT * in_struct)24780 void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const VkPipelineCreationFeedbackCreateInfoEXT* in_struct)
24781 {
24782     sType = in_struct->sType;
24783     pPipelineCreationFeedback = nullptr;
24784     pipelineStageCreationFeedbackCount = in_struct->pipelineStageCreationFeedbackCount;
24785     pPipelineStageCreationFeedbacks = nullptr;
24786     pNext = SafePnextCopy(in_struct->pNext);
24787     if (in_struct->pPipelineCreationFeedback) {
24788         pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*in_struct->pPipelineCreationFeedback);
24789     }
24790     if (in_struct->pPipelineStageCreationFeedbacks) {
24791         pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[in_struct->pipelineStageCreationFeedbackCount];
24792         memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)in_struct->pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*in_struct->pipelineStageCreationFeedbackCount);
24793     }
24794 }
24795 
initialize(const safe_VkPipelineCreationFeedbackCreateInfoEXT * src)24796 void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const safe_VkPipelineCreationFeedbackCreateInfoEXT* src)
24797 {
24798     sType = src->sType;
24799     pPipelineCreationFeedback = nullptr;
24800     pipelineStageCreationFeedbackCount = src->pipelineStageCreationFeedbackCount;
24801     pPipelineStageCreationFeedbacks = nullptr;
24802     pNext = SafePnextCopy(src->pNext);
24803     if (src->pPipelineCreationFeedback) {
24804         pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src->pPipelineCreationFeedback);
24805     }
24806     if (src->pPipelineStageCreationFeedbacks) {
24807         pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[src->pipelineStageCreationFeedbackCount];
24808         memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)src->pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*src->pipelineStageCreationFeedbackCount);
24809     }
24810 }
24811 
safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV * in_struct)24812 safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* in_struct) :
24813     sType(in_struct->sType),
24814     computeDerivativeGroupQuads(in_struct->computeDerivativeGroupQuads),
24815     computeDerivativeGroupLinear(in_struct->computeDerivativeGroupLinear)
24816 {
24817     pNext = SafePnextCopy(in_struct->pNext);
24818 }
24819 
safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV()24820 safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV() :
24821     pNext(nullptr)
24822 {}
24823 
safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV & src)24824 safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& src)
24825 {
24826     sType = src.sType;
24827     computeDerivativeGroupQuads = src.computeDerivativeGroupQuads;
24828     computeDerivativeGroupLinear = src.computeDerivativeGroupLinear;
24829     pNext = SafePnextCopy(src.pNext);
24830 }
24831 
operator =(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV & src)24832 safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::operator=(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& src)
24833 {
24834     if (&src == this) return *this;
24835 
24836     if (pNext)
24837         FreePnextChain(pNext);
24838 
24839     sType = src.sType;
24840     computeDerivativeGroupQuads = src.computeDerivativeGroupQuads;
24841     computeDerivativeGroupLinear = src.computeDerivativeGroupLinear;
24842     pNext = SafePnextCopy(src.pNext);
24843 
24844     return *this;
24845 }
24846 
~safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV()24847 safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::~safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV()
24848 {
24849     if (pNext)
24850         FreePnextChain(pNext);
24851 }
24852 
initialize(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV * in_struct)24853 void safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::initialize(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* in_struct)
24854 {
24855     sType = in_struct->sType;
24856     computeDerivativeGroupQuads = in_struct->computeDerivativeGroupQuads;
24857     computeDerivativeGroupLinear = in_struct->computeDerivativeGroupLinear;
24858     pNext = SafePnextCopy(in_struct->pNext);
24859 }
24860 
initialize(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV * src)24861 void safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::initialize(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* src)
24862 {
24863     sType = src->sType;
24864     computeDerivativeGroupQuads = src->computeDerivativeGroupQuads;
24865     computeDerivativeGroupLinear = src->computeDerivativeGroupLinear;
24866     pNext = SafePnextCopy(src->pNext);
24867 }
24868 
safe_VkPhysicalDeviceMeshShaderFeaturesNV(const VkPhysicalDeviceMeshShaderFeaturesNV * in_struct)24869 safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV(const VkPhysicalDeviceMeshShaderFeaturesNV* in_struct) :
24870     sType(in_struct->sType),
24871     taskShader(in_struct->taskShader),
24872     meshShader(in_struct->meshShader)
24873 {
24874     pNext = SafePnextCopy(in_struct->pNext);
24875 }
24876 
safe_VkPhysicalDeviceMeshShaderFeaturesNV()24877 safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV() :
24878     pNext(nullptr)
24879 {}
24880 
safe_VkPhysicalDeviceMeshShaderFeaturesNV(const safe_VkPhysicalDeviceMeshShaderFeaturesNV & src)24881 safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV(const safe_VkPhysicalDeviceMeshShaderFeaturesNV& src)
24882 {
24883     sType = src.sType;
24884     taskShader = src.taskShader;
24885     meshShader = src.meshShader;
24886     pNext = SafePnextCopy(src.pNext);
24887 }
24888 
operator =(const safe_VkPhysicalDeviceMeshShaderFeaturesNV & src)24889 safe_VkPhysicalDeviceMeshShaderFeaturesNV& safe_VkPhysicalDeviceMeshShaderFeaturesNV::operator=(const safe_VkPhysicalDeviceMeshShaderFeaturesNV& src)
24890 {
24891     if (&src == this) return *this;
24892 
24893     if (pNext)
24894         FreePnextChain(pNext);
24895 
24896     sType = src.sType;
24897     taskShader = src.taskShader;
24898     meshShader = src.meshShader;
24899     pNext = SafePnextCopy(src.pNext);
24900 
24901     return *this;
24902 }
24903 
~safe_VkPhysicalDeviceMeshShaderFeaturesNV()24904 safe_VkPhysicalDeviceMeshShaderFeaturesNV::~safe_VkPhysicalDeviceMeshShaderFeaturesNV()
24905 {
24906     if (pNext)
24907         FreePnextChain(pNext);
24908 }
24909 
initialize(const VkPhysicalDeviceMeshShaderFeaturesNV * in_struct)24910 void safe_VkPhysicalDeviceMeshShaderFeaturesNV::initialize(const VkPhysicalDeviceMeshShaderFeaturesNV* in_struct)
24911 {
24912     sType = in_struct->sType;
24913     taskShader = in_struct->taskShader;
24914     meshShader = in_struct->meshShader;
24915     pNext = SafePnextCopy(in_struct->pNext);
24916 }
24917 
initialize(const safe_VkPhysicalDeviceMeshShaderFeaturesNV * src)24918 void safe_VkPhysicalDeviceMeshShaderFeaturesNV::initialize(const safe_VkPhysicalDeviceMeshShaderFeaturesNV* src)
24919 {
24920     sType = src->sType;
24921     taskShader = src->taskShader;
24922     meshShader = src->meshShader;
24923     pNext = SafePnextCopy(src->pNext);
24924 }
24925 
safe_VkPhysicalDeviceMeshShaderPropertiesNV(const VkPhysicalDeviceMeshShaderPropertiesNV * in_struct)24926 safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV(const VkPhysicalDeviceMeshShaderPropertiesNV* in_struct) :
24927     sType(in_struct->sType),
24928     maxDrawMeshTasksCount(in_struct->maxDrawMeshTasksCount),
24929     maxTaskWorkGroupInvocations(in_struct->maxTaskWorkGroupInvocations),
24930     maxTaskTotalMemorySize(in_struct->maxTaskTotalMemorySize),
24931     maxTaskOutputCount(in_struct->maxTaskOutputCount),
24932     maxMeshWorkGroupInvocations(in_struct->maxMeshWorkGroupInvocations),
24933     maxMeshTotalMemorySize(in_struct->maxMeshTotalMemorySize),
24934     maxMeshOutputVertices(in_struct->maxMeshOutputVertices),
24935     maxMeshOutputPrimitives(in_struct->maxMeshOutputPrimitives),
24936     maxMeshMultiviewViewCount(in_struct->maxMeshMultiviewViewCount),
24937     meshOutputPerVertexGranularity(in_struct->meshOutputPerVertexGranularity),
24938     meshOutputPerPrimitiveGranularity(in_struct->meshOutputPerPrimitiveGranularity)
24939 {
24940     pNext = SafePnextCopy(in_struct->pNext);
24941     for (uint32_t i = 0; i < 3; ++i) {
24942         maxTaskWorkGroupSize[i] = in_struct->maxTaskWorkGroupSize[i];
24943     }
24944     for (uint32_t i = 0; i < 3; ++i) {
24945         maxMeshWorkGroupSize[i] = in_struct->maxMeshWorkGroupSize[i];
24946     }
24947 }
24948 
safe_VkPhysicalDeviceMeshShaderPropertiesNV()24949 safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV() :
24950     pNext(nullptr)
24951 {}
24952 
safe_VkPhysicalDeviceMeshShaderPropertiesNV(const safe_VkPhysicalDeviceMeshShaderPropertiesNV & src)24953 safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV(const safe_VkPhysicalDeviceMeshShaderPropertiesNV& src)
24954 {
24955     sType = src.sType;
24956     maxDrawMeshTasksCount = src.maxDrawMeshTasksCount;
24957     maxTaskWorkGroupInvocations = src.maxTaskWorkGroupInvocations;
24958     maxTaskTotalMemorySize = src.maxTaskTotalMemorySize;
24959     maxTaskOutputCount = src.maxTaskOutputCount;
24960     maxMeshWorkGroupInvocations = src.maxMeshWorkGroupInvocations;
24961     maxMeshTotalMemorySize = src.maxMeshTotalMemorySize;
24962     maxMeshOutputVertices = src.maxMeshOutputVertices;
24963     maxMeshOutputPrimitives = src.maxMeshOutputPrimitives;
24964     maxMeshMultiviewViewCount = src.maxMeshMultiviewViewCount;
24965     meshOutputPerVertexGranularity = src.meshOutputPerVertexGranularity;
24966     meshOutputPerPrimitiveGranularity = src.meshOutputPerPrimitiveGranularity;
24967     pNext = SafePnextCopy(src.pNext);
24968     for (uint32_t i = 0; i < 3; ++i) {
24969         maxTaskWorkGroupSize[i] = src.maxTaskWorkGroupSize[i];
24970     }
24971     for (uint32_t i = 0; i < 3; ++i) {
24972         maxMeshWorkGroupSize[i] = src.maxMeshWorkGroupSize[i];
24973     }
24974 }
24975 
operator =(const safe_VkPhysicalDeviceMeshShaderPropertiesNV & src)24976 safe_VkPhysicalDeviceMeshShaderPropertiesNV& safe_VkPhysicalDeviceMeshShaderPropertiesNV::operator=(const safe_VkPhysicalDeviceMeshShaderPropertiesNV& src)
24977 {
24978     if (&src == this) return *this;
24979 
24980     if (pNext)
24981         FreePnextChain(pNext);
24982 
24983     sType = src.sType;
24984     maxDrawMeshTasksCount = src.maxDrawMeshTasksCount;
24985     maxTaskWorkGroupInvocations = src.maxTaskWorkGroupInvocations;
24986     maxTaskTotalMemorySize = src.maxTaskTotalMemorySize;
24987     maxTaskOutputCount = src.maxTaskOutputCount;
24988     maxMeshWorkGroupInvocations = src.maxMeshWorkGroupInvocations;
24989     maxMeshTotalMemorySize = src.maxMeshTotalMemorySize;
24990     maxMeshOutputVertices = src.maxMeshOutputVertices;
24991     maxMeshOutputPrimitives = src.maxMeshOutputPrimitives;
24992     maxMeshMultiviewViewCount = src.maxMeshMultiviewViewCount;
24993     meshOutputPerVertexGranularity = src.meshOutputPerVertexGranularity;
24994     meshOutputPerPrimitiveGranularity = src.meshOutputPerPrimitiveGranularity;
24995     pNext = SafePnextCopy(src.pNext);
24996     for (uint32_t i = 0; i < 3; ++i) {
24997         maxTaskWorkGroupSize[i] = src.maxTaskWorkGroupSize[i];
24998     }
24999     for (uint32_t i = 0; i < 3; ++i) {
25000         maxMeshWorkGroupSize[i] = src.maxMeshWorkGroupSize[i];
25001     }
25002 
25003     return *this;
25004 }
25005 
~safe_VkPhysicalDeviceMeshShaderPropertiesNV()25006 safe_VkPhysicalDeviceMeshShaderPropertiesNV::~safe_VkPhysicalDeviceMeshShaderPropertiesNV()
25007 {
25008     if (pNext)
25009         FreePnextChain(pNext);
25010 }
25011 
initialize(const VkPhysicalDeviceMeshShaderPropertiesNV * in_struct)25012 void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const VkPhysicalDeviceMeshShaderPropertiesNV* in_struct)
25013 {
25014     sType = in_struct->sType;
25015     maxDrawMeshTasksCount = in_struct->maxDrawMeshTasksCount;
25016     maxTaskWorkGroupInvocations = in_struct->maxTaskWorkGroupInvocations;
25017     maxTaskTotalMemorySize = in_struct->maxTaskTotalMemorySize;
25018     maxTaskOutputCount = in_struct->maxTaskOutputCount;
25019     maxMeshWorkGroupInvocations = in_struct->maxMeshWorkGroupInvocations;
25020     maxMeshTotalMemorySize = in_struct->maxMeshTotalMemorySize;
25021     maxMeshOutputVertices = in_struct->maxMeshOutputVertices;
25022     maxMeshOutputPrimitives = in_struct->maxMeshOutputPrimitives;
25023     maxMeshMultiviewViewCount = in_struct->maxMeshMultiviewViewCount;
25024     meshOutputPerVertexGranularity = in_struct->meshOutputPerVertexGranularity;
25025     meshOutputPerPrimitiveGranularity = in_struct->meshOutputPerPrimitiveGranularity;
25026     pNext = SafePnextCopy(in_struct->pNext);
25027     for (uint32_t i = 0; i < 3; ++i) {
25028         maxTaskWorkGroupSize[i] = in_struct->maxTaskWorkGroupSize[i];
25029     }
25030     for (uint32_t i = 0; i < 3; ++i) {
25031         maxMeshWorkGroupSize[i] = in_struct->maxMeshWorkGroupSize[i];
25032     }
25033 }
25034 
initialize(const safe_VkPhysicalDeviceMeshShaderPropertiesNV * src)25035 void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const safe_VkPhysicalDeviceMeshShaderPropertiesNV* src)
25036 {
25037     sType = src->sType;
25038     maxDrawMeshTasksCount = src->maxDrawMeshTasksCount;
25039     maxTaskWorkGroupInvocations = src->maxTaskWorkGroupInvocations;
25040     maxTaskTotalMemorySize = src->maxTaskTotalMemorySize;
25041     maxTaskOutputCount = src->maxTaskOutputCount;
25042     maxMeshWorkGroupInvocations = src->maxMeshWorkGroupInvocations;
25043     maxMeshTotalMemorySize = src->maxMeshTotalMemorySize;
25044     maxMeshOutputVertices = src->maxMeshOutputVertices;
25045     maxMeshOutputPrimitives = src->maxMeshOutputPrimitives;
25046     maxMeshMultiviewViewCount = src->maxMeshMultiviewViewCount;
25047     meshOutputPerVertexGranularity = src->meshOutputPerVertexGranularity;
25048     meshOutputPerPrimitiveGranularity = src->meshOutputPerPrimitiveGranularity;
25049     pNext = SafePnextCopy(src->pNext);
25050     for (uint32_t i = 0; i < 3; ++i) {
25051         maxTaskWorkGroupSize[i] = src->maxTaskWorkGroupSize[i];
25052     }
25053     for (uint32_t i = 0; i < 3; ++i) {
25054         maxMeshWorkGroupSize[i] = src->maxMeshWorkGroupSize[i];
25055     }
25056 }
25057 
safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV * in_struct)25058 safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* in_struct) :
25059     sType(in_struct->sType),
25060     fragmentShaderBarycentric(in_struct->fragmentShaderBarycentric)
25061 {
25062     pNext = SafePnextCopy(in_struct->pNext);
25063 }
25064 
safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV()25065 safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV() :
25066     pNext(nullptr)
25067 {}
25068 
safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV & src)25069 safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& src)
25070 {
25071     sType = src.sType;
25072     fragmentShaderBarycentric = src.fragmentShaderBarycentric;
25073     pNext = SafePnextCopy(src.pNext);
25074 }
25075 
operator =(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV & src)25076 safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::operator=(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& src)
25077 {
25078     if (&src == this) return *this;
25079 
25080     if (pNext)
25081         FreePnextChain(pNext);
25082 
25083     sType = src.sType;
25084     fragmentShaderBarycentric = src.fragmentShaderBarycentric;
25085     pNext = SafePnextCopy(src.pNext);
25086 
25087     return *this;
25088 }
25089 
~safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV()25090 safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::~safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV()
25091 {
25092     if (pNext)
25093         FreePnextChain(pNext);
25094 }
25095 
initialize(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV * in_struct)25096 void safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::initialize(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* in_struct)
25097 {
25098     sType = in_struct->sType;
25099     fragmentShaderBarycentric = in_struct->fragmentShaderBarycentric;
25100     pNext = SafePnextCopy(in_struct->pNext);
25101 }
25102 
initialize(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV * src)25103 void safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::initialize(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* src)
25104 {
25105     sType = src->sType;
25106     fragmentShaderBarycentric = src->fragmentShaderBarycentric;
25107     pNext = SafePnextCopy(src->pNext);
25108 }
25109 
safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const VkPhysicalDeviceShaderImageFootprintFeaturesNV * in_struct)25110 safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const VkPhysicalDeviceShaderImageFootprintFeaturesNV* in_struct) :
25111     sType(in_struct->sType),
25112     imageFootprint(in_struct->imageFootprint)
25113 {
25114     pNext = SafePnextCopy(in_struct->pNext);
25115 }
25116 
safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV()25117 safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV() :
25118     pNext(nullptr)
25119 {}
25120 
safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV & src)25121 safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& src)
25122 {
25123     sType = src.sType;
25124     imageFootprint = src.imageFootprint;
25125     pNext = SafePnextCopy(src.pNext);
25126 }
25127 
operator =(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV & src)25128 safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::operator=(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& src)
25129 {
25130     if (&src == this) return *this;
25131 
25132     if (pNext)
25133         FreePnextChain(pNext);
25134 
25135     sType = src.sType;
25136     imageFootprint = src.imageFootprint;
25137     pNext = SafePnextCopy(src.pNext);
25138 
25139     return *this;
25140 }
25141 
~safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV()25142 safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::~safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV()
25143 {
25144     if (pNext)
25145         FreePnextChain(pNext);
25146 }
25147 
initialize(const VkPhysicalDeviceShaderImageFootprintFeaturesNV * in_struct)25148 void safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::initialize(const VkPhysicalDeviceShaderImageFootprintFeaturesNV* in_struct)
25149 {
25150     sType = in_struct->sType;
25151     imageFootprint = in_struct->imageFootprint;
25152     pNext = SafePnextCopy(in_struct->pNext);
25153 }
25154 
initialize(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV * src)25155 void safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::initialize(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV* src)
25156 {
25157     sType = src->sType;
25158     imageFootprint = src->imageFootprint;
25159     pNext = SafePnextCopy(src->pNext);
25160 }
25161 
safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const VkPipelineViewportExclusiveScissorStateCreateInfoNV * in_struct)25162 safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const VkPipelineViewportExclusiveScissorStateCreateInfoNV* in_struct) :
25163     sType(in_struct->sType),
25164     exclusiveScissorCount(in_struct->exclusiveScissorCount),
25165     pExclusiveScissors(nullptr)
25166 {
25167     pNext = SafePnextCopy(in_struct->pNext);
25168     if (in_struct->pExclusiveScissors) {
25169         pExclusiveScissors = new VkRect2D[in_struct->exclusiveScissorCount];
25170         memcpy ((void *)pExclusiveScissors, (void *)in_struct->pExclusiveScissors, sizeof(VkRect2D)*in_struct->exclusiveScissorCount);
25171     }
25172 }
25173 
safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV()25174 safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV() :
25175     pNext(nullptr),
25176     pExclusiveScissors(nullptr)
25177 {}
25178 
safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV & src)25179 safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& src)
25180 {
25181     sType = src.sType;
25182     exclusiveScissorCount = src.exclusiveScissorCount;
25183     pExclusiveScissors = nullptr;
25184     pNext = SafePnextCopy(src.pNext);
25185     if (src.pExclusiveScissors) {
25186         pExclusiveScissors = new VkRect2D[src.exclusiveScissorCount];
25187         memcpy ((void *)pExclusiveScissors, (void *)src.pExclusiveScissors, sizeof(VkRect2D)*src.exclusiveScissorCount);
25188     }
25189 }
25190 
operator =(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV & src)25191 safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::operator=(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& src)
25192 {
25193     if (&src == this) return *this;
25194 
25195     if (pExclusiveScissors)
25196         delete[] pExclusiveScissors;
25197     if (pNext)
25198         FreePnextChain(pNext);
25199 
25200     sType = src.sType;
25201     exclusiveScissorCount = src.exclusiveScissorCount;
25202     pExclusiveScissors = nullptr;
25203     pNext = SafePnextCopy(src.pNext);
25204     if (src.pExclusiveScissors) {
25205         pExclusiveScissors = new VkRect2D[src.exclusiveScissorCount];
25206         memcpy ((void *)pExclusiveScissors, (void *)src.pExclusiveScissors, sizeof(VkRect2D)*src.exclusiveScissorCount);
25207     }
25208 
25209     return *this;
25210 }
25211 
~safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV()25212 safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::~safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV()
25213 {
25214     if (pExclusiveScissors)
25215         delete[] pExclusiveScissors;
25216     if (pNext)
25217         FreePnextChain(pNext);
25218 }
25219 
initialize(const VkPipelineViewportExclusiveScissorStateCreateInfoNV * in_struct)25220 void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const VkPipelineViewportExclusiveScissorStateCreateInfoNV* in_struct)
25221 {
25222     sType = in_struct->sType;
25223     exclusiveScissorCount = in_struct->exclusiveScissorCount;
25224     pExclusiveScissors = nullptr;
25225     pNext = SafePnextCopy(in_struct->pNext);
25226     if (in_struct->pExclusiveScissors) {
25227         pExclusiveScissors = new VkRect2D[in_struct->exclusiveScissorCount];
25228         memcpy ((void *)pExclusiveScissors, (void *)in_struct->pExclusiveScissors, sizeof(VkRect2D)*in_struct->exclusiveScissorCount);
25229     }
25230 }
25231 
initialize(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV * src)25232 void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV* src)
25233 {
25234     sType = src->sType;
25235     exclusiveScissorCount = src->exclusiveScissorCount;
25236     pExclusiveScissors = nullptr;
25237     pNext = SafePnextCopy(src->pNext);
25238     if (src->pExclusiveScissors) {
25239         pExclusiveScissors = new VkRect2D[src->exclusiveScissorCount];
25240         memcpy ((void *)pExclusiveScissors, (void *)src->pExclusiveScissors, sizeof(VkRect2D)*src->exclusiveScissorCount);
25241     }
25242 }
25243 
safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const VkPhysicalDeviceExclusiveScissorFeaturesNV * in_struct)25244 safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const VkPhysicalDeviceExclusiveScissorFeaturesNV* in_struct) :
25245     sType(in_struct->sType),
25246     exclusiveScissor(in_struct->exclusiveScissor)
25247 {
25248     pNext = SafePnextCopy(in_struct->pNext);
25249 }
25250 
safe_VkPhysicalDeviceExclusiveScissorFeaturesNV()25251 safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV() :
25252     pNext(nullptr)
25253 {}
25254 
safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV & src)25255 safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& src)
25256 {
25257     sType = src.sType;
25258     exclusiveScissor = src.exclusiveScissor;
25259     pNext = SafePnextCopy(src.pNext);
25260 }
25261 
operator =(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV & src)25262 safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::operator=(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& src)
25263 {
25264     if (&src == this) return *this;
25265 
25266     if (pNext)
25267         FreePnextChain(pNext);
25268 
25269     sType = src.sType;
25270     exclusiveScissor = src.exclusiveScissor;
25271     pNext = SafePnextCopy(src.pNext);
25272 
25273     return *this;
25274 }
25275 
~safe_VkPhysicalDeviceExclusiveScissorFeaturesNV()25276 safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::~safe_VkPhysicalDeviceExclusiveScissorFeaturesNV()
25277 {
25278     if (pNext)
25279         FreePnextChain(pNext);
25280 }
25281 
initialize(const VkPhysicalDeviceExclusiveScissorFeaturesNV * in_struct)25282 void safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::initialize(const VkPhysicalDeviceExclusiveScissorFeaturesNV* in_struct)
25283 {
25284     sType = in_struct->sType;
25285     exclusiveScissor = in_struct->exclusiveScissor;
25286     pNext = SafePnextCopy(in_struct->pNext);
25287 }
25288 
initialize(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV * src)25289 void safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::initialize(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV* src)
25290 {
25291     sType = src->sType;
25292     exclusiveScissor = src->exclusiveScissor;
25293     pNext = SafePnextCopy(src->pNext);
25294 }
25295 
safe_VkQueueFamilyCheckpointPropertiesNV(const VkQueueFamilyCheckpointPropertiesNV * in_struct)25296 safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV(const VkQueueFamilyCheckpointPropertiesNV* in_struct) :
25297     sType(in_struct->sType),
25298     checkpointExecutionStageMask(in_struct->checkpointExecutionStageMask)
25299 {
25300     pNext = SafePnextCopy(in_struct->pNext);
25301 }
25302 
safe_VkQueueFamilyCheckpointPropertiesNV()25303 safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV() :
25304     pNext(nullptr)
25305 {}
25306 
safe_VkQueueFamilyCheckpointPropertiesNV(const safe_VkQueueFamilyCheckpointPropertiesNV & src)25307 safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV(const safe_VkQueueFamilyCheckpointPropertiesNV& src)
25308 {
25309     sType = src.sType;
25310     checkpointExecutionStageMask = src.checkpointExecutionStageMask;
25311     pNext = SafePnextCopy(src.pNext);
25312 }
25313 
operator =(const safe_VkQueueFamilyCheckpointPropertiesNV & src)25314 safe_VkQueueFamilyCheckpointPropertiesNV& safe_VkQueueFamilyCheckpointPropertiesNV::operator=(const safe_VkQueueFamilyCheckpointPropertiesNV& src)
25315 {
25316     if (&src == this) return *this;
25317 
25318     if (pNext)
25319         FreePnextChain(pNext);
25320 
25321     sType = src.sType;
25322     checkpointExecutionStageMask = src.checkpointExecutionStageMask;
25323     pNext = SafePnextCopy(src.pNext);
25324 
25325     return *this;
25326 }
25327 
~safe_VkQueueFamilyCheckpointPropertiesNV()25328 safe_VkQueueFamilyCheckpointPropertiesNV::~safe_VkQueueFamilyCheckpointPropertiesNV()
25329 {
25330     if (pNext)
25331         FreePnextChain(pNext);
25332 }
25333 
initialize(const VkQueueFamilyCheckpointPropertiesNV * in_struct)25334 void safe_VkQueueFamilyCheckpointPropertiesNV::initialize(const VkQueueFamilyCheckpointPropertiesNV* in_struct)
25335 {
25336     sType = in_struct->sType;
25337     checkpointExecutionStageMask = in_struct->checkpointExecutionStageMask;
25338     pNext = SafePnextCopy(in_struct->pNext);
25339 }
25340 
initialize(const safe_VkQueueFamilyCheckpointPropertiesNV * src)25341 void safe_VkQueueFamilyCheckpointPropertiesNV::initialize(const safe_VkQueueFamilyCheckpointPropertiesNV* src)
25342 {
25343     sType = src->sType;
25344     checkpointExecutionStageMask = src->checkpointExecutionStageMask;
25345     pNext = SafePnextCopy(src->pNext);
25346 }
25347 
safe_VkCheckpointDataNV(const VkCheckpointDataNV * in_struct)25348 safe_VkCheckpointDataNV::safe_VkCheckpointDataNV(const VkCheckpointDataNV* in_struct) :
25349     sType(in_struct->sType),
25350     stage(in_struct->stage),
25351     pCheckpointMarker(in_struct->pCheckpointMarker)
25352 {
25353     pNext = SafePnextCopy(in_struct->pNext);
25354 }
25355 
safe_VkCheckpointDataNV()25356 safe_VkCheckpointDataNV::safe_VkCheckpointDataNV() :
25357     pNext(nullptr),
25358     pCheckpointMarker(nullptr)
25359 {}
25360 
safe_VkCheckpointDataNV(const safe_VkCheckpointDataNV & src)25361 safe_VkCheckpointDataNV::safe_VkCheckpointDataNV(const safe_VkCheckpointDataNV& src)
25362 {
25363     sType = src.sType;
25364     stage = src.stage;
25365     pCheckpointMarker = src.pCheckpointMarker;
25366     pNext = SafePnextCopy(src.pNext);
25367 }
25368 
operator =(const safe_VkCheckpointDataNV & src)25369 safe_VkCheckpointDataNV& safe_VkCheckpointDataNV::operator=(const safe_VkCheckpointDataNV& src)
25370 {
25371     if (&src == this) return *this;
25372 
25373     if (pNext)
25374         FreePnextChain(pNext);
25375 
25376     sType = src.sType;
25377     stage = src.stage;
25378     pCheckpointMarker = src.pCheckpointMarker;
25379     pNext = SafePnextCopy(src.pNext);
25380 
25381     return *this;
25382 }
25383 
~safe_VkCheckpointDataNV()25384 safe_VkCheckpointDataNV::~safe_VkCheckpointDataNV()
25385 {
25386     if (pNext)
25387         FreePnextChain(pNext);
25388 }
25389 
initialize(const VkCheckpointDataNV * in_struct)25390 void safe_VkCheckpointDataNV::initialize(const VkCheckpointDataNV* in_struct)
25391 {
25392     sType = in_struct->sType;
25393     stage = in_struct->stage;
25394     pCheckpointMarker = in_struct->pCheckpointMarker;
25395     pNext = SafePnextCopy(in_struct->pNext);
25396 }
25397 
initialize(const safe_VkCheckpointDataNV * src)25398 void safe_VkCheckpointDataNV::initialize(const safe_VkCheckpointDataNV* src)
25399 {
25400     sType = src->sType;
25401     stage = src->stage;
25402     pCheckpointMarker = src->pCheckpointMarker;
25403     pNext = SafePnextCopy(src->pNext);
25404 }
25405 
safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL * in_struct)25406 safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* in_struct) :
25407     sType(in_struct->sType),
25408     shaderIntegerFunctions2(in_struct->shaderIntegerFunctions2)
25409 {
25410     pNext = SafePnextCopy(in_struct->pNext);
25411 }
25412 
safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL()25413 safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL() :
25414     pNext(nullptr)
25415 {}
25416 
safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL & src)25417 safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& src)
25418 {
25419     sType = src.sType;
25420     shaderIntegerFunctions2 = src.shaderIntegerFunctions2;
25421     pNext = SafePnextCopy(src.pNext);
25422 }
25423 
operator =(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL & src)25424 safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::operator=(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& src)
25425 {
25426     if (&src == this) return *this;
25427 
25428     if (pNext)
25429         FreePnextChain(pNext);
25430 
25431     sType = src.sType;
25432     shaderIntegerFunctions2 = src.shaderIntegerFunctions2;
25433     pNext = SafePnextCopy(src.pNext);
25434 
25435     return *this;
25436 }
25437 
~safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL()25438 safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::~safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL()
25439 {
25440     if (pNext)
25441         FreePnextChain(pNext);
25442 }
25443 
initialize(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL * in_struct)25444 void safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::initialize(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* in_struct)
25445 {
25446     sType = in_struct->sType;
25447     shaderIntegerFunctions2 = in_struct->shaderIntegerFunctions2;
25448     pNext = SafePnextCopy(in_struct->pNext);
25449 }
25450 
initialize(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL * src)25451 void safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::initialize(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* src)
25452 {
25453     sType = src->sType;
25454     shaderIntegerFunctions2 = src->shaderIntegerFunctions2;
25455     pNext = SafePnextCopy(src->pNext);
25456 }
25457 
safe_VkPerformanceValueDataINTEL(const VkPerformanceValueDataINTEL * in_struct)25458 safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const VkPerformanceValueDataINTEL* in_struct) :
25459     value32(in_struct->value32),
25460     value64(in_struct->value64),
25461     valueFloat(in_struct->valueFloat),
25462     valueBool(in_struct->valueBool)
25463 {
25464     valueString = SafeStringCopy(in_struct->valueString);
25465 }
25466 
safe_VkPerformanceValueDataINTEL()25467 safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL() :
25468     valueString(nullptr)
25469 {}
25470 
safe_VkPerformanceValueDataINTEL(const safe_VkPerformanceValueDataINTEL & src)25471 safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const safe_VkPerformanceValueDataINTEL& src)
25472 {
25473     value32 = src.value32;
25474     value64 = src.value64;
25475     valueFloat = src.valueFloat;
25476     valueBool = src.valueBool;
25477     valueString = SafeStringCopy(src.valueString);
25478 }
25479 
operator =(const safe_VkPerformanceValueDataINTEL & src)25480 safe_VkPerformanceValueDataINTEL& safe_VkPerformanceValueDataINTEL::operator=(const safe_VkPerformanceValueDataINTEL& src)
25481 {
25482     if (&src == this) return *this;
25483 
25484     if (valueString) delete [] valueString;
25485 
25486     value32 = src.value32;
25487     value64 = src.value64;
25488     valueFloat = src.valueFloat;
25489     valueBool = src.valueBool;
25490     valueString = SafeStringCopy(src.valueString);
25491 
25492     return *this;
25493 }
25494 
~safe_VkPerformanceValueDataINTEL()25495 safe_VkPerformanceValueDataINTEL::~safe_VkPerformanceValueDataINTEL()
25496 {
25497     if (valueString) delete [] valueString;
25498 }
25499 
initialize(const VkPerformanceValueDataINTEL * in_struct)25500 void safe_VkPerformanceValueDataINTEL::initialize(const VkPerformanceValueDataINTEL* in_struct)
25501 {
25502     value32 = in_struct->value32;
25503     value64 = in_struct->value64;
25504     valueFloat = in_struct->valueFloat;
25505     valueBool = in_struct->valueBool;
25506     valueString = SafeStringCopy(in_struct->valueString);
25507 }
25508 
initialize(const safe_VkPerformanceValueDataINTEL * src)25509 void safe_VkPerformanceValueDataINTEL::initialize(const safe_VkPerformanceValueDataINTEL* src)
25510 {
25511     value32 = src->value32;
25512     value64 = src->value64;
25513     valueFloat = src->valueFloat;
25514     valueBool = src->valueBool;
25515     valueString = SafeStringCopy(src->valueString);
25516 }
25517 
safe_VkInitializePerformanceApiInfoINTEL(const VkInitializePerformanceApiInfoINTEL * in_struct)25518 safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL(const VkInitializePerformanceApiInfoINTEL* in_struct) :
25519     sType(in_struct->sType),
25520     pUserData(in_struct->pUserData)
25521 {
25522     pNext = SafePnextCopy(in_struct->pNext);
25523 }
25524 
safe_VkInitializePerformanceApiInfoINTEL()25525 safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL() :
25526     pNext(nullptr),
25527     pUserData(nullptr)
25528 {}
25529 
safe_VkInitializePerformanceApiInfoINTEL(const safe_VkInitializePerformanceApiInfoINTEL & src)25530 safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL(const safe_VkInitializePerformanceApiInfoINTEL& src)
25531 {
25532     sType = src.sType;
25533     pUserData = src.pUserData;
25534     pNext = SafePnextCopy(src.pNext);
25535 }
25536 
operator =(const safe_VkInitializePerformanceApiInfoINTEL & src)25537 safe_VkInitializePerformanceApiInfoINTEL& safe_VkInitializePerformanceApiInfoINTEL::operator=(const safe_VkInitializePerformanceApiInfoINTEL& src)
25538 {
25539     if (&src == this) return *this;
25540 
25541     if (pNext)
25542         FreePnextChain(pNext);
25543 
25544     sType = src.sType;
25545     pUserData = src.pUserData;
25546     pNext = SafePnextCopy(src.pNext);
25547 
25548     return *this;
25549 }
25550 
~safe_VkInitializePerformanceApiInfoINTEL()25551 safe_VkInitializePerformanceApiInfoINTEL::~safe_VkInitializePerformanceApiInfoINTEL()
25552 {
25553     if (pNext)
25554         FreePnextChain(pNext);
25555 }
25556 
initialize(const VkInitializePerformanceApiInfoINTEL * in_struct)25557 void safe_VkInitializePerformanceApiInfoINTEL::initialize(const VkInitializePerformanceApiInfoINTEL* in_struct)
25558 {
25559     sType = in_struct->sType;
25560     pUserData = in_struct->pUserData;
25561     pNext = SafePnextCopy(in_struct->pNext);
25562 }
25563 
initialize(const safe_VkInitializePerformanceApiInfoINTEL * src)25564 void safe_VkInitializePerformanceApiInfoINTEL::initialize(const safe_VkInitializePerformanceApiInfoINTEL* src)
25565 {
25566     sType = src->sType;
25567     pUserData = src->pUserData;
25568     pNext = SafePnextCopy(src->pNext);
25569 }
25570 
safe_VkQueryPoolCreateInfoINTEL(const VkQueryPoolCreateInfoINTEL * in_struct)25571 safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL(const VkQueryPoolCreateInfoINTEL* in_struct) :
25572     sType(in_struct->sType),
25573     performanceCountersSampling(in_struct->performanceCountersSampling)
25574 {
25575     pNext = SafePnextCopy(in_struct->pNext);
25576 }
25577 
safe_VkQueryPoolCreateInfoINTEL()25578 safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL() :
25579     pNext(nullptr)
25580 {}
25581 
safe_VkQueryPoolCreateInfoINTEL(const safe_VkQueryPoolCreateInfoINTEL & src)25582 safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL(const safe_VkQueryPoolCreateInfoINTEL& src)
25583 {
25584     sType = src.sType;
25585     performanceCountersSampling = src.performanceCountersSampling;
25586     pNext = SafePnextCopy(src.pNext);
25587 }
25588 
operator =(const safe_VkQueryPoolCreateInfoINTEL & src)25589 safe_VkQueryPoolCreateInfoINTEL& safe_VkQueryPoolCreateInfoINTEL::operator=(const safe_VkQueryPoolCreateInfoINTEL& src)
25590 {
25591     if (&src == this) return *this;
25592 
25593     if (pNext)
25594         FreePnextChain(pNext);
25595 
25596     sType = src.sType;
25597     performanceCountersSampling = src.performanceCountersSampling;
25598     pNext = SafePnextCopy(src.pNext);
25599 
25600     return *this;
25601 }
25602 
~safe_VkQueryPoolCreateInfoINTEL()25603 safe_VkQueryPoolCreateInfoINTEL::~safe_VkQueryPoolCreateInfoINTEL()
25604 {
25605     if (pNext)
25606         FreePnextChain(pNext);
25607 }
25608 
initialize(const VkQueryPoolCreateInfoINTEL * in_struct)25609 void safe_VkQueryPoolCreateInfoINTEL::initialize(const VkQueryPoolCreateInfoINTEL* in_struct)
25610 {
25611     sType = in_struct->sType;
25612     performanceCountersSampling = in_struct->performanceCountersSampling;
25613     pNext = SafePnextCopy(in_struct->pNext);
25614 }
25615 
initialize(const safe_VkQueryPoolCreateInfoINTEL * src)25616 void safe_VkQueryPoolCreateInfoINTEL::initialize(const safe_VkQueryPoolCreateInfoINTEL* src)
25617 {
25618     sType = src->sType;
25619     performanceCountersSampling = src->performanceCountersSampling;
25620     pNext = SafePnextCopy(src->pNext);
25621 }
25622 
safe_VkPerformanceMarkerInfoINTEL(const VkPerformanceMarkerInfoINTEL * in_struct)25623 safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL(const VkPerformanceMarkerInfoINTEL* in_struct) :
25624     sType(in_struct->sType),
25625     marker(in_struct->marker)
25626 {
25627     pNext = SafePnextCopy(in_struct->pNext);
25628 }
25629 
safe_VkPerformanceMarkerInfoINTEL()25630 safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL() :
25631     pNext(nullptr)
25632 {}
25633 
safe_VkPerformanceMarkerInfoINTEL(const safe_VkPerformanceMarkerInfoINTEL & src)25634 safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL(const safe_VkPerformanceMarkerInfoINTEL& src)
25635 {
25636     sType = src.sType;
25637     marker = src.marker;
25638     pNext = SafePnextCopy(src.pNext);
25639 }
25640 
operator =(const safe_VkPerformanceMarkerInfoINTEL & src)25641 safe_VkPerformanceMarkerInfoINTEL& safe_VkPerformanceMarkerInfoINTEL::operator=(const safe_VkPerformanceMarkerInfoINTEL& src)
25642 {
25643     if (&src == this) return *this;
25644 
25645     if (pNext)
25646         FreePnextChain(pNext);
25647 
25648     sType = src.sType;
25649     marker = src.marker;
25650     pNext = SafePnextCopy(src.pNext);
25651 
25652     return *this;
25653 }
25654 
~safe_VkPerformanceMarkerInfoINTEL()25655 safe_VkPerformanceMarkerInfoINTEL::~safe_VkPerformanceMarkerInfoINTEL()
25656 {
25657     if (pNext)
25658         FreePnextChain(pNext);
25659 }
25660 
initialize(const VkPerformanceMarkerInfoINTEL * in_struct)25661 void safe_VkPerformanceMarkerInfoINTEL::initialize(const VkPerformanceMarkerInfoINTEL* in_struct)
25662 {
25663     sType = in_struct->sType;
25664     marker = in_struct->marker;
25665     pNext = SafePnextCopy(in_struct->pNext);
25666 }
25667 
initialize(const safe_VkPerformanceMarkerInfoINTEL * src)25668 void safe_VkPerformanceMarkerInfoINTEL::initialize(const safe_VkPerformanceMarkerInfoINTEL* src)
25669 {
25670     sType = src->sType;
25671     marker = src->marker;
25672     pNext = SafePnextCopy(src->pNext);
25673 }
25674 
safe_VkPerformanceStreamMarkerInfoINTEL(const VkPerformanceStreamMarkerInfoINTEL * in_struct)25675 safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL(const VkPerformanceStreamMarkerInfoINTEL* in_struct) :
25676     sType(in_struct->sType),
25677     marker(in_struct->marker)
25678 {
25679     pNext = SafePnextCopy(in_struct->pNext);
25680 }
25681 
safe_VkPerformanceStreamMarkerInfoINTEL()25682 safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL() :
25683     pNext(nullptr)
25684 {}
25685 
safe_VkPerformanceStreamMarkerInfoINTEL(const safe_VkPerformanceStreamMarkerInfoINTEL & src)25686 safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL(const safe_VkPerformanceStreamMarkerInfoINTEL& src)
25687 {
25688     sType = src.sType;
25689     marker = src.marker;
25690     pNext = SafePnextCopy(src.pNext);
25691 }
25692 
operator =(const safe_VkPerformanceStreamMarkerInfoINTEL & src)25693 safe_VkPerformanceStreamMarkerInfoINTEL& safe_VkPerformanceStreamMarkerInfoINTEL::operator=(const safe_VkPerformanceStreamMarkerInfoINTEL& src)
25694 {
25695     if (&src == this) return *this;
25696 
25697     if (pNext)
25698         FreePnextChain(pNext);
25699 
25700     sType = src.sType;
25701     marker = src.marker;
25702     pNext = SafePnextCopy(src.pNext);
25703 
25704     return *this;
25705 }
25706 
~safe_VkPerformanceStreamMarkerInfoINTEL()25707 safe_VkPerformanceStreamMarkerInfoINTEL::~safe_VkPerformanceStreamMarkerInfoINTEL()
25708 {
25709     if (pNext)
25710         FreePnextChain(pNext);
25711 }
25712 
initialize(const VkPerformanceStreamMarkerInfoINTEL * in_struct)25713 void safe_VkPerformanceStreamMarkerInfoINTEL::initialize(const VkPerformanceStreamMarkerInfoINTEL* in_struct)
25714 {
25715     sType = in_struct->sType;
25716     marker = in_struct->marker;
25717     pNext = SafePnextCopy(in_struct->pNext);
25718 }
25719 
initialize(const safe_VkPerformanceStreamMarkerInfoINTEL * src)25720 void safe_VkPerformanceStreamMarkerInfoINTEL::initialize(const safe_VkPerformanceStreamMarkerInfoINTEL* src)
25721 {
25722     sType = src->sType;
25723     marker = src->marker;
25724     pNext = SafePnextCopy(src->pNext);
25725 }
25726 
safe_VkPerformanceOverrideInfoINTEL(const VkPerformanceOverrideInfoINTEL * in_struct)25727 safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL(const VkPerformanceOverrideInfoINTEL* in_struct) :
25728     sType(in_struct->sType),
25729     type(in_struct->type),
25730     enable(in_struct->enable),
25731     parameter(in_struct->parameter)
25732 {
25733     pNext = SafePnextCopy(in_struct->pNext);
25734 }
25735 
safe_VkPerformanceOverrideInfoINTEL()25736 safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL() :
25737     pNext(nullptr)
25738 {}
25739 
safe_VkPerformanceOverrideInfoINTEL(const safe_VkPerformanceOverrideInfoINTEL & src)25740 safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL(const safe_VkPerformanceOverrideInfoINTEL& src)
25741 {
25742     sType = src.sType;
25743     type = src.type;
25744     enable = src.enable;
25745     parameter = src.parameter;
25746     pNext = SafePnextCopy(src.pNext);
25747 }
25748 
operator =(const safe_VkPerformanceOverrideInfoINTEL & src)25749 safe_VkPerformanceOverrideInfoINTEL& safe_VkPerformanceOverrideInfoINTEL::operator=(const safe_VkPerformanceOverrideInfoINTEL& src)
25750 {
25751     if (&src == this) return *this;
25752 
25753     if (pNext)
25754         FreePnextChain(pNext);
25755 
25756     sType = src.sType;
25757     type = src.type;
25758     enable = src.enable;
25759     parameter = src.parameter;
25760     pNext = SafePnextCopy(src.pNext);
25761 
25762     return *this;
25763 }
25764 
~safe_VkPerformanceOverrideInfoINTEL()25765 safe_VkPerformanceOverrideInfoINTEL::~safe_VkPerformanceOverrideInfoINTEL()
25766 {
25767     if (pNext)
25768         FreePnextChain(pNext);
25769 }
25770 
initialize(const VkPerformanceOverrideInfoINTEL * in_struct)25771 void safe_VkPerformanceOverrideInfoINTEL::initialize(const VkPerformanceOverrideInfoINTEL* in_struct)
25772 {
25773     sType = in_struct->sType;
25774     type = in_struct->type;
25775     enable = in_struct->enable;
25776     parameter = in_struct->parameter;
25777     pNext = SafePnextCopy(in_struct->pNext);
25778 }
25779 
initialize(const safe_VkPerformanceOverrideInfoINTEL * src)25780 void safe_VkPerformanceOverrideInfoINTEL::initialize(const safe_VkPerformanceOverrideInfoINTEL* src)
25781 {
25782     sType = src->sType;
25783     type = src->type;
25784     enable = src->enable;
25785     parameter = src->parameter;
25786     pNext = SafePnextCopy(src->pNext);
25787 }
25788 
safe_VkPerformanceConfigurationAcquireInfoINTEL(const VkPerformanceConfigurationAcquireInfoINTEL * in_struct)25789 safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL(const VkPerformanceConfigurationAcquireInfoINTEL* in_struct) :
25790     sType(in_struct->sType),
25791     type(in_struct->type)
25792 {
25793     pNext = SafePnextCopy(in_struct->pNext);
25794 }
25795 
safe_VkPerformanceConfigurationAcquireInfoINTEL()25796 safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL() :
25797     pNext(nullptr)
25798 {}
25799 
safe_VkPerformanceConfigurationAcquireInfoINTEL(const safe_VkPerformanceConfigurationAcquireInfoINTEL & src)25800 safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL(const safe_VkPerformanceConfigurationAcquireInfoINTEL& src)
25801 {
25802     sType = src.sType;
25803     type = src.type;
25804     pNext = SafePnextCopy(src.pNext);
25805 }
25806 
operator =(const safe_VkPerformanceConfigurationAcquireInfoINTEL & src)25807 safe_VkPerformanceConfigurationAcquireInfoINTEL& safe_VkPerformanceConfigurationAcquireInfoINTEL::operator=(const safe_VkPerformanceConfigurationAcquireInfoINTEL& src)
25808 {
25809     if (&src == this) return *this;
25810 
25811     if (pNext)
25812         FreePnextChain(pNext);
25813 
25814     sType = src.sType;
25815     type = src.type;
25816     pNext = SafePnextCopy(src.pNext);
25817 
25818     return *this;
25819 }
25820 
~safe_VkPerformanceConfigurationAcquireInfoINTEL()25821 safe_VkPerformanceConfigurationAcquireInfoINTEL::~safe_VkPerformanceConfigurationAcquireInfoINTEL()
25822 {
25823     if (pNext)
25824         FreePnextChain(pNext);
25825 }
25826 
initialize(const VkPerformanceConfigurationAcquireInfoINTEL * in_struct)25827 void safe_VkPerformanceConfigurationAcquireInfoINTEL::initialize(const VkPerformanceConfigurationAcquireInfoINTEL* in_struct)
25828 {
25829     sType = in_struct->sType;
25830     type = in_struct->type;
25831     pNext = SafePnextCopy(in_struct->pNext);
25832 }
25833 
initialize(const safe_VkPerformanceConfigurationAcquireInfoINTEL * src)25834 void safe_VkPerformanceConfigurationAcquireInfoINTEL::initialize(const safe_VkPerformanceConfigurationAcquireInfoINTEL* src)
25835 {
25836     sType = src->sType;
25837     type = src->type;
25838     pNext = SafePnextCopy(src->pNext);
25839 }
25840 
safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const VkPhysicalDevicePCIBusInfoPropertiesEXT * in_struct)25841 safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct) :
25842     sType(in_struct->sType),
25843     pciDomain(in_struct->pciDomain),
25844     pciBus(in_struct->pciBus),
25845     pciDevice(in_struct->pciDevice),
25846     pciFunction(in_struct->pciFunction)
25847 {
25848     pNext = SafePnextCopy(in_struct->pNext);
25849 }
25850 
safe_VkPhysicalDevicePCIBusInfoPropertiesEXT()25851 safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT() :
25852     pNext(nullptr)
25853 {}
25854 
safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT & src)25855 safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& src)
25856 {
25857     sType = src.sType;
25858     pciDomain = src.pciDomain;
25859     pciBus = src.pciBus;
25860     pciDevice = src.pciDevice;
25861     pciFunction = src.pciFunction;
25862     pNext = SafePnextCopy(src.pNext);
25863 }
25864 
operator =(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT & src)25865 safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::operator=(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& src)
25866 {
25867     if (&src == this) return *this;
25868 
25869     if (pNext)
25870         FreePnextChain(pNext);
25871 
25872     sType = src.sType;
25873     pciDomain = src.pciDomain;
25874     pciBus = src.pciBus;
25875     pciDevice = src.pciDevice;
25876     pciFunction = src.pciFunction;
25877     pNext = SafePnextCopy(src.pNext);
25878 
25879     return *this;
25880 }
25881 
~safe_VkPhysicalDevicePCIBusInfoPropertiesEXT()25882 safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::~safe_VkPhysicalDevicePCIBusInfoPropertiesEXT()
25883 {
25884     if (pNext)
25885         FreePnextChain(pNext);
25886 }
25887 
initialize(const VkPhysicalDevicePCIBusInfoPropertiesEXT * in_struct)25888 void safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::initialize(const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct)
25889 {
25890     sType = in_struct->sType;
25891     pciDomain = in_struct->pciDomain;
25892     pciBus = in_struct->pciBus;
25893     pciDevice = in_struct->pciDevice;
25894     pciFunction = in_struct->pciFunction;
25895     pNext = SafePnextCopy(in_struct->pNext);
25896 }
25897 
initialize(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT * src)25898 void safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::initialize(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT* src)
25899 {
25900     sType = src->sType;
25901     pciDomain = src->pciDomain;
25902     pciBus = src->pciBus;
25903     pciDevice = src->pciDevice;
25904     pciFunction = src->pciFunction;
25905     pNext = SafePnextCopy(src->pNext);
25906 }
25907 
safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const VkDisplayNativeHdrSurfaceCapabilitiesAMD * in_struct)25908 safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const VkDisplayNativeHdrSurfaceCapabilitiesAMD* in_struct) :
25909     sType(in_struct->sType),
25910     localDimmingSupport(in_struct->localDimmingSupport)
25911 {
25912     pNext = SafePnextCopy(in_struct->pNext);
25913 }
25914 
safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD()25915 safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD() :
25916     pNext(nullptr)
25917 {}
25918 
safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD & src)25919 safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& src)
25920 {
25921     sType = src.sType;
25922     localDimmingSupport = src.localDimmingSupport;
25923     pNext = SafePnextCopy(src.pNext);
25924 }
25925 
operator =(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD & src)25926 safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::operator=(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& src)
25927 {
25928     if (&src == this) return *this;
25929 
25930     if (pNext)
25931         FreePnextChain(pNext);
25932 
25933     sType = src.sType;
25934     localDimmingSupport = src.localDimmingSupport;
25935     pNext = SafePnextCopy(src.pNext);
25936 
25937     return *this;
25938 }
25939 
~safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD()25940 safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::~safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD()
25941 {
25942     if (pNext)
25943         FreePnextChain(pNext);
25944 }
25945 
initialize(const VkDisplayNativeHdrSurfaceCapabilitiesAMD * in_struct)25946 void safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::initialize(const VkDisplayNativeHdrSurfaceCapabilitiesAMD* in_struct)
25947 {
25948     sType = in_struct->sType;
25949     localDimmingSupport = in_struct->localDimmingSupport;
25950     pNext = SafePnextCopy(in_struct->pNext);
25951 }
25952 
initialize(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD * src)25953 void safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::initialize(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD* src)
25954 {
25955     sType = src->sType;
25956     localDimmingSupport = src->localDimmingSupport;
25957     pNext = SafePnextCopy(src->pNext);
25958 }
25959 
safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const VkSwapchainDisplayNativeHdrCreateInfoAMD * in_struct)25960 safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const VkSwapchainDisplayNativeHdrCreateInfoAMD* in_struct) :
25961     sType(in_struct->sType),
25962     localDimmingEnable(in_struct->localDimmingEnable)
25963 {
25964     pNext = SafePnextCopy(in_struct->pNext);
25965 }
25966 
safe_VkSwapchainDisplayNativeHdrCreateInfoAMD()25967 safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD() :
25968     pNext(nullptr)
25969 {}
25970 
safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD & src)25971 safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& src)
25972 {
25973     sType = src.sType;
25974     localDimmingEnable = src.localDimmingEnable;
25975     pNext = SafePnextCopy(src.pNext);
25976 }
25977 
operator =(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD & src)25978 safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::operator=(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& src)
25979 {
25980     if (&src == this) return *this;
25981 
25982     if (pNext)
25983         FreePnextChain(pNext);
25984 
25985     sType = src.sType;
25986     localDimmingEnable = src.localDimmingEnable;
25987     pNext = SafePnextCopy(src.pNext);
25988 
25989     return *this;
25990 }
25991 
~safe_VkSwapchainDisplayNativeHdrCreateInfoAMD()25992 safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::~safe_VkSwapchainDisplayNativeHdrCreateInfoAMD()
25993 {
25994     if (pNext)
25995         FreePnextChain(pNext);
25996 }
25997 
initialize(const VkSwapchainDisplayNativeHdrCreateInfoAMD * in_struct)25998 void safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::initialize(const VkSwapchainDisplayNativeHdrCreateInfoAMD* in_struct)
25999 {
26000     sType = in_struct->sType;
26001     localDimmingEnable = in_struct->localDimmingEnable;
26002     pNext = SafePnextCopy(in_struct->pNext);
26003 }
26004 
initialize(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD * src)26005 void safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::initialize(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD* src)
26006 {
26007     sType = src->sType;
26008     localDimmingEnable = src->localDimmingEnable;
26009     pNext = SafePnextCopy(src->pNext);
26010 }
26011 #ifdef VK_USE_PLATFORM_FUCHSIA
26012 
26013 
safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const VkImagePipeSurfaceCreateInfoFUCHSIA * in_struct)26014 safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const VkImagePipeSurfaceCreateInfoFUCHSIA* in_struct) :
26015     sType(in_struct->sType),
26016     flags(in_struct->flags),
26017     imagePipeHandle(in_struct->imagePipeHandle)
26018 {
26019     pNext = SafePnextCopy(in_struct->pNext);
26020 }
26021 
safe_VkImagePipeSurfaceCreateInfoFUCHSIA()26022 safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA() :
26023     pNext(nullptr)
26024 {}
26025 
safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA & src)26026 safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA& src)
26027 {
26028     sType = src.sType;
26029     flags = src.flags;
26030     imagePipeHandle = src.imagePipeHandle;
26031     pNext = SafePnextCopy(src.pNext);
26032 }
26033 
operator =(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA & src)26034 safe_VkImagePipeSurfaceCreateInfoFUCHSIA& safe_VkImagePipeSurfaceCreateInfoFUCHSIA::operator=(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA& src)
26035 {
26036     if (&src == this) return *this;
26037 
26038     if (pNext)
26039         FreePnextChain(pNext);
26040 
26041     sType = src.sType;
26042     flags = src.flags;
26043     imagePipeHandle = src.imagePipeHandle;
26044     pNext = SafePnextCopy(src.pNext);
26045 
26046     return *this;
26047 }
26048 
~safe_VkImagePipeSurfaceCreateInfoFUCHSIA()26049 safe_VkImagePipeSurfaceCreateInfoFUCHSIA::~safe_VkImagePipeSurfaceCreateInfoFUCHSIA()
26050 {
26051     if (pNext)
26052         FreePnextChain(pNext);
26053 }
26054 
initialize(const VkImagePipeSurfaceCreateInfoFUCHSIA * in_struct)26055 void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const VkImagePipeSurfaceCreateInfoFUCHSIA* in_struct)
26056 {
26057     sType = in_struct->sType;
26058     flags = in_struct->flags;
26059     imagePipeHandle = in_struct->imagePipeHandle;
26060     pNext = SafePnextCopy(in_struct->pNext);
26061 }
26062 
initialize(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA * src)26063 void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA* src)
26064 {
26065     sType = src->sType;
26066     flags = src->flags;
26067     imagePipeHandle = src->imagePipeHandle;
26068     pNext = SafePnextCopy(src->pNext);
26069 }
26070 #endif // VK_USE_PLATFORM_FUCHSIA
26071 
26072 #ifdef VK_USE_PLATFORM_METAL_EXT
26073 
26074 
safe_VkMetalSurfaceCreateInfoEXT(const VkMetalSurfaceCreateInfoEXT * in_struct)26075 safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT(const VkMetalSurfaceCreateInfoEXT* in_struct) :
26076     sType(in_struct->sType),
26077     flags(in_struct->flags),
26078     pLayer(nullptr)
26079 {
26080     pNext = SafePnextCopy(in_struct->pNext);
26081     if (in_struct->pLayer) {
26082         pLayer = new CAMetalLayer(*in_struct->pLayer);
26083     }
26084 }
26085 
safe_VkMetalSurfaceCreateInfoEXT()26086 safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT() :
26087     pNext(nullptr),
26088     pLayer(nullptr)
26089 {}
26090 
safe_VkMetalSurfaceCreateInfoEXT(const safe_VkMetalSurfaceCreateInfoEXT & src)26091 safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT(const safe_VkMetalSurfaceCreateInfoEXT& src)
26092 {
26093     sType = src.sType;
26094     flags = src.flags;
26095     pLayer = nullptr;
26096     pNext = SafePnextCopy(src.pNext);
26097     if (src.pLayer) {
26098         pLayer = new CAMetalLayer(*src.pLayer);
26099     }
26100 }
26101 
operator =(const safe_VkMetalSurfaceCreateInfoEXT & src)26102 safe_VkMetalSurfaceCreateInfoEXT& safe_VkMetalSurfaceCreateInfoEXT::operator=(const safe_VkMetalSurfaceCreateInfoEXT& src)
26103 {
26104     if (&src == this) return *this;
26105 
26106     if (pLayer)
26107         delete pLayer;
26108     if (pNext)
26109         FreePnextChain(pNext);
26110 
26111     sType = src.sType;
26112     flags = src.flags;
26113     pLayer = nullptr;
26114     pNext = SafePnextCopy(src.pNext);
26115     if (src.pLayer) {
26116         pLayer = new CAMetalLayer(*src.pLayer);
26117     }
26118 
26119     return *this;
26120 }
26121 
~safe_VkMetalSurfaceCreateInfoEXT()26122 safe_VkMetalSurfaceCreateInfoEXT::~safe_VkMetalSurfaceCreateInfoEXT()
26123 {
26124     if (pLayer)
26125         delete pLayer;
26126     if (pNext)
26127         FreePnextChain(pNext);
26128 }
26129 
initialize(const VkMetalSurfaceCreateInfoEXT * in_struct)26130 void safe_VkMetalSurfaceCreateInfoEXT::initialize(const VkMetalSurfaceCreateInfoEXT* in_struct)
26131 {
26132     sType = in_struct->sType;
26133     flags = in_struct->flags;
26134     pLayer = nullptr;
26135     pNext = SafePnextCopy(in_struct->pNext);
26136     if (in_struct->pLayer) {
26137         pLayer = new CAMetalLayer(*in_struct->pLayer);
26138     }
26139 }
26140 
initialize(const safe_VkMetalSurfaceCreateInfoEXT * src)26141 void safe_VkMetalSurfaceCreateInfoEXT::initialize(const safe_VkMetalSurfaceCreateInfoEXT* src)
26142 {
26143     sType = src->sType;
26144     flags = src->flags;
26145     pLayer = nullptr;
26146     pNext = SafePnextCopy(src->pNext);
26147     if (src->pLayer) {
26148         pLayer = new CAMetalLayer(*src->pLayer);
26149     }
26150 }
26151 #endif // VK_USE_PLATFORM_METAL_EXT
26152 
26153 
safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * in_struct)26154 safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* in_struct) :
26155     sType(in_struct->sType),
26156     fragmentDensityMap(in_struct->fragmentDensityMap),
26157     fragmentDensityMapDynamic(in_struct->fragmentDensityMapDynamic),
26158     fragmentDensityMapNonSubsampledImages(in_struct->fragmentDensityMapNonSubsampledImages)
26159 {
26160     pNext = SafePnextCopy(in_struct->pNext);
26161 }
26162 
safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT()26163 safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT() :
26164     pNext(nullptr)
26165 {}
26166 
safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT & src)26167 safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& src)
26168 {
26169     sType = src.sType;
26170     fragmentDensityMap = src.fragmentDensityMap;
26171     fragmentDensityMapDynamic = src.fragmentDensityMapDynamic;
26172     fragmentDensityMapNonSubsampledImages = src.fragmentDensityMapNonSubsampledImages;
26173     pNext = SafePnextCopy(src.pNext);
26174 }
26175 
operator =(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT & src)26176 safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::operator=(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& src)
26177 {
26178     if (&src == this) return *this;
26179 
26180     if (pNext)
26181         FreePnextChain(pNext);
26182 
26183     sType = src.sType;
26184     fragmentDensityMap = src.fragmentDensityMap;
26185     fragmentDensityMapDynamic = src.fragmentDensityMapDynamic;
26186     fragmentDensityMapNonSubsampledImages = src.fragmentDensityMapNonSubsampledImages;
26187     pNext = SafePnextCopy(src.pNext);
26188 
26189     return *this;
26190 }
26191 
~safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT()26192 safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::~safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT()
26193 {
26194     if (pNext)
26195         FreePnextChain(pNext);
26196 }
26197 
initialize(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * in_struct)26198 void safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::initialize(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* in_struct)
26199 {
26200     sType = in_struct->sType;
26201     fragmentDensityMap = in_struct->fragmentDensityMap;
26202     fragmentDensityMapDynamic = in_struct->fragmentDensityMapDynamic;
26203     fragmentDensityMapNonSubsampledImages = in_struct->fragmentDensityMapNonSubsampledImages;
26204     pNext = SafePnextCopy(in_struct->pNext);
26205 }
26206 
initialize(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT * src)26207 void safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::initialize(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT* src)
26208 {
26209     sType = src->sType;
26210     fragmentDensityMap = src->fragmentDensityMap;
26211     fragmentDensityMapDynamic = src->fragmentDensityMapDynamic;
26212     fragmentDensityMapNonSubsampledImages = src->fragmentDensityMapNonSubsampledImages;
26213     pNext = SafePnextCopy(src->pNext);
26214 }
26215 
safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * in_struct)26216 safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* in_struct) :
26217     sType(in_struct->sType),
26218     minFragmentDensityTexelSize(in_struct->minFragmentDensityTexelSize),
26219     maxFragmentDensityTexelSize(in_struct->maxFragmentDensityTexelSize),
26220     fragmentDensityInvocations(in_struct->fragmentDensityInvocations)
26221 {
26222     pNext = SafePnextCopy(in_struct->pNext);
26223 }
26224 
safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT()26225 safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT() :
26226     pNext(nullptr)
26227 {}
26228 
safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT & src)26229 safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& src)
26230 {
26231     sType = src.sType;
26232     minFragmentDensityTexelSize = src.minFragmentDensityTexelSize;
26233     maxFragmentDensityTexelSize = src.maxFragmentDensityTexelSize;
26234     fragmentDensityInvocations = src.fragmentDensityInvocations;
26235     pNext = SafePnextCopy(src.pNext);
26236 }
26237 
operator =(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT & src)26238 safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::operator=(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& src)
26239 {
26240     if (&src == this) return *this;
26241 
26242     if (pNext)
26243         FreePnextChain(pNext);
26244 
26245     sType = src.sType;
26246     minFragmentDensityTexelSize = src.minFragmentDensityTexelSize;
26247     maxFragmentDensityTexelSize = src.maxFragmentDensityTexelSize;
26248     fragmentDensityInvocations = src.fragmentDensityInvocations;
26249     pNext = SafePnextCopy(src.pNext);
26250 
26251     return *this;
26252 }
26253 
~safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT()26254 safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::~safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT()
26255 {
26256     if (pNext)
26257         FreePnextChain(pNext);
26258 }
26259 
initialize(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * in_struct)26260 void safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::initialize(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* in_struct)
26261 {
26262     sType = in_struct->sType;
26263     minFragmentDensityTexelSize = in_struct->minFragmentDensityTexelSize;
26264     maxFragmentDensityTexelSize = in_struct->maxFragmentDensityTexelSize;
26265     fragmentDensityInvocations = in_struct->fragmentDensityInvocations;
26266     pNext = SafePnextCopy(in_struct->pNext);
26267 }
26268 
initialize(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT * src)26269 void safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::initialize(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT* src)
26270 {
26271     sType = src->sType;
26272     minFragmentDensityTexelSize = src->minFragmentDensityTexelSize;
26273     maxFragmentDensityTexelSize = src->maxFragmentDensityTexelSize;
26274     fragmentDensityInvocations = src->fragmentDensityInvocations;
26275     pNext = SafePnextCopy(src->pNext);
26276 }
26277 
safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const VkRenderPassFragmentDensityMapCreateInfoEXT * in_struct)26278 safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const VkRenderPassFragmentDensityMapCreateInfoEXT* in_struct) :
26279     sType(in_struct->sType),
26280     fragmentDensityMapAttachment(in_struct->fragmentDensityMapAttachment)
26281 {
26282     pNext = SafePnextCopy(in_struct->pNext);
26283 }
26284 
safe_VkRenderPassFragmentDensityMapCreateInfoEXT()26285 safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT() :
26286     pNext(nullptr)
26287 {}
26288 
safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT & src)26289 safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT& src)
26290 {
26291     sType = src.sType;
26292     fragmentDensityMapAttachment = src.fragmentDensityMapAttachment;
26293     pNext = SafePnextCopy(src.pNext);
26294 }
26295 
operator =(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT & src)26296 safe_VkRenderPassFragmentDensityMapCreateInfoEXT& safe_VkRenderPassFragmentDensityMapCreateInfoEXT::operator=(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT& src)
26297 {
26298     if (&src == this) return *this;
26299 
26300     if (pNext)
26301         FreePnextChain(pNext);
26302 
26303     sType = src.sType;
26304     fragmentDensityMapAttachment = src.fragmentDensityMapAttachment;
26305     pNext = SafePnextCopy(src.pNext);
26306 
26307     return *this;
26308 }
26309 
~safe_VkRenderPassFragmentDensityMapCreateInfoEXT()26310 safe_VkRenderPassFragmentDensityMapCreateInfoEXT::~safe_VkRenderPassFragmentDensityMapCreateInfoEXT()
26311 {
26312     if (pNext)
26313         FreePnextChain(pNext);
26314 }
26315 
initialize(const VkRenderPassFragmentDensityMapCreateInfoEXT * in_struct)26316 void safe_VkRenderPassFragmentDensityMapCreateInfoEXT::initialize(const VkRenderPassFragmentDensityMapCreateInfoEXT* in_struct)
26317 {
26318     sType = in_struct->sType;
26319     fragmentDensityMapAttachment = in_struct->fragmentDensityMapAttachment;
26320     pNext = SafePnextCopy(in_struct->pNext);
26321 }
26322 
initialize(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT * src)26323 void safe_VkRenderPassFragmentDensityMapCreateInfoEXT::initialize(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT* src)
26324 {
26325     sType = src->sType;
26326     fragmentDensityMapAttachment = src->fragmentDensityMapAttachment;
26327     pNext = SafePnextCopy(src->pNext);
26328 }
26329 
safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT * in_struct)26330 safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* in_struct) :
26331     sType(in_struct->sType),
26332     scalarBlockLayout(in_struct->scalarBlockLayout)
26333 {
26334     pNext = SafePnextCopy(in_struct->pNext);
26335 }
26336 
safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT()26337 safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT() :
26338     pNext(nullptr)
26339 {}
26340 
safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT & src)26341 safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& src)
26342 {
26343     sType = src.sType;
26344     scalarBlockLayout = src.scalarBlockLayout;
26345     pNext = SafePnextCopy(src.pNext);
26346 }
26347 
operator =(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT & src)26348 safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::operator=(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& src)
26349 {
26350     if (&src == this) return *this;
26351 
26352     if (pNext)
26353         FreePnextChain(pNext);
26354 
26355     sType = src.sType;
26356     scalarBlockLayout = src.scalarBlockLayout;
26357     pNext = SafePnextCopy(src.pNext);
26358 
26359     return *this;
26360 }
26361 
~safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT()26362 safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::~safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT()
26363 {
26364     if (pNext)
26365         FreePnextChain(pNext);
26366 }
26367 
initialize(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT * in_struct)26368 void safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::initialize(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* in_struct)
26369 {
26370     sType = in_struct->sType;
26371     scalarBlockLayout = in_struct->scalarBlockLayout;
26372     pNext = SafePnextCopy(in_struct->pNext);
26373 }
26374 
initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT * src)26375 void safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* src)
26376 {
26377     sType = src->sType;
26378     scalarBlockLayout = src->scalarBlockLayout;
26379     pNext = SafePnextCopy(src->pNext);
26380 }
26381 
safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT * in_struct)26382 safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* in_struct) :
26383     sType(in_struct->sType),
26384     subgroupSizeControl(in_struct->subgroupSizeControl),
26385     computeFullSubgroups(in_struct->computeFullSubgroups)
26386 {
26387     pNext = SafePnextCopy(in_struct->pNext);
26388 }
26389 
safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT()26390 safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT() :
26391     pNext(nullptr)
26392 {}
26393 
safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT & src)26394 safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& src)
26395 {
26396     sType = src.sType;
26397     subgroupSizeControl = src.subgroupSizeControl;
26398     computeFullSubgroups = src.computeFullSubgroups;
26399     pNext = SafePnextCopy(src.pNext);
26400 }
26401 
operator =(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT & src)26402 safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::operator=(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& src)
26403 {
26404     if (&src == this) return *this;
26405 
26406     if (pNext)
26407         FreePnextChain(pNext);
26408 
26409     sType = src.sType;
26410     subgroupSizeControl = src.subgroupSizeControl;
26411     computeFullSubgroups = src.computeFullSubgroups;
26412     pNext = SafePnextCopy(src.pNext);
26413 
26414     return *this;
26415 }
26416 
~safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT()26417 safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::~safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT()
26418 {
26419     if (pNext)
26420         FreePnextChain(pNext);
26421 }
26422 
initialize(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT * in_struct)26423 void safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::initialize(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* in_struct)
26424 {
26425     sType = in_struct->sType;
26426     subgroupSizeControl = in_struct->subgroupSizeControl;
26427     computeFullSubgroups = in_struct->computeFullSubgroups;
26428     pNext = SafePnextCopy(in_struct->pNext);
26429 }
26430 
initialize(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT * src)26431 void safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::initialize(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* src)
26432 {
26433     sType = src->sType;
26434     subgroupSizeControl = src->subgroupSizeControl;
26435     computeFullSubgroups = src->computeFullSubgroups;
26436     pNext = SafePnextCopy(src->pNext);
26437 }
26438 
safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT * in_struct)26439 safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* in_struct) :
26440     sType(in_struct->sType),
26441     minSubgroupSize(in_struct->minSubgroupSize),
26442     maxSubgroupSize(in_struct->maxSubgroupSize),
26443     maxComputeWorkgroupSubgroups(in_struct->maxComputeWorkgroupSubgroups),
26444     requiredSubgroupSizeStages(in_struct->requiredSubgroupSizeStages)
26445 {
26446     pNext = SafePnextCopy(in_struct->pNext);
26447 }
26448 
safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT()26449 safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT() :
26450     pNext(nullptr)
26451 {}
26452 
safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT & src)26453 safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& src)
26454 {
26455     sType = src.sType;
26456     minSubgroupSize = src.minSubgroupSize;
26457     maxSubgroupSize = src.maxSubgroupSize;
26458     maxComputeWorkgroupSubgroups = src.maxComputeWorkgroupSubgroups;
26459     requiredSubgroupSizeStages = src.requiredSubgroupSizeStages;
26460     pNext = SafePnextCopy(src.pNext);
26461 }
26462 
operator =(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT & src)26463 safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::operator=(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& src)
26464 {
26465     if (&src == this) return *this;
26466 
26467     if (pNext)
26468         FreePnextChain(pNext);
26469 
26470     sType = src.sType;
26471     minSubgroupSize = src.minSubgroupSize;
26472     maxSubgroupSize = src.maxSubgroupSize;
26473     maxComputeWorkgroupSubgroups = src.maxComputeWorkgroupSubgroups;
26474     requiredSubgroupSizeStages = src.requiredSubgroupSizeStages;
26475     pNext = SafePnextCopy(src.pNext);
26476 
26477     return *this;
26478 }
26479 
~safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT()26480 safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::~safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT()
26481 {
26482     if (pNext)
26483         FreePnextChain(pNext);
26484 }
26485 
initialize(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT * in_struct)26486 void safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::initialize(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* in_struct)
26487 {
26488     sType = in_struct->sType;
26489     minSubgroupSize = in_struct->minSubgroupSize;
26490     maxSubgroupSize = in_struct->maxSubgroupSize;
26491     maxComputeWorkgroupSubgroups = in_struct->maxComputeWorkgroupSubgroups;
26492     requiredSubgroupSizeStages = in_struct->requiredSubgroupSizeStages;
26493     pNext = SafePnextCopy(in_struct->pNext);
26494 }
26495 
initialize(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT * src)26496 void safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::initialize(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* src)
26497 {
26498     sType = src->sType;
26499     minSubgroupSize = src->minSubgroupSize;
26500     maxSubgroupSize = src->maxSubgroupSize;
26501     maxComputeWorkgroupSubgroups = src->maxComputeWorkgroupSubgroups;
26502     requiredSubgroupSizeStages = src->requiredSubgroupSizeStages;
26503     pNext = SafePnextCopy(src->pNext);
26504 }
26505 
safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT * in_struct)26506 safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* in_struct) :
26507     sType(in_struct->sType),
26508     requiredSubgroupSize(in_struct->requiredSubgroupSize)
26509 {
26510     pNext = SafePnextCopy(in_struct->pNext);
26511 }
26512 
safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT()26513 safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT() :
26514     pNext(nullptr)
26515 {}
26516 
safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT & src)26517 safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& src)
26518 {
26519     sType = src.sType;
26520     requiredSubgroupSize = src.requiredSubgroupSize;
26521     pNext = SafePnextCopy(src.pNext);
26522 }
26523 
operator =(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT & src)26524 safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::operator=(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& src)
26525 {
26526     if (&src == this) return *this;
26527 
26528     if (pNext)
26529         FreePnextChain(pNext);
26530 
26531     sType = src.sType;
26532     requiredSubgroupSize = src.requiredSubgroupSize;
26533     pNext = SafePnextCopy(src.pNext);
26534 
26535     return *this;
26536 }
26537 
~safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT()26538 safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::~safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT()
26539 {
26540     if (pNext)
26541         FreePnextChain(pNext);
26542 }
26543 
initialize(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT * in_struct)26544 void safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::initialize(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* in_struct)
26545 {
26546     sType = in_struct->sType;
26547     requiredSubgroupSize = in_struct->requiredSubgroupSize;
26548     pNext = SafePnextCopy(in_struct->pNext);
26549 }
26550 
initialize(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT * src)26551 void safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::initialize(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* src)
26552 {
26553     sType = src->sType;
26554     requiredSubgroupSize = src->requiredSubgroupSize;
26555     pNext = SafePnextCopy(src->pNext);
26556 }
26557 
safe_VkPhysicalDeviceShaderCoreProperties2AMD(const VkPhysicalDeviceShaderCoreProperties2AMD * in_struct)26558 safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD(const VkPhysicalDeviceShaderCoreProperties2AMD* in_struct) :
26559     sType(in_struct->sType),
26560     shaderCoreFeatures(in_struct->shaderCoreFeatures),
26561     activeComputeUnitCount(in_struct->activeComputeUnitCount)
26562 {
26563     pNext = SafePnextCopy(in_struct->pNext);
26564 }
26565 
safe_VkPhysicalDeviceShaderCoreProperties2AMD()26566 safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD() :
26567     pNext(nullptr)
26568 {}
26569 
safe_VkPhysicalDeviceShaderCoreProperties2AMD(const safe_VkPhysicalDeviceShaderCoreProperties2AMD & src)26570 safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD(const safe_VkPhysicalDeviceShaderCoreProperties2AMD& src)
26571 {
26572     sType = src.sType;
26573     shaderCoreFeatures = src.shaderCoreFeatures;
26574     activeComputeUnitCount = src.activeComputeUnitCount;
26575     pNext = SafePnextCopy(src.pNext);
26576 }
26577 
operator =(const safe_VkPhysicalDeviceShaderCoreProperties2AMD & src)26578 safe_VkPhysicalDeviceShaderCoreProperties2AMD& safe_VkPhysicalDeviceShaderCoreProperties2AMD::operator=(const safe_VkPhysicalDeviceShaderCoreProperties2AMD& src)
26579 {
26580     if (&src == this) return *this;
26581 
26582     if (pNext)
26583         FreePnextChain(pNext);
26584 
26585     sType = src.sType;
26586     shaderCoreFeatures = src.shaderCoreFeatures;
26587     activeComputeUnitCount = src.activeComputeUnitCount;
26588     pNext = SafePnextCopy(src.pNext);
26589 
26590     return *this;
26591 }
26592 
~safe_VkPhysicalDeviceShaderCoreProperties2AMD()26593 safe_VkPhysicalDeviceShaderCoreProperties2AMD::~safe_VkPhysicalDeviceShaderCoreProperties2AMD()
26594 {
26595     if (pNext)
26596         FreePnextChain(pNext);
26597 }
26598 
initialize(const VkPhysicalDeviceShaderCoreProperties2AMD * in_struct)26599 void safe_VkPhysicalDeviceShaderCoreProperties2AMD::initialize(const VkPhysicalDeviceShaderCoreProperties2AMD* in_struct)
26600 {
26601     sType = in_struct->sType;
26602     shaderCoreFeatures = in_struct->shaderCoreFeatures;
26603     activeComputeUnitCount = in_struct->activeComputeUnitCount;
26604     pNext = SafePnextCopy(in_struct->pNext);
26605 }
26606 
initialize(const safe_VkPhysicalDeviceShaderCoreProperties2AMD * src)26607 void safe_VkPhysicalDeviceShaderCoreProperties2AMD::initialize(const safe_VkPhysicalDeviceShaderCoreProperties2AMD* src)
26608 {
26609     sType = src->sType;
26610     shaderCoreFeatures = src->shaderCoreFeatures;
26611     activeComputeUnitCount = src->activeComputeUnitCount;
26612     pNext = SafePnextCopy(src->pNext);
26613 }
26614 
safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(const VkPhysicalDeviceCoherentMemoryFeaturesAMD * in_struct)26615 safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(const VkPhysicalDeviceCoherentMemoryFeaturesAMD* in_struct) :
26616     sType(in_struct->sType),
26617     deviceCoherentMemory(in_struct->deviceCoherentMemory)
26618 {
26619     pNext = SafePnextCopy(in_struct->pNext);
26620 }
26621 
safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD()26622 safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD() :
26623     pNext(nullptr)
26624 {}
26625 
safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD & src)26626 safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD& src)
26627 {
26628     sType = src.sType;
26629     deviceCoherentMemory = src.deviceCoherentMemory;
26630     pNext = SafePnextCopy(src.pNext);
26631 }
26632 
operator =(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD & src)26633 safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD& safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::operator=(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD& src)
26634 {
26635     if (&src == this) return *this;
26636 
26637     if (pNext)
26638         FreePnextChain(pNext);
26639 
26640     sType = src.sType;
26641     deviceCoherentMemory = src.deviceCoherentMemory;
26642     pNext = SafePnextCopy(src.pNext);
26643 
26644     return *this;
26645 }
26646 
~safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD()26647 safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::~safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD()
26648 {
26649     if (pNext)
26650         FreePnextChain(pNext);
26651 }
26652 
initialize(const VkPhysicalDeviceCoherentMemoryFeaturesAMD * in_struct)26653 void safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::initialize(const VkPhysicalDeviceCoherentMemoryFeaturesAMD* in_struct)
26654 {
26655     sType = in_struct->sType;
26656     deviceCoherentMemory = in_struct->deviceCoherentMemory;
26657     pNext = SafePnextCopy(in_struct->pNext);
26658 }
26659 
initialize(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD * src)26660 void safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD::initialize(const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD* src)
26661 {
26662     sType = src->sType;
26663     deviceCoherentMemory = src->deviceCoherentMemory;
26664     pNext = SafePnextCopy(src->pNext);
26665 }
26666 
safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const VkPhysicalDeviceMemoryBudgetPropertiesEXT * in_struct)26667 safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct) :
26668     sType(in_struct->sType)
26669 {
26670     pNext = SafePnextCopy(in_struct->pNext);
26671     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26672         heapBudget[i] = in_struct->heapBudget[i];
26673     }
26674     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26675         heapUsage[i] = in_struct->heapUsage[i];
26676     }
26677 }
26678 
safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT()26679 safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT() :
26680     pNext(nullptr)
26681 {}
26682 
safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT & src)26683 safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& src)
26684 {
26685     sType = src.sType;
26686     pNext = SafePnextCopy(src.pNext);
26687     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26688         heapBudget[i] = src.heapBudget[i];
26689     }
26690     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26691         heapUsage[i] = src.heapUsage[i];
26692     }
26693 }
26694 
operator =(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT & src)26695 safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::operator=(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& src)
26696 {
26697     if (&src == this) return *this;
26698 
26699     if (pNext)
26700         FreePnextChain(pNext);
26701 
26702     sType = src.sType;
26703     pNext = SafePnextCopy(src.pNext);
26704     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26705         heapBudget[i] = src.heapBudget[i];
26706     }
26707     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26708         heapUsage[i] = src.heapUsage[i];
26709     }
26710 
26711     return *this;
26712 }
26713 
~safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT()26714 safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::~safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT()
26715 {
26716     if (pNext)
26717         FreePnextChain(pNext);
26718 }
26719 
initialize(const VkPhysicalDeviceMemoryBudgetPropertiesEXT * in_struct)26720 void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct)
26721 {
26722     sType = in_struct->sType;
26723     pNext = SafePnextCopy(in_struct->pNext);
26724     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26725         heapBudget[i] = in_struct->heapBudget[i];
26726     }
26727     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26728         heapUsage[i] = in_struct->heapUsage[i];
26729     }
26730 }
26731 
initialize(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT * src)26732 void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT* src)
26733 {
26734     sType = src->sType;
26735     pNext = SafePnextCopy(src->pNext);
26736     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26737         heapBudget[i] = src->heapBudget[i];
26738     }
26739     for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) {
26740         heapUsage[i] = src->heapUsage[i];
26741     }
26742 }
26743 
safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const VkPhysicalDeviceMemoryPriorityFeaturesEXT * in_struct)26744 safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const VkPhysicalDeviceMemoryPriorityFeaturesEXT* in_struct) :
26745     sType(in_struct->sType),
26746     memoryPriority(in_struct->memoryPriority)
26747 {
26748     pNext = SafePnextCopy(in_struct->pNext);
26749 }
26750 
safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT()26751 safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT() :
26752     pNext(nullptr)
26753 {}
26754 
safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT & src)26755 safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& src)
26756 {
26757     sType = src.sType;
26758     memoryPriority = src.memoryPriority;
26759     pNext = SafePnextCopy(src.pNext);
26760 }
26761 
operator =(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT & src)26762 safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::operator=(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& src)
26763 {
26764     if (&src == this) return *this;
26765 
26766     if (pNext)
26767         FreePnextChain(pNext);
26768 
26769     sType = src.sType;
26770     memoryPriority = src.memoryPriority;
26771     pNext = SafePnextCopy(src.pNext);
26772 
26773     return *this;
26774 }
26775 
~safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT()26776 safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::~safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT()
26777 {
26778     if (pNext)
26779         FreePnextChain(pNext);
26780 }
26781 
initialize(const VkPhysicalDeviceMemoryPriorityFeaturesEXT * in_struct)26782 void safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::initialize(const VkPhysicalDeviceMemoryPriorityFeaturesEXT* in_struct)
26783 {
26784     sType = in_struct->sType;
26785     memoryPriority = in_struct->memoryPriority;
26786     pNext = SafePnextCopy(in_struct->pNext);
26787 }
26788 
initialize(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT * src)26789 void safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::initialize(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT* src)
26790 {
26791     sType = src->sType;
26792     memoryPriority = src->memoryPriority;
26793     pNext = SafePnextCopy(src->pNext);
26794 }
26795 
safe_VkMemoryPriorityAllocateInfoEXT(const VkMemoryPriorityAllocateInfoEXT * in_struct)26796 safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT(const VkMemoryPriorityAllocateInfoEXT* in_struct) :
26797     sType(in_struct->sType),
26798     priority(in_struct->priority)
26799 {
26800     pNext = SafePnextCopy(in_struct->pNext);
26801 }
26802 
safe_VkMemoryPriorityAllocateInfoEXT()26803 safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT() :
26804     pNext(nullptr)
26805 {}
26806 
safe_VkMemoryPriorityAllocateInfoEXT(const safe_VkMemoryPriorityAllocateInfoEXT & src)26807 safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT(const safe_VkMemoryPriorityAllocateInfoEXT& src)
26808 {
26809     sType = src.sType;
26810     priority = src.priority;
26811     pNext = SafePnextCopy(src.pNext);
26812 }
26813 
operator =(const safe_VkMemoryPriorityAllocateInfoEXT & src)26814 safe_VkMemoryPriorityAllocateInfoEXT& safe_VkMemoryPriorityAllocateInfoEXT::operator=(const safe_VkMemoryPriorityAllocateInfoEXT& src)
26815 {
26816     if (&src == this) return *this;
26817 
26818     if (pNext)
26819         FreePnextChain(pNext);
26820 
26821     sType = src.sType;
26822     priority = src.priority;
26823     pNext = SafePnextCopy(src.pNext);
26824 
26825     return *this;
26826 }
26827 
~safe_VkMemoryPriorityAllocateInfoEXT()26828 safe_VkMemoryPriorityAllocateInfoEXT::~safe_VkMemoryPriorityAllocateInfoEXT()
26829 {
26830     if (pNext)
26831         FreePnextChain(pNext);
26832 }
26833 
initialize(const VkMemoryPriorityAllocateInfoEXT * in_struct)26834 void safe_VkMemoryPriorityAllocateInfoEXT::initialize(const VkMemoryPriorityAllocateInfoEXT* in_struct)
26835 {
26836     sType = in_struct->sType;
26837     priority = in_struct->priority;
26838     pNext = SafePnextCopy(in_struct->pNext);
26839 }
26840 
initialize(const safe_VkMemoryPriorityAllocateInfoEXT * src)26841 void safe_VkMemoryPriorityAllocateInfoEXT::initialize(const safe_VkMemoryPriorityAllocateInfoEXT* src)
26842 {
26843     sType = src->sType;
26844     priority = src->priority;
26845     pNext = SafePnextCopy(src->pNext);
26846 }
26847 
safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV * in_struct)26848 safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* in_struct) :
26849     sType(in_struct->sType),
26850     dedicatedAllocationImageAliasing(in_struct->dedicatedAllocationImageAliasing)
26851 {
26852     pNext = SafePnextCopy(in_struct->pNext);
26853 }
26854 
safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV()26855 safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV() :
26856     pNext(nullptr)
26857 {}
26858 
safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & src)26859 safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& src)
26860 {
26861     sType = src.sType;
26862     dedicatedAllocationImageAliasing = src.dedicatedAllocationImageAliasing;
26863     pNext = SafePnextCopy(src.pNext);
26864 }
26865 
operator =(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & src)26866 safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::operator=(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& src)
26867 {
26868     if (&src == this) return *this;
26869 
26870     if (pNext)
26871         FreePnextChain(pNext);
26872 
26873     sType = src.sType;
26874     dedicatedAllocationImageAliasing = src.dedicatedAllocationImageAliasing;
26875     pNext = SafePnextCopy(src.pNext);
26876 
26877     return *this;
26878 }
26879 
~safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV()26880 safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::~safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV()
26881 {
26882     if (pNext)
26883         FreePnextChain(pNext);
26884 }
26885 
initialize(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV * in_struct)26886 void safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::initialize(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* in_struct)
26887 {
26888     sType = in_struct->sType;
26889     dedicatedAllocationImageAliasing = in_struct->dedicatedAllocationImageAliasing;
26890     pNext = SafePnextCopy(in_struct->pNext);
26891 }
26892 
initialize(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV * src)26893 void safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::initialize(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* src)
26894 {
26895     sType = src->sType;
26896     dedicatedAllocationImageAliasing = src->dedicatedAllocationImageAliasing;
26897     pNext = SafePnextCopy(src->pNext);
26898 }
26899 
safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT * in_struct)26900 safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* in_struct) :
26901     sType(in_struct->sType),
26902     bufferDeviceAddress(in_struct->bufferDeviceAddress),
26903     bufferDeviceAddressCaptureReplay(in_struct->bufferDeviceAddressCaptureReplay),
26904     bufferDeviceAddressMultiDevice(in_struct->bufferDeviceAddressMultiDevice)
26905 {
26906     pNext = SafePnextCopy(in_struct->pNext);
26907 }
26908 
safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT()26909 safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT() :
26910     pNext(nullptr)
26911 {}
26912 
safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT & src)26913 safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& src)
26914 {
26915     sType = src.sType;
26916     bufferDeviceAddress = src.bufferDeviceAddress;
26917     bufferDeviceAddressCaptureReplay = src.bufferDeviceAddressCaptureReplay;
26918     bufferDeviceAddressMultiDevice = src.bufferDeviceAddressMultiDevice;
26919     pNext = SafePnextCopy(src.pNext);
26920 }
26921 
operator =(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT & src)26922 safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::operator=(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& src)
26923 {
26924     if (&src == this) return *this;
26925 
26926     if (pNext)
26927         FreePnextChain(pNext);
26928 
26929     sType = src.sType;
26930     bufferDeviceAddress = src.bufferDeviceAddress;
26931     bufferDeviceAddressCaptureReplay = src.bufferDeviceAddressCaptureReplay;
26932     bufferDeviceAddressMultiDevice = src.bufferDeviceAddressMultiDevice;
26933     pNext = SafePnextCopy(src.pNext);
26934 
26935     return *this;
26936 }
26937 
~safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT()26938 safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::~safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT()
26939 {
26940     if (pNext)
26941         FreePnextChain(pNext);
26942 }
26943 
initialize(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT * in_struct)26944 void safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::initialize(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* in_struct)
26945 {
26946     sType = in_struct->sType;
26947     bufferDeviceAddress = in_struct->bufferDeviceAddress;
26948     bufferDeviceAddressCaptureReplay = in_struct->bufferDeviceAddressCaptureReplay;
26949     bufferDeviceAddressMultiDevice = in_struct->bufferDeviceAddressMultiDevice;
26950     pNext = SafePnextCopy(in_struct->pNext);
26951 }
26952 
initialize(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT * src)26953 void safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::initialize(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* src)
26954 {
26955     sType = src->sType;
26956     bufferDeviceAddress = src->bufferDeviceAddress;
26957     bufferDeviceAddressCaptureReplay = src->bufferDeviceAddressCaptureReplay;
26958     bufferDeviceAddressMultiDevice = src->bufferDeviceAddressMultiDevice;
26959     pNext = SafePnextCopy(src->pNext);
26960 }
26961 
safe_VkBufferDeviceAddressInfoEXT(const VkBufferDeviceAddressInfoEXT * in_struct)26962 safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT(const VkBufferDeviceAddressInfoEXT* in_struct) :
26963     sType(in_struct->sType),
26964     buffer(in_struct->buffer)
26965 {
26966     pNext = SafePnextCopy(in_struct->pNext);
26967 }
26968 
safe_VkBufferDeviceAddressInfoEXT()26969 safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT() :
26970     pNext(nullptr)
26971 {}
26972 
safe_VkBufferDeviceAddressInfoEXT(const safe_VkBufferDeviceAddressInfoEXT & src)26973 safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT(const safe_VkBufferDeviceAddressInfoEXT& src)
26974 {
26975     sType = src.sType;
26976     buffer = src.buffer;
26977     pNext = SafePnextCopy(src.pNext);
26978 }
26979 
operator =(const safe_VkBufferDeviceAddressInfoEXT & src)26980 safe_VkBufferDeviceAddressInfoEXT& safe_VkBufferDeviceAddressInfoEXT::operator=(const safe_VkBufferDeviceAddressInfoEXT& src)
26981 {
26982     if (&src == this) return *this;
26983 
26984     if (pNext)
26985         FreePnextChain(pNext);
26986 
26987     sType = src.sType;
26988     buffer = src.buffer;
26989     pNext = SafePnextCopy(src.pNext);
26990 
26991     return *this;
26992 }
26993 
~safe_VkBufferDeviceAddressInfoEXT()26994 safe_VkBufferDeviceAddressInfoEXT::~safe_VkBufferDeviceAddressInfoEXT()
26995 {
26996     if (pNext)
26997         FreePnextChain(pNext);
26998 }
26999 
initialize(const VkBufferDeviceAddressInfoEXT * in_struct)27000 void safe_VkBufferDeviceAddressInfoEXT::initialize(const VkBufferDeviceAddressInfoEXT* in_struct)
27001 {
27002     sType = in_struct->sType;
27003     buffer = in_struct->buffer;
27004     pNext = SafePnextCopy(in_struct->pNext);
27005 }
27006 
initialize(const safe_VkBufferDeviceAddressInfoEXT * src)27007 void safe_VkBufferDeviceAddressInfoEXT::initialize(const safe_VkBufferDeviceAddressInfoEXT* src)
27008 {
27009     sType = src->sType;
27010     buffer = src->buffer;
27011     pNext = SafePnextCopy(src->pNext);
27012 }
27013 
safe_VkBufferDeviceAddressCreateInfoEXT(const VkBufferDeviceAddressCreateInfoEXT * in_struct)27014 safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT(const VkBufferDeviceAddressCreateInfoEXT* in_struct) :
27015     sType(in_struct->sType),
27016     deviceAddress(in_struct->deviceAddress)
27017 {
27018     pNext = SafePnextCopy(in_struct->pNext);
27019 }
27020 
safe_VkBufferDeviceAddressCreateInfoEXT()27021 safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT() :
27022     pNext(nullptr)
27023 {}
27024 
safe_VkBufferDeviceAddressCreateInfoEXT(const safe_VkBufferDeviceAddressCreateInfoEXT & src)27025 safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT(const safe_VkBufferDeviceAddressCreateInfoEXT& src)
27026 {
27027     sType = src.sType;
27028     deviceAddress = src.deviceAddress;
27029     pNext = SafePnextCopy(src.pNext);
27030 }
27031 
operator =(const safe_VkBufferDeviceAddressCreateInfoEXT & src)27032 safe_VkBufferDeviceAddressCreateInfoEXT& safe_VkBufferDeviceAddressCreateInfoEXT::operator=(const safe_VkBufferDeviceAddressCreateInfoEXT& src)
27033 {
27034     if (&src == this) return *this;
27035 
27036     if (pNext)
27037         FreePnextChain(pNext);
27038 
27039     sType = src.sType;
27040     deviceAddress = src.deviceAddress;
27041     pNext = SafePnextCopy(src.pNext);
27042 
27043     return *this;
27044 }
27045 
~safe_VkBufferDeviceAddressCreateInfoEXT()27046 safe_VkBufferDeviceAddressCreateInfoEXT::~safe_VkBufferDeviceAddressCreateInfoEXT()
27047 {
27048     if (pNext)
27049         FreePnextChain(pNext);
27050 }
27051 
initialize(const VkBufferDeviceAddressCreateInfoEXT * in_struct)27052 void safe_VkBufferDeviceAddressCreateInfoEXT::initialize(const VkBufferDeviceAddressCreateInfoEXT* in_struct)
27053 {
27054     sType = in_struct->sType;
27055     deviceAddress = in_struct->deviceAddress;
27056     pNext = SafePnextCopy(in_struct->pNext);
27057 }
27058 
initialize(const safe_VkBufferDeviceAddressCreateInfoEXT * src)27059 void safe_VkBufferDeviceAddressCreateInfoEXT::initialize(const safe_VkBufferDeviceAddressCreateInfoEXT* src)
27060 {
27061     sType = src->sType;
27062     deviceAddress = src->deviceAddress;
27063     pNext = SafePnextCopy(src->pNext);
27064 }
27065 
safe_VkImageStencilUsageCreateInfoEXT(const VkImageStencilUsageCreateInfoEXT * in_struct)27066 safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT(const VkImageStencilUsageCreateInfoEXT* in_struct) :
27067     sType(in_struct->sType),
27068     stencilUsage(in_struct->stencilUsage)
27069 {
27070     pNext = SafePnextCopy(in_struct->pNext);
27071 }
27072 
safe_VkImageStencilUsageCreateInfoEXT()27073 safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT() :
27074     pNext(nullptr)
27075 {}
27076 
safe_VkImageStencilUsageCreateInfoEXT(const safe_VkImageStencilUsageCreateInfoEXT & src)27077 safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT(const safe_VkImageStencilUsageCreateInfoEXT& src)
27078 {
27079     sType = src.sType;
27080     stencilUsage = src.stencilUsage;
27081     pNext = SafePnextCopy(src.pNext);
27082 }
27083 
operator =(const safe_VkImageStencilUsageCreateInfoEXT & src)27084 safe_VkImageStencilUsageCreateInfoEXT& safe_VkImageStencilUsageCreateInfoEXT::operator=(const safe_VkImageStencilUsageCreateInfoEXT& src)
27085 {
27086     if (&src == this) return *this;
27087 
27088     if (pNext)
27089         FreePnextChain(pNext);
27090 
27091     sType = src.sType;
27092     stencilUsage = src.stencilUsage;
27093     pNext = SafePnextCopy(src.pNext);
27094 
27095     return *this;
27096 }
27097 
~safe_VkImageStencilUsageCreateInfoEXT()27098 safe_VkImageStencilUsageCreateInfoEXT::~safe_VkImageStencilUsageCreateInfoEXT()
27099 {
27100     if (pNext)
27101         FreePnextChain(pNext);
27102 }
27103 
initialize(const VkImageStencilUsageCreateInfoEXT * in_struct)27104 void safe_VkImageStencilUsageCreateInfoEXT::initialize(const VkImageStencilUsageCreateInfoEXT* in_struct)
27105 {
27106     sType = in_struct->sType;
27107     stencilUsage = in_struct->stencilUsage;
27108     pNext = SafePnextCopy(in_struct->pNext);
27109 }
27110 
initialize(const safe_VkImageStencilUsageCreateInfoEXT * src)27111 void safe_VkImageStencilUsageCreateInfoEXT::initialize(const safe_VkImageStencilUsageCreateInfoEXT* src)
27112 {
27113     sType = src->sType;
27114     stencilUsage = src->stencilUsage;
27115     pNext = SafePnextCopy(src->pNext);
27116 }
27117 
safe_VkValidationFeaturesEXT(const VkValidationFeaturesEXT * in_struct)27118 safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const VkValidationFeaturesEXT* in_struct) :
27119     sType(in_struct->sType),
27120     enabledValidationFeatureCount(in_struct->enabledValidationFeatureCount),
27121     pEnabledValidationFeatures(nullptr),
27122     disabledValidationFeatureCount(in_struct->disabledValidationFeatureCount),
27123     pDisabledValidationFeatures(nullptr)
27124 {
27125     pNext = SafePnextCopy(in_struct->pNext);
27126     if (in_struct->pEnabledValidationFeatures) {
27127         pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[in_struct->enabledValidationFeatureCount];
27128         memcpy ((void *)pEnabledValidationFeatures, (void *)in_struct->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*in_struct->enabledValidationFeatureCount);
27129     }
27130     if (in_struct->pDisabledValidationFeatures) {
27131         pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[in_struct->disabledValidationFeatureCount];
27132         memcpy ((void *)pDisabledValidationFeatures, (void *)in_struct->pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*in_struct->disabledValidationFeatureCount);
27133     }
27134 }
27135 
safe_VkValidationFeaturesEXT()27136 safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT() :
27137     pNext(nullptr),
27138     pEnabledValidationFeatures(nullptr),
27139     pDisabledValidationFeatures(nullptr)
27140 {}
27141 
safe_VkValidationFeaturesEXT(const safe_VkValidationFeaturesEXT & src)27142 safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const safe_VkValidationFeaturesEXT& src)
27143 {
27144     sType = src.sType;
27145     enabledValidationFeatureCount = src.enabledValidationFeatureCount;
27146     pEnabledValidationFeatures = nullptr;
27147     disabledValidationFeatureCount = src.disabledValidationFeatureCount;
27148     pDisabledValidationFeatures = nullptr;
27149     pNext = SafePnextCopy(src.pNext);
27150     if (src.pEnabledValidationFeatures) {
27151         pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src.enabledValidationFeatureCount];
27152         memcpy ((void *)pEnabledValidationFeatures, (void *)src.pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src.enabledValidationFeatureCount);
27153     }
27154     if (src.pDisabledValidationFeatures) {
27155         pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[src.disabledValidationFeatureCount];
27156         memcpy ((void *)pDisabledValidationFeatures, (void *)src.pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*src.disabledValidationFeatureCount);
27157     }
27158 }
27159 
operator =(const safe_VkValidationFeaturesEXT & src)27160 safe_VkValidationFeaturesEXT& safe_VkValidationFeaturesEXT::operator=(const safe_VkValidationFeaturesEXT& src)
27161 {
27162     if (&src == this) return *this;
27163 
27164     if (pEnabledValidationFeatures)
27165         delete[] pEnabledValidationFeatures;
27166     if (pDisabledValidationFeatures)
27167         delete[] pDisabledValidationFeatures;
27168     if (pNext)
27169         FreePnextChain(pNext);
27170 
27171     sType = src.sType;
27172     enabledValidationFeatureCount = src.enabledValidationFeatureCount;
27173     pEnabledValidationFeatures = nullptr;
27174     disabledValidationFeatureCount = src.disabledValidationFeatureCount;
27175     pDisabledValidationFeatures = nullptr;
27176     pNext = SafePnextCopy(src.pNext);
27177     if (src.pEnabledValidationFeatures) {
27178         pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src.enabledValidationFeatureCount];
27179         memcpy ((void *)pEnabledValidationFeatures, (void *)src.pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src.enabledValidationFeatureCount);
27180     }
27181     if (src.pDisabledValidationFeatures) {
27182         pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[src.disabledValidationFeatureCount];
27183         memcpy ((void *)pDisabledValidationFeatures, (void *)src.pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*src.disabledValidationFeatureCount);
27184     }
27185 
27186     return *this;
27187 }
27188 
~safe_VkValidationFeaturesEXT()27189 safe_VkValidationFeaturesEXT::~safe_VkValidationFeaturesEXT()
27190 {
27191     if (pEnabledValidationFeatures)
27192         delete[] pEnabledValidationFeatures;
27193     if (pDisabledValidationFeatures)
27194         delete[] pDisabledValidationFeatures;
27195     if (pNext)
27196         FreePnextChain(pNext);
27197 }
27198 
initialize(const VkValidationFeaturesEXT * in_struct)27199 void safe_VkValidationFeaturesEXT::initialize(const VkValidationFeaturesEXT* in_struct)
27200 {
27201     sType = in_struct->sType;
27202     enabledValidationFeatureCount = in_struct->enabledValidationFeatureCount;
27203     pEnabledValidationFeatures = nullptr;
27204     disabledValidationFeatureCount = in_struct->disabledValidationFeatureCount;
27205     pDisabledValidationFeatures = nullptr;
27206     pNext = SafePnextCopy(in_struct->pNext);
27207     if (in_struct->pEnabledValidationFeatures) {
27208         pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[in_struct->enabledValidationFeatureCount];
27209         memcpy ((void *)pEnabledValidationFeatures, (void *)in_struct->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*in_struct->enabledValidationFeatureCount);
27210     }
27211     if (in_struct->pDisabledValidationFeatures) {
27212         pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[in_struct->disabledValidationFeatureCount];
27213         memcpy ((void *)pDisabledValidationFeatures, (void *)in_struct->pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*in_struct->disabledValidationFeatureCount);
27214     }
27215 }
27216 
initialize(const safe_VkValidationFeaturesEXT * src)27217 void safe_VkValidationFeaturesEXT::initialize(const safe_VkValidationFeaturesEXT* src)
27218 {
27219     sType = src->sType;
27220     enabledValidationFeatureCount = src->enabledValidationFeatureCount;
27221     pEnabledValidationFeatures = nullptr;
27222     disabledValidationFeatureCount = src->disabledValidationFeatureCount;
27223     pDisabledValidationFeatures = nullptr;
27224     pNext = SafePnextCopy(src->pNext);
27225     if (src->pEnabledValidationFeatures) {
27226         pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src->enabledValidationFeatureCount];
27227         memcpy ((void *)pEnabledValidationFeatures, (void *)src->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src->enabledValidationFeatureCount);
27228     }
27229     if (src->pDisabledValidationFeatures) {
27230         pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[src->disabledValidationFeatureCount];
27231         memcpy ((void *)pDisabledValidationFeatures, (void *)src->pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*src->disabledValidationFeatureCount);
27232     }
27233 }
27234 
safe_VkCooperativeMatrixPropertiesNV(const VkCooperativeMatrixPropertiesNV * in_struct)27235 safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const VkCooperativeMatrixPropertiesNV* in_struct) :
27236     sType(in_struct->sType),
27237     MSize(in_struct->MSize),
27238     NSize(in_struct->NSize),
27239     KSize(in_struct->KSize),
27240     AType(in_struct->AType),
27241     BType(in_struct->BType),
27242     CType(in_struct->CType),
27243     DType(in_struct->DType),
27244     scope(in_struct->scope)
27245 {
27246     pNext = SafePnextCopy(in_struct->pNext);
27247 }
27248 
safe_VkCooperativeMatrixPropertiesNV()27249 safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV() :
27250     pNext(nullptr)
27251 {}
27252 
safe_VkCooperativeMatrixPropertiesNV(const safe_VkCooperativeMatrixPropertiesNV & src)27253 safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const safe_VkCooperativeMatrixPropertiesNV& src)
27254 {
27255     sType = src.sType;
27256     MSize = src.MSize;
27257     NSize = src.NSize;
27258     KSize = src.KSize;
27259     AType = src.AType;
27260     BType = src.BType;
27261     CType = src.CType;
27262     DType = src.DType;
27263     scope = src.scope;
27264     pNext = SafePnextCopy(src.pNext);
27265 }
27266 
operator =(const safe_VkCooperativeMatrixPropertiesNV & src)27267 safe_VkCooperativeMatrixPropertiesNV& safe_VkCooperativeMatrixPropertiesNV::operator=(const safe_VkCooperativeMatrixPropertiesNV& src)
27268 {
27269     if (&src == this) return *this;
27270 
27271     if (pNext)
27272         FreePnextChain(pNext);
27273 
27274     sType = src.sType;
27275     MSize = src.MSize;
27276     NSize = src.NSize;
27277     KSize = src.KSize;
27278     AType = src.AType;
27279     BType = src.BType;
27280     CType = src.CType;
27281     DType = src.DType;
27282     scope = src.scope;
27283     pNext = SafePnextCopy(src.pNext);
27284 
27285     return *this;
27286 }
27287 
~safe_VkCooperativeMatrixPropertiesNV()27288 safe_VkCooperativeMatrixPropertiesNV::~safe_VkCooperativeMatrixPropertiesNV()
27289 {
27290     if (pNext)
27291         FreePnextChain(pNext);
27292 }
27293 
initialize(const VkCooperativeMatrixPropertiesNV * in_struct)27294 void safe_VkCooperativeMatrixPropertiesNV::initialize(const VkCooperativeMatrixPropertiesNV* in_struct)
27295 {
27296     sType = in_struct->sType;
27297     MSize = in_struct->MSize;
27298     NSize = in_struct->NSize;
27299     KSize = in_struct->KSize;
27300     AType = in_struct->AType;
27301     BType = in_struct->BType;
27302     CType = in_struct->CType;
27303     DType = in_struct->DType;
27304     scope = in_struct->scope;
27305     pNext = SafePnextCopy(in_struct->pNext);
27306 }
27307 
initialize(const safe_VkCooperativeMatrixPropertiesNV * src)27308 void safe_VkCooperativeMatrixPropertiesNV::initialize(const safe_VkCooperativeMatrixPropertiesNV* src)
27309 {
27310     sType = src->sType;
27311     MSize = src->MSize;
27312     NSize = src->NSize;
27313     KSize = src->KSize;
27314     AType = src->AType;
27315     BType = src->BType;
27316     CType = src->CType;
27317     DType = src->DType;
27318     scope = src->scope;
27319     pNext = SafePnextCopy(src->pNext);
27320 }
27321 
safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const VkPhysicalDeviceCooperativeMatrixFeaturesNV * in_struct)27322 safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const VkPhysicalDeviceCooperativeMatrixFeaturesNV* in_struct) :
27323     sType(in_struct->sType),
27324     cooperativeMatrix(in_struct->cooperativeMatrix),
27325     cooperativeMatrixRobustBufferAccess(in_struct->cooperativeMatrixRobustBufferAccess)
27326 {
27327     pNext = SafePnextCopy(in_struct->pNext);
27328 }
27329 
safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV()27330 safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV() :
27331     pNext(nullptr)
27332 {}
27333 
safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV & src)27334 safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& src)
27335 {
27336     sType = src.sType;
27337     cooperativeMatrix = src.cooperativeMatrix;
27338     cooperativeMatrixRobustBufferAccess = src.cooperativeMatrixRobustBufferAccess;
27339     pNext = SafePnextCopy(src.pNext);
27340 }
27341 
operator =(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV & src)27342 safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::operator=(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& src)
27343 {
27344     if (&src == this) return *this;
27345 
27346     if (pNext)
27347         FreePnextChain(pNext);
27348 
27349     sType = src.sType;
27350     cooperativeMatrix = src.cooperativeMatrix;
27351     cooperativeMatrixRobustBufferAccess = src.cooperativeMatrixRobustBufferAccess;
27352     pNext = SafePnextCopy(src.pNext);
27353 
27354     return *this;
27355 }
27356 
~safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV()27357 safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::~safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV()
27358 {
27359     if (pNext)
27360         FreePnextChain(pNext);
27361 }
27362 
initialize(const VkPhysicalDeviceCooperativeMatrixFeaturesNV * in_struct)27363 void safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::initialize(const VkPhysicalDeviceCooperativeMatrixFeaturesNV* in_struct)
27364 {
27365     sType = in_struct->sType;
27366     cooperativeMatrix = in_struct->cooperativeMatrix;
27367     cooperativeMatrixRobustBufferAccess = in_struct->cooperativeMatrixRobustBufferAccess;
27368     pNext = SafePnextCopy(in_struct->pNext);
27369 }
27370 
initialize(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV * src)27371 void safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::initialize(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV* src)
27372 {
27373     sType = src->sType;
27374     cooperativeMatrix = src->cooperativeMatrix;
27375     cooperativeMatrixRobustBufferAccess = src->cooperativeMatrixRobustBufferAccess;
27376     pNext = SafePnextCopy(src->pNext);
27377 }
27378 
safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const VkPhysicalDeviceCooperativeMatrixPropertiesNV * in_struct)27379 safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const VkPhysicalDeviceCooperativeMatrixPropertiesNV* in_struct) :
27380     sType(in_struct->sType),
27381     cooperativeMatrixSupportedStages(in_struct->cooperativeMatrixSupportedStages)
27382 {
27383     pNext = SafePnextCopy(in_struct->pNext);
27384 }
27385 
safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV()27386 safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV() :
27387     pNext(nullptr)
27388 {}
27389 
safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV & src)27390 safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& src)
27391 {
27392     sType = src.sType;
27393     cooperativeMatrixSupportedStages = src.cooperativeMatrixSupportedStages;
27394     pNext = SafePnextCopy(src.pNext);
27395 }
27396 
operator =(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV & src)27397 safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::operator=(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& src)
27398 {
27399     if (&src == this) return *this;
27400 
27401     if (pNext)
27402         FreePnextChain(pNext);
27403 
27404     sType = src.sType;
27405     cooperativeMatrixSupportedStages = src.cooperativeMatrixSupportedStages;
27406     pNext = SafePnextCopy(src.pNext);
27407 
27408     return *this;
27409 }
27410 
~safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV()27411 safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::~safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV()
27412 {
27413     if (pNext)
27414         FreePnextChain(pNext);
27415 }
27416 
initialize(const VkPhysicalDeviceCooperativeMatrixPropertiesNV * in_struct)27417 void safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::initialize(const VkPhysicalDeviceCooperativeMatrixPropertiesNV* in_struct)
27418 {
27419     sType = in_struct->sType;
27420     cooperativeMatrixSupportedStages = in_struct->cooperativeMatrixSupportedStages;
27421     pNext = SafePnextCopy(in_struct->pNext);
27422 }
27423 
initialize(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV * src)27424 void safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::initialize(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV* src)
27425 {
27426     sType = src->sType;
27427     cooperativeMatrixSupportedStages = src->cooperativeMatrixSupportedStages;
27428     pNext = SafePnextCopy(src->pNext);
27429 }
27430 
safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const VkPhysicalDeviceCoverageReductionModeFeaturesNV * in_struct)27431 safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const VkPhysicalDeviceCoverageReductionModeFeaturesNV* in_struct) :
27432     sType(in_struct->sType),
27433     coverageReductionMode(in_struct->coverageReductionMode)
27434 {
27435     pNext = SafePnextCopy(in_struct->pNext);
27436 }
27437 
safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV()27438 safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV() :
27439     pNext(nullptr)
27440 {}
27441 
safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV & src)27442 safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& src)
27443 {
27444     sType = src.sType;
27445     coverageReductionMode = src.coverageReductionMode;
27446     pNext = SafePnextCopy(src.pNext);
27447 }
27448 
operator =(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV & src)27449 safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::operator=(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& src)
27450 {
27451     if (&src == this) return *this;
27452 
27453     if (pNext)
27454         FreePnextChain(pNext);
27455 
27456     sType = src.sType;
27457     coverageReductionMode = src.coverageReductionMode;
27458     pNext = SafePnextCopy(src.pNext);
27459 
27460     return *this;
27461 }
27462 
~safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV()27463 safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::~safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV()
27464 {
27465     if (pNext)
27466         FreePnextChain(pNext);
27467 }
27468 
initialize(const VkPhysicalDeviceCoverageReductionModeFeaturesNV * in_struct)27469 void safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::initialize(const VkPhysicalDeviceCoverageReductionModeFeaturesNV* in_struct)
27470 {
27471     sType = in_struct->sType;
27472     coverageReductionMode = in_struct->coverageReductionMode;
27473     pNext = SafePnextCopy(in_struct->pNext);
27474 }
27475 
initialize(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV * src)27476 void safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::initialize(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV* src)
27477 {
27478     sType = src->sType;
27479     coverageReductionMode = src->coverageReductionMode;
27480     pNext = SafePnextCopy(src->pNext);
27481 }
27482 
safe_VkPipelineCoverageReductionStateCreateInfoNV(const VkPipelineCoverageReductionStateCreateInfoNV * in_struct)27483 safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV(const VkPipelineCoverageReductionStateCreateInfoNV* in_struct) :
27484     sType(in_struct->sType),
27485     flags(in_struct->flags),
27486     coverageReductionMode(in_struct->coverageReductionMode)
27487 {
27488     pNext = SafePnextCopy(in_struct->pNext);
27489 }
27490 
safe_VkPipelineCoverageReductionStateCreateInfoNV()27491 safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV() :
27492     pNext(nullptr)
27493 {}
27494 
safe_VkPipelineCoverageReductionStateCreateInfoNV(const safe_VkPipelineCoverageReductionStateCreateInfoNV & src)27495 safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV(const safe_VkPipelineCoverageReductionStateCreateInfoNV& src)
27496 {
27497     sType = src.sType;
27498     flags = src.flags;
27499     coverageReductionMode = src.coverageReductionMode;
27500     pNext = SafePnextCopy(src.pNext);
27501 }
27502 
operator =(const safe_VkPipelineCoverageReductionStateCreateInfoNV & src)27503 safe_VkPipelineCoverageReductionStateCreateInfoNV& safe_VkPipelineCoverageReductionStateCreateInfoNV::operator=(const safe_VkPipelineCoverageReductionStateCreateInfoNV& src)
27504 {
27505     if (&src == this) return *this;
27506 
27507     if (pNext)
27508         FreePnextChain(pNext);
27509 
27510     sType = src.sType;
27511     flags = src.flags;
27512     coverageReductionMode = src.coverageReductionMode;
27513     pNext = SafePnextCopy(src.pNext);
27514 
27515     return *this;
27516 }
27517 
~safe_VkPipelineCoverageReductionStateCreateInfoNV()27518 safe_VkPipelineCoverageReductionStateCreateInfoNV::~safe_VkPipelineCoverageReductionStateCreateInfoNV()
27519 {
27520     if (pNext)
27521         FreePnextChain(pNext);
27522 }
27523 
initialize(const VkPipelineCoverageReductionStateCreateInfoNV * in_struct)27524 void safe_VkPipelineCoverageReductionStateCreateInfoNV::initialize(const VkPipelineCoverageReductionStateCreateInfoNV* in_struct)
27525 {
27526     sType = in_struct->sType;
27527     flags = in_struct->flags;
27528     coverageReductionMode = in_struct->coverageReductionMode;
27529     pNext = SafePnextCopy(in_struct->pNext);
27530 }
27531 
initialize(const safe_VkPipelineCoverageReductionStateCreateInfoNV * src)27532 void safe_VkPipelineCoverageReductionStateCreateInfoNV::initialize(const safe_VkPipelineCoverageReductionStateCreateInfoNV* src)
27533 {
27534     sType = src->sType;
27535     flags = src->flags;
27536     coverageReductionMode = src->coverageReductionMode;
27537     pNext = SafePnextCopy(src->pNext);
27538 }
27539 
safe_VkFramebufferMixedSamplesCombinationNV(const VkFramebufferMixedSamplesCombinationNV * in_struct)27540 safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV(const VkFramebufferMixedSamplesCombinationNV* in_struct) :
27541     sType(in_struct->sType),
27542     coverageReductionMode(in_struct->coverageReductionMode),
27543     rasterizationSamples(in_struct->rasterizationSamples),
27544     depthStencilSamples(in_struct->depthStencilSamples),
27545     colorSamples(in_struct->colorSamples)
27546 {
27547     pNext = SafePnextCopy(in_struct->pNext);
27548 }
27549 
safe_VkFramebufferMixedSamplesCombinationNV()27550 safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV() :
27551     pNext(nullptr)
27552 {}
27553 
safe_VkFramebufferMixedSamplesCombinationNV(const safe_VkFramebufferMixedSamplesCombinationNV & src)27554 safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV(const safe_VkFramebufferMixedSamplesCombinationNV& src)
27555 {
27556     sType = src.sType;
27557     coverageReductionMode = src.coverageReductionMode;
27558     rasterizationSamples = src.rasterizationSamples;
27559     depthStencilSamples = src.depthStencilSamples;
27560     colorSamples = src.colorSamples;
27561     pNext = SafePnextCopy(src.pNext);
27562 }
27563 
operator =(const safe_VkFramebufferMixedSamplesCombinationNV & src)27564 safe_VkFramebufferMixedSamplesCombinationNV& safe_VkFramebufferMixedSamplesCombinationNV::operator=(const safe_VkFramebufferMixedSamplesCombinationNV& src)
27565 {
27566     if (&src == this) return *this;
27567 
27568     if (pNext)
27569         FreePnextChain(pNext);
27570 
27571     sType = src.sType;
27572     coverageReductionMode = src.coverageReductionMode;
27573     rasterizationSamples = src.rasterizationSamples;
27574     depthStencilSamples = src.depthStencilSamples;
27575     colorSamples = src.colorSamples;
27576     pNext = SafePnextCopy(src.pNext);
27577 
27578     return *this;
27579 }
27580 
~safe_VkFramebufferMixedSamplesCombinationNV()27581 safe_VkFramebufferMixedSamplesCombinationNV::~safe_VkFramebufferMixedSamplesCombinationNV()
27582 {
27583     if (pNext)
27584         FreePnextChain(pNext);
27585 }
27586 
initialize(const VkFramebufferMixedSamplesCombinationNV * in_struct)27587 void safe_VkFramebufferMixedSamplesCombinationNV::initialize(const VkFramebufferMixedSamplesCombinationNV* in_struct)
27588 {
27589     sType = in_struct->sType;
27590     coverageReductionMode = in_struct->coverageReductionMode;
27591     rasterizationSamples = in_struct->rasterizationSamples;
27592     depthStencilSamples = in_struct->depthStencilSamples;
27593     colorSamples = in_struct->colorSamples;
27594     pNext = SafePnextCopy(in_struct->pNext);
27595 }
27596 
initialize(const safe_VkFramebufferMixedSamplesCombinationNV * src)27597 void safe_VkFramebufferMixedSamplesCombinationNV::initialize(const safe_VkFramebufferMixedSamplesCombinationNV* src)
27598 {
27599     sType = src->sType;
27600     coverageReductionMode = src->coverageReductionMode;
27601     rasterizationSamples = src->rasterizationSamples;
27602     depthStencilSamples = src->depthStencilSamples;
27603     colorSamples = src->colorSamples;
27604     pNext = SafePnextCopy(src->pNext);
27605 }
27606 
safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT * in_struct)27607 safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* in_struct) :
27608     sType(in_struct->sType),
27609     fragmentShaderSampleInterlock(in_struct->fragmentShaderSampleInterlock),
27610     fragmentShaderPixelInterlock(in_struct->fragmentShaderPixelInterlock),
27611     fragmentShaderShadingRateInterlock(in_struct->fragmentShaderShadingRateInterlock)
27612 {
27613     pNext = SafePnextCopy(in_struct->pNext);
27614 }
27615 
safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT()27616 safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT() :
27617     pNext(nullptr)
27618 {}
27619 
safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT & src)27620 safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& src)
27621 {
27622     sType = src.sType;
27623     fragmentShaderSampleInterlock = src.fragmentShaderSampleInterlock;
27624     fragmentShaderPixelInterlock = src.fragmentShaderPixelInterlock;
27625     fragmentShaderShadingRateInterlock = src.fragmentShaderShadingRateInterlock;
27626     pNext = SafePnextCopy(src.pNext);
27627 }
27628 
operator =(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT & src)27629 safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::operator=(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& src)
27630 {
27631     if (&src == this) return *this;
27632 
27633     if (pNext)
27634         FreePnextChain(pNext);
27635 
27636     sType = src.sType;
27637     fragmentShaderSampleInterlock = src.fragmentShaderSampleInterlock;
27638     fragmentShaderPixelInterlock = src.fragmentShaderPixelInterlock;
27639     fragmentShaderShadingRateInterlock = src.fragmentShaderShadingRateInterlock;
27640     pNext = SafePnextCopy(src.pNext);
27641 
27642     return *this;
27643 }
27644 
~safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT()27645 safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::~safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT()
27646 {
27647     if (pNext)
27648         FreePnextChain(pNext);
27649 }
27650 
initialize(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT * in_struct)27651 void safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::initialize(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* in_struct)
27652 {
27653     sType = in_struct->sType;
27654     fragmentShaderSampleInterlock = in_struct->fragmentShaderSampleInterlock;
27655     fragmentShaderPixelInterlock = in_struct->fragmentShaderPixelInterlock;
27656     fragmentShaderShadingRateInterlock = in_struct->fragmentShaderShadingRateInterlock;
27657     pNext = SafePnextCopy(in_struct->pNext);
27658 }
27659 
initialize(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT * src)27660 void safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::initialize(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* src)
27661 {
27662     sType = src->sType;
27663     fragmentShaderSampleInterlock = src->fragmentShaderSampleInterlock;
27664     fragmentShaderPixelInterlock = src->fragmentShaderPixelInterlock;
27665     fragmentShaderShadingRateInterlock = src->fragmentShaderShadingRateInterlock;
27666     pNext = SafePnextCopy(src->pNext);
27667 }
27668 
safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT * in_struct)27669 safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* in_struct) :
27670     sType(in_struct->sType),
27671     ycbcrImageArrays(in_struct->ycbcrImageArrays)
27672 {
27673     pNext = SafePnextCopy(in_struct->pNext);
27674 }
27675 
safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT()27676 safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT() :
27677     pNext(nullptr)
27678 {}
27679 
safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT & src)27680 safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& src)
27681 {
27682     sType = src.sType;
27683     ycbcrImageArrays = src.ycbcrImageArrays;
27684     pNext = SafePnextCopy(src.pNext);
27685 }
27686 
operator =(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT & src)27687 safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::operator=(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& src)
27688 {
27689     if (&src == this) return *this;
27690 
27691     if (pNext)
27692         FreePnextChain(pNext);
27693 
27694     sType = src.sType;
27695     ycbcrImageArrays = src.ycbcrImageArrays;
27696     pNext = SafePnextCopy(src.pNext);
27697 
27698     return *this;
27699 }
27700 
~safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT()27701 safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::~safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT()
27702 {
27703     if (pNext)
27704         FreePnextChain(pNext);
27705 }
27706 
initialize(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT * in_struct)27707 void safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::initialize(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* in_struct)
27708 {
27709     sType = in_struct->sType;
27710     ycbcrImageArrays = in_struct->ycbcrImageArrays;
27711     pNext = SafePnextCopy(in_struct->pNext);
27712 }
27713 
initialize(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT * src)27714 void safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::initialize(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* src)
27715 {
27716     sType = src->sType;
27717     ycbcrImageArrays = src->ycbcrImageArrays;
27718     pNext = SafePnextCopy(src->pNext);
27719 }
27720 #ifdef VK_USE_PLATFORM_WIN32_KHR
27721 
27722 
safe_VkSurfaceFullScreenExclusiveInfoEXT(const VkSurfaceFullScreenExclusiveInfoEXT * in_struct)27723 safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT(const VkSurfaceFullScreenExclusiveInfoEXT* in_struct) :
27724     sType(in_struct->sType),
27725     fullScreenExclusive(in_struct->fullScreenExclusive)
27726 {
27727     pNext = SafePnextCopy(in_struct->pNext);
27728 }
27729 
safe_VkSurfaceFullScreenExclusiveInfoEXT()27730 safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT() :
27731     pNext(nullptr)
27732 {}
27733 
safe_VkSurfaceFullScreenExclusiveInfoEXT(const safe_VkSurfaceFullScreenExclusiveInfoEXT & src)27734 safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT(const safe_VkSurfaceFullScreenExclusiveInfoEXT& src)
27735 {
27736     sType = src.sType;
27737     fullScreenExclusive = src.fullScreenExclusive;
27738     pNext = SafePnextCopy(src.pNext);
27739 }
27740 
operator =(const safe_VkSurfaceFullScreenExclusiveInfoEXT & src)27741 safe_VkSurfaceFullScreenExclusiveInfoEXT& safe_VkSurfaceFullScreenExclusiveInfoEXT::operator=(const safe_VkSurfaceFullScreenExclusiveInfoEXT& src)
27742 {
27743     if (&src == this) return *this;
27744 
27745     if (pNext)
27746         FreePnextChain(pNext);
27747 
27748     sType = src.sType;
27749     fullScreenExclusive = src.fullScreenExclusive;
27750     pNext = SafePnextCopy(src.pNext);
27751 
27752     return *this;
27753 }
27754 
~safe_VkSurfaceFullScreenExclusiveInfoEXT()27755 safe_VkSurfaceFullScreenExclusiveInfoEXT::~safe_VkSurfaceFullScreenExclusiveInfoEXT()
27756 {
27757     if (pNext)
27758         FreePnextChain(pNext);
27759 }
27760 
initialize(const VkSurfaceFullScreenExclusiveInfoEXT * in_struct)27761 void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const VkSurfaceFullScreenExclusiveInfoEXT* in_struct)
27762 {
27763     sType = in_struct->sType;
27764     fullScreenExclusive = in_struct->fullScreenExclusive;
27765     pNext = SafePnextCopy(in_struct->pNext);
27766 }
27767 
initialize(const safe_VkSurfaceFullScreenExclusiveInfoEXT * src)27768 void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const safe_VkSurfaceFullScreenExclusiveInfoEXT* src)
27769 {
27770     sType = src->sType;
27771     fullScreenExclusive = src->fullScreenExclusive;
27772     pNext = SafePnextCopy(src->pNext);
27773 }
27774 #endif // VK_USE_PLATFORM_WIN32_KHR
27775 
27776 #ifdef VK_USE_PLATFORM_WIN32_KHR
27777 
27778 
safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const VkSurfaceCapabilitiesFullScreenExclusiveEXT * in_struct)27779 safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const VkSurfaceCapabilitiesFullScreenExclusiveEXT* in_struct) :
27780     sType(in_struct->sType),
27781     fullScreenExclusiveSupported(in_struct->fullScreenExclusiveSupported)
27782 {
27783     pNext = SafePnextCopy(in_struct->pNext);
27784 }
27785 
safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT()27786 safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT() :
27787     pNext(nullptr)
27788 {}
27789 
safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT & src)27790 safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& src)
27791 {
27792     sType = src.sType;
27793     fullScreenExclusiveSupported = src.fullScreenExclusiveSupported;
27794     pNext = SafePnextCopy(src.pNext);
27795 }
27796 
operator =(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT & src)27797 safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::operator=(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& src)
27798 {
27799     if (&src == this) return *this;
27800 
27801     if (pNext)
27802         FreePnextChain(pNext);
27803 
27804     sType = src.sType;
27805     fullScreenExclusiveSupported = src.fullScreenExclusiveSupported;
27806     pNext = SafePnextCopy(src.pNext);
27807 
27808     return *this;
27809 }
27810 
~safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT()27811 safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::~safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT()
27812 {
27813     if (pNext)
27814         FreePnextChain(pNext);
27815 }
27816 
initialize(const VkSurfaceCapabilitiesFullScreenExclusiveEXT * in_struct)27817 void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const VkSurfaceCapabilitiesFullScreenExclusiveEXT* in_struct)
27818 {
27819     sType = in_struct->sType;
27820     fullScreenExclusiveSupported = in_struct->fullScreenExclusiveSupported;
27821     pNext = SafePnextCopy(in_struct->pNext);
27822 }
27823 
initialize(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT * src)27824 void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT* src)
27825 {
27826     sType = src->sType;
27827     fullScreenExclusiveSupported = src->fullScreenExclusiveSupported;
27828     pNext = SafePnextCopy(src->pNext);
27829 }
27830 #endif // VK_USE_PLATFORM_WIN32_KHR
27831 
27832 #ifdef VK_USE_PLATFORM_WIN32_KHR
27833 
27834 
safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const VkSurfaceFullScreenExclusiveWin32InfoEXT * in_struct)27835 safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const VkSurfaceFullScreenExclusiveWin32InfoEXT* in_struct) :
27836     sType(in_struct->sType),
27837     hmonitor(in_struct->hmonitor)
27838 {
27839     pNext = SafePnextCopy(in_struct->pNext);
27840 }
27841 
safe_VkSurfaceFullScreenExclusiveWin32InfoEXT()27842 safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT() :
27843     pNext(nullptr)
27844 {}
27845 
safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT & src)27846 safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& src)
27847 {
27848     sType = src.sType;
27849     hmonitor = src.hmonitor;
27850     pNext = SafePnextCopy(src.pNext);
27851 }
27852 
operator =(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT & src)27853 safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::operator=(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& src)
27854 {
27855     if (&src == this) return *this;
27856 
27857     if (pNext)
27858         FreePnextChain(pNext);
27859 
27860     sType = src.sType;
27861     hmonitor = src.hmonitor;
27862     pNext = SafePnextCopy(src.pNext);
27863 
27864     return *this;
27865 }
27866 
~safe_VkSurfaceFullScreenExclusiveWin32InfoEXT()27867 safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::~safe_VkSurfaceFullScreenExclusiveWin32InfoEXT()
27868 {
27869     if (pNext)
27870         FreePnextChain(pNext);
27871 }
27872 
initialize(const VkSurfaceFullScreenExclusiveWin32InfoEXT * in_struct)27873 void safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::initialize(const VkSurfaceFullScreenExclusiveWin32InfoEXT* in_struct)
27874 {
27875     sType = in_struct->sType;
27876     hmonitor = in_struct->hmonitor;
27877     pNext = SafePnextCopy(in_struct->pNext);
27878 }
27879 
initialize(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT * src)27880 void safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::initialize(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT* src)
27881 {
27882     sType = src->sType;
27883     hmonitor = src->hmonitor;
27884     pNext = SafePnextCopy(src->pNext);
27885 }
27886 #endif // VK_USE_PLATFORM_WIN32_KHR
27887 
27888 
safe_VkHeadlessSurfaceCreateInfoEXT(const VkHeadlessSurfaceCreateInfoEXT * in_struct)27889 safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT(const VkHeadlessSurfaceCreateInfoEXT* in_struct) :
27890     sType(in_struct->sType),
27891     flags(in_struct->flags)
27892 {
27893     pNext = SafePnextCopy(in_struct->pNext);
27894 }
27895 
safe_VkHeadlessSurfaceCreateInfoEXT()27896 safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT() :
27897     pNext(nullptr)
27898 {}
27899 
safe_VkHeadlessSurfaceCreateInfoEXT(const safe_VkHeadlessSurfaceCreateInfoEXT & src)27900 safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT(const safe_VkHeadlessSurfaceCreateInfoEXT& src)
27901 {
27902     sType = src.sType;
27903     flags = src.flags;
27904     pNext = SafePnextCopy(src.pNext);
27905 }
27906 
operator =(const safe_VkHeadlessSurfaceCreateInfoEXT & src)27907 safe_VkHeadlessSurfaceCreateInfoEXT& safe_VkHeadlessSurfaceCreateInfoEXT::operator=(const safe_VkHeadlessSurfaceCreateInfoEXT& src)
27908 {
27909     if (&src == this) return *this;
27910 
27911     if (pNext)
27912         FreePnextChain(pNext);
27913 
27914     sType = src.sType;
27915     flags = src.flags;
27916     pNext = SafePnextCopy(src.pNext);
27917 
27918     return *this;
27919 }
27920 
~safe_VkHeadlessSurfaceCreateInfoEXT()27921 safe_VkHeadlessSurfaceCreateInfoEXT::~safe_VkHeadlessSurfaceCreateInfoEXT()
27922 {
27923     if (pNext)
27924         FreePnextChain(pNext);
27925 }
27926 
initialize(const VkHeadlessSurfaceCreateInfoEXT * in_struct)27927 void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const VkHeadlessSurfaceCreateInfoEXT* in_struct)
27928 {
27929     sType = in_struct->sType;
27930     flags = in_struct->flags;
27931     pNext = SafePnextCopy(in_struct->pNext);
27932 }
27933 
initialize(const safe_VkHeadlessSurfaceCreateInfoEXT * src)27934 void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const safe_VkHeadlessSurfaceCreateInfoEXT* src)
27935 {
27936     sType = src->sType;
27937     flags = src->flags;
27938     pNext = SafePnextCopy(src->pNext);
27939 }
27940 
safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const VkPhysicalDeviceLineRasterizationFeaturesEXT * in_struct)27941 safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct) :
27942     sType(in_struct->sType),
27943     rectangularLines(in_struct->rectangularLines),
27944     bresenhamLines(in_struct->bresenhamLines),
27945     smoothLines(in_struct->smoothLines),
27946     stippledRectangularLines(in_struct->stippledRectangularLines),
27947     stippledBresenhamLines(in_struct->stippledBresenhamLines),
27948     stippledSmoothLines(in_struct->stippledSmoothLines)
27949 {
27950     pNext = SafePnextCopy(in_struct->pNext);
27951 }
27952 
safe_VkPhysicalDeviceLineRasterizationFeaturesEXT()27953 safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT() :
27954     pNext(nullptr)
27955 {}
27956 
safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT & src)27957 safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& src)
27958 {
27959     sType = src.sType;
27960     rectangularLines = src.rectangularLines;
27961     bresenhamLines = src.bresenhamLines;
27962     smoothLines = src.smoothLines;
27963     stippledRectangularLines = src.stippledRectangularLines;
27964     stippledBresenhamLines = src.stippledBresenhamLines;
27965     stippledSmoothLines = src.stippledSmoothLines;
27966     pNext = SafePnextCopy(src.pNext);
27967 }
27968 
operator =(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT & src)27969 safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::operator=(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& src)
27970 {
27971     if (&src == this) return *this;
27972 
27973     if (pNext)
27974         FreePnextChain(pNext);
27975 
27976     sType = src.sType;
27977     rectangularLines = src.rectangularLines;
27978     bresenhamLines = src.bresenhamLines;
27979     smoothLines = src.smoothLines;
27980     stippledRectangularLines = src.stippledRectangularLines;
27981     stippledBresenhamLines = src.stippledBresenhamLines;
27982     stippledSmoothLines = src.stippledSmoothLines;
27983     pNext = SafePnextCopy(src.pNext);
27984 
27985     return *this;
27986 }
27987 
~safe_VkPhysicalDeviceLineRasterizationFeaturesEXT()27988 safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::~safe_VkPhysicalDeviceLineRasterizationFeaturesEXT()
27989 {
27990     if (pNext)
27991         FreePnextChain(pNext);
27992 }
27993 
initialize(const VkPhysicalDeviceLineRasterizationFeaturesEXT * in_struct)27994 void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct)
27995 {
27996     sType = in_struct->sType;
27997     rectangularLines = in_struct->rectangularLines;
27998     bresenhamLines = in_struct->bresenhamLines;
27999     smoothLines = in_struct->smoothLines;
28000     stippledRectangularLines = in_struct->stippledRectangularLines;
28001     stippledBresenhamLines = in_struct->stippledBresenhamLines;
28002     stippledSmoothLines = in_struct->stippledSmoothLines;
28003     pNext = SafePnextCopy(in_struct->pNext);
28004 }
28005 
initialize(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT * src)28006 void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT* src)
28007 {
28008     sType = src->sType;
28009     rectangularLines = src->rectangularLines;
28010     bresenhamLines = src->bresenhamLines;
28011     smoothLines = src->smoothLines;
28012     stippledRectangularLines = src->stippledRectangularLines;
28013     stippledBresenhamLines = src->stippledBresenhamLines;
28014     stippledSmoothLines = src->stippledSmoothLines;
28015     pNext = SafePnextCopy(src->pNext);
28016 }
28017 
safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const VkPhysicalDeviceLineRasterizationPropertiesEXT * in_struct)28018 safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct) :
28019     sType(in_struct->sType),
28020     lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits)
28021 {
28022     pNext = SafePnextCopy(in_struct->pNext);
28023 }
28024 
safe_VkPhysicalDeviceLineRasterizationPropertiesEXT()28025 safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT() :
28026     pNext(nullptr)
28027 {}
28028 
safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT & src)28029 safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& src)
28030 {
28031     sType = src.sType;
28032     lineSubPixelPrecisionBits = src.lineSubPixelPrecisionBits;
28033     pNext = SafePnextCopy(src.pNext);
28034 }
28035 
operator =(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT & src)28036 safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::operator=(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& src)
28037 {
28038     if (&src == this) return *this;
28039 
28040     if (pNext)
28041         FreePnextChain(pNext);
28042 
28043     sType = src.sType;
28044     lineSubPixelPrecisionBits = src.lineSubPixelPrecisionBits;
28045     pNext = SafePnextCopy(src.pNext);
28046 
28047     return *this;
28048 }
28049 
~safe_VkPhysicalDeviceLineRasterizationPropertiesEXT()28050 safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::~safe_VkPhysicalDeviceLineRasterizationPropertiesEXT()
28051 {
28052     if (pNext)
28053         FreePnextChain(pNext);
28054 }
28055 
initialize(const VkPhysicalDeviceLineRasterizationPropertiesEXT * in_struct)28056 void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct)
28057 {
28058     sType = in_struct->sType;
28059     lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits;
28060     pNext = SafePnextCopy(in_struct->pNext);
28061 }
28062 
initialize(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT * src)28063 void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT* src)
28064 {
28065     sType = src->sType;
28066     lineSubPixelPrecisionBits = src->lineSubPixelPrecisionBits;
28067     pNext = SafePnextCopy(src->pNext);
28068 }
28069 
safe_VkPipelineRasterizationLineStateCreateInfoEXT(const VkPipelineRasterizationLineStateCreateInfoEXT * in_struct)28070 safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct) :
28071     sType(in_struct->sType),
28072     lineRasterizationMode(in_struct->lineRasterizationMode),
28073     stippledLineEnable(in_struct->stippledLineEnable),
28074     lineStippleFactor(in_struct->lineStippleFactor),
28075     lineStipplePattern(in_struct->lineStipplePattern)
28076 {
28077     pNext = SafePnextCopy(in_struct->pNext);
28078 }
28079 
safe_VkPipelineRasterizationLineStateCreateInfoEXT()28080 safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT() :
28081     pNext(nullptr)
28082 {}
28083 
safe_VkPipelineRasterizationLineStateCreateInfoEXT(const safe_VkPipelineRasterizationLineStateCreateInfoEXT & src)28084 safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& src)
28085 {
28086     sType = src.sType;
28087     lineRasterizationMode = src.lineRasterizationMode;
28088     stippledLineEnable = src.stippledLineEnable;
28089     lineStippleFactor = src.lineStippleFactor;
28090     lineStipplePattern = src.lineStipplePattern;
28091     pNext = SafePnextCopy(src.pNext);
28092 }
28093 
operator =(const safe_VkPipelineRasterizationLineStateCreateInfoEXT & src)28094 safe_VkPipelineRasterizationLineStateCreateInfoEXT& safe_VkPipelineRasterizationLineStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& src)
28095 {
28096     if (&src == this) return *this;
28097 
28098     if (pNext)
28099         FreePnextChain(pNext);
28100 
28101     sType = src.sType;
28102     lineRasterizationMode = src.lineRasterizationMode;
28103     stippledLineEnable = src.stippledLineEnable;
28104     lineStippleFactor = src.lineStippleFactor;
28105     lineStipplePattern = src.lineStipplePattern;
28106     pNext = SafePnextCopy(src.pNext);
28107 
28108     return *this;
28109 }
28110 
~safe_VkPipelineRasterizationLineStateCreateInfoEXT()28111 safe_VkPipelineRasterizationLineStateCreateInfoEXT::~safe_VkPipelineRasterizationLineStateCreateInfoEXT()
28112 {
28113     if (pNext)
28114         FreePnextChain(pNext);
28115 }
28116 
initialize(const VkPipelineRasterizationLineStateCreateInfoEXT * in_struct)28117 void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct)
28118 {
28119     sType = in_struct->sType;
28120     lineRasterizationMode = in_struct->lineRasterizationMode;
28121     stippledLineEnable = in_struct->stippledLineEnable;
28122     lineStippleFactor = in_struct->lineStippleFactor;
28123     lineStipplePattern = in_struct->lineStipplePattern;
28124     pNext = SafePnextCopy(in_struct->pNext);
28125 }
28126 
initialize(const safe_VkPipelineRasterizationLineStateCreateInfoEXT * src)28127 void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationLineStateCreateInfoEXT* src)
28128 {
28129     sType = src->sType;
28130     lineRasterizationMode = src->lineRasterizationMode;
28131     stippledLineEnable = src->stippledLineEnable;
28132     lineStippleFactor = src->lineStippleFactor;
28133     lineStipplePattern = src->lineStipplePattern;
28134     pNext = SafePnextCopy(src->pNext);
28135 }
28136 
safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const VkPhysicalDeviceHostQueryResetFeaturesEXT * in_struct)28137 safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const VkPhysicalDeviceHostQueryResetFeaturesEXT* in_struct) :
28138     sType(in_struct->sType),
28139     hostQueryReset(in_struct->hostQueryReset)
28140 {
28141     pNext = SafePnextCopy(in_struct->pNext);
28142 }
28143 
safe_VkPhysicalDeviceHostQueryResetFeaturesEXT()28144 safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT() :
28145     pNext(nullptr)
28146 {}
28147 
safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT & src)28148 safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& src)
28149 {
28150     sType = src.sType;
28151     hostQueryReset = src.hostQueryReset;
28152     pNext = SafePnextCopy(src.pNext);
28153 }
28154 
operator =(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT & src)28155 safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::operator=(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& src)
28156 {
28157     if (&src == this) return *this;
28158 
28159     if (pNext)
28160         FreePnextChain(pNext);
28161 
28162     sType = src.sType;
28163     hostQueryReset = src.hostQueryReset;
28164     pNext = SafePnextCopy(src.pNext);
28165 
28166     return *this;
28167 }
28168 
~safe_VkPhysicalDeviceHostQueryResetFeaturesEXT()28169 safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::~safe_VkPhysicalDeviceHostQueryResetFeaturesEXT()
28170 {
28171     if (pNext)
28172         FreePnextChain(pNext);
28173 }
28174 
initialize(const VkPhysicalDeviceHostQueryResetFeaturesEXT * in_struct)28175 void safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::initialize(const VkPhysicalDeviceHostQueryResetFeaturesEXT* in_struct)
28176 {
28177     sType = in_struct->sType;
28178     hostQueryReset = in_struct->hostQueryReset;
28179     pNext = SafePnextCopy(in_struct->pNext);
28180 }
28181 
initialize(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT * src)28182 void safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::initialize(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT* src)
28183 {
28184     sType = src->sType;
28185     hostQueryReset = src->hostQueryReset;
28186     pNext = SafePnextCopy(src->pNext);
28187 }
28188 
safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * in_struct)28189 safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct) :
28190     sType(in_struct->sType),
28191     indexTypeUint8(in_struct->indexTypeUint8)
28192 {
28193     pNext = SafePnextCopy(in_struct->pNext);
28194 }
28195 
safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT()28196 safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT() :
28197     pNext(nullptr)
28198 {}
28199 
safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT & src)28200 safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& src)
28201 {
28202     sType = src.sType;
28203     indexTypeUint8 = src.indexTypeUint8;
28204     pNext = SafePnextCopy(src.pNext);
28205 }
28206 
operator =(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT & src)28207 safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::operator=(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& src)
28208 {
28209     if (&src == this) return *this;
28210 
28211     if (pNext)
28212         FreePnextChain(pNext);
28213 
28214     sType = src.sType;
28215     indexTypeUint8 = src.indexTypeUint8;
28216     pNext = SafePnextCopy(src.pNext);
28217 
28218     return *this;
28219 }
28220 
~safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT()28221 safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::~safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT()
28222 {
28223     if (pNext)
28224         FreePnextChain(pNext);
28225 }
28226 
initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * in_struct)28227 void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct)
28228 {
28229     sType = in_struct->sType;
28230     indexTypeUint8 = in_struct->indexTypeUint8;
28231     pNext = SafePnextCopy(in_struct->pNext);
28232 }
28233 
initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT * src)28234 void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT* src)
28235 {
28236     sType = src->sType;
28237     indexTypeUint8 = src->indexTypeUint8;
28238     pNext = SafePnextCopy(src->pNext);
28239 }
28240 
safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT * in_struct)28241 safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* in_struct) :
28242     sType(in_struct->sType),
28243     shaderDemoteToHelperInvocation(in_struct->shaderDemoteToHelperInvocation)
28244 {
28245     pNext = SafePnextCopy(in_struct->pNext);
28246 }
28247 
safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT()28248 safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT() :
28249     pNext(nullptr)
28250 {}
28251 
safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT & src)28252 safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& src)
28253 {
28254     sType = src.sType;
28255     shaderDemoteToHelperInvocation = src.shaderDemoteToHelperInvocation;
28256     pNext = SafePnextCopy(src.pNext);
28257 }
28258 
operator =(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT & src)28259 safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::operator=(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& src)
28260 {
28261     if (&src == this) return *this;
28262 
28263     if (pNext)
28264         FreePnextChain(pNext);
28265 
28266     sType = src.sType;
28267     shaderDemoteToHelperInvocation = src.shaderDemoteToHelperInvocation;
28268     pNext = SafePnextCopy(src.pNext);
28269 
28270     return *this;
28271 }
28272 
~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT()28273 safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT()
28274 {
28275     if (pNext)
28276         FreePnextChain(pNext);
28277 }
28278 
initialize(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT * in_struct)28279 void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::initialize(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* in_struct)
28280 {
28281     sType = in_struct->sType;
28282     shaderDemoteToHelperInvocation = in_struct->shaderDemoteToHelperInvocation;
28283     pNext = SafePnextCopy(in_struct->pNext);
28284 }
28285 
initialize(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT * src)28286 void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::initialize(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* src)
28287 {
28288     sType = src->sType;
28289     shaderDemoteToHelperInvocation = src->shaderDemoteToHelperInvocation;
28290     pNext = SafePnextCopy(src->pNext);
28291 }
28292 
safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * in_struct)28293 safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct) :
28294     sType(in_struct->sType),
28295     texelBufferAlignment(in_struct->texelBufferAlignment)
28296 {
28297     pNext = SafePnextCopy(in_struct->pNext);
28298 }
28299 
safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT()28300 safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT() :
28301     pNext(nullptr)
28302 {}
28303 
safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT & src)28304 safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& src)
28305 {
28306     sType = src.sType;
28307     texelBufferAlignment = src.texelBufferAlignment;
28308     pNext = SafePnextCopy(src.pNext);
28309 }
28310 
operator =(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT & src)28311 safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::operator=(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& src)
28312 {
28313     if (&src == this) return *this;
28314 
28315     if (pNext)
28316         FreePnextChain(pNext);
28317 
28318     sType = src.sType;
28319     texelBufferAlignment = src.texelBufferAlignment;
28320     pNext = SafePnextCopy(src.pNext);
28321 
28322     return *this;
28323 }
28324 
~safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT()28325 safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::~safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT()
28326 {
28327     if (pNext)
28328         FreePnextChain(pNext);
28329 }
28330 
initialize(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * in_struct)28331 void safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::initialize(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct)
28332 {
28333     sType = in_struct->sType;
28334     texelBufferAlignment = in_struct->texelBufferAlignment;
28335     pNext = SafePnextCopy(in_struct->pNext);
28336 }
28337 
initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * src)28338 void safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* src)
28339 {
28340     sType = src->sType;
28341     texelBufferAlignment = src->texelBufferAlignment;
28342     pNext = SafePnextCopy(src->pNext);
28343 }
28344 
safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT * in_struct)28345 safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* in_struct) :
28346     sType(in_struct->sType),
28347     storageTexelBufferOffsetAlignmentBytes(in_struct->storageTexelBufferOffsetAlignmentBytes),
28348     storageTexelBufferOffsetSingleTexelAlignment(in_struct->storageTexelBufferOffsetSingleTexelAlignment),
28349     uniformTexelBufferOffsetAlignmentBytes(in_struct->uniformTexelBufferOffsetAlignmentBytes),
28350     uniformTexelBufferOffsetSingleTexelAlignment(in_struct->uniformTexelBufferOffsetSingleTexelAlignment)
28351 {
28352     pNext = SafePnextCopy(in_struct->pNext);
28353 }
28354 
safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT()28355 safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT() :
28356     pNext(nullptr)
28357 {}
28358 
safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT & src)28359 safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& src)
28360 {
28361     sType = src.sType;
28362     storageTexelBufferOffsetAlignmentBytes = src.storageTexelBufferOffsetAlignmentBytes;
28363     storageTexelBufferOffsetSingleTexelAlignment = src.storageTexelBufferOffsetSingleTexelAlignment;
28364     uniformTexelBufferOffsetAlignmentBytes = src.uniformTexelBufferOffsetAlignmentBytes;
28365     uniformTexelBufferOffsetSingleTexelAlignment = src.uniformTexelBufferOffsetSingleTexelAlignment;
28366     pNext = SafePnextCopy(src.pNext);
28367 }
28368 
operator =(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT & src)28369 safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::operator=(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& src)
28370 {
28371     if (&src == this) return *this;
28372 
28373     if (pNext)
28374         FreePnextChain(pNext);
28375 
28376     sType = src.sType;
28377     storageTexelBufferOffsetAlignmentBytes = src.storageTexelBufferOffsetAlignmentBytes;
28378     storageTexelBufferOffsetSingleTexelAlignment = src.storageTexelBufferOffsetSingleTexelAlignment;
28379     uniformTexelBufferOffsetAlignmentBytes = src.uniformTexelBufferOffsetAlignmentBytes;
28380     uniformTexelBufferOffsetSingleTexelAlignment = src.uniformTexelBufferOffsetSingleTexelAlignment;
28381     pNext = SafePnextCopy(src.pNext);
28382 
28383     return *this;
28384 }
28385 
~safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT()28386 safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::~safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT()
28387 {
28388     if (pNext)
28389         FreePnextChain(pNext);
28390 }
28391 
initialize(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT * in_struct)28392 void safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::initialize(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* in_struct)
28393 {
28394     sType = in_struct->sType;
28395     storageTexelBufferOffsetAlignmentBytes = in_struct->storageTexelBufferOffsetAlignmentBytes;
28396     storageTexelBufferOffsetSingleTexelAlignment = in_struct->storageTexelBufferOffsetSingleTexelAlignment;
28397     uniformTexelBufferOffsetAlignmentBytes = in_struct->uniformTexelBufferOffsetAlignmentBytes;
28398     uniformTexelBufferOffsetSingleTexelAlignment = in_struct->uniformTexelBufferOffsetSingleTexelAlignment;
28399     pNext = SafePnextCopy(in_struct->pNext);
28400 }
28401 
initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT * src)28402 void safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* src)
28403 {
28404     sType = src->sType;
28405     storageTexelBufferOffsetAlignmentBytes = src->storageTexelBufferOffsetAlignmentBytes;
28406     storageTexelBufferOffsetSingleTexelAlignment = src->storageTexelBufferOffsetSingleTexelAlignment;
28407     uniformTexelBufferOffsetAlignmentBytes = src->uniformTexelBufferOffsetAlignmentBytes;
28408     uniformTexelBufferOffsetSingleTexelAlignment = src->uniformTexelBufferOffsetSingleTexelAlignment;
28409     pNext = SafePnextCopy(src->pNext);
28410 }
28411 
SafeStringCopy(const char * in_string)28412 char *SafeStringCopy(const char *in_string) {
28413     if (nullptr == in_string) return nullptr;
28414     char* dest = new char[std::strlen(in_string) + 1];
28415     return std::strcpy(dest, in_string);
28416 }
28417 
SafePnextCopy(const void * pNext)28418 void *SafePnextCopy(const void *pNext) {
28419     if (!pNext) return nullptr;
28420 
28421     void *safe_pNext;
28422     const VkBaseOutStructure *header = reinterpret_cast<const VkBaseOutStructure *>(pNext);
28423 
28424     switch (header->sType) {
28425         // Special-case Loader Instance Struct passed to/from layer in pNext chain
28426         case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: {
28427             VkLayerInstanceCreateInfo *struct_copy = new VkLayerInstanceCreateInfo;
28428             // TODO: Uses original VkLayerInstanceLink* chain, which should be okay for our uses
28429             memcpy(struct_copy, pNext, sizeof(VkLayerInstanceCreateInfo));
28430             struct_copy->pNext = SafePnextCopy(header->pNext);
28431             safe_pNext = struct_copy;
28432             break;
28433         }
28434         // Special-case Loader Device Struct passed to/from layer in pNext chain
28435         case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: {
28436             VkLayerDeviceCreateInfo *struct_copy = new VkLayerDeviceCreateInfo;
28437             // TODO: Uses original VkLayerDeviceLink*, which should be okay for our uses
28438             memcpy(struct_copy, pNext, sizeof(VkLayerDeviceCreateInfo));
28439             struct_copy->pNext = SafePnextCopy(header->pNext);
28440             safe_pNext = struct_copy;
28441             break;
28442         }
28443         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
28444             safe_pNext = new safe_VkPhysicalDeviceSubgroupProperties(reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>(pNext));
28445             break;
28446         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
28447             safe_pNext = new safe_VkPhysicalDevice16BitStorageFeatures(reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>(pNext));
28448             break;
28449         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
28450             safe_pNext = new safe_VkMemoryDedicatedRequirements(reinterpret_cast<const VkMemoryDedicatedRequirements *>(pNext));
28451             break;
28452         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
28453             safe_pNext = new safe_VkMemoryDedicatedAllocateInfo(reinterpret_cast<const VkMemoryDedicatedAllocateInfo *>(pNext));
28454             break;
28455         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
28456             safe_pNext = new safe_VkMemoryAllocateFlagsInfo(reinterpret_cast<const VkMemoryAllocateFlagsInfo *>(pNext));
28457             break;
28458         case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
28459             safe_pNext = new safe_VkDeviceGroupRenderPassBeginInfo(reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>(pNext));
28460             break;
28461         case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
28462             safe_pNext = new safe_VkDeviceGroupCommandBufferBeginInfo(reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>(pNext));
28463             break;
28464         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
28465             safe_pNext = new safe_VkDeviceGroupSubmitInfo(reinterpret_cast<const VkDeviceGroupSubmitInfo *>(pNext));
28466             break;
28467         case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
28468             safe_pNext = new safe_VkDeviceGroupBindSparseInfo(reinterpret_cast<const VkDeviceGroupBindSparseInfo *>(pNext));
28469             break;
28470         case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
28471             safe_pNext = new safe_VkBindBufferMemoryDeviceGroupInfo(reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>(pNext));
28472             break;
28473         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
28474             safe_pNext = new safe_VkBindImageMemoryDeviceGroupInfo(reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>(pNext));
28475             break;
28476         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
28477             safe_pNext = new safe_VkDeviceGroupDeviceCreateInfo(reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>(pNext));
28478             break;
28479         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
28480             safe_pNext = new safe_VkPhysicalDeviceFeatures2(reinterpret_cast<const VkPhysicalDeviceFeatures2 *>(pNext));
28481             break;
28482         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
28483             safe_pNext = new safe_VkPhysicalDevicePointClippingProperties(reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>(pNext));
28484             break;
28485         case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
28486             safe_pNext = new safe_VkRenderPassInputAttachmentAspectCreateInfo(reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>(pNext));
28487             break;
28488         case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
28489             safe_pNext = new safe_VkImageViewUsageCreateInfo(reinterpret_cast<const VkImageViewUsageCreateInfo *>(pNext));
28490             break;
28491         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
28492             safe_pNext = new safe_VkPipelineTessellationDomainOriginStateCreateInfo(reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>(pNext));
28493             break;
28494         case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
28495             safe_pNext = new safe_VkRenderPassMultiviewCreateInfo(reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>(pNext));
28496             break;
28497         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
28498             safe_pNext = new safe_VkPhysicalDeviceMultiviewFeatures(reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>(pNext));
28499             break;
28500         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
28501             safe_pNext = new safe_VkPhysicalDeviceMultiviewProperties(reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>(pNext));
28502             break;
28503         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
28504             safe_pNext = new safe_VkPhysicalDeviceVariablePointersFeatures(reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>(pNext));
28505             break;
28506         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
28507             safe_pNext = new safe_VkPhysicalDeviceProtectedMemoryFeatures(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>(pNext));
28508             break;
28509         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
28510             safe_pNext = new safe_VkPhysicalDeviceProtectedMemoryProperties(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties *>(pNext));
28511             break;
28512         case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
28513             safe_pNext = new safe_VkProtectedSubmitInfo(reinterpret_cast<const VkProtectedSubmitInfo *>(pNext));
28514             break;
28515         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
28516             safe_pNext = new safe_VkSamplerYcbcrConversionInfo(reinterpret_cast<const VkSamplerYcbcrConversionInfo *>(pNext));
28517             break;
28518         case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
28519             safe_pNext = new safe_VkBindImagePlaneMemoryInfo(reinterpret_cast<const VkBindImagePlaneMemoryInfo *>(pNext));
28520             break;
28521         case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
28522             safe_pNext = new safe_VkImagePlaneMemoryRequirementsInfo(reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>(pNext));
28523             break;
28524         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
28525             safe_pNext = new safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(pNext));
28526             break;
28527         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
28528             safe_pNext = new safe_VkSamplerYcbcrConversionImageFormatProperties(reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>(pNext));
28529             break;
28530         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
28531             safe_pNext = new safe_VkPhysicalDeviceExternalImageFormatInfo(reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>(pNext));
28532             break;
28533         case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
28534             safe_pNext = new safe_VkExternalImageFormatProperties(reinterpret_cast<const VkExternalImageFormatProperties *>(pNext));
28535             break;
28536         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
28537             safe_pNext = new safe_VkPhysicalDeviceIDProperties(reinterpret_cast<const VkPhysicalDeviceIDProperties *>(pNext));
28538             break;
28539         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
28540             safe_pNext = new safe_VkExternalMemoryImageCreateInfo(reinterpret_cast<const VkExternalMemoryImageCreateInfo *>(pNext));
28541             break;
28542         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
28543             safe_pNext = new safe_VkExternalMemoryBufferCreateInfo(reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>(pNext));
28544             break;
28545         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
28546             safe_pNext = new safe_VkExportMemoryAllocateInfo(reinterpret_cast<const VkExportMemoryAllocateInfo *>(pNext));
28547             break;
28548         case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
28549             safe_pNext = new safe_VkExportFenceCreateInfo(reinterpret_cast<const VkExportFenceCreateInfo *>(pNext));
28550             break;
28551         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
28552             safe_pNext = new safe_VkExportSemaphoreCreateInfo(reinterpret_cast<const VkExportSemaphoreCreateInfo *>(pNext));
28553             break;
28554         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
28555             safe_pNext = new safe_VkPhysicalDeviceMaintenance3Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>(pNext));
28556             break;
28557         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
28558             safe_pNext = new safe_VkPhysicalDeviceShaderDrawParametersFeatures(reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures *>(pNext));
28559             break;
28560         case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
28561             safe_pNext = new safe_VkImageSwapchainCreateInfoKHR(reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>(pNext));
28562             break;
28563         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
28564             safe_pNext = new safe_VkBindImageMemorySwapchainInfoKHR(reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>(pNext));
28565             break;
28566         case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
28567             safe_pNext = new safe_VkDeviceGroupPresentInfoKHR(reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>(pNext));
28568             break;
28569         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
28570             safe_pNext = new safe_VkDeviceGroupSwapchainCreateInfoKHR(reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>(pNext));
28571             break;
28572         case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
28573             safe_pNext = new safe_VkDisplayPresentInfoKHR(reinterpret_cast<const VkDisplayPresentInfoKHR *>(pNext));
28574             break;
28575         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
28576             safe_pNext = new safe_VkImportMemoryFdInfoKHR(reinterpret_cast<const VkImportMemoryFdInfoKHR *>(pNext));
28577             break;
28578         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
28579             safe_pNext = new safe_VkPhysicalDevicePushDescriptorPropertiesKHR(reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR *>(pNext));
28580             break;
28581         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR:
28582             safe_pNext = new safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *>(pNext));
28583             break;
28584         case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
28585             safe_pNext = new safe_VkPresentRegionsKHR(reinterpret_cast<const VkPresentRegionsKHR *>(pNext));
28586             break;
28587         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR:
28588             safe_pNext = new safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeaturesKHR *>(pNext));
28589             break;
28590         case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR:
28591             safe_pNext = new safe_VkFramebufferAttachmentsCreateInfoKHR(reinterpret_cast<const VkFramebufferAttachmentsCreateInfoKHR *>(pNext));
28592             break;
28593         case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR:
28594             safe_pNext = new safe_VkRenderPassAttachmentBeginInfoKHR(reinterpret_cast<const VkRenderPassAttachmentBeginInfoKHR *>(pNext));
28595             break;
28596         case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
28597             safe_pNext = new safe_VkSharedPresentSurfaceCapabilitiesKHR(reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR *>(pNext));
28598             break;
28599         case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
28600             safe_pNext = new safe_VkImageFormatListCreateInfoKHR(reinterpret_cast<const VkImageFormatListCreateInfoKHR *>(pNext));
28601             break;
28602         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
28603             safe_pNext = new safe_VkPhysicalDevice8BitStorageFeaturesKHR(reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR *>(pNext));
28604             break;
28605         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR:
28606             safe_pNext = new safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *>(pNext));
28607             break;
28608         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR:
28609             safe_pNext = new safe_VkPhysicalDeviceDriverPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceDriverPropertiesKHR *>(pNext));
28610             break;
28611         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR:
28612             safe_pNext = new safe_VkPhysicalDeviceFloatControlsPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceFloatControlsPropertiesKHR *>(pNext));
28613             break;
28614         case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR:
28615             safe_pNext = new safe_VkSubpassDescriptionDepthStencilResolveKHR(reinterpret_cast<const VkSubpassDescriptionDepthStencilResolveKHR *>(pNext));
28616             break;
28617         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR:
28618             safe_pNext = new safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(reinterpret_cast<const VkPhysicalDeviceDepthStencilResolvePropertiesKHR *>(pNext));
28619             break;
28620         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR:
28621             safe_pNext = new safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *>(pNext));
28622             break;
28623         case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR:
28624             safe_pNext = new safe_VkSurfaceProtectedCapabilitiesKHR(reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR *>(pNext));
28625             break;
28626         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR:
28627             safe_pNext = new safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *>(pNext));
28628             break;
28629         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
28630             safe_pNext = new safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>(pNext));
28631             break;
28632         case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
28633             safe_pNext = new safe_VkDebugReportCallbackCreateInfoEXT(reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(pNext));
28634             break;
28635         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
28636             safe_pNext = new safe_VkPipelineRasterizationStateRasterizationOrderAMD(reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD *>(pNext));
28637             break;
28638         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
28639             safe_pNext = new safe_VkDedicatedAllocationImageCreateInfoNV(reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>(pNext));
28640             break;
28641         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
28642             safe_pNext = new safe_VkDedicatedAllocationBufferCreateInfoNV(reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>(pNext));
28643             break;
28644         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
28645             safe_pNext = new safe_VkDedicatedAllocationMemoryAllocateInfoNV(reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>(pNext));
28646             break;
28647         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
28648             safe_pNext = new safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(pNext));
28649             break;
28650         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
28651             safe_pNext = new safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(pNext));
28652             break;
28653         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
28654             safe_pNext = new safe_VkPipelineRasterizationStateStreamCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT *>(pNext));
28655             break;
28656         case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
28657             safe_pNext = new safe_VkTextureLODGatherFormatPropertiesAMD(reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD *>(pNext));
28658             break;
28659         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:
28660             safe_pNext = new safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV *>(pNext));
28661             break;
28662         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
28663             safe_pNext = new safe_VkExternalMemoryImageCreateInfoNV(reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>(pNext));
28664             break;
28665         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
28666             safe_pNext = new safe_VkExportMemoryAllocateInfoNV(reinterpret_cast<const VkExportMemoryAllocateInfoNV *>(pNext));
28667             break;
28668         case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
28669             safe_pNext = new safe_VkValidationFlagsEXT(reinterpret_cast<const VkValidationFlagsEXT *>(pNext));
28670             break;
28671         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT:
28672             safe_pNext = new safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(pNext));
28673             break;
28674         case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT:
28675             safe_pNext = new safe_VkImageViewASTCDecodeModeEXT(reinterpret_cast<const VkImageViewASTCDecodeModeEXT *>(pNext));
28676             break;
28677         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT:
28678             safe_pNext = new safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT *>(pNext));
28679             break;
28680         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
28681             safe_pNext = new safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(pNext));
28682             break;
28683         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
28684             safe_pNext = new safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(pNext));
28685             break;
28686         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
28687             safe_pNext = new safe_VkPipelineViewportWScalingStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV *>(pNext));
28688             break;
28689         case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
28690             safe_pNext = new safe_VkSwapchainCounterCreateInfoEXT(reinterpret_cast<const VkSwapchainCounterCreateInfoEXT *>(pNext));
28691             break;
28692         case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
28693             safe_pNext = new safe_VkPresentTimesInfoGOOGLE(reinterpret_cast<const VkPresentTimesInfoGOOGLE *>(pNext));
28694             break;
28695         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
28696             safe_pNext = new safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(pNext));
28697             break;
28698         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
28699             safe_pNext = new safe_VkPipelineViewportSwizzleStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV *>(pNext));
28700             break;
28701         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
28702             safe_pNext = new safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(pNext));
28703             break;
28704         case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
28705             safe_pNext = new safe_VkPipelineDiscardRectangleStateCreateInfoEXT(reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT *>(pNext));
28706             break;
28707         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
28708             safe_pNext = new safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(pNext));
28709             break;
28710         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
28711             safe_pNext = new safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT *>(pNext));
28712             break;
28713         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
28714             safe_pNext = new safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(pNext));
28715             break;
28716         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
28717             safe_pNext = new safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(pNext));
28718             break;
28719         case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
28720             safe_pNext = new safe_VkDebugUtilsMessengerCreateInfoEXT(reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(pNext));
28721             break;
28722         case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
28723             safe_pNext = new safe_VkSamplerReductionModeCreateInfoEXT(reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT *>(pNext));
28724             break;
28725         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
28726             safe_pNext = new safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *>(pNext));
28727             break;
28728         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT:
28729             safe_pNext = new safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(pNext));
28730             break;
28731         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT:
28732             safe_pNext = new safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(pNext));
28733             break;
28734         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT:
28735             safe_pNext = new safe_VkWriteDescriptorSetInlineUniformBlockEXT(reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT *>(pNext));
28736             break;
28737         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT:
28738             safe_pNext = new safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(pNext));
28739             break;
28740         case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
28741             safe_pNext = new safe_VkSampleLocationsInfoEXT(reinterpret_cast<const VkSampleLocationsInfoEXT *>(pNext));
28742             break;
28743         case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
28744             safe_pNext = new safe_VkRenderPassSampleLocationsBeginInfoEXT(reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT *>(pNext));
28745             break;
28746         case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
28747             safe_pNext = new safe_VkPipelineSampleLocationsStateCreateInfoEXT(reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT *>(pNext));
28748             break;
28749         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
28750             safe_pNext = new safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT *>(pNext));
28751             break;
28752         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
28753             safe_pNext = new safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(pNext));
28754             break;
28755         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
28756             safe_pNext = new safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(pNext));
28757             break;
28758         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
28759             safe_pNext = new safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(pNext));
28760             break;
28761         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
28762             safe_pNext = new safe_VkPipelineCoverageToColorStateCreateInfoNV(reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV *>(pNext));
28763             break;
28764         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
28765             safe_pNext = new safe_VkPipelineCoverageModulationStateCreateInfoNV(reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV *>(pNext));
28766             break;
28767         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV:
28768             safe_pNext = new safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(pNext));
28769             break;
28770         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
28771             safe_pNext = new safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(pNext));
28772             break;
28773         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
28774             safe_pNext = new safe_VkDrmFormatModifierPropertiesListEXT(reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>(pNext));
28775             break;
28776         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
28777             safe_pNext = new safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(pNext));
28778             break;
28779         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
28780             safe_pNext = new safe_VkImageDrmFormatModifierListCreateInfoEXT(reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT *>(pNext));
28781             break;
28782         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
28783             safe_pNext = new safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT *>(pNext));
28784             break;
28785         case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
28786             safe_pNext = new safe_VkShaderModuleValidationCacheCreateInfoEXT(reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT *>(pNext));
28787             break;
28788         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
28789             safe_pNext = new safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *>(pNext));
28790             break;
28791         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
28792             safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT *>(pNext));
28793             break;
28794         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
28795             safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT *>(pNext));
28796             break;
28797         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
28798             safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *>(pNext));
28799             break;
28800         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
28801             safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *>(pNext));
28802             break;
28803         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
28804             safe_pNext = new safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV *>(pNext));
28805             break;
28806         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV:
28807             safe_pNext = new safe_VkPhysicalDeviceShadingRateImageFeaturesNV(reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV *>(pNext));
28808             break;
28809         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV:
28810             safe_pNext = new safe_VkPhysicalDeviceShadingRateImagePropertiesNV(reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV *>(pNext));
28811             break;
28812         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
28813             safe_pNext = new safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(pNext));
28814             break;
28815         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV:
28816             safe_pNext = new safe_VkWriteDescriptorSetAccelerationStructureNV(reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV *>(pNext));
28817             break;
28818         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV:
28819             safe_pNext = new safe_VkPhysicalDeviceRayTracingPropertiesNV(reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV *>(pNext));
28820             break;
28821         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
28822             safe_pNext = new safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(pNext));
28823             break;
28824         case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
28825             safe_pNext = new safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(pNext));
28826             break;
28827         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT:
28828             safe_pNext = new safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT *>(pNext));
28829             break;
28830         case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT:
28831             safe_pNext = new safe_VkFilterCubicImageViewImageFormatPropertiesEXT(reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>(pNext));
28832             break;
28833         case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
28834             safe_pNext = new safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT *>(pNext));
28835             break;
28836         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
28837             safe_pNext = new safe_VkImportMemoryHostPointerInfoEXT(reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>(pNext));
28838             break;
28839         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
28840             safe_pNext = new safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(pNext));
28841             break;
28842         case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:
28843             safe_pNext = new safe_VkPipelineCompilerControlCreateInfoAMD(reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD *>(pNext));
28844             break;
28845         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
28846             safe_pNext = new safe_VkPhysicalDeviceShaderCorePropertiesAMD(reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD *>(pNext));
28847             break;
28848         case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
28849             safe_pNext = new safe_VkDeviceMemoryOverallocationCreateInfoAMD(reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>(pNext));
28850             break;
28851         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
28852             safe_pNext = new safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(pNext));
28853             break;
28854         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
28855             safe_pNext = new safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT *>(pNext));
28856             break;
28857         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
28858             safe_pNext = new safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(pNext));
28859             break;
28860         case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT:
28861             safe_pNext = new safe_VkPipelineCreationFeedbackCreateInfoEXT(reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT *>(pNext));
28862             break;
28863         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
28864             safe_pNext = new safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(pNext));
28865             break;
28866         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
28867             safe_pNext = new safe_VkPhysicalDeviceMeshShaderFeaturesNV(reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV *>(pNext));
28868             break;
28869         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:
28870             safe_pNext = new safe_VkPhysicalDeviceMeshShaderPropertiesNV(reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV *>(pNext));
28871             break;
28872         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
28873             safe_pNext = new safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(pNext));
28874             break;
28875         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:
28876             safe_pNext = new safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(pNext));
28877             break;
28878         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
28879             safe_pNext = new safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(pNext));
28880             break;
28881         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:
28882             safe_pNext = new safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV *>(pNext));
28883             break;
28884         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
28885             safe_pNext = new safe_VkQueueFamilyCheckpointPropertiesNV(reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV *>(pNext));
28886             break;
28887         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL:
28888             safe_pNext = new safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(pNext));
28889             break;
28890         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
28891             safe_pNext = new safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT *>(pNext));
28892             break;
28893         case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD:
28894             safe_pNext = new safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(pNext));
28895             break;
28896         case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
28897             safe_pNext = new safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD *>(pNext));
28898             break;
28899         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT:
28900             safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(pNext));
28901             break;
28902         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT:
28903             safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(pNext));
28904             break;
28905         case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT:
28906             safe_pNext = new safe_VkRenderPassFragmentDensityMapCreateInfoEXT(reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT *>(pNext));
28907             break;
28908         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT:
28909             safe_pNext = new safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *>(pNext));
28910             break;
28911         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT:
28912             safe_pNext = new safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(pNext));
28913             break;
28914         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT:
28915             safe_pNext = new safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(pNext));
28916             break;
28917         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT:
28918             safe_pNext = new safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(pNext));
28919             break;
28920         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD:
28921             safe_pNext = new safe_VkPhysicalDeviceShaderCoreProperties2AMD(reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD *>(pNext));
28922             break;
28923         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD:
28924             safe_pNext = new safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD(reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD *>(pNext));
28925             break;
28926         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT:
28927             safe_pNext = new safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(pNext));
28928             break;
28929         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
28930             safe_pNext = new safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(pNext));
28931             break;
28932         case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT:
28933             safe_pNext = new safe_VkMemoryPriorityAllocateInfoEXT(reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT *>(pNext));
28934             break;
28935         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
28936             safe_pNext = new safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(pNext));
28937             break;
28938         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
28939             safe_pNext = new safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(pNext));
28940             break;
28941         case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT:
28942             safe_pNext = new safe_VkBufferDeviceAddressCreateInfoEXT(reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>(pNext));
28943             break;
28944         case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT:
28945             safe_pNext = new safe_VkImageStencilUsageCreateInfoEXT(reinterpret_cast<const VkImageStencilUsageCreateInfoEXT *>(pNext));
28946             break;
28947         case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT:
28948             safe_pNext = new safe_VkValidationFeaturesEXT(reinterpret_cast<const VkValidationFeaturesEXT *>(pNext));
28949             break;
28950         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV:
28951             safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(pNext));
28952             break;
28953         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV:
28954             safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(pNext));
28955             break;
28956         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
28957             safe_pNext = new safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(pNext));
28958             break;
28959         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV:
28960             safe_pNext = new safe_VkPipelineCoverageReductionStateCreateInfoNV(reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV *>(pNext));
28961             break;
28962         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT:
28963             safe_pNext = new safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(pNext));
28964             break;
28965         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT:
28966             safe_pNext = new safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(pNext));
28967             break;
28968         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
28969             safe_pNext = new safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT *>(pNext));
28970             break;
28971         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
28972             safe_pNext = new safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT *>(pNext));
28973             break;
28974         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:
28975             safe_pNext = new safe_VkPipelineRasterizationLineStateCreateInfoEXT(reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT *>(pNext));
28976             break;
28977         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT:
28978             safe_pNext = new safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeaturesEXT *>(pNext));
28979             break;
28980         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
28981             safe_pNext = new safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(pNext));
28982             break;
28983         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT:
28984             safe_pNext = new safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(pNext));
28985             break;
28986         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
28987             safe_pNext = new safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(pNext));
28988             break;
28989         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT:
28990             safe_pNext = new safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(pNext));
28991             break;
28992 #ifdef VK_USE_PLATFORM_ANDROID_KHR
28993         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
28994             safe_pNext = new safe_VkAndroidHardwareBufferUsageANDROID(reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>(pNext));
28995             break;
28996         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
28997             safe_pNext = new safe_VkAndroidHardwareBufferFormatPropertiesANDROID(reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>(pNext));
28998             break;
28999         case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
29000             safe_pNext = new safe_VkImportAndroidHardwareBufferInfoANDROID(reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID *>(pNext));
29001             break;
29002         case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
29003             safe_pNext = new safe_VkExternalFormatANDROID(reinterpret_cast<const VkExternalFormatANDROID *>(pNext));
29004             break;
29005 #endif // VK_USE_PLATFORM_ANDROID_KHR
29006 #ifdef VK_USE_PLATFORM_GGP
29007         case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP:
29008             safe_pNext = new safe_VkPresentFrameTokenGGP(reinterpret_cast<const VkPresentFrameTokenGGP *>(pNext));
29009             break;
29010 #endif // VK_USE_PLATFORM_GGP
29011 #ifdef VK_USE_PLATFORM_WIN32_KHR
29012         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
29013             safe_pNext = new safe_VkImportMemoryWin32HandleInfoKHR(reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR *>(pNext));
29014             break;
29015         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
29016             safe_pNext = new safe_VkExportMemoryWin32HandleInfoKHR(reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>(pNext));
29017             break;
29018         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
29019             safe_pNext = new safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR *>(pNext));
29020             break;
29021         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
29022             safe_pNext = new safe_VkExportSemaphoreWin32HandleInfoKHR(reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>(pNext));
29023             break;
29024         case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
29025             safe_pNext = new safe_VkD3D12FenceSubmitInfoKHR(reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>(pNext));
29026             break;
29027         case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
29028             safe_pNext = new safe_VkExportFenceWin32HandleInfoKHR(reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>(pNext));
29029             break;
29030         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
29031             safe_pNext = new safe_VkImportMemoryWin32HandleInfoNV(reinterpret_cast<const VkImportMemoryWin32HandleInfoNV *>(pNext));
29032             break;
29033         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
29034             safe_pNext = new safe_VkExportMemoryWin32HandleInfoNV(reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>(pNext));
29035             break;
29036         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
29037             safe_pNext = new safe_VkWin32KeyedMutexAcquireReleaseInfoNV(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV *>(pNext));
29038             break;
29039         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT:
29040             safe_pNext = new safe_VkSurfaceFullScreenExclusiveInfoEXT(reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT *>(pNext));
29041             break;
29042         case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:
29043             safe_pNext = new safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(pNext));
29044             break;
29045         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:
29046             safe_pNext = new safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT *>(pNext));
29047             break;
29048 #endif // VK_USE_PLATFORM_WIN32_KHR
29049         default: // Encountered an unknown sType -- skip (do not copy) this entry in the chain
29050             safe_pNext = SafePnextCopy(header->pNext);
29051             break;
29052     }
29053 
29054     return safe_pNext;
29055 }
29056 
FreePnextChain(const void * pNext)29057 void FreePnextChain(const void *pNext) {
29058     if (!pNext) return;
29059 
29060     auto header = reinterpret_cast<const VkBaseOutStructure *>(pNext);
29061 
29062     switch (header->sType) {
29063         // Special-case Loader Instance Struct passed to/from layer in pNext chain
29064         case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO:
29065             FreePnextChain(header->pNext);
29066             delete reinterpret_cast<const VkLayerInstanceCreateInfo *>(pNext);
29067             break;
29068         // Special-case Loader Device Struct passed to/from layer in pNext chain
29069         case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO:
29070             FreePnextChain(header->pNext);
29071             delete reinterpret_cast<const VkLayerDeviceCreateInfo *>(pNext);
29072             break;
29073         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
29074             delete reinterpret_cast<const safe_VkPhysicalDeviceSubgroupProperties *>(header);
29075             break;
29076         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
29077             delete reinterpret_cast<const safe_VkPhysicalDevice16BitStorageFeatures *>(header);
29078             break;
29079         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
29080             delete reinterpret_cast<const safe_VkMemoryDedicatedRequirements *>(header);
29081             break;
29082         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
29083             delete reinterpret_cast<const safe_VkMemoryDedicatedAllocateInfo *>(header);
29084             break;
29085         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
29086             delete reinterpret_cast<const safe_VkMemoryAllocateFlagsInfo *>(header);
29087             break;
29088         case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
29089             delete reinterpret_cast<const safe_VkDeviceGroupRenderPassBeginInfo *>(header);
29090             break;
29091         case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
29092             delete reinterpret_cast<const safe_VkDeviceGroupCommandBufferBeginInfo *>(header);
29093             break;
29094         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
29095             delete reinterpret_cast<const safe_VkDeviceGroupSubmitInfo *>(header);
29096             break;
29097         case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
29098             delete reinterpret_cast<const safe_VkDeviceGroupBindSparseInfo *>(header);
29099             break;
29100         case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
29101             delete reinterpret_cast<const safe_VkBindBufferMemoryDeviceGroupInfo *>(header);
29102             break;
29103         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
29104             delete reinterpret_cast<const safe_VkBindImageMemoryDeviceGroupInfo *>(header);
29105             break;
29106         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
29107             delete reinterpret_cast<const safe_VkDeviceGroupDeviceCreateInfo *>(header);
29108             break;
29109         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
29110             delete reinterpret_cast<const safe_VkPhysicalDeviceFeatures2 *>(header);
29111             break;
29112         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
29113             delete reinterpret_cast<const safe_VkPhysicalDevicePointClippingProperties *>(header);
29114             break;
29115         case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
29116             delete reinterpret_cast<const safe_VkRenderPassInputAttachmentAspectCreateInfo *>(header);
29117             break;
29118         case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
29119             delete reinterpret_cast<const safe_VkImageViewUsageCreateInfo *>(header);
29120             break;
29121         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
29122             delete reinterpret_cast<const safe_VkPipelineTessellationDomainOriginStateCreateInfo *>(header);
29123             break;
29124         case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
29125             delete reinterpret_cast<const safe_VkRenderPassMultiviewCreateInfo *>(header);
29126             break;
29127         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
29128             delete reinterpret_cast<const safe_VkPhysicalDeviceMultiviewFeatures *>(header);
29129             break;
29130         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
29131             delete reinterpret_cast<const safe_VkPhysicalDeviceMultiviewProperties *>(header);
29132             break;
29133         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
29134             delete reinterpret_cast<const safe_VkPhysicalDeviceVariablePointersFeatures *>(header);
29135             break;
29136         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
29137             delete reinterpret_cast<const safe_VkPhysicalDeviceProtectedMemoryFeatures *>(header);
29138             break;
29139         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
29140             delete reinterpret_cast<const safe_VkPhysicalDeviceProtectedMemoryProperties *>(header);
29141             break;
29142         case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
29143             delete reinterpret_cast<const safe_VkProtectedSubmitInfo *>(header);
29144             break;
29145         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
29146             delete reinterpret_cast<const safe_VkSamplerYcbcrConversionInfo *>(header);
29147             break;
29148         case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
29149             delete reinterpret_cast<const safe_VkBindImagePlaneMemoryInfo *>(header);
29150             break;
29151         case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
29152             delete reinterpret_cast<const safe_VkImagePlaneMemoryRequirementsInfo *>(header);
29153             break;
29154         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
29155             delete reinterpret_cast<const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(header);
29156             break;
29157         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
29158             delete reinterpret_cast<const safe_VkSamplerYcbcrConversionImageFormatProperties *>(header);
29159             break;
29160         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
29161             delete reinterpret_cast<const safe_VkPhysicalDeviceExternalImageFormatInfo *>(header);
29162             break;
29163         case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
29164             delete reinterpret_cast<const safe_VkExternalImageFormatProperties *>(header);
29165             break;
29166         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
29167             delete reinterpret_cast<const safe_VkPhysicalDeviceIDProperties *>(header);
29168             break;
29169         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
29170             delete reinterpret_cast<const safe_VkExternalMemoryImageCreateInfo *>(header);
29171             break;
29172         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
29173             delete reinterpret_cast<const safe_VkExternalMemoryBufferCreateInfo *>(header);
29174             break;
29175         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
29176             delete reinterpret_cast<const safe_VkExportMemoryAllocateInfo *>(header);
29177             break;
29178         case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
29179             delete reinterpret_cast<const safe_VkExportFenceCreateInfo *>(header);
29180             break;
29181         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
29182             delete reinterpret_cast<const safe_VkExportSemaphoreCreateInfo *>(header);
29183             break;
29184         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
29185             delete reinterpret_cast<const safe_VkPhysicalDeviceMaintenance3Properties *>(header);
29186             break;
29187         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
29188             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderDrawParametersFeatures *>(header);
29189             break;
29190         case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
29191             delete reinterpret_cast<const safe_VkImageSwapchainCreateInfoKHR *>(header);
29192             break;
29193         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
29194             delete reinterpret_cast<const safe_VkBindImageMemorySwapchainInfoKHR *>(header);
29195             break;
29196         case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
29197             delete reinterpret_cast<const safe_VkDeviceGroupPresentInfoKHR *>(header);
29198             break;
29199         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
29200             delete reinterpret_cast<const safe_VkDeviceGroupSwapchainCreateInfoKHR *>(header);
29201             break;
29202         case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
29203             delete reinterpret_cast<const safe_VkDisplayPresentInfoKHR *>(header);
29204             break;
29205         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
29206             delete reinterpret_cast<const safe_VkImportMemoryFdInfoKHR *>(header);
29207             break;
29208         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
29209             delete reinterpret_cast<const safe_VkPhysicalDevicePushDescriptorPropertiesKHR *>(header);
29210             break;
29211         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR:
29212             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *>(header);
29213             break;
29214         case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
29215             delete reinterpret_cast<const safe_VkPresentRegionsKHR *>(header);
29216             break;
29217         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR:
29218             delete reinterpret_cast<const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR *>(header);
29219             break;
29220         case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR:
29221             delete reinterpret_cast<const safe_VkFramebufferAttachmentsCreateInfoKHR *>(header);
29222             break;
29223         case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR:
29224             delete reinterpret_cast<const safe_VkRenderPassAttachmentBeginInfoKHR *>(header);
29225             break;
29226         case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
29227             delete reinterpret_cast<const safe_VkSharedPresentSurfaceCapabilitiesKHR *>(header);
29228             break;
29229         case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
29230             delete reinterpret_cast<const safe_VkImageFormatListCreateInfoKHR *>(header);
29231             break;
29232         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
29233             delete reinterpret_cast<const safe_VkPhysicalDevice8BitStorageFeaturesKHR *>(header);
29234             break;
29235         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR:
29236             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *>(header);
29237             break;
29238         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR:
29239             delete reinterpret_cast<const safe_VkPhysicalDeviceDriverPropertiesKHR *>(header);
29240             break;
29241         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR:
29242             delete reinterpret_cast<const safe_VkPhysicalDeviceFloatControlsPropertiesKHR *>(header);
29243             break;
29244         case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR:
29245             delete reinterpret_cast<const safe_VkSubpassDescriptionDepthStencilResolveKHR *>(header);
29246             break;
29247         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR:
29248             delete reinterpret_cast<const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR *>(header);
29249             break;
29250         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR:
29251             delete reinterpret_cast<const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *>(header);
29252             break;
29253         case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR:
29254             delete reinterpret_cast<const safe_VkSurfaceProtectedCapabilitiesKHR *>(header);
29255             break;
29256         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR:
29257             delete reinterpret_cast<const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *>(header);
29258             break;
29259         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
29260             delete reinterpret_cast<const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>(header);
29261             break;
29262         case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
29263             delete reinterpret_cast<const safe_VkDebugReportCallbackCreateInfoEXT *>(header);
29264             break;
29265         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
29266             delete reinterpret_cast<const safe_VkPipelineRasterizationStateRasterizationOrderAMD *>(header);
29267             break;
29268         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
29269             delete reinterpret_cast<const safe_VkDedicatedAllocationImageCreateInfoNV *>(header);
29270             break;
29271         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
29272             delete reinterpret_cast<const safe_VkDedicatedAllocationBufferCreateInfoNV *>(header);
29273             break;
29274         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
29275             delete reinterpret_cast<const safe_VkDedicatedAllocationMemoryAllocateInfoNV *>(header);
29276             break;
29277         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
29278             delete reinterpret_cast<const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(header);
29279             break;
29280         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
29281             delete reinterpret_cast<const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(header);
29282             break;
29283         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
29284             delete reinterpret_cast<const safe_VkPipelineRasterizationStateStreamCreateInfoEXT *>(header);
29285             break;
29286         case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
29287             delete reinterpret_cast<const safe_VkTextureLODGatherFormatPropertiesAMD *>(header);
29288             break;
29289         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:
29290             delete reinterpret_cast<const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV *>(header);
29291             break;
29292         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
29293             delete reinterpret_cast<const safe_VkExternalMemoryImageCreateInfoNV *>(header);
29294             break;
29295         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
29296             delete reinterpret_cast<const safe_VkExportMemoryAllocateInfoNV *>(header);
29297             break;
29298         case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
29299             delete reinterpret_cast<const safe_VkValidationFlagsEXT *>(header);
29300             break;
29301         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT:
29302             delete reinterpret_cast<const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(header);
29303             break;
29304         case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT:
29305             delete reinterpret_cast<const safe_VkImageViewASTCDecodeModeEXT *>(header);
29306             break;
29307         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT:
29308             delete reinterpret_cast<const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT *>(header);
29309             break;
29310         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
29311             delete reinterpret_cast<const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(header);
29312             break;
29313         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
29314             delete reinterpret_cast<const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(header);
29315             break;
29316         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
29317             delete reinterpret_cast<const safe_VkPipelineViewportWScalingStateCreateInfoNV *>(header);
29318             break;
29319         case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
29320             delete reinterpret_cast<const safe_VkSwapchainCounterCreateInfoEXT *>(header);
29321             break;
29322         case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
29323             delete reinterpret_cast<const safe_VkPresentTimesInfoGOOGLE *>(header);
29324             break;
29325         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
29326             delete reinterpret_cast<const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(header);
29327             break;
29328         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
29329             delete reinterpret_cast<const safe_VkPipelineViewportSwizzleStateCreateInfoNV *>(header);
29330             break;
29331         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
29332             delete reinterpret_cast<const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(header);
29333             break;
29334         case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
29335             delete reinterpret_cast<const safe_VkPipelineDiscardRectangleStateCreateInfoEXT *>(header);
29336             break;
29337         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
29338             delete reinterpret_cast<const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(header);
29339             break;
29340         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
29341             delete reinterpret_cast<const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT *>(header);
29342             break;
29343         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
29344             delete reinterpret_cast<const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(header);
29345             break;
29346         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
29347             delete reinterpret_cast<const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(header);
29348             break;
29349         case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
29350             delete reinterpret_cast<const safe_VkDebugUtilsMessengerCreateInfoEXT *>(header);
29351             break;
29352         case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
29353             delete reinterpret_cast<const safe_VkSamplerReductionModeCreateInfoEXT *>(header);
29354             break;
29355         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
29356             delete reinterpret_cast<const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *>(header);
29357             break;
29358         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT:
29359             delete reinterpret_cast<const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(header);
29360             break;
29361         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT:
29362             delete reinterpret_cast<const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(header);
29363             break;
29364         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT:
29365             delete reinterpret_cast<const safe_VkWriteDescriptorSetInlineUniformBlockEXT *>(header);
29366             break;
29367         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT:
29368             delete reinterpret_cast<const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(header);
29369             break;
29370         case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
29371             delete reinterpret_cast<const safe_VkSampleLocationsInfoEXT *>(header);
29372             break;
29373         case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
29374             delete reinterpret_cast<const safe_VkRenderPassSampleLocationsBeginInfoEXT *>(header);
29375             break;
29376         case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
29377             delete reinterpret_cast<const safe_VkPipelineSampleLocationsStateCreateInfoEXT *>(header);
29378             break;
29379         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
29380             delete reinterpret_cast<const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT *>(header);
29381             break;
29382         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
29383             delete reinterpret_cast<const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(header);
29384             break;
29385         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
29386             delete reinterpret_cast<const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(header);
29387             break;
29388         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
29389             delete reinterpret_cast<const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(header);
29390             break;
29391         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
29392             delete reinterpret_cast<const safe_VkPipelineCoverageToColorStateCreateInfoNV *>(header);
29393             break;
29394         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
29395             delete reinterpret_cast<const safe_VkPipelineCoverageModulationStateCreateInfoNV *>(header);
29396             break;
29397         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV:
29398             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(header);
29399             break;
29400         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
29401             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(header);
29402             break;
29403         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
29404             delete reinterpret_cast<const safe_VkDrmFormatModifierPropertiesListEXT *>(header);
29405             break;
29406         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
29407             delete reinterpret_cast<const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(header);
29408             break;
29409         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
29410             delete reinterpret_cast<const safe_VkImageDrmFormatModifierListCreateInfoEXT *>(header);
29411             break;
29412         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
29413             delete reinterpret_cast<const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT *>(header);
29414             break;
29415         case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
29416             delete reinterpret_cast<const safe_VkShaderModuleValidationCacheCreateInfoEXT *>(header);
29417             break;
29418         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
29419             delete reinterpret_cast<const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *>(header);
29420             break;
29421         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
29422             delete reinterpret_cast<const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT *>(header);
29423             break;
29424         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
29425             delete reinterpret_cast<const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT *>(header);
29426             break;
29427         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
29428             delete reinterpret_cast<const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *>(header);
29429             break;
29430         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
29431             delete reinterpret_cast<const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *>(header);
29432             break;
29433         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
29434             delete reinterpret_cast<const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV *>(header);
29435             break;
29436         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV:
29437             delete reinterpret_cast<const safe_VkPhysicalDeviceShadingRateImageFeaturesNV *>(header);
29438             break;
29439         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV:
29440             delete reinterpret_cast<const safe_VkPhysicalDeviceShadingRateImagePropertiesNV *>(header);
29441             break;
29442         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
29443             delete reinterpret_cast<const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(header);
29444             break;
29445         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV:
29446             delete reinterpret_cast<const safe_VkWriteDescriptorSetAccelerationStructureNV *>(header);
29447             break;
29448         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV:
29449             delete reinterpret_cast<const safe_VkPhysicalDeviceRayTracingPropertiesNV *>(header);
29450             break;
29451         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
29452             delete reinterpret_cast<const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(header);
29453             break;
29454         case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
29455             delete reinterpret_cast<const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(header);
29456             break;
29457         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT:
29458             delete reinterpret_cast<const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT *>(header);
29459             break;
29460         case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT:
29461             delete reinterpret_cast<const safe_VkFilterCubicImageViewImageFormatPropertiesEXT *>(header);
29462             break;
29463         case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
29464             delete reinterpret_cast<const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT *>(header);
29465             break;
29466         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
29467             delete reinterpret_cast<const safe_VkImportMemoryHostPointerInfoEXT *>(header);
29468             break;
29469         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
29470             delete reinterpret_cast<const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(header);
29471             break;
29472         case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:
29473             delete reinterpret_cast<const safe_VkPipelineCompilerControlCreateInfoAMD *>(header);
29474             break;
29475         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
29476             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderCorePropertiesAMD *>(header);
29477             break;
29478         case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
29479             delete reinterpret_cast<const safe_VkDeviceMemoryOverallocationCreateInfoAMD *>(header);
29480             break;
29481         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
29482             delete reinterpret_cast<const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(header);
29483             break;
29484         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
29485             delete reinterpret_cast<const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT *>(header);
29486             break;
29487         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
29488             delete reinterpret_cast<const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(header);
29489             break;
29490         case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT:
29491             delete reinterpret_cast<const safe_VkPipelineCreationFeedbackCreateInfoEXT *>(header);
29492             break;
29493         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
29494             delete reinterpret_cast<const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(header);
29495             break;
29496         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
29497             delete reinterpret_cast<const safe_VkPhysicalDeviceMeshShaderFeaturesNV *>(header);
29498             break;
29499         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:
29500             delete reinterpret_cast<const safe_VkPhysicalDeviceMeshShaderPropertiesNV *>(header);
29501             break;
29502         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
29503             delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(header);
29504             break;
29505         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:
29506             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(header);
29507             break;
29508         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
29509             delete reinterpret_cast<const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(header);
29510             break;
29511         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:
29512             delete reinterpret_cast<const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV *>(header);
29513             break;
29514         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
29515             delete reinterpret_cast<const safe_VkQueueFamilyCheckpointPropertiesNV *>(header);
29516             break;
29517         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL:
29518             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(header);
29519             break;
29520         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
29521             delete reinterpret_cast<const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT *>(header);
29522             break;
29523         case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD:
29524             delete reinterpret_cast<const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(header);
29525             break;
29526         case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
29527             delete reinterpret_cast<const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD *>(header);
29528             break;
29529         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT:
29530             delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(header);
29531             break;
29532         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT:
29533             delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(header);
29534             break;
29535         case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT:
29536             delete reinterpret_cast<const safe_VkRenderPassFragmentDensityMapCreateInfoEXT *>(header);
29537             break;
29538         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT:
29539             delete reinterpret_cast<const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *>(header);
29540             break;
29541         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT:
29542             delete reinterpret_cast<const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(header);
29543             break;
29544         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT:
29545             delete reinterpret_cast<const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(header);
29546             break;
29547         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT:
29548             delete reinterpret_cast<const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(header);
29549             break;
29550         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD:
29551             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderCoreProperties2AMD *>(header);
29552             break;
29553         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD:
29554             delete reinterpret_cast<const safe_VkPhysicalDeviceCoherentMemoryFeaturesAMD *>(header);
29555             break;
29556         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT:
29557             delete reinterpret_cast<const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(header);
29558             break;
29559         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
29560             delete reinterpret_cast<const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(header);
29561             break;
29562         case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT:
29563             delete reinterpret_cast<const safe_VkMemoryPriorityAllocateInfoEXT *>(header);
29564             break;
29565         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
29566             delete reinterpret_cast<const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(header);
29567             break;
29568         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
29569             delete reinterpret_cast<const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(header);
29570             break;
29571         case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT:
29572             delete reinterpret_cast<const safe_VkBufferDeviceAddressCreateInfoEXT *>(header);
29573             break;
29574         case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT:
29575             delete reinterpret_cast<const safe_VkImageStencilUsageCreateInfoEXT *>(header);
29576             break;
29577         case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT:
29578             delete reinterpret_cast<const safe_VkValidationFeaturesEXT *>(header);
29579             break;
29580         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV:
29581             delete reinterpret_cast<const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(header);
29582             break;
29583         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV:
29584             delete reinterpret_cast<const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(header);
29585             break;
29586         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
29587             delete reinterpret_cast<const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(header);
29588             break;
29589         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV:
29590             delete reinterpret_cast<const safe_VkPipelineCoverageReductionStateCreateInfoNV *>(header);
29591             break;
29592         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT:
29593             delete reinterpret_cast<const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(header);
29594             break;
29595         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT:
29596             delete reinterpret_cast<const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(header);
29597             break;
29598         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
29599             delete reinterpret_cast<const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT *>(header);
29600             break;
29601         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
29602             delete reinterpret_cast<const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT *>(header);
29603             break;
29604         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:
29605             delete reinterpret_cast<const safe_VkPipelineRasterizationLineStateCreateInfoEXT *>(header);
29606             break;
29607         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT:
29608             delete reinterpret_cast<const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT *>(header);
29609             break;
29610         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
29611             delete reinterpret_cast<const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(header);
29612             break;
29613         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT:
29614             delete reinterpret_cast<const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(header);
29615             break;
29616         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
29617             delete reinterpret_cast<const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(header);
29618             break;
29619         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT:
29620             delete reinterpret_cast<const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(header);
29621             break;
29622 #ifdef VK_USE_PLATFORM_ANDROID_KHR
29623         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
29624             delete reinterpret_cast<const safe_VkAndroidHardwareBufferUsageANDROID *>(header);
29625             break;
29626         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
29627             delete reinterpret_cast<const safe_VkAndroidHardwareBufferFormatPropertiesANDROID *>(header);
29628             break;
29629         case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
29630             delete reinterpret_cast<const safe_VkImportAndroidHardwareBufferInfoANDROID *>(header);
29631             break;
29632         case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
29633             delete reinterpret_cast<const safe_VkExternalFormatANDROID *>(header);
29634             break;
29635 #endif // VK_USE_PLATFORM_ANDROID_KHR
29636 #ifdef VK_USE_PLATFORM_GGP
29637         case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP:
29638             delete reinterpret_cast<const safe_VkPresentFrameTokenGGP *>(header);
29639             break;
29640 #endif // VK_USE_PLATFORM_GGP
29641 #ifdef VK_USE_PLATFORM_WIN32_KHR
29642         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
29643             delete reinterpret_cast<const safe_VkImportMemoryWin32HandleInfoKHR *>(header);
29644             break;
29645         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
29646             delete reinterpret_cast<const safe_VkExportMemoryWin32HandleInfoKHR *>(header);
29647             break;
29648         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
29649             delete reinterpret_cast<const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR *>(header);
29650             break;
29651         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
29652             delete reinterpret_cast<const safe_VkExportSemaphoreWin32HandleInfoKHR *>(header);
29653             break;
29654         case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
29655             delete reinterpret_cast<const safe_VkD3D12FenceSubmitInfoKHR *>(header);
29656             break;
29657         case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
29658             delete reinterpret_cast<const safe_VkExportFenceWin32HandleInfoKHR *>(header);
29659             break;
29660         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
29661             delete reinterpret_cast<const safe_VkImportMemoryWin32HandleInfoNV *>(header);
29662             break;
29663         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
29664             delete reinterpret_cast<const safe_VkExportMemoryWin32HandleInfoNV *>(header);
29665             break;
29666         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
29667             delete reinterpret_cast<const safe_VkWin32KeyedMutexAcquireReleaseInfoNV *>(header);
29668             break;
29669         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT:
29670             delete reinterpret_cast<const safe_VkSurfaceFullScreenExclusiveInfoEXT *>(header);
29671             break;
29672         case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:
29673             delete reinterpret_cast<const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(header);
29674             break;
29675         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:
29676             delete reinterpret_cast<const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT *>(header);
29677             break;
29678 #endif // VK_USE_PLATFORM_WIN32_KHR
29679         default: // Encountered an unknown sType -- panic, there should be none such in safe chain
29680             assert(false);
29681             FreePnextChain(header->pNext);
29682             break;
29683     }
29684 }
29685