blob: 7c6ebe5155dc25256132fa551147baa31c8eb6f1 [file] [log] [blame]
Mike Schuchardt440d4642019-06-20 17:14:57 -07001// *** 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 <mark@lunarg.com>
25 * Author: Courtney Goeltzenleuchter <courtneygo@google.com>
26 * Author: Tobin Ehlis <tobine@google.com>
27 * Author: Chris Forbes <chrisforbes@google.com>
28 * Author: John Zulauf<jzulauf@lunarg.com>
29 *
30 ****************************************************************************/
31
32
33#include "vk_safe_struct.h"
34#include <string.h>
Mark Lobodzinski256ba552019-08-13 14:59:17 -060035#include <cstring>
Mike Schuchardt440d4642019-06-20 17:14:57 -070036
37
38safe_VkApplicationInfo::safe_VkApplicationInfo(const VkApplicationInfo* in_struct) :
39 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070040 pApplicationName(in_struct->pApplicationName),
41 applicationVersion(in_struct->applicationVersion),
42 pEngineName(in_struct->pEngineName),
43 engineVersion(in_struct->engineVersion),
44 apiVersion(in_struct->apiVersion)
45{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060046 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070047}
48
Jason Macnak8f28eec2019-08-09 12:57:01 -070049safe_VkApplicationInfo::safe_VkApplicationInfo() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060050 pNext(nullptr),
51 pApplicationName(nullptr),
52 pEngineName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070053{}
54
55safe_VkApplicationInfo::safe_VkApplicationInfo(const safe_VkApplicationInfo& src)
56{
57 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070058 pApplicationName = src.pApplicationName;
59 applicationVersion = src.applicationVersion;
60 pEngineName = src.pEngineName;
61 engineVersion = src.engineVersion;
62 apiVersion = src.apiVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060063 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070064}
65
66safe_VkApplicationInfo& safe_VkApplicationInfo::operator=(const safe_VkApplicationInfo& src)
67{
68 if (&src == this) return *this;
69
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060070 if (pNext)
71 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070072
73 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070074 pApplicationName = src.pApplicationName;
75 applicationVersion = src.applicationVersion;
76 pEngineName = src.pEngineName;
77 engineVersion = src.engineVersion;
78 apiVersion = src.apiVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060079 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070080
81 return *this;
82}
83
84safe_VkApplicationInfo::~safe_VkApplicationInfo()
85{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060086 if (pNext)
87 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070088}
89
90void safe_VkApplicationInfo::initialize(const VkApplicationInfo* in_struct)
91{
92 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070093 pApplicationName = in_struct->pApplicationName;
94 applicationVersion = in_struct->applicationVersion;
95 pEngineName = in_struct->pEngineName;
96 engineVersion = in_struct->engineVersion;
97 apiVersion = in_struct->apiVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060098 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070099}
100
101void safe_VkApplicationInfo::initialize(const safe_VkApplicationInfo* src)
102{
103 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700104 pApplicationName = src->pApplicationName;
105 applicationVersion = src->applicationVersion;
106 pEngineName = src->pEngineName;
107 engineVersion = src->engineVersion;
108 apiVersion = src->apiVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600109 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700110}
111
112safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo(const VkInstanceCreateInfo* in_struct) :
113 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700114 flags(in_struct->flags),
115 enabledLayerCount(in_struct->enabledLayerCount),
116 ppEnabledLayerNames(in_struct->ppEnabledLayerNames),
117 enabledExtensionCount(in_struct->enabledExtensionCount),
118 ppEnabledExtensionNames(in_struct->ppEnabledExtensionNames)
119{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600120 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700121 if (in_struct->pApplicationInfo)
122 pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo);
123 else
124 pApplicationInfo = NULL;
125}
126
Jason Macnak8f28eec2019-08-09 12:57:01 -0700127safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -0600128 pNext(nullptr),
129 ppEnabledLayerNames(nullptr),
130 ppEnabledExtensionNames(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -0700131{}
132
133safe_VkInstanceCreateInfo::safe_VkInstanceCreateInfo(const safe_VkInstanceCreateInfo& src)
134{
135 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700136 flags = src.flags;
137 enabledLayerCount = src.enabledLayerCount;
138 ppEnabledLayerNames = src.ppEnabledLayerNames;
139 enabledExtensionCount = src.enabledExtensionCount;
140 ppEnabledExtensionNames = src.ppEnabledExtensionNames;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600141 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700142 if (src.pApplicationInfo)
143 pApplicationInfo = new safe_VkApplicationInfo(*src.pApplicationInfo);
144 else
145 pApplicationInfo = NULL;
146}
147
148safe_VkInstanceCreateInfo& safe_VkInstanceCreateInfo::operator=(const safe_VkInstanceCreateInfo& src)
149{
150 if (&src == this) return *this;
151
152 if (pApplicationInfo)
153 delete pApplicationInfo;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600154 if (pNext)
155 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700156
157 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700158 flags = src.flags;
159 enabledLayerCount = src.enabledLayerCount;
160 ppEnabledLayerNames = src.ppEnabledLayerNames;
161 enabledExtensionCount = src.enabledExtensionCount;
162 ppEnabledExtensionNames = src.ppEnabledExtensionNames;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600163 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700164 if (src.pApplicationInfo)
165 pApplicationInfo = new safe_VkApplicationInfo(*src.pApplicationInfo);
166 else
167 pApplicationInfo = NULL;
168
169 return *this;
170}
171
172safe_VkInstanceCreateInfo::~safe_VkInstanceCreateInfo()
173{
174 if (pApplicationInfo)
175 delete pApplicationInfo;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600176 if (pNext)
177 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700178}
179
180void safe_VkInstanceCreateInfo::initialize(const VkInstanceCreateInfo* in_struct)
181{
182 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700183 flags = in_struct->flags;
184 enabledLayerCount = in_struct->enabledLayerCount;
185 ppEnabledLayerNames = in_struct->ppEnabledLayerNames;
186 enabledExtensionCount = in_struct->enabledExtensionCount;
187 ppEnabledExtensionNames = in_struct->ppEnabledExtensionNames;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600188 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700189 if (in_struct->pApplicationInfo)
190 pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo);
191 else
192 pApplicationInfo = NULL;
193}
194
195void safe_VkInstanceCreateInfo::initialize(const safe_VkInstanceCreateInfo* src)
196{
197 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700198 flags = src->flags;
199 enabledLayerCount = src->enabledLayerCount;
200 ppEnabledLayerNames = src->ppEnabledLayerNames;
201 enabledExtensionCount = src->enabledExtensionCount;
202 ppEnabledExtensionNames = src->ppEnabledExtensionNames;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600203 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700204 if (src->pApplicationInfo)
205 pApplicationInfo = new safe_VkApplicationInfo(*src->pApplicationInfo);
206 else
207 pApplicationInfo = NULL;
208}
209
210safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const VkAllocationCallbacks* in_struct) :
211 pUserData(in_struct->pUserData),
212 pfnAllocation(in_struct->pfnAllocation),
213 pfnReallocation(in_struct->pfnReallocation),
214 pfnFree(in_struct->pfnFree),
215 pfnInternalAllocation(in_struct->pfnInternalAllocation),
216 pfnInternalFree(in_struct->pfnInternalFree)
217{
218}
219
Mark Lobodzinski692f3f32019-08-13 14:00:52 -0600220safe_VkAllocationCallbacks::safe_VkAllocationCallbacks() :
221 pUserData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -0700222{}
223
224safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const safe_VkAllocationCallbacks& src)
225{
226 pUserData = src.pUserData;
227 pfnAllocation = src.pfnAllocation;
228 pfnReallocation = src.pfnReallocation;
229 pfnFree = src.pfnFree;
230 pfnInternalAllocation = src.pfnInternalAllocation;
231 pfnInternalFree = src.pfnInternalFree;
232}
233
234safe_VkAllocationCallbacks& safe_VkAllocationCallbacks::operator=(const safe_VkAllocationCallbacks& src)
235{
236 if (&src == this) return *this;
237
238
239 pUserData = src.pUserData;
240 pfnAllocation = src.pfnAllocation;
241 pfnReallocation = src.pfnReallocation;
242 pfnFree = src.pfnFree;
243 pfnInternalAllocation = src.pfnInternalAllocation;
244 pfnInternalFree = src.pfnInternalFree;
245
246 return *this;
247}
248
249safe_VkAllocationCallbacks::~safe_VkAllocationCallbacks()
250{
251}
252
253void safe_VkAllocationCallbacks::initialize(const VkAllocationCallbacks* in_struct)
254{
255 pUserData = in_struct->pUserData;
256 pfnAllocation = in_struct->pfnAllocation;
257 pfnReallocation = in_struct->pfnReallocation;
258 pfnFree = in_struct->pfnFree;
259 pfnInternalAllocation = in_struct->pfnInternalAllocation;
260 pfnInternalFree = in_struct->pfnInternalFree;
261}
262
263void safe_VkAllocationCallbacks::initialize(const safe_VkAllocationCallbacks* src)
264{
265 pUserData = src->pUserData;
266 pfnAllocation = src->pfnAllocation;
267 pfnReallocation = src->pfnReallocation;
268 pfnFree = src->pfnFree;
269 pfnInternalAllocation = src->pfnInternalAllocation;
270 pfnInternalFree = src->pfnInternalFree;
271}
272
273safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo* in_struct) :
274 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700275 flags(in_struct->flags),
276 queueFamilyIndex(in_struct->queueFamilyIndex),
277 queueCount(in_struct->queueCount),
278 pQueuePriorities(nullptr)
279{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600280 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700281 if (in_struct->pQueuePriorities) {
282 pQueuePriorities = new float[in_struct->queueCount];
283 memcpy ((void *)pQueuePriorities, (void *)in_struct->pQueuePriorities, sizeof(float)*in_struct->queueCount);
284 }
285}
286
287safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -0700288 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700289 pQueuePriorities(nullptr)
290{}
291
292safe_VkDeviceQueueCreateInfo::safe_VkDeviceQueueCreateInfo(const safe_VkDeviceQueueCreateInfo& src)
293{
294 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700295 flags = src.flags;
296 queueFamilyIndex = src.queueFamilyIndex;
297 queueCount = src.queueCount;
298 pQueuePriorities = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600299 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700300 if (src.pQueuePriorities) {
301 pQueuePriorities = new float[src.queueCount];
302 memcpy ((void *)pQueuePriorities, (void *)src.pQueuePriorities, sizeof(float)*src.queueCount);
303 }
304}
305
306safe_VkDeviceQueueCreateInfo& safe_VkDeviceQueueCreateInfo::operator=(const safe_VkDeviceQueueCreateInfo& src)
307{
308 if (&src == this) return *this;
309
310 if (pQueuePriorities)
311 delete[] pQueuePriorities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600312 if (pNext)
313 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700314
315 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700316 flags = src.flags;
317 queueFamilyIndex = src.queueFamilyIndex;
318 queueCount = src.queueCount;
319 pQueuePriorities = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600320 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700321 if (src.pQueuePriorities) {
322 pQueuePriorities = new float[src.queueCount];
323 memcpy ((void *)pQueuePriorities, (void *)src.pQueuePriorities, sizeof(float)*src.queueCount);
324 }
325
326 return *this;
327}
328
329safe_VkDeviceQueueCreateInfo::~safe_VkDeviceQueueCreateInfo()
330{
331 if (pQueuePriorities)
332 delete[] pQueuePriorities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600333 if (pNext)
334 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700335}
336
337void safe_VkDeviceQueueCreateInfo::initialize(const VkDeviceQueueCreateInfo* in_struct)
338{
339 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700340 flags = in_struct->flags;
341 queueFamilyIndex = in_struct->queueFamilyIndex;
342 queueCount = in_struct->queueCount;
343 pQueuePriorities = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600344 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700345 if (in_struct->pQueuePriorities) {
346 pQueuePriorities = new float[in_struct->queueCount];
347 memcpy ((void *)pQueuePriorities, (void *)in_struct->pQueuePriorities, sizeof(float)*in_struct->queueCount);
348 }
349}
350
351void safe_VkDeviceQueueCreateInfo::initialize(const safe_VkDeviceQueueCreateInfo* src)
352{
353 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700354 flags = src->flags;
355 queueFamilyIndex = src->queueFamilyIndex;
356 queueCount = src->queueCount;
357 pQueuePriorities = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600358 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700359 if (src->pQueuePriorities) {
360 pQueuePriorities = new float[src->queueCount];
361 memcpy ((void *)pQueuePriorities, (void *)src->pQueuePriorities, sizeof(float)*src->queueCount);
362 }
363}
364
365safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const VkDeviceCreateInfo* in_struct) :
366 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700367 flags(in_struct->flags),
368 queueCreateInfoCount(in_struct->queueCreateInfoCount),
369 pQueueCreateInfos(nullptr),
370 enabledLayerCount(in_struct->enabledLayerCount),
371 ppEnabledLayerNames(in_struct->ppEnabledLayerNames),
372 enabledExtensionCount(in_struct->enabledExtensionCount),
373 ppEnabledExtensionNames(in_struct->ppEnabledExtensionNames),
374 pEnabledFeatures(nullptr)
375{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600376 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700377 if (queueCreateInfoCount && in_struct->pQueueCreateInfos) {
378 pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
379 for (uint32_t i=0; i<queueCreateInfoCount; ++i) {
380 pQueueCreateInfos[i].initialize(&in_struct->pQueueCreateInfos[i]);
381 }
382 }
383 if (in_struct->pEnabledFeatures) {
384 pEnabledFeatures = new VkPhysicalDeviceFeatures(*in_struct->pEnabledFeatures);
385 }
386}
387
388safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -0700389 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700390 pQueueCreateInfos(nullptr),
Mark Lobodzinski692f3f32019-08-13 14:00:52 -0600391 ppEnabledLayerNames(nullptr),
392 ppEnabledExtensionNames(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700393 pEnabledFeatures(nullptr)
394{}
395
396safe_VkDeviceCreateInfo::safe_VkDeviceCreateInfo(const safe_VkDeviceCreateInfo& src)
397{
398 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700399 flags = src.flags;
400 queueCreateInfoCount = src.queueCreateInfoCount;
401 pQueueCreateInfos = nullptr;
402 enabledLayerCount = src.enabledLayerCount;
403 ppEnabledLayerNames = src.ppEnabledLayerNames;
404 enabledExtensionCount = src.enabledExtensionCount;
405 ppEnabledExtensionNames = src.ppEnabledExtensionNames;
406 pEnabledFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600407 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700408 if (queueCreateInfoCount && src.pQueueCreateInfos) {
409 pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
410 for (uint32_t i=0; i<queueCreateInfoCount; ++i) {
411 pQueueCreateInfos[i].initialize(&src.pQueueCreateInfos[i]);
412 }
413 }
414 if (src.pEnabledFeatures) {
415 pEnabledFeatures = new VkPhysicalDeviceFeatures(*src.pEnabledFeatures);
416 }
417}
418
419safe_VkDeviceCreateInfo& safe_VkDeviceCreateInfo::operator=(const safe_VkDeviceCreateInfo& src)
420{
421 if (&src == this) return *this;
422
423 if (pQueueCreateInfos)
424 delete[] pQueueCreateInfos;
425 if (pEnabledFeatures)
426 delete pEnabledFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600427 if (pNext)
428 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700429
430 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700431 flags = src.flags;
432 queueCreateInfoCount = src.queueCreateInfoCount;
433 pQueueCreateInfos = nullptr;
434 enabledLayerCount = src.enabledLayerCount;
435 ppEnabledLayerNames = src.ppEnabledLayerNames;
436 enabledExtensionCount = src.enabledExtensionCount;
437 ppEnabledExtensionNames = src.ppEnabledExtensionNames;
438 pEnabledFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600439 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700440 if (queueCreateInfoCount && src.pQueueCreateInfos) {
441 pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
442 for (uint32_t i=0; i<queueCreateInfoCount; ++i) {
443 pQueueCreateInfos[i].initialize(&src.pQueueCreateInfos[i]);
444 }
445 }
446 if (src.pEnabledFeatures) {
447 pEnabledFeatures = new VkPhysicalDeviceFeatures(*src.pEnabledFeatures);
448 }
449
450 return *this;
451}
452
453safe_VkDeviceCreateInfo::~safe_VkDeviceCreateInfo()
454{
455 if (pQueueCreateInfos)
456 delete[] pQueueCreateInfos;
457 if (pEnabledFeatures)
458 delete pEnabledFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600459 if (pNext)
460 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700461}
462
463void safe_VkDeviceCreateInfo::initialize(const VkDeviceCreateInfo* in_struct)
464{
465 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700466 flags = in_struct->flags;
467 queueCreateInfoCount = in_struct->queueCreateInfoCount;
468 pQueueCreateInfos = nullptr;
469 enabledLayerCount = in_struct->enabledLayerCount;
470 ppEnabledLayerNames = in_struct->ppEnabledLayerNames;
471 enabledExtensionCount = in_struct->enabledExtensionCount;
472 ppEnabledExtensionNames = in_struct->ppEnabledExtensionNames;
473 pEnabledFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600474 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700475 if (queueCreateInfoCount && in_struct->pQueueCreateInfos) {
476 pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
477 for (uint32_t i=0; i<queueCreateInfoCount; ++i) {
478 pQueueCreateInfos[i].initialize(&in_struct->pQueueCreateInfos[i]);
479 }
480 }
481 if (in_struct->pEnabledFeatures) {
482 pEnabledFeatures = new VkPhysicalDeviceFeatures(*in_struct->pEnabledFeatures);
483 }
484}
485
486void safe_VkDeviceCreateInfo::initialize(const safe_VkDeviceCreateInfo* src)
487{
488 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700489 flags = src->flags;
490 queueCreateInfoCount = src->queueCreateInfoCount;
491 pQueueCreateInfos = nullptr;
492 enabledLayerCount = src->enabledLayerCount;
493 ppEnabledLayerNames = src->ppEnabledLayerNames;
494 enabledExtensionCount = src->enabledExtensionCount;
495 ppEnabledExtensionNames = src->ppEnabledExtensionNames;
496 pEnabledFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600497 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700498 if (queueCreateInfoCount && src->pQueueCreateInfos) {
499 pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount];
500 for (uint32_t i=0; i<queueCreateInfoCount; ++i) {
501 pQueueCreateInfos[i].initialize(&src->pQueueCreateInfos[i]);
502 }
503 }
504 if (src->pEnabledFeatures) {
505 pEnabledFeatures = new VkPhysicalDeviceFeatures(*src->pEnabledFeatures);
506 }
507}
508
509safe_VkSubmitInfo::safe_VkSubmitInfo(const VkSubmitInfo* in_struct) :
510 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700511 waitSemaphoreCount(in_struct->waitSemaphoreCount),
512 pWaitSemaphores(nullptr),
513 pWaitDstStageMask(nullptr),
514 commandBufferCount(in_struct->commandBufferCount),
515 pCommandBuffers(nullptr),
516 signalSemaphoreCount(in_struct->signalSemaphoreCount),
517 pSignalSemaphores(nullptr)
518{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600519 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700520 if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
521 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
522 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
523 pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
524 }
525 }
526 if (in_struct->pWaitDstStageMask) {
527 pWaitDstStageMask = new VkPipelineStageFlags[in_struct->waitSemaphoreCount];
528 memcpy ((void *)pWaitDstStageMask, (void *)in_struct->pWaitDstStageMask, sizeof(VkPipelineStageFlags)*in_struct->waitSemaphoreCount);
529 }
530 if (in_struct->pCommandBuffers) {
531 pCommandBuffers = new VkCommandBuffer[in_struct->commandBufferCount];
532 memcpy ((void *)pCommandBuffers, (void *)in_struct->pCommandBuffers, sizeof(VkCommandBuffer)*in_struct->commandBufferCount);
533 }
534 if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
535 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
536 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
537 pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
538 }
539 }
540}
541
542safe_VkSubmitInfo::safe_VkSubmitInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -0700543 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700544 pWaitSemaphores(nullptr),
545 pWaitDstStageMask(nullptr),
546 pCommandBuffers(nullptr),
547 pSignalSemaphores(nullptr)
548{}
549
550safe_VkSubmitInfo::safe_VkSubmitInfo(const safe_VkSubmitInfo& src)
551{
552 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700553 waitSemaphoreCount = src.waitSemaphoreCount;
554 pWaitSemaphores = nullptr;
555 pWaitDstStageMask = nullptr;
556 commandBufferCount = src.commandBufferCount;
557 pCommandBuffers = nullptr;
558 signalSemaphoreCount = src.signalSemaphoreCount;
559 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600560 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700561 if (waitSemaphoreCount && src.pWaitSemaphores) {
562 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
563 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
564 pWaitSemaphores[i] = src.pWaitSemaphores[i];
565 }
566 }
567 if (src.pWaitDstStageMask) {
568 pWaitDstStageMask = new VkPipelineStageFlags[src.waitSemaphoreCount];
569 memcpy ((void *)pWaitDstStageMask, (void *)src.pWaitDstStageMask, sizeof(VkPipelineStageFlags)*src.waitSemaphoreCount);
570 }
571 if (src.pCommandBuffers) {
572 pCommandBuffers = new VkCommandBuffer[src.commandBufferCount];
573 memcpy ((void *)pCommandBuffers, (void *)src.pCommandBuffers, sizeof(VkCommandBuffer)*src.commandBufferCount);
574 }
575 if (signalSemaphoreCount && src.pSignalSemaphores) {
576 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
577 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
578 pSignalSemaphores[i] = src.pSignalSemaphores[i];
579 }
580 }
581}
582
583safe_VkSubmitInfo& safe_VkSubmitInfo::operator=(const safe_VkSubmitInfo& src)
584{
585 if (&src == this) return *this;
586
587 if (pWaitSemaphores)
588 delete[] pWaitSemaphores;
589 if (pWaitDstStageMask)
590 delete[] pWaitDstStageMask;
591 if (pCommandBuffers)
592 delete[] pCommandBuffers;
593 if (pSignalSemaphores)
594 delete[] pSignalSemaphores;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600595 if (pNext)
596 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700597
598 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700599 waitSemaphoreCount = src.waitSemaphoreCount;
600 pWaitSemaphores = nullptr;
601 pWaitDstStageMask = nullptr;
602 commandBufferCount = src.commandBufferCount;
603 pCommandBuffers = nullptr;
604 signalSemaphoreCount = src.signalSemaphoreCount;
605 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600606 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700607 if (waitSemaphoreCount && src.pWaitSemaphores) {
608 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
609 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
610 pWaitSemaphores[i] = src.pWaitSemaphores[i];
611 }
612 }
613 if (src.pWaitDstStageMask) {
614 pWaitDstStageMask = new VkPipelineStageFlags[src.waitSemaphoreCount];
615 memcpy ((void *)pWaitDstStageMask, (void *)src.pWaitDstStageMask, sizeof(VkPipelineStageFlags)*src.waitSemaphoreCount);
616 }
617 if (src.pCommandBuffers) {
618 pCommandBuffers = new VkCommandBuffer[src.commandBufferCount];
619 memcpy ((void *)pCommandBuffers, (void *)src.pCommandBuffers, sizeof(VkCommandBuffer)*src.commandBufferCount);
620 }
621 if (signalSemaphoreCount && src.pSignalSemaphores) {
622 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
623 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
624 pSignalSemaphores[i] = src.pSignalSemaphores[i];
625 }
626 }
627
628 return *this;
629}
630
631safe_VkSubmitInfo::~safe_VkSubmitInfo()
632{
633 if (pWaitSemaphores)
634 delete[] pWaitSemaphores;
635 if (pWaitDstStageMask)
636 delete[] pWaitDstStageMask;
637 if (pCommandBuffers)
638 delete[] pCommandBuffers;
639 if (pSignalSemaphores)
640 delete[] pSignalSemaphores;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600641 if (pNext)
642 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700643}
644
645void safe_VkSubmitInfo::initialize(const VkSubmitInfo* in_struct)
646{
647 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700648 waitSemaphoreCount = in_struct->waitSemaphoreCount;
649 pWaitSemaphores = nullptr;
650 pWaitDstStageMask = nullptr;
651 commandBufferCount = in_struct->commandBufferCount;
652 pCommandBuffers = nullptr;
653 signalSemaphoreCount = in_struct->signalSemaphoreCount;
654 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600655 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700656 if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
657 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
658 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
659 pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
660 }
661 }
662 if (in_struct->pWaitDstStageMask) {
663 pWaitDstStageMask = new VkPipelineStageFlags[in_struct->waitSemaphoreCount];
664 memcpy ((void *)pWaitDstStageMask, (void *)in_struct->pWaitDstStageMask, sizeof(VkPipelineStageFlags)*in_struct->waitSemaphoreCount);
665 }
666 if (in_struct->pCommandBuffers) {
667 pCommandBuffers = new VkCommandBuffer[in_struct->commandBufferCount];
668 memcpy ((void *)pCommandBuffers, (void *)in_struct->pCommandBuffers, sizeof(VkCommandBuffer)*in_struct->commandBufferCount);
669 }
670 if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
671 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
672 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
673 pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
674 }
675 }
676}
677
678void safe_VkSubmitInfo::initialize(const safe_VkSubmitInfo* src)
679{
680 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700681 waitSemaphoreCount = src->waitSemaphoreCount;
682 pWaitSemaphores = nullptr;
683 pWaitDstStageMask = nullptr;
684 commandBufferCount = src->commandBufferCount;
685 pCommandBuffers = nullptr;
686 signalSemaphoreCount = src->signalSemaphoreCount;
687 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600688 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700689 if (waitSemaphoreCount && src->pWaitSemaphores) {
690 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
691 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
692 pWaitSemaphores[i] = src->pWaitSemaphores[i];
693 }
694 }
695 if (src->pWaitDstStageMask) {
696 pWaitDstStageMask = new VkPipelineStageFlags[src->waitSemaphoreCount];
697 memcpy ((void *)pWaitDstStageMask, (void *)src->pWaitDstStageMask, sizeof(VkPipelineStageFlags)*src->waitSemaphoreCount);
698 }
699 if (src->pCommandBuffers) {
700 pCommandBuffers = new VkCommandBuffer[src->commandBufferCount];
701 memcpy ((void *)pCommandBuffers, (void *)src->pCommandBuffers, sizeof(VkCommandBuffer)*src->commandBufferCount);
702 }
703 if (signalSemaphoreCount && src->pSignalSemaphores) {
704 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
705 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
706 pSignalSemaphores[i] = src->pSignalSemaphores[i];
707 }
708 }
709}
710
711safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo(const VkMemoryAllocateInfo* in_struct) :
712 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700713 allocationSize(in_struct->allocationSize),
714 memoryTypeIndex(in_struct->memoryTypeIndex)
715{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600716 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700717}
718
Jason Macnak8f28eec2019-08-09 12:57:01 -0700719safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo() :
720 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -0700721{}
722
723safe_VkMemoryAllocateInfo::safe_VkMemoryAllocateInfo(const safe_VkMemoryAllocateInfo& src)
724{
725 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700726 allocationSize = src.allocationSize;
727 memoryTypeIndex = src.memoryTypeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600728 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700729}
730
731safe_VkMemoryAllocateInfo& safe_VkMemoryAllocateInfo::operator=(const safe_VkMemoryAllocateInfo& src)
732{
733 if (&src == this) return *this;
734
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600735 if (pNext)
736 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700737
738 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700739 allocationSize = src.allocationSize;
740 memoryTypeIndex = src.memoryTypeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600741 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700742
743 return *this;
744}
745
746safe_VkMemoryAllocateInfo::~safe_VkMemoryAllocateInfo()
747{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600748 if (pNext)
749 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700750}
751
752void safe_VkMemoryAllocateInfo::initialize(const VkMemoryAllocateInfo* in_struct)
753{
754 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700755 allocationSize = in_struct->allocationSize;
756 memoryTypeIndex = in_struct->memoryTypeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600757 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700758}
759
760void safe_VkMemoryAllocateInfo::initialize(const safe_VkMemoryAllocateInfo* src)
761{
762 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700763 allocationSize = src->allocationSize;
764 memoryTypeIndex = src->memoryTypeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600765 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700766}
767
768safe_VkMappedMemoryRange::safe_VkMappedMemoryRange(const VkMappedMemoryRange* in_struct) :
769 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -0700770 memory(in_struct->memory),
771 offset(in_struct->offset),
772 size(in_struct->size)
773{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600774 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700775}
776
Jason Macnak8f28eec2019-08-09 12:57:01 -0700777safe_VkMappedMemoryRange::safe_VkMappedMemoryRange() :
778 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -0700779{}
780
781safe_VkMappedMemoryRange::safe_VkMappedMemoryRange(const safe_VkMappedMemoryRange& src)
782{
783 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700784 memory = src.memory;
785 offset = src.offset;
786 size = src.size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600787 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700788}
789
790safe_VkMappedMemoryRange& safe_VkMappedMemoryRange::operator=(const safe_VkMappedMemoryRange& src)
791{
792 if (&src == this) return *this;
793
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600794 if (pNext)
795 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700796
797 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700798 memory = src.memory;
799 offset = src.offset;
800 size = src.size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600801 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700802
803 return *this;
804}
805
806safe_VkMappedMemoryRange::~safe_VkMappedMemoryRange()
807{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600808 if (pNext)
809 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700810}
811
812void safe_VkMappedMemoryRange::initialize(const VkMappedMemoryRange* in_struct)
813{
814 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700815 memory = in_struct->memory;
816 offset = in_struct->offset;
817 size = in_struct->size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600818 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700819}
820
821void safe_VkMappedMemoryRange::initialize(const safe_VkMappedMemoryRange* src)
822{
823 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -0700824 memory = src->memory;
825 offset = src->offset;
826 size = src->size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -0600827 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -0700828}
829
830safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo* in_struct) :
831 buffer(in_struct->buffer),
832 bindCount(in_struct->bindCount),
833 pBinds(nullptr)
834{
835 if (bindCount && in_struct->pBinds) {
836 pBinds = new VkSparseMemoryBind[bindCount];
837 for (uint32_t i=0; i<bindCount; ++i) {
838 pBinds[i] = in_struct->pBinds[i];
839 }
840 }
841}
842
843safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo() :
844 pBinds(nullptr)
845{}
846
847safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const safe_VkSparseBufferMemoryBindInfo& src)
848{
849 buffer = src.buffer;
850 bindCount = src.bindCount;
851 pBinds = nullptr;
852 if (bindCount && src.pBinds) {
853 pBinds = new VkSparseMemoryBind[bindCount];
854 for (uint32_t i=0; i<bindCount; ++i) {
855 pBinds[i] = src.pBinds[i];
856 }
857 }
858}
859
860safe_VkSparseBufferMemoryBindInfo& safe_VkSparseBufferMemoryBindInfo::operator=(const safe_VkSparseBufferMemoryBindInfo& src)
861{
862 if (&src == this) return *this;
863
864 if (pBinds)
865 delete[] pBinds;
866
867 buffer = src.buffer;
868 bindCount = src.bindCount;
869 pBinds = nullptr;
870 if (bindCount && src.pBinds) {
871 pBinds = new VkSparseMemoryBind[bindCount];
872 for (uint32_t i=0; i<bindCount; ++i) {
873 pBinds[i] = src.pBinds[i];
874 }
875 }
876
877 return *this;
878}
879
880safe_VkSparseBufferMemoryBindInfo::~safe_VkSparseBufferMemoryBindInfo()
881{
882 if (pBinds)
883 delete[] pBinds;
884}
885
886void safe_VkSparseBufferMemoryBindInfo::initialize(const VkSparseBufferMemoryBindInfo* in_struct)
887{
888 buffer = in_struct->buffer;
889 bindCount = in_struct->bindCount;
890 pBinds = nullptr;
891 if (bindCount && in_struct->pBinds) {
892 pBinds = new VkSparseMemoryBind[bindCount];
893 for (uint32_t i=0; i<bindCount; ++i) {
894 pBinds[i] = in_struct->pBinds[i];
895 }
896 }
897}
898
899void safe_VkSparseBufferMemoryBindInfo::initialize(const safe_VkSparseBufferMemoryBindInfo* src)
900{
901 buffer = src->buffer;
902 bindCount = src->bindCount;
903 pBinds = nullptr;
904 if (bindCount && src->pBinds) {
905 pBinds = new VkSparseMemoryBind[bindCount];
906 for (uint32_t i=0; i<bindCount; ++i) {
907 pBinds[i] = src->pBinds[i];
908 }
909 }
910}
911
912safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo(const VkSparseImageOpaqueMemoryBindInfo* in_struct) :
913 image(in_struct->image),
914 bindCount(in_struct->bindCount),
915 pBinds(nullptr)
916{
917 if (bindCount && in_struct->pBinds) {
918 pBinds = new VkSparseMemoryBind[bindCount];
919 for (uint32_t i=0; i<bindCount; ++i) {
920 pBinds[i] = in_struct->pBinds[i];
921 }
922 }
923}
924
925safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo() :
926 pBinds(nullptr)
927{}
928
929safe_VkSparseImageOpaqueMemoryBindInfo::safe_VkSparseImageOpaqueMemoryBindInfo(const safe_VkSparseImageOpaqueMemoryBindInfo& src)
930{
931 image = src.image;
932 bindCount = src.bindCount;
933 pBinds = nullptr;
934 if (bindCount && src.pBinds) {
935 pBinds = new VkSparseMemoryBind[bindCount];
936 for (uint32_t i=0; i<bindCount; ++i) {
937 pBinds[i] = src.pBinds[i];
938 }
939 }
940}
941
942safe_VkSparseImageOpaqueMemoryBindInfo& safe_VkSparseImageOpaqueMemoryBindInfo::operator=(const safe_VkSparseImageOpaqueMemoryBindInfo& src)
943{
944 if (&src == this) return *this;
945
946 if (pBinds)
947 delete[] pBinds;
948
949 image = src.image;
950 bindCount = src.bindCount;
951 pBinds = nullptr;
952 if (bindCount && src.pBinds) {
953 pBinds = new VkSparseMemoryBind[bindCount];
954 for (uint32_t i=0; i<bindCount; ++i) {
955 pBinds[i] = src.pBinds[i];
956 }
957 }
958
959 return *this;
960}
961
962safe_VkSparseImageOpaqueMemoryBindInfo::~safe_VkSparseImageOpaqueMemoryBindInfo()
963{
964 if (pBinds)
965 delete[] pBinds;
966}
967
968void safe_VkSparseImageOpaqueMemoryBindInfo::initialize(const VkSparseImageOpaqueMemoryBindInfo* in_struct)
969{
970 image = in_struct->image;
971 bindCount = in_struct->bindCount;
972 pBinds = nullptr;
973 if (bindCount && in_struct->pBinds) {
974 pBinds = new VkSparseMemoryBind[bindCount];
975 for (uint32_t i=0; i<bindCount; ++i) {
976 pBinds[i] = in_struct->pBinds[i];
977 }
978 }
979}
980
981void safe_VkSparseImageOpaqueMemoryBindInfo::initialize(const safe_VkSparseImageOpaqueMemoryBindInfo* src)
982{
983 image = src->image;
984 bindCount = src->bindCount;
985 pBinds = nullptr;
986 if (bindCount && src->pBinds) {
987 pBinds = new VkSparseMemoryBind[bindCount];
988 for (uint32_t i=0; i<bindCount; ++i) {
989 pBinds[i] = src->pBinds[i];
990 }
991 }
992}
993
994safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* in_struct) :
995 image(in_struct->image),
996 bindCount(in_struct->bindCount),
997 pBinds(nullptr)
998{
999 if (bindCount && in_struct->pBinds) {
1000 pBinds = new VkSparseImageMemoryBind[bindCount];
1001 for (uint32_t i=0; i<bindCount; ++i) {
1002 pBinds[i] = in_struct->pBinds[i];
1003 }
1004 }
1005}
1006
1007safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo() :
1008 pBinds(nullptr)
1009{}
1010
1011safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo& src)
1012{
1013 image = src.image;
1014 bindCount = src.bindCount;
1015 pBinds = nullptr;
1016 if (bindCount && src.pBinds) {
1017 pBinds = new VkSparseImageMemoryBind[bindCount];
1018 for (uint32_t i=0; i<bindCount; ++i) {
1019 pBinds[i] = src.pBinds[i];
1020 }
1021 }
1022}
1023
1024safe_VkSparseImageMemoryBindInfo& safe_VkSparseImageMemoryBindInfo::operator=(const safe_VkSparseImageMemoryBindInfo& src)
1025{
1026 if (&src == this) return *this;
1027
1028 if (pBinds)
1029 delete[] pBinds;
1030
1031 image = src.image;
1032 bindCount = src.bindCount;
1033 pBinds = nullptr;
1034 if (bindCount && src.pBinds) {
1035 pBinds = new VkSparseImageMemoryBind[bindCount];
1036 for (uint32_t i=0; i<bindCount; ++i) {
1037 pBinds[i] = src.pBinds[i];
1038 }
1039 }
1040
1041 return *this;
1042}
1043
1044safe_VkSparseImageMemoryBindInfo::~safe_VkSparseImageMemoryBindInfo()
1045{
1046 if (pBinds)
1047 delete[] pBinds;
1048}
1049
1050void safe_VkSparseImageMemoryBindInfo::initialize(const VkSparseImageMemoryBindInfo* in_struct)
1051{
1052 image = in_struct->image;
1053 bindCount = in_struct->bindCount;
1054 pBinds = nullptr;
1055 if (bindCount && in_struct->pBinds) {
1056 pBinds = new VkSparseImageMemoryBind[bindCount];
1057 for (uint32_t i=0; i<bindCount; ++i) {
1058 pBinds[i] = in_struct->pBinds[i];
1059 }
1060 }
1061}
1062
1063void safe_VkSparseImageMemoryBindInfo::initialize(const safe_VkSparseImageMemoryBindInfo* src)
1064{
1065 image = src->image;
1066 bindCount = src->bindCount;
1067 pBinds = nullptr;
1068 if (bindCount && src->pBinds) {
1069 pBinds = new VkSparseImageMemoryBind[bindCount];
1070 for (uint32_t i=0; i<bindCount; ++i) {
1071 pBinds[i] = src->pBinds[i];
1072 }
1073 }
1074}
1075
1076safe_VkBindSparseInfo::safe_VkBindSparseInfo(const VkBindSparseInfo* in_struct) :
1077 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001078 waitSemaphoreCount(in_struct->waitSemaphoreCount),
1079 pWaitSemaphores(nullptr),
1080 bufferBindCount(in_struct->bufferBindCount),
1081 pBufferBinds(nullptr),
1082 imageOpaqueBindCount(in_struct->imageOpaqueBindCount),
1083 pImageOpaqueBinds(nullptr),
1084 imageBindCount(in_struct->imageBindCount),
1085 pImageBinds(nullptr),
1086 signalSemaphoreCount(in_struct->signalSemaphoreCount),
1087 pSignalSemaphores(nullptr)
1088{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001089 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001090 if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
1091 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1092 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
1093 pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
1094 }
1095 }
1096 if (bufferBindCount && in_struct->pBufferBinds) {
1097 pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1098 for (uint32_t i=0; i<bufferBindCount; ++i) {
1099 pBufferBinds[i].initialize(&in_struct->pBufferBinds[i]);
1100 }
1101 }
1102 if (imageOpaqueBindCount && in_struct->pImageOpaqueBinds) {
1103 pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1104 for (uint32_t i=0; i<imageOpaqueBindCount; ++i) {
1105 pImageOpaqueBinds[i].initialize(&in_struct->pImageOpaqueBinds[i]);
1106 }
1107 }
1108 if (imageBindCount && in_struct->pImageBinds) {
1109 pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1110 for (uint32_t i=0; i<imageBindCount; ++i) {
1111 pImageBinds[i].initialize(&in_struct->pImageBinds[i]);
1112 }
1113 }
1114 if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
1115 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1116 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
1117 pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
1118 }
1119 }
1120}
1121
1122safe_VkBindSparseInfo::safe_VkBindSparseInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07001123 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001124 pWaitSemaphores(nullptr),
1125 pBufferBinds(nullptr),
1126 pImageOpaqueBinds(nullptr),
1127 pImageBinds(nullptr),
1128 pSignalSemaphores(nullptr)
1129{}
1130
1131safe_VkBindSparseInfo::safe_VkBindSparseInfo(const safe_VkBindSparseInfo& src)
1132{
1133 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001134 waitSemaphoreCount = src.waitSemaphoreCount;
1135 pWaitSemaphores = nullptr;
1136 bufferBindCount = src.bufferBindCount;
1137 pBufferBinds = nullptr;
1138 imageOpaqueBindCount = src.imageOpaqueBindCount;
1139 pImageOpaqueBinds = nullptr;
1140 imageBindCount = src.imageBindCount;
1141 pImageBinds = nullptr;
1142 signalSemaphoreCount = src.signalSemaphoreCount;
1143 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001144 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001145 if (waitSemaphoreCount && src.pWaitSemaphores) {
1146 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1147 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
1148 pWaitSemaphores[i] = src.pWaitSemaphores[i];
1149 }
1150 }
1151 if (bufferBindCount && src.pBufferBinds) {
1152 pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1153 for (uint32_t i=0; i<bufferBindCount; ++i) {
1154 pBufferBinds[i].initialize(&src.pBufferBinds[i]);
1155 }
1156 }
1157 if (imageOpaqueBindCount && src.pImageOpaqueBinds) {
1158 pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1159 for (uint32_t i=0; i<imageOpaqueBindCount; ++i) {
1160 pImageOpaqueBinds[i].initialize(&src.pImageOpaqueBinds[i]);
1161 }
1162 }
1163 if (imageBindCount && src.pImageBinds) {
1164 pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1165 for (uint32_t i=0; i<imageBindCount; ++i) {
1166 pImageBinds[i].initialize(&src.pImageBinds[i]);
1167 }
1168 }
1169 if (signalSemaphoreCount && src.pSignalSemaphores) {
1170 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1171 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
1172 pSignalSemaphores[i] = src.pSignalSemaphores[i];
1173 }
1174 }
1175}
1176
1177safe_VkBindSparseInfo& safe_VkBindSparseInfo::operator=(const safe_VkBindSparseInfo& src)
1178{
1179 if (&src == this) return *this;
1180
1181 if (pWaitSemaphores)
1182 delete[] pWaitSemaphores;
1183 if (pBufferBinds)
1184 delete[] pBufferBinds;
1185 if (pImageOpaqueBinds)
1186 delete[] pImageOpaqueBinds;
1187 if (pImageBinds)
1188 delete[] pImageBinds;
1189 if (pSignalSemaphores)
1190 delete[] pSignalSemaphores;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001191 if (pNext)
1192 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001193
1194 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001195 waitSemaphoreCount = src.waitSemaphoreCount;
1196 pWaitSemaphores = nullptr;
1197 bufferBindCount = src.bufferBindCount;
1198 pBufferBinds = nullptr;
1199 imageOpaqueBindCount = src.imageOpaqueBindCount;
1200 pImageOpaqueBinds = nullptr;
1201 imageBindCount = src.imageBindCount;
1202 pImageBinds = nullptr;
1203 signalSemaphoreCount = src.signalSemaphoreCount;
1204 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001205 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001206 if (waitSemaphoreCount && src.pWaitSemaphores) {
1207 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1208 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
1209 pWaitSemaphores[i] = src.pWaitSemaphores[i];
1210 }
1211 }
1212 if (bufferBindCount && src.pBufferBinds) {
1213 pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1214 for (uint32_t i=0; i<bufferBindCount; ++i) {
1215 pBufferBinds[i].initialize(&src.pBufferBinds[i]);
1216 }
1217 }
1218 if (imageOpaqueBindCount && src.pImageOpaqueBinds) {
1219 pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1220 for (uint32_t i=0; i<imageOpaqueBindCount; ++i) {
1221 pImageOpaqueBinds[i].initialize(&src.pImageOpaqueBinds[i]);
1222 }
1223 }
1224 if (imageBindCount && src.pImageBinds) {
1225 pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1226 for (uint32_t i=0; i<imageBindCount; ++i) {
1227 pImageBinds[i].initialize(&src.pImageBinds[i]);
1228 }
1229 }
1230 if (signalSemaphoreCount && src.pSignalSemaphores) {
1231 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1232 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
1233 pSignalSemaphores[i] = src.pSignalSemaphores[i];
1234 }
1235 }
1236
1237 return *this;
1238}
1239
1240safe_VkBindSparseInfo::~safe_VkBindSparseInfo()
1241{
1242 if (pWaitSemaphores)
1243 delete[] pWaitSemaphores;
1244 if (pBufferBinds)
1245 delete[] pBufferBinds;
1246 if (pImageOpaqueBinds)
1247 delete[] pImageOpaqueBinds;
1248 if (pImageBinds)
1249 delete[] pImageBinds;
1250 if (pSignalSemaphores)
1251 delete[] pSignalSemaphores;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001252 if (pNext)
1253 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001254}
1255
1256void safe_VkBindSparseInfo::initialize(const VkBindSparseInfo* in_struct)
1257{
1258 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001259 waitSemaphoreCount = in_struct->waitSemaphoreCount;
1260 pWaitSemaphores = nullptr;
1261 bufferBindCount = in_struct->bufferBindCount;
1262 pBufferBinds = nullptr;
1263 imageOpaqueBindCount = in_struct->imageOpaqueBindCount;
1264 pImageOpaqueBinds = nullptr;
1265 imageBindCount = in_struct->imageBindCount;
1266 pImageBinds = nullptr;
1267 signalSemaphoreCount = in_struct->signalSemaphoreCount;
1268 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001269 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001270 if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
1271 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1272 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
1273 pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
1274 }
1275 }
1276 if (bufferBindCount && in_struct->pBufferBinds) {
1277 pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1278 for (uint32_t i=0; i<bufferBindCount; ++i) {
1279 pBufferBinds[i].initialize(&in_struct->pBufferBinds[i]);
1280 }
1281 }
1282 if (imageOpaqueBindCount && in_struct->pImageOpaqueBinds) {
1283 pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1284 for (uint32_t i=0; i<imageOpaqueBindCount; ++i) {
1285 pImageOpaqueBinds[i].initialize(&in_struct->pImageOpaqueBinds[i]);
1286 }
1287 }
1288 if (imageBindCount && in_struct->pImageBinds) {
1289 pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1290 for (uint32_t i=0; i<imageBindCount; ++i) {
1291 pImageBinds[i].initialize(&in_struct->pImageBinds[i]);
1292 }
1293 }
1294 if (signalSemaphoreCount && in_struct->pSignalSemaphores) {
1295 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1296 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
1297 pSignalSemaphores[i] = in_struct->pSignalSemaphores[i];
1298 }
1299 }
1300}
1301
1302void safe_VkBindSparseInfo::initialize(const safe_VkBindSparseInfo* src)
1303{
1304 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001305 waitSemaphoreCount = src->waitSemaphoreCount;
1306 pWaitSemaphores = nullptr;
1307 bufferBindCount = src->bufferBindCount;
1308 pBufferBinds = nullptr;
1309 imageOpaqueBindCount = src->imageOpaqueBindCount;
1310 pImageOpaqueBinds = nullptr;
1311 imageBindCount = src->imageBindCount;
1312 pImageBinds = nullptr;
1313 signalSemaphoreCount = src->signalSemaphoreCount;
1314 pSignalSemaphores = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001315 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001316 if (waitSemaphoreCount && src->pWaitSemaphores) {
1317 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
1318 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
1319 pWaitSemaphores[i] = src->pWaitSemaphores[i];
1320 }
1321 }
1322 if (bufferBindCount && src->pBufferBinds) {
1323 pBufferBinds = new safe_VkSparseBufferMemoryBindInfo[bufferBindCount];
1324 for (uint32_t i=0; i<bufferBindCount; ++i) {
1325 pBufferBinds[i].initialize(&src->pBufferBinds[i]);
1326 }
1327 }
1328 if (imageOpaqueBindCount && src->pImageOpaqueBinds) {
1329 pImageOpaqueBinds = new safe_VkSparseImageOpaqueMemoryBindInfo[imageOpaqueBindCount];
1330 for (uint32_t i=0; i<imageOpaqueBindCount; ++i) {
1331 pImageOpaqueBinds[i].initialize(&src->pImageOpaqueBinds[i]);
1332 }
1333 }
1334 if (imageBindCount && src->pImageBinds) {
1335 pImageBinds = new safe_VkSparseImageMemoryBindInfo[imageBindCount];
1336 for (uint32_t i=0; i<imageBindCount; ++i) {
1337 pImageBinds[i].initialize(&src->pImageBinds[i]);
1338 }
1339 }
1340 if (signalSemaphoreCount && src->pSignalSemaphores) {
1341 pSignalSemaphores = new VkSemaphore[signalSemaphoreCount];
1342 for (uint32_t i=0; i<signalSemaphoreCount; ++i) {
1343 pSignalSemaphores[i] = src->pSignalSemaphores[i];
1344 }
1345 }
1346}
1347
1348safe_VkFenceCreateInfo::safe_VkFenceCreateInfo(const VkFenceCreateInfo* in_struct) :
1349 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001350 flags(in_struct->flags)
1351{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001352 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001353}
1354
Jason Macnak8f28eec2019-08-09 12:57:01 -07001355safe_VkFenceCreateInfo::safe_VkFenceCreateInfo() :
1356 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07001357{}
1358
1359safe_VkFenceCreateInfo::safe_VkFenceCreateInfo(const safe_VkFenceCreateInfo& src)
1360{
1361 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001362 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001363 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001364}
1365
1366safe_VkFenceCreateInfo& safe_VkFenceCreateInfo::operator=(const safe_VkFenceCreateInfo& src)
1367{
1368 if (&src == this) return *this;
1369
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001370 if (pNext)
1371 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001372
1373 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001374 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001375 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001376
1377 return *this;
1378}
1379
1380safe_VkFenceCreateInfo::~safe_VkFenceCreateInfo()
1381{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001382 if (pNext)
1383 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001384}
1385
1386void safe_VkFenceCreateInfo::initialize(const VkFenceCreateInfo* in_struct)
1387{
1388 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001389 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001390 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001391}
1392
1393void safe_VkFenceCreateInfo::initialize(const safe_VkFenceCreateInfo* src)
1394{
1395 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001396 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001397 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001398}
1399
1400safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo* in_struct) :
1401 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001402 flags(in_struct->flags)
1403{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001404 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001405}
1406
Jason Macnak8f28eec2019-08-09 12:57:01 -07001407safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo() :
1408 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07001409{}
1410
1411safe_VkSemaphoreCreateInfo::safe_VkSemaphoreCreateInfo(const safe_VkSemaphoreCreateInfo& src)
1412{
1413 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001414 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001415 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001416}
1417
1418safe_VkSemaphoreCreateInfo& safe_VkSemaphoreCreateInfo::operator=(const safe_VkSemaphoreCreateInfo& src)
1419{
1420 if (&src == this) return *this;
1421
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001422 if (pNext)
1423 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001424
1425 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001426 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001427 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001428
1429 return *this;
1430}
1431
1432safe_VkSemaphoreCreateInfo::~safe_VkSemaphoreCreateInfo()
1433{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001434 if (pNext)
1435 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001436}
1437
1438void safe_VkSemaphoreCreateInfo::initialize(const VkSemaphoreCreateInfo* in_struct)
1439{
1440 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001441 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001442 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001443}
1444
1445void safe_VkSemaphoreCreateInfo::initialize(const safe_VkSemaphoreCreateInfo* src)
1446{
1447 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001448 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001449 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001450}
1451
1452safe_VkEventCreateInfo::safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct) :
1453 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001454 flags(in_struct->flags)
1455{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001456 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001457}
1458
Jason Macnak8f28eec2019-08-09 12:57:01 -07001459safe_VkEventCreateInfo::safe_VkEventCreateInfo() :
1460 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07001461{}
1462
1463safe_VkEventCreateInfo::safe_VkEventCreateInfo(const safe_VkEventCreateInfo& src)
1464{
1465 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001466 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001467 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001468}
1469
1470safe_VkEventCreateInfo& safe_VkEventCreateInfo::operator=(const safe_VkEventCreateInfo& src)
1471{
1472 if (&src == this) return *this;
1473
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001474 if (pNext)
1475 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001476
1477 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001478 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001479 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001480
1481 return *this;
1482}
1483
1484safe_VkEventCreateInfo::~safe_VkEventCreateInfo()
1485{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001486 if (pNext)
1487 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001488}
1489
1490void safe_VkEventCreateInfo::initialize(const VkEventCreateInfo* in_struct)
1491{
1492 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001493 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001494 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001495}
1496
1497void safe_VkEventCreateInfo::initialize(const safe_VkEventCreateInfo* src)
1498{
1499 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001500 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001501 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001502}
1503
1504safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo* in_struct) :
1505 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001506 flags(in_struct->flags),
1507 queryType(in_struct->queryType),
1508 queryCount(in_struct->queryCount),
1509 pipelineStatistics(in_struct->pipelineStatistics)
1510{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001511 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001512}
1513
Jason Macnak8f28eec2019-08-09 12:57:01 -07001514safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo() :
1515 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07001516{}
1517
1518safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const safe_VkQueryPoolCreateInfo& src)
1519{
1520 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001521 flags = src.flags;
1522 queryType = src.queryType;
1523 queryCount = src.queryCount;
1524 pipelineStatistics = src.pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001525 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001526}
1527
1528safe_VkQueryPoolCreateInfo& safe_VkQueryPoolCreateInfo::operator=(const safe_VkQueryPoolCreateInfo& src)
1529{
1530 if (&src == this) return *this;
1531
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001532 if (pNext)
1533 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001534
1535 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001536 flags = src.flags;
1537 queryType = src.queryType;
1538 queryCount = src.queryCount;
1539 pipelineStatistics = src.pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001540 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001541
1542 return *this;
1543}
1544
1545safe_VkQueryPoolCreateInfo::~safe_VkQueryPoolCreateInfo()
1546{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001547 if (pNext)
1548 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001549}
1550
1551void safe_VkQueryPoolCreateInfo::initialize(const VkQueryPoolCreateInfo* in_struct)
1552{
1553 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001554 flags = in_struct->flags;
1555 queryType = in_struct->queryType;
1556 queryCount = in_struct->queryCount;
1557 pipelineStatistics = in_struct->pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001558 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001559}
1560
1561void safe_VkQueryPoolCreateInfo::initialize(const safe_VkQueryPoolCreateInfo* src)
1562{
1563 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001564 flags = src->flags;
1565 queryType = src->queryType;
1566 queryCount = src->queryCount;
1567 pipelineStatistics = src->pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001568 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001569}
1570
1571safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const VkBufferCreateInfo* in_struct) :
1572 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001573 flags(in_struct->flags),
1574 size(in_struct->size),
1575 usage(in_struct->usage),
1576 sharingMode(in_struct->sharingMode),
1577 queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
1578 pQueueFamilyIndices(nullptr)
1579{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001580 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001581 if (in_struct->pQueueFamilyIndices) {
1582 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1583 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1584 }
1585}
1586
1587safe_VkBufferCreateInfo::safe_VkBufferCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07001588 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001589 pQueueFamilyIndices(nullptr)
1590{}
1591
1592safe_VkBufferCreateInfo::safe_VkBufferCreateInfo(const safe_VkBufferCreateInfo& src)
1593{
1594 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001595 flags = src.flags;
1596 size = src.size;
1597 usage = src.usage;
1598 sharingMode = src.sharingMode;
1599 queueFamilyIndexCount = src.queueFamilyIndexCount;
1600 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001601 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001602 if (src.pQueueFamilyIndices) {
1603 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1604 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1605 }
1606}
1607
1608safe_VkBufferCreateInfo& safe_VkBufferCreateInfo::operator=(const safe_VkBufferCreateInfo& src)
1609{
1610 if (&src == this) return *this;
1611
1612 if (pQueueFamilyIndices)
1613 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001614 if (pNext)
1615 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001616
1617 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001618 flags = src.flags;
1619 size = src.size;
1620 usage = src.usage;
1621 sharingMode = src.sharingMode;
1622 queueFamilyIndexCount = src.queueFamilyIndexCount;
1623 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001624 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001625 if (src.pQueueFamilyIndices) {
1626 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1627 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1628 }
1629
1630 return *this;
1631}
1632
1633safe_VkBufferCreateInfo::~safe_VkBufferCreateInfo()
1634{
1635 if (pQueueFamilyIndices)
1636 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001637 if (pNext)
1638 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001639}
1640
1641void safe_VkBufferCreateInfo::initialize(const VkBufferCreateInfo* in_struct)
1642{
1643 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001644 flags = in_struct->flags;
1645 size = in_struct->size;
1646 usage = in_struct->usage;
1647 sharingMode = in_struct->sharingMode;
1648 queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
1649 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001650 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001651 if (in_struct->pQueueFamilyIndices) {
1652 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1653 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1654 }
1655}
1656
1657void safe_VkBufferCreateInfo::initialize(const safe_VkBufferCreateInfo* src)
1658{
1659 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001660 flags = src->flags;
1661 size = src->size;
1662 usage = src->usage;
1663 sharingMode = src->sharingMode;
1664 queueFamilyIndexCount = src->queueFamilyIndexCount;
1665 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001666 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001667 if (src->pQueueFamilyIndices) {
1668 pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
1669 memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
1670 }
1671}
1672
1673safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct) :
1674 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001675 flags(in_struct->flags),
1676 buffer(in_struct->buffer),
1677 format(in_struct->format),
1678 offset(in_struct->offset),
1679 range(in_struct->range)
1680{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001681 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001682}
1683
Jason Macnak8f28eec2019-08-09 12:57:01 -07001684safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo() :
1685 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07001686{}
1687
1688safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& src)
1689{
1690 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001691 flags = src.flags;
1692 buffer = src.buffer;
1693 format = src.format;
1694 offset = src.offset;
1695 range = src.range;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001696 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001697}
1698
1699safe_VkBufferViewCreateInfo& safe_VkBufferViewCreateInfo::operator=(const safe_VkBufferViewCreateInfo& src)
1700{
1701 if (&src == this) return *this;
1702
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001703 if (pNext)
1704 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001705
1706 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001707 flags = src.flags;
1708 buffer = src.buffer;
1709 format = src.format;
1710 offset = src.offset;
1711 range = src.range;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001712 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001713
1714 return *this;
1715}
1716
1717safe_VkBufferViewCreateInfo::~safe_VkBufferViewCreateInfo()
1718{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001719 if (pNext)
1720 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001721}
1722
1723void safe_VkBufferViewCreateInfo::initialize(const VkBufferViewCreateInfo* in_struct)
1724{
1725 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001726 flags = in_struct->flags;
1727 buffer = in_struct->buffer;
1728 format = in_struct->format;
1729 offset = in_struct->offset;
1730 range = in_struct->range;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001731 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001732}
1733
1734void safe_VkBufferViewCreateInfo::initialize(const safe_VkBufferViewCreateInfo* src)
1735{
1736 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001737 flags = src->flags;
1738 buffer = src->buffer;
1739 format = src->format;
1740 offset = src->offset;
1741 range = src->range;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001742 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001743}
1744
1745safe_VkImageCreateInfo::safe_VkImageCreateInfo(const VkImageCreateInfo* in_struct) :
1746 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001747 flags(in_struct->flags),
1748 imageType(in_struct->imageType),
1749 format(in_struct->format),
1750 extent(in_struct->extent),
1751 mipLevels(in_struct->mipLevels),
1752 arrayLayers(in_struct->arrayLayers),
1753 samples(in_struct->samples),
1754 tiling(in_struct->tiling),
1755 usage(in_struct->usage),
1756 sharingMode(in_struct->sharingMode),
1757 queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
1758 pQueueFamilyIndices(nullptr),
1759 initialLayout(in_struct->initialLayout)
1760{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001761 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001762 if (in_struct->pQueueFamilyIndices) {
1763 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1764 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1765 }
1766}
1767
1768safe_VkImageCreateInfo::safe_VkImageCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07001769 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001770 pQueueFamilyIndices(nullptr)
1771{}
1772
1773safe_VkImageCreateInfo::safe_VkImageCreateInfo(const safe_VkImageCreateInfo& src)
1774{
1775 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001776 flags = src.flags;
1777 imageType = src.imageType;
1778 format = src.format;
1779 extent = src.extent;
1780 mipLevels = src.mipLevels;
1781 arrayLayers = src.arrayLayers;
1782 samples = src.samples;
1783 tiling = src.tiling;
1784 usage = src.usage;
1785 sharingMode = src.sharingMode;
1786 queueFamilyIndexCount = src.queueFamilyIndexCount;
1787 pQueueFamilyIndices = nullptr;
1788 initialLayout = src.initialLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001789 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001790 if (src.pQueueFamilyIndices) {
1791 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1792 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1793 }
1794}
1795
1796safe_VkImageCreateInfo& safe_VkImageCreateInfo::operator=(const safe_VkImageCreateInfo& src)
1797{
1798 if (&src == this) return *this;
1799
1800 if (pQueueFamilyIndices)
1801 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001802 if (pNext)
1803 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001804
1805 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001806 flags = src.flags;
1807 imageType = src.imageType;
1808 format = src.format;
1809 extent = src.extent;
1810 mipLevels = src.mipLevels;
1811 arrayLayers = src.arrayLayers;
1812 samples = src.samples;
1813 tiling = src.tiling;
1814 usage = src.usage;
1815 sharingMode = src.sharingMode;
1816 queueFamilyIndexCount = src.queueFamilyIndexCount;
1817 pQueueFamilyIndices = nullptr;
1818 initialLayout = src.initialLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001819 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001820 if (src.pQueueFamilyIndices) {
1821 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
1822 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
1823 }
1824
1825 return *this;
1826}
1827
1828safe_VkImageCreateInfo::~safe_VkImageCreateInfo()
1829{
1830 if (pQueueFamilyIndices)
1831 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001832 if (pNext)
1833 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001834}
1835
1836void safe_VkImageCreateInfo::initialize(const VkImageCreateInfo* in_struct)
1837{
1838 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001839 flags = in_struct->flags;
1840 imageType = in_struct->imageType;
1841 format = in_struct->format;
1842 extent = in_struct->extent;
1843 mipLevels = in_struct->mipLevels;
1844 arrayLayers = in_struct->arrayLayers;
1845 samples = in_struct->samples;
1846 tiling = in_struct->tiling;
1847 usage = in_struct->usage;
1848 sharingMode = in_struct->sharingMode;
1849 queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
1850 pQueueFamilyIndices = nullptr;
1851 initialLayout = in_struct->initialLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001852 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001853 if (in_struct->pQueueFamilyIndices) {
1854 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
1855 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
1856 }
1857}
1858
1859void safe_VkImageCreateInfo::initialize(const safe_VkImageCreateInfo* src)
1860{
1861 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001862 flags = src->flags;
1863 imageType = src->imageType;
1864 format = src->format;
1865 extent = src->extent;
1866 mipLevels = src->mipLevels;
1867 arrayLayers = src->arrayLayers;
1868 samples = src->samples;
1869 tiling = src->tiling;
1870 usage = src->usage;
1871 sharingMode = src->sharingMode;
1872 queueFamilyIndexCount = src->queueFamilyIndexCount;
1873 pQueueFamilyIndices = nullptr;
1874 initialLayout = src->initialLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001875 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001876 if (src->pQueueFamilyIndices) {
1877 pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
1878 memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
1879 }
1880}
1881
1882safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const VkImageViewCreateInfo* in_struct) :
1883 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001884 flags(in_struct->flags),
1885 image(in_struct->image),
1886 viewType(in_struct->viewType),
1887 format(in_struct->format),
1888 components(in_struct->components),
1889 subresourceRange(in_struct->subresourceRange)
1890{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001891 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001892}
1893
Jason Macnak8f28eec2019-08-09 12:57:01 -07001894safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo() :
1895 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07001896{}
1897
1898safe_VkImageViewCreateInfo::safe_VkImageViewCreateInfo(const safe_VkImageViewCreateInfo& src)
1899{
1900 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001901 flags = src.flags;
1902 image = src.image;
1903 viewType = src.viewType;
1904 format = src.format;
1905 components = src.components;
1906 subresourceRange = src.subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001907 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001908}
1909
1910safe_VkImageViewCreateInfo& safe_VkImageViewCreateInfo::operator=(const safe_VkImageViewCreateInfo& src)
1911{
1912 if (&src == this) return *this;
1913
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001914 if (pNext)
1915 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001916
1917 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001918 flags = src.flags;
1919 image = src.image;
1920 viewType = src.viewType;
1921 format = src.format;
1922 components = src.components;
1923 subresourceRange = src.subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001924 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001925
1926 return *this;
1927}
1928
1929safe_VkImageViewCreateInfo::~safe_VkImageViewCreateInfo()
1930{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001931 if (pNext)
1932 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001933}
1934
1935void safe_VkImageViewCreateInfo::initialize(const VkImageViewCreateInfo* in_struct)
1936{
1937 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001938 flags = in_struct->flags;
1939 image = in_struct->image;
1940 viewType = in_struct->viewType;
1941 format = in_struct->format;
1942 components = in_struct->components;
1943 subresourceRange = in_struct->subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001944 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001945}
1946
1947void safe_VkImageViewCreateInfo::initialize(const safe_VkImageViewCreateInfo* src)
1948{
1949 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001950 flags = src->flags;
1951 image = src->image;
1952 viewType = src->viewType;
1953 format = src->format;
1954 components = src->components;
1955 subresourceRange = src->subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001956 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001957}
1958
1959safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo* in_struct) :
1960 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001961 flags(in_struct->flags),
1962 codeSize(in_struct->codeSize),
1963 pCode(nullptr)
1964{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001965 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001966 if (in_struct->pCode) {
1967 pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
1968 memcpy((void *)pCode, (void *)in_struct->pCode, codeSize);
1969 }
1970}
1971
1972safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07001973 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07001974 pCode(nullptr)
1975{}
1976
1977safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const safe_VkShaderModuleCreateInfo& src)
1978{
1979 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07001980 flags = src.flags;
1981 codeSize = src.codeSize;
1982 pCode = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001983 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001984 if (src.pCode) {
1985 pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
1986 memcpy((void *)pCode, (void *)src.pCode, codeSize);
1987 }
1988}
1989
1990safe_VkShaderModuleCreateInfo& safe_VkShaderModuleCreateInfo::operator=(const safe_VkShaderModuleCreateInfo& src)
1991{
1992 if (&src == this) return *this;
1993
1994 if (pCode)
1995 delete[] reinterpret_cast<const uint8_t *>(pCode);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06001996 if (pNext)
1997 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07001998
1999 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002000 flags = src.flags;
2001 codeSize = src.codeSize;
2002 pCode = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002003 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002004 if (src.pCode) {
2005 pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2006 memcpy((void *)pCode, (void *)src.pCode, codeSize);
2007 }
2008
2009 return *this;
2010}
2011
2012safe_VkShaderModuleCreateInfo::~safe_VkShaderModuleCreateInfo()
2013{
2014 if (pCode)
2015 delete[] reinterpret_cast<const uint8_t *>(pCode);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002016 if (pNext)
2017 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002018}
2019
2020void safe_VkShaderModuleCreateInfo::initialize(const VkShaderModuleCreateInfo* in_struct)
2021{
2022 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002023 flags = in_struct->flags;
2024 codeSize = in_struct->codeSize;
2025 pCode = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002026 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002027 if (in_struct->pCode) {
2028 pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2029 memcpy((void *)pCode, (void *)in_struct->pCode, codeSize);
2030 }
2031}
2032
2033void safe_VkShaderModuleCreateInfo::initialize(const safe_VkShaderModuleCreateInfo* src)
2034{
2035 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002036 flags = src->flags;
2037 codeSize = src->codeSize;
2038 pCode = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002039 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002040 if (src->pCode) {
2041 pCode = reinterpret_cast<uint32_t *>(new uint8_t[codeSize]);
2042 memcpy((void *)pCode, (void *)src->pCode, codeSize);
2043 }
2044}
2045
2046safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo* in_struct) :
2047 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002048 flags(in_struct->flags),
2049 initialDataSize(in_struct->initialDataSize),
2050 pInitialData(in_struct->pInitialData)
2051{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002052 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002053}
2054
Jason Macnak8f28eec2019-08-09 12:57:01 -07002055safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -06002056 pNext(nullptr),
2057 pInitialData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002058{}
2059
2060safe_VkPipelineCacheCreateInfo::safe_VkPipelineCacheCreateInfo(const safe_VkPipelineCacheCreateInfo& src)
2061{
2062 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002063 flags = src.flags;
2064 initialDataSize = src.initialDataSize;
2065 pInitialData = src.pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002066 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002067}
2068
2069safe_VkPipelineCacheCreateInfo& safe_VkPipelineCacheCreateInfo::operator=(const safe_VkPipelineCacheCreateInfo& src)
2070{
2071 if (&src == this) return *this;
2072
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002073 if (pNext)
2074 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002075
2076 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002077 flags = src.flags;
2078 initialDataSize = src.initialDataSize;
2079 pInitialData = src.pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002080 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002081
2082 return *this;
2083}
2084
2085safe_VkPipelineCacheCreateInfo::~safe_VkPipelineCacheCreateInfo()
2086{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002087 if (pNext)
2088 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002089}
2090
2091void safe_VkPipelineCacheCreateInfo::initialize(const VkPipelineCacheCreateInfo* in_struct)
2092{
2093 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002094 flags = in_struct->flags;
2095 initialDataSize = in_struct->initialDataSize;
2096 pInitialData = in_struct->pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002097 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002098}
2099
2100void safe_VkPipelineCacheCreateInfo::initialize(const safe_VkPipelineCacheCreateInfo* src)
2101{
2102 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002103 flags = src->flags;
2104 initialDataSize = src->initialDataSize;
2105 pInitialData = src->pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002106 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002107}
2108
2109safe_VkSpecializationInfo::safe_VkSpecializationInfo(const VkSpecializationInfo* in_struct) :
2110 mapEntryCount(in_struct->mapEntryCount),
2111 pMapEntries(nullptr),
2112 dataSize(in_struct->dataSize),
2113 pData(in_struct->pData)
2114{
2115 if (in_struct->pMapEntries) {
2116 pMapEntries = new VkSpecializationMapEntry[in_struct->mapEntryCount];
2117 memcpy ((void *)pMapEntries, (void *)in_struct->pMapEntries, sizeof(VkSpecializationMapEntry)*in_struct->mapEntryCount);
2118 }
2119}
2120
2121safe_VkSpecializationInfo::safe_VkSpecializationInfo() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -06002122 pMapEntries(nullptr),
2123 pData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002124{}
2125
2126safe_VkSpecializationInfo::safe_VkSpecializationInfo(const safe_VkSpecializationInfo& src)
2127{
2128 mapEntryCount = src.mapEntryCount;
2129 pMapEntries = nullptr;
2130 dataSize = src.dataSize;
2131 pData = src.pData;
2132 if (src.pMapEntries) {
2133 pMapEntries = new VkSpecializationMapEntry[src.mapEntryCount];
2134 memcpy ((void *)pMapEntries, (void *)src.pMapEntries, sizeof(VkSpecializationMapEntry)*src.mapEntryCount);
2135 }
2136}
2137
2138safe_VkSpecializationInfo& safe_VkSpecializationInfo::operator=(const safe_VkSpecializationInfo& src)
2139{
2140 if (&src == this) return *this;
2141
2142 if (pMapEntries)
2143 delete[] pMapEntries;
2144
2145 mapEntryCount = src.mapEntryCount;
2146 pMapEntries = nullptr;
2147 dataSize = src.dataSize;
2148 pData = src.pData;
2149 if (src.pMapEntries) {
2150 pMapEntries = new VkSpecializationMapEntry[src.mapEntryCount];
2151 memcpy ((void *)pMapEntries, (void *)src.pMapEntries, sizeof(VkSpecializationMapEntry)*src.mapEntryCount);
2152 }
2153
2154 return *this;
2155}
2156
2157safe_VkSpecializationInfo::~safe_VkSpecializationInfo()
2158{
2159 if (pMapEntries)
2160 delete[] pMapEntries;
2161}
2162
2163void safe_VkSpecializationInfo::initialize(const VkSpecializationInfo* in_struct)
2164{
2165 mapEntryCount = in_struct->mapEntryCount;
2166 pMapEntries = nullptr;
2167 dataSize = in_struct->dataSize;
2168 pData = in_struct->pData;
2169 if (in_struct->pMapEntries) {
2170 pMapEntries = new VkSpecializationMapEntry[in_struct->mapEntryCount];
2171 memcpy ((void *)pMapEntries, (void *)in_struct->pMapEntries, sizeof(VkSpecializationMapEntry)*in_struct->mapEntryCount);
2172 }
2173}
2174
2175void safe_VkSpecializationInfo::initialize(const safe_VkSpecializationInfo* src)
2176{
2177 mapEntryCount = src->mapEntryCount;
2178 pMapEntries = nullptr;
2179 dataSize = src->dataSize;
2180 pData = src->pData;
2181 if (src->pMapEntries) {
2182 pMapEntries = new VkSpecializationMapEntry[src->mapEntryCount];
2183 memcpy ((void *)pMapEntries, (void *)src->pMapEntries, sizeof(VkSpecializationMapEntry)*src->mapEntryCount);
2184 }
2185}
2186
2187safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo* in_struct) :
2188 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002189 flags(in_struct->flags),
2190 stage(in_struct->stage),
2191 module(in_struct->module),
2192 pName(in_struct->pName)
2193{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002194 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002195 if (in_struct->pSpecializationInfo)
2196 pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo);
2197 else
2198 pSpecializationInfo = NULL;
2199}
2200
Jason Macnak8f28eec2019-08-09 12:57:01 -07002201safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -06002202 pNext(nullptr),
2203 pName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002204{}
2205
2206safe_VkPipelineShaderStageCreateInfo::safe_VkPipelineShaderStageCreateInfo(const safe_VkPipelineShaderStageCreateInfo& src)
2207{
2208 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002209 flags = src.flags;
2210 stage = src.stage;
2211 module = src.module;
2212 pName = src.pName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002213 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002214 if (src.pSpecializationInfo)
2215 pSpecializationInfo = new safe_VkSpecializationInfo(*src.pSpecializationInfo);
2216 else
2217 pSpecializationInfo = NULL;
2218}
2219
2220safe_VkPipelineShaderStageCreateInfo& safe_VkPipelineShaderStageCreateInfo::operator=(const safe_VkPipelineShaderStageCreateInfo& src)
2221{
2222 if (&src == this) return *this;
2223
2224 if (pSpecializationInfo)
2225 delete pSpecializationInfo;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002226 if (pNext)
2227 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002228
2229 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002230 flags = src.flags;
2231 stage = src.stage;
2232 module = src.module;
2233 pName = src.pName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002234 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002235 if (src.pSpecializationInfo)
2236 pSpecializationInfo = new safe_VkSpecializationInfo(*src.pSpecializationInfo);
2237 else
2238 pSpecializationInfo = NULL;
2239
2240 return *this;
2241}
2242
2243safe_VkPipelineShaderStageCreateInfo::~safe_VkPipelineShaderStageCreateInfo()
2244{
2245 if (pSpecializationInfo)
2246 delete pSpecializationInfo;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002247 if (pNext)
2248 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002249}
2250
2251void safe_VkPipelineShaderStageCreateInfo::initialize(const VkPipelineShaderStageCreateInfo* in_struct)
2252{
2253 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002254 flags = in_struct->flags;
2255 stage = in_struct->stage;
2256 module = in_struct->module;
2257 pName = in_struct->pName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002258 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002259 if (in_struct->pSpecializationInfo)
2260 pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo);
2261 else
2262 pSpecializationInfo = NULL;
2263}
2264
2265void safe_VkPipelineShaderStageCreateInfo::initialize(const safe_VkPipelineShaderStageCreateInfo* src)
2266{
2267 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002268 flags = src->flags;
2269 stage = src->stage;
2270 module = src->module;
2271 pName = src->pName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002272 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002273 if (src->pSpecializationInfo)
2274 pSpecializationInfo = new safe_VkSpecializationInfo(*src->pSpecializationInfo);
2275 else
2276 pSpecializationInfo = NULL;
2277}
2278
2279safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo* in_struct) :
2280 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002281 flags(in_struct->flags),
2282 vertexBindingDescriptionCount(in_struct->vertexBindingDescriptionCount),
2283 pVertexBindingDescriptions(nullptr),
2284 vertexAttributeDescriptionCount(in_struct->vertexAttributeDescriptionCount),
2285 pVertexAttributeDescriptions(nullptr)
2286{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002287 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002288 if (in_struct->pVertexBindingDescriptions) {
2289 pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount];
2290 memcpy ((void *)pVertexBindingDescriptions, (void *)in_struct->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*in_struct->vertexBindingDescriptionCount);
2291 }
2292 if (in_struct->pVertexAttributeDescriptions) {
2293 pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount];
2294 memcpy ((void *)pVertexAttributeDescriptions, (void *)in_struct->pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*in_struct->vertexAttributeDescriptionCount);
2295 }
2296}
2297
2298safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07002299 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002300 pVertexBindingDescriptions(nullptr),
2301 pVertexAttributeDescriptions(nullptr)
2302{}
2303
2304safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo(const safe_VkPipelineVertexInputStateCreateInfo& src)
2305{
2306 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002307 flags = src.flags;
2308 vertexBindingDescriptionCount = src.vertexBindingDescriptionCount;
2309 pVertexBindingDescriptions = nullptr;
2310 vertexAttributeDescriptionCount = src.vertexAttributeDescriptionCount;
2311 pVertexAttributeDescriptions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002312 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002313 if (src.pVertexBindingDescriptions) {
2314 pVertexBindingDescriptions = new VkVertexInputBindingDescription[src.vertexBindingDescriptionCount];
2315 memcpy ((void *)pVertexBindingDescriptions, (void *)src.pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src.vertexBindingDescriptionCount);
2316 }
2317 if (src.pVertexAttributeDescriptions) {
2318 pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[src.vertexAttributeDescriptionCount];
2319 memcpy ((void *)pVertexAttributeDescriptions, (void *)src.pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*src.vertexAttributeDescriptionCount);
2320 }
2321}
2322
2323safe_VkPipelineVertexInputStateCreateInfo& safe_VkPipelineVertexInputStateCreateInfo::operator=(const safe_VkPipelineVertexInputStateCreateInfo& src)
2324{
2325 if (&src == this) return *this;
2326
2327 if (pVertexBindingDescriptions)
2328 delete[] pVertexBindingDescriptions;
2329 if (pVertexAttributeDescriptions)
2330 delete[] pVertexAttributeDescriptions;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002331 if (pNext)
2332 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002333
2334 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002335 flags = src.flags;
2336 vertexBindingDescriptionCount = src.vertexBindingDescriptionCount;
2337 pVertexBindingDescriptions = nullptr;
2338 vertexAttributeDescriptionCount = src.vertexAttributeDescriptionCount;
2339 pVertexAttributeDescriptions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002340 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002341 if (src.pVertexBindingDescriptions) {
2342 pVertexBindingDescriptions = new VkVertexInputBindingDescription[src.vertexBindingDescriptionCount];
2343 memcpy ((void *)pVertexBindingDescriptions, (void *)src.pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src.vertexBindingDescriptionCount);
2344 }
2345 if (src.pVertexAttributeDescriptions) {
2346 pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[src.vertexAttributeDescriptionCount];
2347 memcpy ((void *)pVertexAttributeDescriptions, (void *)src.pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*src.vertexAttributeDescriptionCount);
2348 }
2349
2350 return *this;
2351}
2352
2353safe_VkPipelineVertexInputStateCreateInfo::~safe_VkPipelineVertexInputStateCreateInfo()
2354{
2355 if (pVertexBindingDescriptions)
2356 delete[] pVertexBindingDescriptions;
2357 if (pVertexAttributeDescriptions)
2358 delete[] pVertexAttributeDescriptions;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002359 if (pNext)
2360 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002361}
2362
2363void safe_VkPipelineVertexInputStateCreateInfo::initialize(const VkPipelineVertexInputStateCreateInfo* in_struct)
2364{
2365 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002366 flags = in_struct->flags;
2367 vertexBindingDescriptionCount = in_struct->vertexBindingDescriptionCount;
2368 pVertexBindingDescriptions = nullptr;
2369 vertexAttributeDescriptionCount = in_struct->vertexAttributeDescriptionCount;
2370 pVertexAttributeDescriptions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002371 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002372 if (in_struct->pVertexBindingDescriptions) {
2373 pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount];
2374 memcpy ((void *)pVertexBindingDescriptions, (void *)in_struct->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*in_struct->vertexBindingDescriptionCount);
2375 }
2376 if (in_struct->pVertexAttributeDescriptions) {
2377 pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount];
2378 memcpy ((void *)pVertexAttributeDescriptions, (void *)in_struct->pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*in_struct->vertexAttributeDescriptionCount);
2379 }
2380}
2381
2382void safe_VkPipelineVertexInputStateCreateInfo::initialize(const safe_VkPipelineVertexInputStateCreateInfo* src)
2383{
2384 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002385 flags = src->flags;
2386 vertexBindingDescriptionCount = src->vertexBindingDescriptionCount;
2387 pVertexBindingDescriptions = nullptr;
2388 vertexAttributeDescriptionCount = src->vertexAttributeDescriptionCount;
2389 pVertexAttributeDescriptions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002390 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002391 if (src->pVertexBindingDescriptions) {
2392 pVertexBindingDescriptions = new VkVertexInputBindingDescription[src->vertexBindingDescriptionCount];
2393 memcpy ((void *)pVertexBindingDescriptions, (void *)src->pVertexBindingDescriptions, sizeof(VkVertexInputBindingDescription)*src->vertexBindingDescriptionCount);
2394 }
2395 if (src->pVertexAttributeDescriptions) {
2396 pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[src->vertexAttributeDescriptionCount];
2397 memcpy ((void *)pVertexAttributeDescriptions, (void *)src->pVertexAttributeDescriptions, sizeof(VkVertexInputAttributeDescription)*src->vertexAttributeDescriptionCount);
2398 }
2399}
2400
2401safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo* in_struct) :
2402 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002403 flags(in_struct->flags),
2404 topology(in_struct->topology),
2405 primitiveRestartEnable(in_struct->primitiveRestartEnable)
2406{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002407 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002408}
2409
Jason Macnak8f28eec2019-08-09 12:57:01 -07002410safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo() :
2411 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002412{}
2413
2414safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo(const safe_VkPipelineInputAssemblyStateCreateInfo& src)
2415{
2416 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002417 flags = src.flags;
2418 topology = src.topology;
2419 primitiveRestartEnable = src.primitiveRestartEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002420 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002421}
2422
2423safe_VkPipelineInputAssemblyStateCreateInfo& safe_VkPipelineInputAssemblyStateCreateInfo::operator=(const safe_VkPipelineInputAssemblyStateCreateInfo& src)
2424{
2425 if (&src == this) return *this;
2426
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002427 if (pNext)
2428 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002429
2430 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002431 flags = src.flags;
2432 topology = src.topology;
2433 primitiveRestartEnable = src.primitiveRestartEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002434 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002435
2436 return *this;
2437}
2438
2439safe_VkPipelineInputAssemblyStateCreateInfo::~safe_VkPipelineInputAssemblyStateCreateInfo()
2440{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002441 if (pNext)
2442 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002443}
2444
2445void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct)
2446{
2447 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002448 flags = in_struct->flags;
2449 topology = in_struct->topology;
2450 primitiveRestartEnable = in_struct->primitiveRestartEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002451 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002452}
2453
2454void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* src)
2455{
2456 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002457 flags = src->flags;
2458 topology = src->topology;
2459 primitiveRestartEnable = src->primitiveRestartEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002460 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002461}
2462
2463safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo* in_struct) :
2464 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002465 flags(in_struct->flags),
2466 patchControlPoints(in_struct->patchControlPoints)
2467{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002468 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002469}
2470
Jason Macnak8f28eec2019-08-09 12:57:01 -07002471safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo() :
2472 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002473{}
2474
2475safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo(const safe_VkPipelineTessellationStateCreateInfo& src)
2476{
2477 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002478 flags = src.flags;
2479 patchControlPoints = src.patchControlPoints;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002480 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002481}
2482
2483safe_VkPipelineTessellationStateCreateInfo& safe_VkPipelineTessellationStateCreateInfo::operator=(const safe_VkPipelineTessellationStateCreateInfo& src)
2484{
2485 if (&src == this) return *this;
2486
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002487 if (pNext)
2488 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002489
2490 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002491 flags = src.flags;
2492 patchControlPoints = src.patchControlPoints;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002493 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002494
2495 return *this;
2496}
2497
2498safe_VkPipelineTessellationStateCreateInfo::~safe_VkPipelineTessellationStateCreateInfo()
2499{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002500 if (pNext)
2501 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002502}
2503
2504void safe_VkPipelineTessellationStateCreateInfo::initialize(const VkPipelineTessellationStateCreateInfo* in_struct)
2505{
2506 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002507 flags = in_struct->flags;
2508 patchControlPoints = in_struct->patchControlPoints;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002509 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002510}
2511
2512void safe_VkPipelineTessellationStateCreateInfo::initialize(const safe_VkPipelineTessellationStateCreateInfo* src)
2513{
2514 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002515 flags = src->flags;
2516 patchControlPoints = src->patchControlPoints;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002517 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002518}
2519
2520safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, const bool is_dynamic_scissors) :
2521 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002522 flags(in_struct->flags),
2523 viewportCount(in_struct->viewportCount),
2524 pViewports(nullptr),
2525 scissorCount(in_struct->scissorCount),
2526 pScissors(nullptr)
2527{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002528 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002529 if (in_struct->pViewports && !is_dynamic_viewports) {
2530 pViewports = new VkViewport[in_struct->viewportCount];
2531 memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount);
2532 }
2533 else
2534 pViewports = NULL;
2535 if (in_struct->pScissors && !is_dynamic_scissors) {
2536 pScissors = new VkRect2D[in_struct->scissorCount];
2537 memcpy ((void *)pScissors, (void *)in_struct->pScissors, sizeof(VkRect2D)*in_struct->scissorCount);
2538 }
2539 else
2540 pScissors = NULL;
2541}
2542
2543safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07002544 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002545 pViewports(nullptr),
2546 pScissors(nullptr)
2547{}
2548
2549safe_VkPipelineViewportStateCreateInfo::safe_VkPipelineViewportStateCreateInfo(const safe_VkPipelineViewportStateCreateInfo& src)
2550{
2551 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002552 flags = src.flags;
2553 viewportCount = src.viewportCount;
2554 pViewports = nullptr;
2555 scissorCount = src.scissorCount;
2556 pScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002557 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002558 if (src.pViewports) {
2559 pViewports = new VkViewport[src.viewportCount];
2560 memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount);
2561 }
2562 else
2563 pViewports = NULL;
2564 if (src.pScissors) {
2565 pScissors = new VkRect2D[src.scissorCount];
2566 memcpy ((void *)pScissors, (void *)src.pScissors, sizeof(VkRect2D)*src.scissorCount);
2567 }
2568 else
2569 pScissors = NULL;
2570}
2571
2572safe_VkPipelineViewportStateCreateInfo& safe_VkPipelineViewportStateCreateInfo::operator=(const safe_VkPipelineViewportStateCreateInfo& src)
2573{
2574 if (&src == this) return *this;
2575
2576 if (pViewports)
2577 delete[] pViewports;
2578 if (pScissors)
2579 delete[] pScissors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002580 if (pNext)
2581 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002582
2583 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002584 flags = src.flags;
2585 viewportCount = src.viewportCount;
2586 pViewports = nullptr;
2587 scissorCount = src.scissorCount;
2588 pScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002589 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002590 if (src.pViewports) {
2591 pViewports = new VkViewport[src.viewportCount];
2592 memcpy ((void *)pViewports, (void *)src.pViewports, sizeof(VkViewport)*src.viewportCount);
2593 }
2594 else
2595 pViewports = NULL;
2596 if (src.pScissors) {
2597 pScissors = new VkRect2D[src.scissorCount];
2598 memcpy ((void *)pScissors, (void *)src.pScissors, sizeof(VkRect2D)*src.scissorCount);
2599 }
2600 else
2601 pScissors = NULL;
2602
2603 return *this;
2604}
2605
2606safe_VkPipelineViewportStateCreateInfo::~safe_VkPipelineViewportStateCreateInfo()
2607{
2608 if (pViewports)
2609 delete[] pViewports;
2610 if (pScissors)
2611 delete[] pScissors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002612 if (pNext)
2613 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002614}
2615
2616void safe_VkPipelineViewportStateCreateInfo::initialize(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, const bool is_dynamic_scissors)
2617{
2618 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002619 flags = in_struct->flags;
2620 viewportCount = in_struct->viewportCount;
2621 pViewports = nullptr;
2622 scissorCount = in_struct->scissorCount;
2623 pScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002624 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002625 if (in_struct->pViewports && !is_dynamic_viewports) {
2626 pViewports = new VkViewport[in_struct->viewportCount];
2627 memcpy ((void *)pViewports, (void *)in_struct->pViewports, sizeof(VkViewport)*in_struct->viewportCount);
2628 }
2629 else
2630 pViewports = NULL;
2631 if (in_struct->pScissors && !is_dynamic_scissors) {
2632 pScissors = new VkRect2D[in_struct->scissorCount];
2633 memcpy ((void *)pScissors, (void *)in_struct->pScissors, sizeof(VkRect2D)*in_struct->scissorCount);
2634 }
2635 else
2636 pScissors = NULL;
2637}
2638
2639void safe_VkPipelineViewportStateCreateInfo::initialize(const safe_VkPipelineViewportStateCreateInfo* src)
2640{
2641 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002642 flags = src->flags;
2643 viewportCount = src->viewportCount;
2644 pViewports = nullptr;
2645 scissorCount = src->scissorCount;
2646 pScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002647 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002648 if (src->pViewports) {
2649 pViewports = new VkViewport[src->viewportCount];
2650 memcpy ((void *)pViewports, (void *)src->pViewports, sizeof(VkViewport)*src->viewportCount);
2651 }
2652 else
2653 pViewports = NULL;
2654 if (src->pScissors) {
2655 pScissors = new VkRect2D[src->scissorCount];
2656 memcpy ((void *)pScissors, (void *)src->pScissors, sizeof(VkRect2D)*src->scissorCount);
2657 }
2658 else
2659 pScissors = NULL;
2660}
2661
2662safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo* in_struct) :
2663 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002664 flags(in_struct->flags),
2665 depthClampEnable(in_struct->depthClampEnable),
2666 rasterizerDiscardEnable(in_struct->rasterizerDiscardEnable),
2667 polygonMode(in_struct->polygonMode),
2668 cullMode(in_struct->cullMode),
2669 frontFace(in_struct->frontFace),
2670 depthBiasEnable(in_struct->depthBiasEnable),
2671 depthBiasConstantFactor(in_struct->depthBiasConstantFactor),
2672 depthBiasClamp(in_struct->depthBiasClamp),
2673 depthBiasSlopeFactor(in_struct->depthBiasSlopeFactor),
2674 lineWidth(in_struct->lineWidth)
2675{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002676 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002677}
2678
Jason Macnak8f28eec2019-08-09 12:57:01 -07002679safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo() :
2680 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002681{}
2682
2683safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo(const safe_VkPipelineRasterizationStateCreateInfo& src)
2684{
2685 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002686 flags = src.flags;
2687 depthClampEnable = src.depthClampEnable;
2688 rasterizerDiscardEnable = src.rasterizerDiscardEnable;
2689 polygonMode = src.polygonMode;
2690 cullMode = src.cullMode;
2691 frontFace = src.frontFace;
2692 depthBiasEnable = src.depthBiasEnable;
2693 depthBiasConstantFactor = src.depthBiasConstantFactor;
2694 depthBiasClamp = src.depthBiasClamp;
2695 depthBiasSlopeFactor = src.depthBiasSlopeFactor;
2696 lineWidth = src.lineWidth;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002697 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002698}
2699
2700safe_VkPipelineRasterizationStateCreateInfo& safe_VkPipelineRasterizationStateCreateInfo::operator=(const safe_VkPipelineRasterizationStateCreateInfo& src)
2701{
2702 if (&src == this) return *this;
2703
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002704 if (pNext)
2705 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002706
2707 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002708 flags = src.flags;
2709 depthClampEnable = src.depthClampEnable;
2710 rasterizerDiscardEnable = src.rasterizerDiscardEnable;
2711 polygonMode = src.polygonMode;
2712 cullMode = src.cullMode;
2713 frontFace = src.frontFace;
2714 depthBiasEnable = src.depthBiasEnable;
2715 depthBiasConstantFactor = src.depthBiasConstantFactor;
2716 depthBiasClamp = src.depthBiasClamp;
2717 depthBiasSlopeFactor = src.depthBiasSlopeFactor;
2718 lineWidth = src.lineWidth;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002719 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002720
2721 return *this;
2722}
2723
2724safe_VkPipelineRasterizationStateCreateInfo::~safe_VkPipelineRasterizationStateCreateInfo()
2725{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002726 if (pNext)
2727 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002728}
2729
2730void safe_VkPipelineRasterizationStateCreateInfo::initialize(const VkPipelineRasterizationStateCreateInfo* in_struct)
2731{
2732 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002733 flags = in_struct->flags;
2734 depthClampEnable = in_struct->depthClampEnable;
2735 rasterizerDiscardEnable = in_struct->rasterizerDiscardEnable;
2736 polygonMode = in_struct->polygonMode;
2737 cullMode = in_struct->cullMode;
2738 frontFace = in_struct->frontFace;
2739 depthBiasEnable = in_struct->depthBiasEnable;
2740 depthBiasConstantFactor = in_struct->depthBiasConstantFactor;
2741 depthBiasClamp = in_struct->depthBiasClamp;
2742 depthBiasSlopeFactor = in_struct->depthBiasSlopeFactor;
2743 lineWidth = in_struct->lineWidth;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002744 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002745}
2746
2747void safe_VkPipelineRasterizationStateCreateInfo::initialize(const safe_VkPipelineRasterizationStateCreateInfo* src)
2748{
2749 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002750 flags = src->flags;
2751 depthClampEnable = src->depthClampEnable;
2752 rasterizerDiscardEnable = src->rasterizerDiscardEnable;
2753 polygonMode = src->polygonMode;
2754 cullMode = src->cullMode;
2755 frontFace = src->frontFace;
2756 depthBiasEnable = src->depthBiasEnable;
2757 depthBiasConstantFactor = src->depthBiasConstantFactor;
2758 depthBiasClamp = src->depthBiasClamp;
2759 depthBiasSlopeFactor = src->depthBiasSlopeFactor;
2760 lineWidth = src->lineWidth;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002761 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002762}
2763
2764safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo* in_struct) :
2765 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002766 flags(in_struct->flags),
2767 rasterizationSamples(in_struct->rasterizationSamples),
2768 sampleShadingEnable(in_struct->sampleShadingEnable),
2769 minSampleShading(in_struct->minSampleShading),
2770 pSampleMask(nullptr),
2771 alphaToCoverageEnable(in_struct->alphaToCoverageEnable),
2772 alphaToOneEnable(in_struct->alphaToOneEnable)
2773{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002774 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002775 if (in_struct->pSampleMask) {
2776 pSampleMask = new VkSampleMask(*in_struct->pSampleMask);
2777 }
2778}
2779
2780safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07002781 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002782 pSampleMask(nullptr)
2783{}
2784
2785safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo(const safe_VkPipelineMultisampleStateCreateInfo& src)
2786{
2787 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002788 flags = src.flags;
2789 rasterizationSamples = src.rasterizationSamples;
2790 sampleShadingEnable = src.sampleShadingEnable;
2791 minSampleShading = src.minSampleShading;
2792 pSampleMask = nullptr;
2793 alphaToCoverageEnable = src.alphaToCoverageEnable;
2794 alphaToOneEnable = src.alphaToOneEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002795 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002796 if (src.pSampleMask) {
2797 pSampleMask = new VkSampleMask(*src.pSampleMask);
2798 }
2799}
2800
2801safe_VkPipelineMultisampleStateCreateInfo& safe_VkPipelineMultisampleStateCreateInfo::operator=(const safe_VkPipelineMultisampleStateCreateInfo& src)
2802{
2803 if (&src == this) return *this;
2804
2805 if (pSampleMask)
2806 delete pSampleMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002807 if (pNext)
2808 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002809
2810 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002811 flags = src.flags;
2812 rasterizationSamples = src.rasterizationSamples;
2813 sampleShadingEnable = src.sampleShadingEnable;
2814 minSampleShading = src.minSampleShading;
2815 pSampleMask = nullptr;
2816 alphaToCoverageEnable = src.alphaToCoverageEnable;
2817 alphaToOneEnable = src.alphaToOneEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002818 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002819 if (src.pSampleMask) {
2820 pSampleMask = new VkSampleMask(*src.pSampleMask);
2821 }
2822
2823 return *this;
2824}
2825
2826safe_VkPipelineMultisampleStateCreateInfo::~safe_VkPipelineMultisampleStateCreateInfo()
2827{
2828 if (pSampleMask)
2829 delete pSampleMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002830 if (pNext)
2831 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002832}
2833
2834void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMultisampleStateCreateInfo* in_struct)
2835{
2836 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002837 flags = in_struct->flags;
2838 rasterizationSamples = in_struct->rasterizationSamples;
2839 sampleShadingEnable = in_struct->sampleShadingEnable;
2840 minSampleShading = in_struct->minSampleShading;
2841 pSampleMask = nullptr;
2842 alphaToCoverageEnable = in_struct->alphaToCoverageEnable;
2843 alphaToOneEnable = in_struct->alphaToOneEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002844 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002845 if (in_struct->pSampleMask) {
2846 pSampleMask = new VkSampleMask(*in_struct->pSampleMask);
2847 }
2848}
2849
2850void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipelineMultisampleStateCreateInfo* src)
2851{
2852 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002853 flags = src->flags;
2854 rasterizationSamples = src->rasterizationSamples;
2855 sampleShadingEnable = src->sampleShadingEnable;
2856 minSampleShading = src->minSampleShading;
2857 pSampleMask = nullptr;
2858 alphaToCoverageEnable = src->alphaToCoverageEnable;
2859 alphaToOneEnable = src->alphaToOneEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002860 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002861 if (src->pSampleMask) {
2862 pSampleMask = new VkSampleMask(*src->pSampleMask);
2863 }
2864}
2865
2866safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo* in_struct) :
2867 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002868 flags(in_struct->flags),
2869 depthTestEnable(in_struct->depthTestEnable),
2870 depthWriteEnable(in_struct->depthWriteEnable),
2871 depthCompareOp(in_struct->depthCompareOp),
2872 depthBoundsTestEnable(in_struct->depthBoundsTestEnable),
2873 stencilTestEnable(in_struct->stencilTestEnable),
2874 front(in_struct->front),
2875 back(in_struct->back),
2876 minDepthBounds(in_struct->minDepthBounds),
2877 maxDepthBounds(in_struct->maxDepthBounds)
2878{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002879 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002880}
2881
Jason Macnak8f28eec2019-08-09 12:57:01 -07002882safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo() :
2883 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07002884{}
2885
2886safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo(const safe_VkPipelineDepthStencilStateCreateInfo& src)
2887{
2888 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002889 flags = src.flags;
2890 depthTestEnable = src.depthTestEnable;
2891 depthWriteEnable = src.depthWriteEnable;
2892 depthCompareOp = src.depthCompareOp;
2893 depthBoundsTestEnable = src.depthBoundsTestEnable;
2894 stencilTestEnable = src.stencilTestEnable;
2895 front = src.front;
2896 back = src.back;
2897 minDepthBounds = src.minDepthBounds;
2898 maxDepthBounds = src.maxDepthBounds;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002899 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002900}
2901
2902safe_VkPipelineDepthStencilStateCreateInfo& safe_VkPipelineDepthStencilStateCreateInfo::operator=(const safe_VkPipelineDepthStencilStateCreateInfo& src)
2903{
2904 if (&src == this) return *this;
2905
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002906 if (pNext)
2907 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002908
2909 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002910 flags = src.flags;
2911 depthTestEnable = src.depthTestEnable;
2912 depthWriteEnable = src.depthWriteEnable;
2913 depthCompareOp = src.depthCompareOp;
2914 depthBoundsTestEnable = src.depthBoundsTestEnable;
2915 stencilTestEnable = src.stencilTestEnable;
2916 front = src.front;
2917 back = src.back;
2918 minDepthBounds = src.minDepthBounds;
2919 maxDepthBounds = src.maxDepthBounds;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002920 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002921
2922 return *this;
2923}
2924
2925safe_VkPipelineDepthStencilStateCreateInfo::~safe_VkPipelineDepthStencilStateCreateInfo()
2926{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002927 if (pNext)
2928 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002929}
2930
2931void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct)
2932{
2933 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002934 flags = in_struct->flags;
2935 depthTestEnable = in_struct->depthTestEnable;
2936 depthWriteEnable = in_struct->depthWriteEnable;
2937 depthCompareOp = in_struct->depthCompareOp;
2938 depthBoundsTestEnable = in_struct->depthBoundsTestEnable;
2939 stencilTestEnable = in_struct->stencilTestEnable;
2940 front = in_struct->front;
2941 back = in_struct->back;
2942 minDepthBounds = in_struct->minDepthBounds;
2943 maxDepthBounds = in_struct->maxDepthBounds;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002944 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002945}
2946
2947void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const safe_VkPipelineDepthStencilStateCreateInfo* src)
2948{
2949 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002950 flags = src->flags;
2951 depthTestEnable = src->depthTestEnable;
2952 depthWriteEnable = src->depthWriteEnable;
2953 depthCompareOp = src->depthCompareOp;
2954 depthBoundsTestEnable = src->depthBoundsTestEnable;
2955 stencilTestEnable = src->stencilTestEnable;
2956 front = src->front;
2957 back = src->back;
2958 minDepthBounds = src->minDepthBounds;
2959 maxDepthBounds = src->maxDepthBounds;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002960 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002961}
2962
2963safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo* in_struct) :
2964 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002965 flags(in_struct->flags),
2966 logicOpEnable(in_struct->logicOpEnable),
2967 logicOp(in_struct->logicOp),
2968 attachmentCount(in_struct->attachmentCount),
2969 pAttachments(nullptr)
2970{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002971 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002972 if (in_struct->pAttachments) {
2973 pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount];
2974 memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*in_struct->attachmentCount);
2975 }
2976 for (uint32_t i=0; i<4; ++i) {
2977 blendConstants[i] = in_struct->blendConstants[i];
2978 }
2979}
2980
2981safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07002982 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07002983 pAttachments(nullptr)
2984{}
2985
2986safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo(const safe_VkPipelineColorBlendStateCreateInfo& src)
2987{
2988 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07002989 flags = src.flags;
2990 logicOpEnable = src.logicOpEnable;
2991 logicOp = src.logicOp;
2992 attachmentCount = src.attachmentCount;
2993 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06002994 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07002995 if (src.pAttachments) {
2996 pAttachments = new VkPipelineColorBlendAttachmentState[src.attachmentCount];
2997 memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src.attachmentCount);
2998 }
2999 for (uint32_t i=0; i<4; ++i) {
3000 blendConstants[i] = src.blendConstants[i];
3001 }
3002}
3003
3004safe_VkPipelineColorBlendStateCreateInfo& safe_VkPipelineColorBlendStateCreateInfo::operator=(const safe_VkPipelineColorBlendStateCreateInfo& src)
3005{
3006 if (&src == this) return *this;
3007
3008 if (pAttachments)
3009 delete[] pAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003010 if (pNext)
3011 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003012
3013 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003014 flags = src.flags;
3015 logicOpEnable = src.logicOpEnable;
3016 logicOp = src.logicOp;
3017 attachmentCount = src.attachmentCount;
3018 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003019 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003020 if (src.pAttachments) {
3021 pAttachments = new VkPipelineColorBlendAttachmentState[src.attachmentCount];
3022 memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src.attachmentCount);
3023 }
3024 for (uint32_t i=0; i<4; ++i) {
3025 blendConstants[i] = src.blendConstants[i];
3026 }
3027
3028 return *this;
3029}
3030
3031safe_VkPipelineColorBlendStateCreateInfo::~safe_VkPipelineColorBlendStateCreateInfo()
3032{
3033 if (pAttachments)
3034 delete[] pAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003035 if (pNext)
3036 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003037}
3038
3039void safe_VkPipelineColorBlendStateCreateInfo::initialize(const VkPipelineColorBlendStateCreateInfo* in_struct)
3040{
3041 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003042 flags = in_struct->flags;
3043 logicOpEnable = in_struct->logicOpEnable;
3044 logicOp = in_struct->logicOp;
3045 attachmentCount = in_struct->attachmentCount;
3046 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003047 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003048 if (in_struct->pAttachments) {
3049 pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount];
3050 memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*in_struct->attachmentCount);
3051 }
3052 for (uint32_t i=0; i<4; ++i) {
3053 blendConstants[i] = in_struct->blendConstants[i];
3054 }
3055}
3056
3057void safe_VkPipelineColorBlendStateCreateInfo::initialize(const safe_VkPipelineColorBlendStateCreateInfo* src)
3058{
3059 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003060 flags = src->flags;
3061 logicOpEnable = src->logicOpEnable;
3062 logicOp = src->logicOp;
3063 attachmentCount = src->attachmentCount;
3064 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003065 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003066 if (src->pAttachments) {
3067 pAttachments = new VkPipelineColorBlendAttachmentState[src->attachmentCount];
3068 memcpy ((void *)pAttachments, (void *)src->pAttachments, sizeof(VkPipelineColorBlendAttachmentState)*src->attachmentCount);
3069 }
3070 for (uint32_t i=0; i<4; ++i) {
3071 blendConstants[i] = src->blendConstants[i];
3072 }
3073}
3074
3075safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct) :
3076 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003077 flags(in_struct->flags),
3078 dynamicStateCount(in_struct->dynamicStateCount),
3079 pDynamicStates(nullptr)
3080{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003081 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003082 if (in_struct->pDynamicStates) {
3083 pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount];
3084 memcpy ((void *)pDynamicStates, (void *)in_struct->pDynamicStates, sizeof(VkDynamicState)*in_struct->dynamicStateCount);
3085 }
3086}
3087
3088safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07003089 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003090 pDynamicStates(nullptr)
3091{}
3092
3093safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const safe_VkPipelineDynamicStateCreateInfo& src)
3094{
3095 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003096 flags = src.flags;
3097 dynamicStateCount = src.dynamicStateCount;
3098 pDynamicStates = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003099 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003100 if (src.pDynamicStates) {
3101 pDynamicStates = new VkDynamicState[src.dynamicStateCount];
3102 memcpy ((void *)pDynamicStates, (void *)src.pDynamicStates, sizeof(VkDynamicState)*src.dynamicStateCount);
3103 }
3104}
3105
3106safe_VkPipelineDynamicStateCreateInfo& safe_VkPipelineDynamicStateCreateInfo::operator=(const safe_VkPipelineDynamicStateCreateInfo& src)
3107{
3108 if (&src == this) return *this;
3109
3110 if (pDynamicStates)
3111 delete[] pDynamicStates;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003112 if (pNext)
3113 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003114
3115 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003116 flags = src.flags;
3117 dynamicStateCount = src.dynamicStateCount;
3118 pDynamicStates = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003119 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003120 if (src.pDynamicStates) {
3121 pDynamicStates = new VkDynamicState[src.dynamicStateCount];
3122 memcpy ((void *)pDynamicStates, (void *)src.pDynamicStates, sizeof(VkDynamicState)*src.dynamicStateCount);
3123 }
3124
3125 return *this;
3126}
3127
3128safe_VkPipelineDynamicStateCreateInfo::~safe_VkPipelineDynamicStateCreateInfo()
3129{
3130 if (pDynamicStates)
3131 delete[] pDynamicStates;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003132 if (pNext)
3133 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003134}
3135
3136void safe_VkPipelineDynamicStateCreateInfo::initialize(const VkPipelineDynamicStateCreateInfo* in_struct)
3137{
3138 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003139 flags = in_struct->flags;
3140 dynamicStateCount = in_struct->dynamicStateCount;
3141 pDynamicStates = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003142 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003143 if (in_struct->pDynamicStates) {
3144 pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount];
3145 memcpy ((void *)pDynamicStates, (void *)in_struct->pDynamicStates, sizeof(VkDynamicState)*in_struct->dynamicStateCount);
3146 }
3147}
3148
3149void safe_VkPipelineDynamicStateCreateInfo::initialize(const safe_VkPipelineDynamicStateCreateInfo* src)
3150{
3151 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003152 flags = src->flags;
3153 dynamicStateCount = src->dynamicStateCount;
3154 pDynamicStates = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003155 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003156 if (src->pDynamicStates) {
3157 pDynamicStates = new VkDynamicState[src->dynamicStateCount];
3158 memcpy ((void *)pDynamicStates, (void *)src->pDynamicStates, sizeof(VkDynamicState)*src->dynamicStateCount);
3159 }
3160}
3161
3162safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, const bool uses_depthstencil_attachment) :
3163 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003164 flags(in_struct->flags),
3165 stageCount(in_struct->stageCount),
3166 pStages(nullptr),
3167 layout(in_struct->layout),
3168 renderPass(in_struct->renderPass),
3169 subpass(in_struct->subpass),
3170 basePipelineHandle(in_struct->basePipelineHandle),
3171 basePipelineIndex(in_struct->basePipelineIndex)
3172{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003173 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003174 if (stageCount && in_struct->pStages) {
3175 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3176 for (uint32_t i=0; i<stageCount; ++i) {
3177 pStages[i].initialize(&in_struct->pStages[i]);
3178 }
3179 }
3180 if (in_struct->pVertexInputState)
3181 pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(in_struct->pVertexInputState);
3182 else
3183 pVertexInputState = NULL;
3184 if (in_struct->pInputAssemblyState)
3185 pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(in_struct->pInputAssemblyState);
3186 else
3187 pInputAssemblyState = NULL;
3188 bool has_tessellation_stage = false;
3189 if (stageCount && pStages)
3190 for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)
3191 if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3192 has_tessellation_stage = true;
3193 if (in_struct->pTessellationState && has_tessellation_stage)
3194 pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(in_struct->pTessellationState);
3195 else
3196 pTessellationState = NULL; // original pTessellationState pointer ignored
3197 bool has_rasterization = in_struct->pRasterizationState ? !in_struct->pRasterizationState->rasterizerDiscardEnable : false;
3198 if (in_struct->pViewportState && has_rasterization) {
3199 bool is_dynamic_viewports = false;
3200 bool is_dynamic_scissors = false;
3201 if (in_struct->pDynamicState && in_struct->pDynamicState->pDynamicStates) {
3202 for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_viewports; ++i)
3203 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_VIEWPORT)
3204 is_dynamic_viewports = true;
3205 for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_scissors; ++i)
3206 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_SCISSOR)
3207 is_dynamic_scissors = true;
3208 }
3209 pViewportState = new safe_VkPipelineViewportStateCreateInfo(in_struct->pViewportState, is_dynamic_viewports, is_dynamic_scissors);
3210 } else
3211 pViewportState = NULL; // original pViewportState pointer ignored
3212 if (in_struct->pRasterizationState)
3213 pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(in_struct->pRasterizationState);
3214 else
3215 pRasterizationState = NULL;
3216 if (in_struct->pMultisampleState && has_rasterization)
3217 pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(in_struct->pMultisampleState);
3218 else
3219 pMultisampleState = NULL; // original pMultisampleState pointer ignored
3220 // needs a tracked subpass state uses_depthstencil_attachment
3221 if (in_struct->pDepthStencilState && has_rasterization && uses_depthstencil_attachment)
3222 pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(in_struct->pDepthStencilState);
3223 else
3224 pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3225 // needs a tracked subpass state usesColorAttachment
3226 if (in_struct->pColorBlendState && has_rasterization && uses_color_attachment)
3227 pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(in_struct->pColorBlendState);
3228 else
3229 pColorBlendState = NULL; // original pColorBlendState pointer ignored
3230 if (in_struct->pDynamicState)
3231 pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(in_struct->pDynamicState);
3232 else
3233 pDynamicState = NULL;
3234}
3235
3236safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07003237 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003238 pStages(nullptr)
3239{}
3240
3241safe_VkGraphicsPipelineCreateInfo::safe_VkGraphicsPipelineCreateInfo(const safe_VkGraphicsPipelineCreateInfo& src)
3242{
3243 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003244 flags = src.flags;
3245 stageCount = src.stageCount;
3246 pStages = nullptr;
3247 layout = src.layout;
3248 renderPass = src.renderPass;
3249 subpass = src.subpass;
3250 basePipelineHandle = src.basePipelineHandle;
3251 basePipelineIndex = src.basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003252 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003253 if (stageCount && src.pStages) {
3254 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3255 for (uint32_t i=0; i<stageCount; ++i) {
3256 pStages[i].initialize(&src.pStages[i]);
3257 }
3258 }
3259 if (src.pVertexInputState)
3260 pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src.pVertexInputState);
3261 else
3262 pVertexInputState = NULL;
3263 if (src.pInputAssemblyState)
3264 pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src.pInputAssemblyState);
3265 else
3266 pInputAssemblyState = NULL;
3267 bool has_tessellation_stage = false;
3268 if (stageCount && pStages)
3269 for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)
3270 if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3271 has_tessellation_stage = true;
3272 if (src.pTessellationState && has_tessellation_stage)
3273 pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src.pTessellationState);
3274 else
3275 pTessellationState = NULL; // original pTessellationState pointer ignored
3276 bool has_rasterization = src.pRasterizationState ? !src.pRasterizationState->rasterizerDiscardEnable : false;
3277 if (src.pViewportState && has_rasterization) {
3278 pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src.pViewportState);
3279 } else
3280 pViewportState = NULL; // original pViewportState pointer ignored
3281 if (src.pRasterizationState)
3282 pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src.pRasterizationState);
3283 else
3284 pRasterizationState = NULL;
3285 if (src.pMultisampleState && has_rasterization)
3286 pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src.pMultisampleState);
3287 else
3288 pMultisampleState = NULL; // original pMultisampleState pointer ignored
3289 if (src.pDepthStencilState && has_rasterization)
3290 pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src.pDepthStencilState);
3291 else
3292 pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3293 if (src.pColorBlendState && has_rasterization)
3294 pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src.pColorBlendState);
3295 else
3296 pColorBlendState = NULL; // original pColorBlendState pointer ignored
3297 if (src.pDynamicState)
3298 pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src.pDynamicState);
3299 else
3300 pDynamicState = NULL;
3301}
3302
3303safe_VkGraphicsPipelineCreateInfo& safe_VkGraphicsPipelineCreateInfo::operator=(const safe_VkGraphicsPipelineCreateInfo& src)
3304{
3305 if (&src == this) return *this;
3306
3307 if (pStages)
3308 delete[] pStages;
3309 if (pVertexInputState)
3310 delete pVertexInputState;
3311 if (pInputAssemblyState)
3312 delete pInputAssemblyState;
3313 if (pTessellationState)
3314 delete pTessellationState;
3315 if (pViewportState)
3316 delete pViewportState;
3317 if (pRasterizationState)
3318 delete pRasterizationState;
3319 if (pMultisampleState)
3320 delete pMultisampleState;
3321 if (pDepthStencilState)
3322 delete pDepthStencilState;
3323 if (pColorBlendState)
3324 delete pColorBlendState;
3325 if (pDynamicState)
3326 delete pDynamicState;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003327 if (pNext)
3328 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003329
3330 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003331 flags = src.flags;
3332 stageCount = src.stageCount;
3333 pStages = nullptr;
3334 layout = src.layout;
3335 renderPass = src.renderPass;
3336 subpass = src.subpass;
3337 basePipelineHandle = src.basePipelineHandle;
3338 basePipelineIndex = src.basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003339 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003340 if (stageCount && src.pStages) {
3341 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3342 for (uint32_t i=0; i<stageCount; ++i) {
3343 pStages[i].initialize(&src.pStages[i]);
3344 }
3345 }
3346 if (src.pVertexInputState)
3347 pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src.pVertexInputState);
3348 else
3349 pVertexInputState = NULL;
3350 if (src.pInputAssemblyState)
3351 pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src.pInputAssemblyState);
3352 else
3353 pInputAssemblyState = NULL;
3354 bool has_tessellation_stage = false;
3355 if (stageCount && pStages)
3356 for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)
3357 if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3358 has_tessellation_stage = true;
3359 if (src.pTessellationState && has_tessellation_stage)
3360 pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src.pTessellationState);
3361 else
3362 pTessellationState = NULL; // original pTessellationState pointer ignored
3363 bool has_rasterization = src.pRasterizationState ? !src.pRasterizationState->rasterizerDiscardEnable : false;
3364 if (src.pViewportState && has_rasterization) {
3365 pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src.pViewportState);
3366 } else
3367 pViewportState = NULL; // original pViewportState pointer ignored
3368 if (src.pRasterizationState)
3369 pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src.pRasterizationState);
3370 else
3371 pRasterizationState = NULL;
3372 if (src.pMultisampleState && has_rasterization)
3373 pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src.pMultisampleState);
3374 else
3375 pMultisampleState = NULL; // original pMultisampleState pointer ignored
3376 if (src.pDepthStencilState && has_rasterization)
3377 pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src.pDepthStencilState);
3378 else
3379 pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3380 if (src.pColorBlendState && has_rasterization)
3381 pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src.pColorBlendState);
3382 else
3383 pColorBlendState = NULL; // original pColorBlendState pointer ignored
3384 if (src.pDynamicState)
3385 pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src.pDynamicState);
3386 else
3387 pDynamicState = NULL;
3388
3389 return *this;
3390}
3391
3392safe_VkGraphicsPipelineCreateInfo::~safe_VkGraphicsPipelineCreateInfo()
3393{
3394 if (pStages)
3395 delete[] pStages;
3396 if (pVertexInputState)
3397 delete pVertexInputState;
3398 if (pInputAssemblyState)
3399 delete pInputAssemblyState;
3400 if (pTessellationState)
3401 delete pTessellationState;
3402 if (pViewportState)
3403 delete pViewportState;
3404 if (pRasterizationState)
3405 delete pRasterizationState;
3406 if (pMultisampleState)
3407 delete pMultisampleState;
3408 if (pDepthStencilState)
3409 delete pDepthStencilState;
3410 if (pColorBlendState)
3411 delete pColorBlendState;
3412 if (pDynamicState)
3413 delete pDynamicState;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003414 if (pNext)
3415 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003416}
3417
3418void safe_VkGraphicsPipelineCreateInfo::initialize(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, const bool uses_depthstencil_attachment)
3419{
3420 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003421 flags = in_struct->flags;
3422 stageCount = in_struct->stageCount;
3423 pStages = nullptr;
3424 layout = in_struct->layout;
3425 renderPass = in_struct->renderPass;
3426 subpass = in_struct->subpass;
3427 basePipelineHandle = in_struct->basePipelineHandle;
3428 basePipelineIndex = in_struct->basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003429 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003430 if (stageCount && in_struct->pStages) {
3431 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3432 for (uint32_t i=0; i<stageCount; ++i) {
3433 pStages[i].initialize(&in_struct->pStages[i]);
3434 }
3435 }
3436 if (in_struct->pVertexInputState)
3437 pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(in_struct->pVertexInputState);
3438 else
3439 pVertexInputState = NULL;
3440 if (in_struct->pInputAssemblyState)
3441 pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(in_struct->pInputAssemblyState);
3442 else
3443 pInputAssemblyState = NULL;
3444 bool has_tessellation_stage = false;
3445 if (stageCount && pStages)
3446 for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)
3447 if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3448 has_tessellation_stage = true;
3449 if (in_struct->pTessellationState && has_tessellation_stage)
3450 pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(in_struct->pTessellationState);
3451 else
3452 pTessellationState = NULL; // original pTessellationState pointer ignored
3453 bool has_rasterization = in_struct->pRasterizationState ? !in_struct->pRasterizationState->rasterizerDiscardEnable : false;
3454 if (in_struct->pViewportState && has_rasterization) {
3455 bool is_dynamic_viewports = false;
3456 bool is_dynamic_scissors = false;
3457 if (in_struct->pDynamicState && in_struct->pDynamicState->pDynamicStates) {
3458 for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_viewports; ++i)
3459 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_VIEWPORT)
3460 is_dynamic_viewports = true;
3461 for (uint32_t i = 0; i < in_struct->pDynamicState->dynamicStateCount && !is_dynamic_scissors; ++i)
3462 if (in_struct->pDynamicState->pDynamicStates[i] == VK_DYNAMIC_STATE_SCISSOR)
3463 is_dynamic_scissors = true;
3464 }
3465 pViewportState = new safe_VkPipelineViewportStateCreateInfo(in_struct->pViewportState, is_dynamic_viewports, is_dynamic_scissors);
3466 } else
3467 pViewportState = NULL; // original pViewportState pointer ignored
3468 if (in_struct->pRasterizationState)
3469 pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(in_struct->pRasterizationState);
3470 else
3471 pRasterizationState = NULL;
3472 if (in_struct->pMultisampleState && has_rasterization)
3473 pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(in_struct->pMultisampleState);
3474 else
3475 pMultisampleState = NULL; // original pMultisampleState pointer ignored
3476 // needs a tracked subpass state uses_depthstencil_attachment
3477 if (in_struct->pDepthStencilState && has_rasterization && uses_depthstencil_attachment)
3478 pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(in_struct->pDepthStencilState);
3479 else
3480 pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3481 // needs a tracked subpass state usesColorAttachment
3482 if (in_struct->pColorBlendState && has_rasterization && uses_color_attachment)
3483 pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(in_struct->pColorBlendState);
3484 else
3485 pColorBlendState = NULL; // original pColorBlendState pointer ignored
3486 if (in_struct->pDynamicState)
3487 pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(in_struct->pDynamicState);
3488 else
3489 pDynamicState = NULL;
3490}
3491
3492void safe_VkGraphicsPipelineCreateInfo::initialize(const safe_VkGraphicsPipelineCreateInfo* src)
3493{
3494 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003495 flags = src->flags;
3496 stageCount = src->stageCount;
3497 pStages = nullptr;
3498 layout = src->layout;
3499 renderPass = src->renderPass;
3500 subpass = src->subpass;
3501 basePipelineHandle = src->basePipelineHandle;
3502 basePipelineIndex = src->basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003503 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003504 if (stageCount && src->pStages) {
3505 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
3506 for (uint32_t i=0; i<stageCount; ++i) {
3507 pStages[i].initialize(&src->pStages[i]);
3508 }
3509 }
3510 if (src->pVertexInputState)
3511 pVertexInputState = new safe_VkPipelineVertexInputStateCreateInfo(*src->pVertexInputState);
3512 else
3513 pVertexInputState = NULL;
3514 if (src->pInputAssemblyState)
3515 pInputAssemblyState = new safe_VkPipelineInputAssemblyStateCreateInfo(*src->pInputAssemblyState);
3516 else
3517 pInputAssemblyState = NULL;
3518 bool has_tessellation_stage = false;
3519 if (stageCount && pStages)
3520 for (uint32_t i=0; i<stageCount && !has_tessellation_stage; ++i)
3521 if (pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT || pStages[i].stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)
3522 has_tessellation_stage = true;
3523 if (src->pTessellationState && has_tessellation_stage)
3524 pTessellationState = new safe_VkPipelineTessellationStateCreateInfo(*src->pTessellationState);
3525 else
3526 pTessellationState = NULL; // original pTessellationState pointer ignored
3527 bool has_rasterization = src->pRasterizationState ? !src->pRasterizationState->rasterizerDiscardEnable : false;
3528 if (src->pViewportState && has_rasterization) {
3529 pViewportState = new safe_VkPipelineViewportStateCreateInfo(*src->pViewportState);
3530 } else
3531 pViewportState = NULL; // original pViewportState pointer ignored
3532 if (src->pRasterizationState)
3533 pRasterizationState = new safe_VkPipelineRasterizationStateCreateInfo(*src->pRasterizationState);
3534 else
3535 pRasterizationState = NULL;
3536 if (src->pMultisampleState && has_rasterization)
3537 pMultisampleState = new safe_VkPipelineMultisampleStateCreateInfo(*src->pMultisampleState);
3538 else
3539 pMultisampleState = NULL; // original pMultisampleState pointer ignored
3540 if (src->pDepthStencilState && has_rasterization)
3541 pDepthStencilState = new safe_VkPipelineDepthStencilStateCreateInfo(*src->pDepthStencilState);
3542 else
3543 pDepthStencilState = NULL; // original pDepthStencilState pointer ignored
3544 if (src->pColorBlendState && has_rasterization)
3545 pColorBlendState = new safe_VkPipelineColorBlendStateCreateInfo(*src->pColorBlendState);
3546 else
3547 pColorBlendState = NULL; // original pColorBlendState pointer ignored
3548 if (src->pDynamicState)
3549 pDynamicState = new safe_VkPipelineDynamicStateCreateInfo(*src->pDynamicState);
3550 else
3551 pDynamicState = NULL;
3552}
3553
3554safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo* in_struct) :
3555 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003556 flags(in_struct->flags),
3557 stage(&in_struct->stage),
3558 layout(in_struct->layout),
3559 basePipelineHandle(in_struct->basePipelineHandle),
3560 basePipelineIndex(in_struct->basePipelineIndex)
3561{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003562 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003563}
3564
Jason Macnak8f28eec2019-08-09 12:57:01 -07003565safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo() :
3566 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07003567{}
3568
3569safe_VkComputePipelineCreateInfo::safe_VkComputePipelineCreateInfo(const safe_VkComputePipelineCreateInfo& src)
3570{
3571 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003572 flags = src.flags;
3573 stage.initialize(&src.stage);
3574 layout = src.layout;
3575 basePipelineHandle = src.basePipelineHandle;
3576 basePipelineIndex = src.basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003577 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003578}
3579
3580safe_VkComputePipelineCreateInfo& safe_VkComputePipelineCreateInfo::operator=(const safe_VkComputePipelineCreateInfo& src)
3581{
3582 if (&src == this) return *this;
3583
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003584 if (pNext)
3585 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003586
3587 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003588 flags = src.flags;
3589 stage.initialize(&src.stage);
3590 layout = src.layout;
3591 basePipelineHandle = src.basePipelineHandle;
3592 basePipelineIndex = src.basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003593 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003594
3595 return *this;
3596}
3597
3598safe_VkComputePipelineCreateInfo::~safe_VkComputePipelineCreateInfo()
3599{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003600 if (pNext)
3601 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003602}
3603
3604void safe_VkComputePipelineCreateInfo::initialize(const VkComputePipelineCreateInfo* in_struct)
3605{
3606 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003607 flags = in_struct->flags;
3608 stage.initialize(&in_struct->stage);
3609 layout = in_struct->layout;
3610 basePipelineHandle = in_struct->basePipelineHandle;
3611 basePipelineIndex = in_struct->basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003612 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003613}
3614
3615void safe_VkComputePipelineCreateInfo::initialize(const safe_VkComputePipelineCreateInfo* src)
3616{
3617 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003618 flags = src->flags;
3619 stage.initialize(&src->stage);
3620 layout = src->layout;
3621 basePipelineHandle = src->basePipelineHandle;
3622 basePipelineIndex = src->basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003623 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003624}
3625
3626safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo* in_struct) :
3627 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003628 flags(in_struct->flags),
3629 setLayoutCount(in_struct->setLayoutCount),
3630 pSetLayouts(nullptr),
3631 pushConstantRangeCount(in_struct->pushConstantRangeCount),
3632 pPushConstantRanges(nullptr)
3633{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003634 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003635 if (setLayoutCount && in_struct->pSetLayouts) {
3636 pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3637 for (uint32_t i=0; i<setLayoutCount; ++i) {
3638 pSetLayouts[i] = in_struct->pSetLayouts[i];
3639 }
3640 }
3641 if (in_struct->pPushConstantRanges) {
3642 pPushConstantRanges = new VkPushConstantRange[in_struct->pushConstantRangeCount];
3643 memcpy ((void *)pPushConstantRanges, (void *)in_struct->pPushConstantRanges, sizeof(VkPushConstantRange)*in_struct->pushConstantRangeCount);
3644 }
3645}
3646
3647safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07003648 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003649 pSetLayouts(nullptr),
3650 pPushConstantRanges(nullptr)
3651{}
3652
3653safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const safe_VkPipelineLayoutCreateInfo& src)
3654{
3655 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003656 flags = src.flags;
3657 setLayoutCount = src.setLayoutCount;
3658 pSetLayouts = nullptr;
3659 pushConstantRangeCount = src.pushConstantRangeCount;
3660 pPushConstantRanges = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003661 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003662 if (setLayoutCount && src.pSetLayouts) {
3663 pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3664 for (uint32_t i=0; i<setLayoutCount; ++i) {
3665 pSetLayouts[i] = src.pSetLayouts[i];
3666 }
3667 }
3668 if (src.pPushConstantRanges) {
3669 pPushConstantRanges = new VkPushConstantRange[src.pushConstantRangeCount];
3670 memcpy ((void *)pPushConstantRanges, (void *)src.pPushConstantRanges, sizeof(VkPushConstantRange)*src.pushConstantRangeCount);
3671 }
3672}
3673
3674safe_VkPipelineLayoutCreateInfo& safe_VkPipelineLayoutCreateInfo::operator=(const safe_VkPipelineLayoutCreateInfo& src)
3675{
3676 if (&src == this) return *this;
3677
3678 if (pSetLayouts)
3679 delete[] pSetLayouts;
3680 if (pPushConstantRanges)
3681 delete[] pPushConstantRanges;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003682 if (pNext)
3683 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003684
3685 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003686 flags = src.flags;
3687 setLayoutCount = src.setLayoutCount;
3688 pSetLayouts = nullptr;
3689 pushConstantRangeCount = src.pushConstantRangeCount;
3690 pPushConstantRanges = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003691 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003692 if (setLayoutCount && src.pSetLayouts) {
3693 pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3694 for (uint32_t i=0; i<setLayoutCount; ++i) {
3695 pSetLayouts[i] = src.pSetLayouts[i];
3696 }
3697 }
3698 if (src.pPushConstantRanges) {
3699 pPushConstantRanges = new VkPushConstantRange[src.pushConstantRangeCount];
3700 memcpy ((void *)pPushConstantRanges, (void *)src.pPushConstantRanges, sizeof(VkPushConstantRange)*src.pushConstantRangeCount);
3701 }
3702
3703 return *this;
3704}
3705
3706safe_VkPipelineLayoutCreateInfo::~safe_VkPipelineLayoutCreateInfo()
3707{
3708 if (pSetLayouts)
3709 delete[] pSetLayouts;
3710 if (pPushConstantRanges)
3711 delete[] pPushConstantRanges;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003712 if (pNext)
3713 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003714}
3715
3716void safe_VkPipelineLayoutCreateInfo::initialize(const VkPipelineLayoutCreateInfo* in_struct)
3717{
3718 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003719 flags = in_struct->flags;
3720 setLayoutCount = in_struct->setLayoutCount;
3721 pSetLayouts = nullptr;
3722 pushConstantRangeCount = in_struct->pushConstantRangeCount;
3723 pPushConstantRanges = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003724 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003725 if (setLayoutCount && in_struct->pSetLayouts) {
3726 pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3727 for (uint32_t i=0; i<setLayoutCount; ++i) {
3728 pSetLayouts[i] = in_struct->pSetLayouts[i];
3729 }
3730 }
3731 if (in_struct->pPushConstantRanges) {
3732 pPushConstantRanges = new VkPushConstantRange[in_struct->pushConstantRangeCount];
3733 memcpy ((void *)pPushConstantRanges, (void *)in_struct->pPushConstantRanges, sizeof(VkPushConstantRange)*in_struct->pushConstantRangeCount);
3734 }
3735}
3736
3737void safe_VkPipelineLayoutCreateInfo::initialize(const safe_VkPipelineLayoutCreateInfo* src)
3738{
3739 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003740 flags = src->flags;
3741 setLayoutCount = src->setLayoutCount;
3742 pSetLayouts = nullptr;
3743 pushConstantRangeCount = src->pushConstantRangeCount;
3744 pPushConstantRanges = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003745 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003746 if (setLayoutCount && src->pSetLayouts) {
3747 pSetLayouts = new VkDescriptorSetLayout[setLayoutCount];
3748 for (uint32_t i=0; i<setLayoutCount; ++i) {
3749 pSetLayouts[i] = src->pSetLayouts[i];
3750 }
3751 }
3752 if (src->pPushConstantRanges) {
3753 pPushConstantRanges = new VkPushConstantRange[src->pushConstantRangeCount];
3754 memcpy ((void *)pPushConstantRanges, (void *)src->pPushConstantRanges, sizeof(VkPushConstantRange)*src->pushConstantRangeCount);
3755 }
3756}
3757
3758safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const VkSamplerCreateInfo* in_struct) :
3759 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003760 flags(in_struct->flags),
3761 magFilter(in_struct->magFilter),
3762 minFilter(in_struct->minFilter),
3763 mipmapMode(in_struct->mipmapMode),
3764 addressModeU(in_struct->addressModeU),
3765 addressModeV(in_struct->addressModeV),
3766 addressModeW(in_struct->addressModeW),
3767 mipLodBias(in_struct->mipLodBias),
3768 anisotropyEnable(in_struct->anisotropyEnable),
3769 maxAnisotropy(in_struct->maxAnisotropy),
3770 compareEnable(in_struct->compareEnable),
3771 compareOp(in_struct->compareOp),
3772 minLod(in_struct->minLod),
3773 maxLod(in_struct->maxLod),
3774 borderColor(in_struct->borderColor),
3775 unnormalizedCoordinates(in_struct->unnormalizedCoordinates)
3776{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003777 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003778}
3779
Jason Macnak8f28eec2019-08-09 12:57:01 -07003780safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo() :
3781 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07003782{}
3783
3784safe_VkSamplerCreateInfo::safe_VkSamplerCreateInfo(const safe_VkSamplerCreateInfo& src)
3785{
3786 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003787 flags = src.flags;
3788 magFilter = src.magFilter;
3789 minFilter = src.minFilter;
3790 mipmapMode = src.mipmapMode;
3791 addressModeU = src.addressModeU;
3792 addressModeV = src.addressModeV;
3793 addressModeW = src.addressModeW;
3794 mipLodBias = src.mipLodBias;
3795 anisotropyEnable = src.anisotropyEnable;
3796 maxAnisotropy = src.maxAnisotropy;
3797 compareEnable = src.compareEnable;
3798 compareOp = src.compareOp;
3799 minLod = src.minLod;
3800 maxLod = src.maxLod;
3801 borderColor = src.borderColor;
3802 unnormalizedCoordinates = src.unnormalizedCoordinates;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003803 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003804}
3805
3806safe_VkSamplerCreateInfo& safe_VkSamplerCreateInfo::operator=(const safe_VkSamplerCreateInfo& src)
3807{
3808 if (&src == this) return *this;
3809
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003810 if (pNext)
3811 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003812
3813 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003814 flags = src.flags;
3815 magFilter = src.magFilter;
3816 minFilter = src.minFilter;
3817 mipmapMode = src.mipmapMode;
3818 addressModeU = src.addressModeU;
3819 addressModeV = src.addressModeV;
3820 addressModeW = src.addressModeW;
3821 mipLodBias = src.mipLodBias;
3822 anisotropyEnable = src.anisotropyEnable;
3823 maxAnisotropy = src.maxAnisotropy;
3824 compareEnable = src.compareEnable;
3825 compareOp = src.compareOp;
3826 minLod = src.minLod;
3827 maxLod = src.maxLod;
3828 borderColor = src.borderColor;
3829 unnormalizedCoordinates = src.unnormalizedCoordinates;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003830 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003831
3832 return *this;
3833}
3834
3835safe_VkSamplerCreateInfo::~safe_VkSamplerCreateInfo()
3836{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003837 if (pNext)
3838 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003839}
3840
3841void safe_VkSamplerCreateInfo::initialize(const VkSamplerCreateInfo* in_struct)
3842{
3843 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003844 flags = in_struct->flags;
3845 magFilter = in_struct->magFilter;
3846 minFilter = in_struct->minFilter;
3847 mipmapMode = in_struct->mipmapMode;
3848 addressModeU = in_struct->addressModeU;
3849 addressModeV = in_struct->addressModeV;
3850 addressModeW = in_struct->addressModeW;
3851 mipLodBias = in_struct->mipLodBias;
3852 anisotropyEnable = in_struct->anisotropyEnable;
3853 maxAnisotropy = in_struct->maxAnisotropy;
3854 compareEnable = in_struct->compareEnable;
3855 compareOp = in_struct->compareOp;
3856 minLod = in_struct->minLod;
3857 maxLod = in_struct->maxLod;
3858 borderColor = in_struct->borderColor;
3859 unnormalizedCoordinates = in_struct->unnormalizedCoordinates;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003860 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003861}
3862
3863void safe_VkSamplerCreateInfo::initialize(const safe_VkSamplerCreateInfo* src)
3864{
3865 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07003866 flags = src->flags;
3867 magFilter = src->magFilter;
3868 minFilter = src->minFilter;
3869 mipmapMode = src->mipmapMode;
3870 addressModeU = src->addressModeU;
3871 addressModeV = src->addressModeV;
3872 addressModeW = src->addressModeW;
3873 mipLodBias = src->mipLodBias;
3874 anisotropyEnable = src->anisotropyEnable;
3875 maxAnisotropy = src->maxAnisotropy;
3876 compareEnable = src->compareEnable;
3877 compareOp = src->compareOp;
3878 minLod = src->minLod;
3879 maxLod = src->maxLod;
3880 borderColor = src->borderColor;
3881 unnormalizedCoordinates = src->unnormalizedCoordinates;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003882 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003883}
3884
3885safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding* in_struct) :
3886 binding(in_struct->binding),
3887 descriptorType(in_struct->descriptorType),
3888 descriptorCount(in_struct->descriptorCount),
3889 stageFlags(in_struct->stageFlags),
3890 pImmutableSamplers(nullptr)
3891{
3892 const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
3893 if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) {
3894 pImmutableSamplers = new VkSampler[descriptorCount];
3895 for (uint32_t i=0; i<descriptorCount; ++i) {
3896 pImmutableSamplers[i] = in_struct->pImmutableSamplers[i];
3897 }
3898 }
3899}
3900
3901safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding() :
3902 pImmutableSamplers(nullptr)
3903{}
3904
3905safe_VkDescriptorSetLayoutBinding::safe_VkDescriptorSetLayoutBinding(const safe_VkDescriptorSetLayoutBinding& src)
3906{
3907 binding = src.binding;
3908 descriptorType = src.descriptorType;
3909 descriptorCount = src.descriptorCount;
3910 stageFlags = src.stageFlags;
3911 pImmutableSamplers = nullptr;
3912 const bool sampler_type = src.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
3913 if (descriptorCount && src.pImmutableSamplers && sampler_type) {
3914 pImmutableSamplers = new VkSampler[descriptorCount];
3915 for (uint32_t i=0; i<descriptorCount; ++i) {
3916 pImmutableSamplers[i] = src.pImmutableSamplers[i];
3917 }
3918 }
3919}
3920
3921safe_VkDescriptorSetLayoutBinding& safe_VkDescriptorSetLayoutBinding::operator=(const safe_VkDescriptorSetLayoutBinding& src)
3922{
3923 if (&src == this) return *this;
3924
3925 if (pImmutableSamplers)
3926 delete[] pImmutableSamplers;
3927
3928 binding = src.binding;
3929 descriptorType = src.descriptorType;
3930 descriptorCount = src.descriptorCount;
3931 stageFlags = src.stageFlags;
3932 pImmutableSamplers = nullptr;
3933 const bool sampler_type = src.descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
3934 if (descriptorCount && src.pImmutableSamplers && sampler_type) {
3935 pImmutableSamplers = new VkSampler[descriptorCount];
3936 for (uint32_t i=0; i<descriptorCount; ++i) {
3937 pImmutableSamplers[i] = src.pImmutableSamplers[i];
3938 }
3939 }
3940
3941 return *this;
3942}
3943
3944safe_VkDescriptorSetLayoutBinding::~safe_VkDescriptorSetLayoutBinding()
3945{
3946 if (pImmutableSamplers)
3947 delete[] pImmutableSamplers;
3948}
3949
3950void safe_VkDescriptorSetLayoutBinding::initialize(const VkDescriptorSetLayoutBinding* in_struct)
3951{
3952 binding = in_struct->binding;
3953 descriptorType = in_struct->descriptorType;
3954 descriptorCount = in_struct->descriptorCount;
3955 stageFlags = in_struct->stageFlags;
3956 pImmutableSamplers = nullptr;
3957 const bool sampler_type = in_struct->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || in_struct->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
3958 if (descriptorCount && in_struct->pImmutableSamplers && sampler_type) {
3959 pImmutableSamplers = new VkSampler[descriptorCount];
3960 for (uint32_t i=0; i<descriptorCount; ++i) {
3961 pImmutableSamplers[i] = in_struct->pImmutableSamplers[i];
3962 }
3963 }
3964}
3965
3966void safe_VkDescriptorSetLayoutBinding::initialize(const safe_VkDescriptorSetLayoutBinding* src)
3967{
3968 binding = src->binding;
3969 descriptorType = src->descriptorType;
3970 descriptorCount = src->descriptorCount;
3971 stageFlags = src->stageFlags;
3972 pImmutableSamplers = nullptr;
3973 const bool sampler_type = src->descriptorType == VK_DESCRIPTOR_TYPE_SAMPLER || src->descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
3974 if (descriptorCount && src->pImmutableSamplers && sampler_type) {
3975 pImmutableSamplers = new VkSampler[descriptorCount];
3976 for (uint32_t i=0; i<descriptorCount; ++i) {
3977 pImmutableSamplers[i] = src->pImmutableSamplers[i];
3978 }
3979 }
3980}
3981
3982safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo* in_struct) :
3983 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003984 flags(in_struct->flags),
3985 bindingCount(in_struct->bindingCount),
3986 pBindings(nullptr)
3987{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06003988 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07003989 if (bindingCount && in_struct->pBindings) {
3990 pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
3991 for (uint32_t i=0; i<bindingCount; ++i) {
3992 pBindings[i].initialize(&in_struct->pBindings[i]);
3993 }
3994 }
3995}
3996
3997safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07003998 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07003999 pBindings(nullptr)
4000{}
4001
4002safe_VkDescriptorSetLayoutCreateInfo::safe_VkDescriptorSetLayoutCreateInfo(const safe_VkDescriptorSetLayoutCreateInfo& src)
4003{
4004 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004005 flags = src.flags;
4006 bindingCount = src.bindingCount;
4007 pBindings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004008 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004009 if (bindingCount && src.pBindings) {
4010 pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4011 for (uint32_t i=0; i<bindingCount; ++i) {
4012 pBindings[i].initialize(&src.pBindings[i]);
4013 }
4014 }
4015}
4016
4017safe_VkDescriptorSetLayoutCreateInfo& safe_VkDescriptorSetLayoutCreateInfo::operator=(const safe_VkDescriptorSetLayoutCreateInfo& src)
4018{
4019 if (&src == this) return *this;
4020
4021 if (pBindings)
4022 delete[] pBindings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004023 if (pNext)
4024 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004025
4026 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004027 flags = src.flags;
4028 bindingCount = src.bindingCount;
4029 pBindings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004030 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004031 if (bindingCount && src.pBindings) {
4032 pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4033 for (uint32_t i=0; i<bindingCount; ++i) {
4034 pBindings[i].initialize(&src.pBindings[i]);
4035 }
4036 }
4037
4038 return *this;
4039}
4040
4041safe_VkDescriptorSetLayoutCreateInfo::~safe_VkDescriptorSetLayoutCreateInfo()
4042{
4043 if (pBindings)
4044 delete[] pBindings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004045 if (pNext)
4046 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004047}
4048
4049void safe_VkDescriptorSetLayoutCreateInfo::initialize(const VkDescriptorSetLayoutCreateInfo* in_struct)
4050{
4051 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004052 flags = in_struct->flags;
4053 bindingCount = in_struct->bindingCount;
4054 pBindings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004055 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004056 if (bindingCount && in_struct->pBindings) {
4057 pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4058 for (uint32_t i=0; i<bindingCount; ++i) {
4059 pBindings[i].initialize(&in_struct->pBindings[i]);
4060 }
4061 }
4062}
4063
4064void safe_VkDescriptorSetLayoutCreateInfo::initialize(const safe_VkDescriptorSetLayoutCreateInfo* src)
4065{
4066 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004067 flags = src->flags;
4068 bindingCount = src->bindingCount;
4069 pBindings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004070 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004071 if (bindingCount && src->pBindings) {
4072 pBindings = new safe_VkDescriptorSetLayoutBinding[bindingCount];
4073 for (uint32_t i=0; i<bindingCount; ++i) {
4074 pBindings[i].initialize(&src->pBindings[i]);
4075 }
4076 }
4077}
4078
4079safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo* in_struct) :
4080 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004081 flags(in_struct->flags),
4082 maxSets(in_struct->maxSets),
4083 poolSizeCount(in_struct->poolSizeCount),
4084 pPoolSizes(nullptr)
4085{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004086 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004087 if (in_struct->pPoolSizes) {
4088 pPoolSizes = new VkDescriptorPoolSize[in_struct->poolSizeCount];
4089 memcpy ((void *)pPoolSizes, (void *)in_struct->pPoolSizes, sizeof(VkDescriptorPoolSize)*in_struct->poolSizeCount);
4090 }
4091}
4092
4093safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07004094 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004095 pPoolSizes(nullptr)
4096{}
4097
4098safe_VkDescriptorPoolCreateInfo::safe_VkDescriptorPoolCreateInfo(const safe_VkDescriptorPoolCreateInfo& src)
4099{
4100 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004101 flags = src.flags;
4102 maxSets = src.maxSets;
4103 poolSizeCount = src.poolSizeCount;
4104 pPoolSizes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004105 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004106 if (src.pPoolSizes) {
4107 pPoolSizes = new VkDescriptorPoolSize[src.poolSizeCount];
4108 memcpy ((void *)pPoolSizes, (void *)src.pPoolSizes, sizeof(VkDescriptorPoolSize)*src.poolSizeCount);
4109 }
4110}
4111
4112safe_VkDescriptorPoolCreateInfo& safe_VkDescriptorPoolCreateInfo::operator=(const safe_VkDescriptorPoolCreateInfo& src)
4113{
4114 if (&src == this) return *this;
4115
4116 if (pPoolSizes)
4117 delete[] pPoolSizes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004118 if (pNext)
4119 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004120
4121 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004122 flags = src.flags;
4123 maxSets = src.maxSets;
4124 poolSizeCount = src.poolSizeCount;
4125 pPoolSizes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004126 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004127 if (src.pPoolSizes) {
4128 pPoolSizes = new VkDescriptorPoolSize[src.poolSizeCount];
4129 memcpy ((void *)pPoolSizes, (void *)src.pPoolSizes, sizeof(VkDescriptorPoolSize)*src.poolSizeCount);
4130 }
4131
4132 return *this;
4133}
4134
4135safe_VkDescriptorPoolCreateInfo::~safe_VkDescriptorPoolCreateInfo()
4136{
4137 if (pPoolSizes)
4138 delete[] pPoolSizes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004139 if (pNext)
4140 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004141}
4142
4143void safe_VkDescriptorPoolCreateInfo::initialize(const VkDescriptorPoolCreateInfo* in_struct)
4144{
4145 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004146 flags = in_struct->flags;
4147 maxSets = in_struct->maxSets;
4148 poolSizeCount = in_struct->poolSizeCount;
4149 pPoolSizes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004150 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004151 if (in_struct->pPoolSizes) {
4152 pPoolSizes = new VkDescriptorPoolSize[in_struct->poolSizeCount];
4153 memcpy ((void *)pPoolSizes, (void *)in_struct->pPoolSizes, sizeof(VkDescriptorPoolSize)*in_struct->poolSizeCount);
4154 }
4155}
4156
4157void safe_VkDescriptorPoolCreateInfo::initialize(const safe_VkDescriptorPoolCreateInfo* src)
4158{
4159 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004160 flags = src->flags;
4161 maxSets = src->maxSets;
4162 poolSizeCount = src->poolSizeCount;
4163 pPoolSizes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004164 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004165 if (src->pPoolSizes) {
4166 pPoolSizes = new VkDescriptorPoolSize[src->poolSizeCount];
4167 memcpy ((void *)pPoolSizes, (void *)src->pPoolSizes, sizeof(VkDescriptorPoolSize)*src->poolSizeCount);
4168 }
4169}
4170
4171safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo* in_struct) :
4172 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004173 descriptorPool(in_struct->descriptorPool),
4174 descriptorSetCount(in_struct->descriptorSetCount),
4175 pSetLayouts(nullptr)
4176{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004177 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004178 if (descriptorSetCount && in_struct->pSetLayouts) {
4179 pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4180 for (uint32_t i=0; i<descriptorSetCount; ++i) {
4181 pSetLayouts[i] = in_struct->pSetLayouts[i];
4182 }
4183 }
4184}
4185
4186safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07004187 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004188 pSetLayouts(nullptr)
4189{}
4190
4191safe_VkDescriptorSetAllocateInfo::safe_VkDescriptorSetAllocateInfo(const safe_VkDescriptorSetAllocateInfo& src)
4192{
4193 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004194 descriptorPool = src.descriptorPool;
4195 descriptorSetCount = src.descriptorSetCount;
4196 pSetLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004197 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004198 if (descriptorSetCount && src.pSetLayouts) {
4199 pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4200 for (uint32_t i=0; i<descriptorSetCount; ++i) {
4201 pSetLayouts[i] = src.pSetLayouts[i];
4202 }
4203 }
4204}
4205
4206safe_VkDescriptorSetAllocateInfo& safe_VkDescriptorSetAllocateInfo::operator=(const safe_VkDescriptorSetAllocateInfo& src)
4207{
4208 if (&src == this) return *this;
4209
4210 if (pSetLayouts)
4211 delete[] pSetLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004212 if (pNext)
4213 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004214
4215 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004216 descriptorPool = src.descriptorPool;
4217 descriptorSetCount = src.descriptorSetCount;
4218 pSetLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004219 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004220 if (descriptorSetCount && src.pSetLayouts) {
4221 pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4222 for (uint32_t i=0; i<descriptorSetCount; ++i) {
4223 pSetLayouts[i] = src.pSetLayouts[i];
4224 }
4225 }
4226
4227 return *this;
4228}
4229
4230safe_VkDescriptorSetAllocateInfo::~safe_VkDescriptorSetAllocateInfo()
4231{
4232 if (pSetLayouts)
4233 delete[] pSetLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004234 if (pNext)
4235 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004236}
4237
4238void safe_VkDescriptorSetAllocateInfo::initialize(const VkDescriptorSetAllocateInfo* in_struct)
4239{
4240 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004241 descriptorPool = in_struct->descriptorPool;
4242 descriptorSetCount = in_struct->descriptorSetCount;
4243 pSetLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004244 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004245 if (descriptorSetCount && in_struct->pSetLayouts) {
4246 pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4247 for (uint32_t i=0; i<descriptorSetCount; ++i) {
4248 pSetLayouts[i] = in_struct->pSetLayouts[i];
4249 }
4250 }
4251}
4252
4253void safe_VkDescriptorSetAllocateInfo::initialize(const safe_VkDescriptorSetAllocateInfo* src)
4254{
4255 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004256 descriptorPool = src->descriptorPool;
4257 descriptorSetCount = src->descriptorSetCount;
4258 pSetLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004259 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004260 if (descriptorSetCount && src->pSetLayouts) {
4261 pSetLayouts = new VkDescriptorSetLayout[descriptorSetCount];
4262 for (uint32_t i=0; i<descriptorSetCount; ++i) {
4263 pSetLayouts[i] = src->pSetLayouts[i];
4264 }
4265 }
4266}
4267
4268safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const VkWriteDescriptorSet* in_struct) :
4269 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004270 dstSet(in_struct->dstSet),
4271 dstBinding(in_struct->dstBinding),
4272 dstArrayElement(in_struct->dstArrayElement),
4273 descriptorCount(in_struct->descriptorCount),
4274 descriptorType(in_struct->descriptorType),
4275 pImageInfo(nullptr),
4276 pBufferInfo(nullptr),
4277 pTexelBufferView(nullptr)
4278{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004279 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004280 switch (descriptorType) {
4281 case VK_DESCRIPTOR_TYPE_SAMPLER:
4282 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4283 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4284 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4285 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4286 if (descriptorCount && in_struct->pImageInfo) {
4287 pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4288 for (uint32_t i=0; i<descriptorCount; ++i) {
4289 pImageInfo[i] = in_struct->pImageInfo[i];
4290 }
4291 }
4292 break;
4293 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4294 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4295 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4296 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4297 if (descriptorCount && in_struct->pBufferInfo) {
4298 pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4299 for (uint32_t i=0; i<descriptorCount; ++i) {
4300 pBufferInfo[i] = in_struct->pBufferInfo[i];
4301 }
4302 }
4303 break;
4304 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4305 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4306 if (descriptorCount && in_struct->pTexelBufferView) {
4307 pTexelBufferView = new VkBufferView[descriptorCount];
4308 for (uint32_t i=0; i<descriptorCount; ++i) {
4309 pTexelBufferView[i] = in_struct->pTexelBufferView[i];
4310 }
4311 }
4312 break;
4313 default:
4314 break;
4315 }
4316}
4317
4318safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07004319 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004320 pImageInfo(nullptr),
4321 pBufferInfo(nullptr),
4322 pTexelBufferView(nullptr)
4323{}
4324
4325safe_VkWriteDescriptorSet::safe_VkWriteDescriptorSet(const safe_VkWriteDescriptorSet& src)
4326{
4327 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004328 dstSet = src.dstSet;
4329 dstBinding = src.dstBinding;
4330 dstArrayElement = src.dstArrayElement;
4331 descriptorCount = src.descriptorCount;
4332 descriptorType = src.descriptorType;
4333 pImageInfo = nullptr;
4334 pBufferInfo = nullptr;
4335 pTexelBufferView = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004336 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004337 switch (descriptorType) {
4338 case VK_DESCRIPTOR_TYPE_SAMPLER:
4339 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4340 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4341 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4342 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4343 if (descriptorCount && src.pImageInfo) {
4344 pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4345 for (uint32_t i=0; i<descriptorCount; ++i) {
4346 pImageInfo[i] = src.pImageInfo[i];
4347 }
4348 }
4349 break;
4350 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4351 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4352 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4353 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4354 if (descriptorCount && src.pBufferInfo) {
4355 pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4356 for (uint32_t i=0; i<descriptorCount; ++i) {
4357 pBufferInfo[i] = src.pBufferInfo[i];
4358 }
4359 }
4360 break;
4361 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4362 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4363 if (descriptorCount && src.pTexelBufferView) {
4364 pTexelBufferView = new VkBufferView[descriptorCount];
4365 for (uint32_t i=0; i<descriptorCount; ++i) {
4366 pTexelBufferView[i] = src.pTexelBufferView[i];
4367 }
4368 }
4369 break;
4370 default:
4371 break;
4372 }
4373}
4374
4375safe_VkWriteDescriptorSet& safe_VkWriteDescriptorSet::operator=(const safe_VkWriteDescriptorSet& src)
4376{
4377 if (&src == this) return *this;
4378
4379 if (pImageInfo)
4380 delete[] pImageInfo;
4381 if (pBufferInfo)
4382 delete[] pBufferInfo;
4383 if (pTexelBufferView)
4384 delete[] pTexelBufferView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004385 if (pNext)
4386 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004387
4388 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004389 dstSet = src.dstSet;
4390 dstBinding = src.dstBinding;
4391 dstArrayElement = src.dstArrayElement;
4392 descriptorCount = src.descriptorCount;
4393 descriptorType = src.descriptorType;
4394 pImageInfo = nullptr;
4395 pBufferInfo = nullptr;
4396 pTexelBufferView = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004397 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004398 switch (descriptorType) {
4399 case VK_DESCRIPTOR_TYPE_SAMPLER:
4400 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4401 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4402 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4403 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4404 if (descriptorCount && src.pImageInfo) {
4405 pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4406 for (uint32_t i=0; i<descriptorCount; ++i) {
4407 pImageInfo[i] = src.pImageInfo[i];
4408 }
4409 }
4410 break;
4411 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4412 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4413 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4414 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4415 if (descriptorCount && src.pBufferInfo) {
4416 pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4417 for (uint32_t i=0; i<descriptorCount; ++i) {
4418 pBufferInfo[i] = src.pBufferInfo[i];
4419 }
4420 }
4421 break;
4422 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4423 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4424 if (descriptorCount && src.pTexelBufferView) {
4425 pTexelBufferView = new VkBufferView[descriptorCount];
4426 for (uint32_t i=0; i<descriptorCount; ++i) {
4427 pTexelBufferView[i] = src.pTexelBufferView[i];
4428 }
4429 }
4430 break;
4431 default:
4432 break;
4433 }
4434
4435 return *this;
4436}
4437
4438safe_VkWriteDescriptorSet::~safe_VkWriteDescriptorSet()
4439{
4440 if (pImageInfo)
4441 delete[] pImageInfo;
4442 if (pBufferInfo)
4443 delete[] pBufferInfo;
4444 if (pTexelBufferView)
4445 delete[] pTexelBufferView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004446 if (pNext)
4447 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004448}
4449
4450void safe_VkWriteDescriptorSet::initialize(const VkWriteDescriptorSet* in_struct)
4451{
4452 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004453 dstSet = in_struct->dstSet;
4454 dstBinding = in_struct->dstBinding;
4455 dstArrayElement = in_struct->dstArrayElement;
4456 descriptorCount = in_struct->descriptorCount;
4457 descriptorType = in_struct->descriptorType;
4458 pImageInfo = nullptr;
4459 pBufferInfo = nullptr;
4460 pTexelBufferView = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004461 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004462 switch (descriptorType) {
4463 case VK_DESCRIPTOR_TYPE_SAMPLER:
4464 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4465 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4466 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4467 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4468 if (descriptorCount && in_struct->pImageInfo) {
4469 pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4470 for (uint32_t i=0; i<descriptorCount; ++i) {
4471 pImageInfo[i] = in_struct->pImageInfo[i];
4472 }
4473 }
4474 break;
4475 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4476 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4477 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4478 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4479 if (descriptorCount && in_struct->pBufferInfo) {
4480 pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4481 for (uint32_t i=0; i<descriptorCount; ++i) {
4482 pBufferInfo[i] = in_struct->pBufferInfo[i];
4483 }
4484 }
4485 break;
4486 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4487 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4488 if (descriptorCount && in_struct->pTexelBufferView) {
4489 pTexelBufferView = new VkBufferView[descriptorCount];
4490 for (uint32_t i=0; i<descriptorCount; ++i) {
4491 pTexelBufferView[i] = in_struct->pTexelBufferView[i];
4492 }
4493 }
4494 break;
4495 default:
4496 break;
4497 }
4498}
4499
4500void safe_VkWriteDescriptorSet::initialize(const safe_VkWriteDescriptorSet* src)
4501{
4502 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004503 dstSet = src->dstSet;
4504 dstBinding = src->dstBinding;
4505 dstArrayElement = src->dstArrayElement;
4506 descriptorCount = src->descriptorCount;
4507 descriptorType = src->descriptorType;
4508 pImageInfo = nullptr;
4509 pBufferInfo = nullptr;
4510 pTexelBufferView = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004511 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004512 switch (descriptorType) {
4513 case VK_DESCRIPTOR_TYPE_SAMPLER:
4514 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
4515 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
4516 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
4517 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
4518 if (descriptorCount && src->pImageInfo) {
4519 pImageInfo = new VkDescriptorImageInfo[descriptorCount];
4520 for (uint32_t i=0; i<descriptorCount; ++i) {
4521 pImageInfo[i] = src->pImageInfo[i];
4522 }
4523 }
4524 break;
4525 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
4526 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
4527 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
4528 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
4529 if (descriptorCount && src->pBufferInfo) {
4530 pBufferInfo = new VkDescriptorBufferInfo[descriptorCount];
4531 for (uint32_t i=0; i<descriptorCount; ++i) {
4532 pBufferInfo[i] = src->pBufferInfo[i];
4533 }
4534 }
4535 break;
4536 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
4537 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
4538 if (descriptorCount && src->pTexelBufferView) {
4539 pTexelBufferView = new VkBufferView[descriptorCount];
4540 for (uint32_t i=0; i<descriptorCount; ++i) {
4541 pTexelBufferView[i] = src->pTexelBufferView[i];
4542 }
4543 }
4544 break;
4545 default:
4546 break;
4547 }
4548}
4549
4550safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const VkCopyDescriptorSet* in_struct) :
4551 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004552 srcSet(in_struct->srcSet),
4553 srcBinding(in_struct->srcBinding),
4554 srcArrayElement(in_struct->srcArrayElement),
4555 dstSet(in_struct->dstSet),
4556 dstBinding(in_struct->dstBinding),
4557 dstArrayElement(in_struct->dstArrayElement),
4558 descriptorCount(in_struct->descriptorCount)
4559{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004560 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004561}
4562
Jason Macnak8f28eec2019-08-09 12:57:01 -07004563safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet() :
4564 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07004565{}
4566
4567safe_VkCopyDescriptorSet::safe_VkCopyDescriptorSet(const safe_VkCopyDescriptorSet& src)
4568{
4569 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004570 srcSet = src.srcSet;
4571 srcBinding = src.srcBinding;
4572 srcArrayElement = src.srcArrayElement;
4573 dstSet = src.dstSet;
4574 dstBinding = src.dstBinding;
4575 dstArrayElement = src.dstArrayElement;
4576 descriptorCount = src.descriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004577 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004578}
4579
4580safe_VkCopyDescriptorSet& safe_VkCopyDescriptorSet::operator=(const safe_VkCopyDescriptorSet& src)
4581{
4582 if (&src == this) return *this;
4583
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004584 if (pNext)
4585 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004586
4587 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004588 srcSet = src.srcSet;
4589 srcBinding = src.srcBinding;
4590 srcArrayElement = src.srcArrayElement;
4591 dstSet = src.dstSet;
4592 dstBinding = src.dstBinding;
4593 dstArrayElement = src.dstArrayElement;
4594 descriptorCount = src.descriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004595 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004596
4597 return *this;
4598}
4599
4600safe_VkCopyDescriptorSet::~safe_VkCopyDescriptorSet()
4601{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004602 if (pNext)
4603 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004604}
4605
4606void safe_VkCopyDescriptorSet::initialize(const VkCopyDescriptorSet* in_struct)
4607{
4608 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004609 srcSet = in_struct->srcSet;
4610 srcBinding = in_struct->srcBinding;
4611 srcArrayElement = in_struct->srcArrayElement;
4612 dstSet = in_struct->dstSet;
4613 dstBinding = in_struct->dstBinding;
4614 dstArrayElement = in_struct->dstArrayElement;
4615 descriptorCount = in_struct->descriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004616 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004617}
4618
4619void safe_VkCopyDescriptorSet::initialize(const safe_VkCopyDescriptorSet* src)
4620{
4621 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004622 srcSet = src->srcSet;
4623 srcBinding = src->srcBinding;
4624 srcArrayElement = src->srcArrayElement;
4625 dstSet = src->dstSet;
4626 dstBinding = src->dstBinding;
4627 dstArrayElement = src->dstArrayElement;
4628 descriptorCount = src->descriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004629 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004630}
4631
4632safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const VkFramebufferCreateInfo* in_struct) :
4633 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004634 flags(in_struct->flags),
4635 renderPass(in_struct->renderPass),
4636 attachmentCount(in_struct->attachmentCount),
4637 pAttachments(nullptr),
4638 width(in_struct->width),
4639 height(in_struct->height),
4640 layers(in_struct->layers)
4641{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004642 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004643 if (attachmentCount && in_struct->pAttachments) {
4644 pAttachments = new VkImageView[attachmentCount];
4645 for (uint32_t i=0; i<attachmentCount; ++i) {
4646 pAttachments[i] = in_struct->pAttachments[i];
4647 }
4648 }
4649}
4650
4651safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07004652 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004653 pAttachments(nullptr)
4654{}
4655
4656safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const safe_VkFramebufferCreateInfo& src)
4657{
4658 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004659 flags = src.flags;
4660 renderPass = src.renderPass;
4661 attachmentCount = src.attachmentCount;
4662 pAttachments = nullptr;
4663 width = src.width;
4664 height = src.height;
4665 layers = src.layers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004666 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004667 if (attachmentCount && src.pAttachments) {
4668 pAttachments = new VkImageView[attachmentCount];
4669 for (uint32_t i=0; i<attachmentCount; ++i) {
4670 pAttachments[i] = src.pAttachments[i];
4671 }
4672 }
4673}
4674
4675safe_VkFramebufferCreateInfo& safe_VkFramebufferCreateInfo::operator=(const safe_VkFramebufferCreateInfo& src)
4676{
4677 if (&src == this) return *this;
4678
4679 if (pAttachments)
4680 delete[] pAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004681 if (pNext)
4682 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004683
4684 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004685 flags = src.flags;
4686 renderPass = src.renderPass;
4687 attachmentCount = src.attachmentCount;
4688 pAttachments = nullptr;
4689 width = src.width;
4690 height = src.height;
4691 layers = src.layers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004692 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004693 if (attachmentCount && src.pAttachments) {
4694 pAttachments = new VkImageView[attachmentCount];
4695 for (uint32_t i=0; i<attachmentCount; ++i) {
4696 pAttachments[i] = src.pAttachments[i];
4697 }
4698 }
4699
4700 return *this;
4701}
4702
4703safe_VkFramebufferCreateInfo::~safe_VkFramebufferCreateInfo()
4704{
4705 if (pAttachments)
4706 delete[] pAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004707 if (pNext)
4708 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004709}
4710
4711void safe_VkFramebufferCreateInfo::initialize(const VkFramebufferCreateInfo* in_struct)
4712{
4713 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004714 flags = in_struct->flags;
4715 renderPass = in_struct->renderPass;
4716 attachmentCount = in_struct->attachmentCount;
4717 pAttachments = nullptr;
4718 width = in_struct->width;
4719 height = in_struct->height;
4720 layers = in_struct->layers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004721 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004722 if (attachmentCount && in_struct->pAttachments) {
4723 pAttachments = new VkImageView[attachmentCount];
4724 for (uint32_t i=0; i<attachmentCount; ++i) {
4725 pAttachments[i] = in_struct->pAttachments[i];
4726 }
4727 }
4728}
4729
4730void safe_VkFramebufferCreateInfo::initialize(const safe_VkFramebufferCreateInfo* src)
4731{
4732 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004733 flags = src->flags;
4734 renderPass = src->renderPass;
4735 attachmentCount = src->attachmentCount;
4736 pAttachments = nullptr;
4737 width = src->width;
4738 height = src->height;
4739 layers = src->layers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004740 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004741 if (attachmentCount && src->pAttachments) {
4742 pAttachments = new VkImageView[attachmentCount];
4743 for (uint32_t i=0; i<attachmentCount; ++i) {
4744 pAttachments[i] = src->pAttachments[i];
4745 }
4746 }
4747}
4748
4749safe_VkSubpassDescription::safe_VkSubpassDescription(const VkSubpassDescription* in_struct) :
4750 flags(in_struct->flags),
4751 pipelineBindPoint(in_struct->pipelineBindPoint),
4752 inputAttachmentCount(in_struct->inputAttachmentCount),
4753 pInputAttachments(nullptr),
4754 colorAttachmentCount(in_struct->colorAttachmentCount),
4755 pColorAttachments(nullptr),
4756 pResolveAttachments(nullptr),
4757 pDepthStencilAttachment(nullptr),
4758 preserveAttachmentCount(in_struct->preserveAttachmentCount),
4759 pPreserveAttachments(nullptr)
4760{
4761 if (in_struct->pInputAttachments) {
4762 pInputAttachments = new VkAttachmentReference[in_struct->inputAttachmentCount];
4763 memcpy ((void *)pInputAttachments, (void *)in_struct->pInputAttachments, sizeof(VkAttachmentReference)*in_struct->inputAttachmentCount);
4764 }
4765 if (in_struct->pColorAttachments) {
4766 pColorAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
4767 memcpy ((void *)pColorAttachments, (void *)in_struct->pColorAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
4768 }
4769 if (in_struct->pResolveAttachments) {
4770 pResolveAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
4771 memcpy ((void *)pResolveAttachments, (void *)in_struct->pResolveAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
4772 }
4773 if (in_struct->pDepthStencilAttachment) {
4774 pDepthStencilAttachment = new VkAttachmentReference(*in_struct->pDepthStencilAttachment);
4775 }
4776 if (in_struct->pPreserveAttachments) {
4777 pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
4778 memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
4779 }
4780}
4781
4782safe_VkSubpassDescription::safe_VkSubpassDescription() :
4783 pInputAttachments(nullptr),
4784 pColorAttachments(nullptr),
4785 pResolveAttachments(nullptr),
4786 pDepthStencilAttachment(nullptr),
4787 pPreserveAttachments(nullptr)
4788{}
4789
4790safe_VkSubpassDescription::safe_VkSubpassDescription(const safe_VkSubpassDescription& src)
4791{
4792 flags = src.flags;
4793 pipelineBindPoint = src.pipelineBindPoint;
4794 inputAttachmentCount = src.inputAttachmentCount;
4795 pInputAttachments = nullptr;
4796 colorAttachmentCount = src.colorAttachmentCount;
4797 pColorAttachments = nullptr;
4798 pResolveAttachments = nullptr;
4799 pDepthStencilAttachment = nullptr;
4800 preserveAttachmentCount = src.preserveAttachmentCount;
4801 pPreserveAttachments = nullptr;
4802 if (src.pInputAttachments) {
4803 pInputAttachments = new VkAttachmentReference[src.inputAttachmentCount];
4804 memcpy ((void *)pInputAttachments, (void *)src.pInputAttachments, sizeof(VkAttachmentReference)*src.inputAttachmentCount);
4805 }
4806 if (src.pColorAttachments) {
4807 pColorAttachments = new VkAttachmentReference[src.colorAttachmentCount];
4808 memcpy ((void *)pColorAttachments, (void *)src.pColorAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
4809 }
4810 if (src.pResolveAttachments) {
4811 pResolveAttachments = new VkAttachmentReference[src.colorAttachmentCount];
4812 memcpy ((void *)pResolveAttachments, (void *)src.pResolveAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
4813 }
4814 if (src.pDepthStencilAttachment) {
4815 pDepthStencilAttachment = new VkAttachmentReference(*src.pDepthStencilAttachment);
4816 }
4817 if (src.pPreserveAttachments) {
4818 pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
4819 memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
4820 }
4821}
4822
4823safe_VkSubpassDescription& safe_VkSubpassDescription::operator=(const safe_VkSubpassDescription& src)
4824{
4825 if (&src == this) return *this;
4826
4827 if (pInputAttachments)
4828 delete[] pInputAttachments;
4829 if (pColorAttachments)
4830 delete[] pColorAttachments;
4831 if (pResolveAttachments)
4832 delete[] pResolveAttachments;
4833 if (pDepthStencilAttachment)
4834 delete pDepthStencilAttachment;
4835 if (pPreserveAttachments)
4836 delete[] pPreserveAttachments;
4837
4838 flags = src.flags;
4839 pipelineBindPoint = src.pipelineBindPoint;
4840 inputAttachmentCount = src.inputAttachmentCount;
4841 pInputAttachments = nullptr;
4842 colorAttachmentCount = src.colorAttachmentCount;
4843 pColorAttachments = nullptr;
4844 pResolveAttachments = nullptr;
4845 pDepthStencilAttachment = nullptr;
4846 preserveAttachmentCount = src.preserveAttachmentCount;
4847 pPreserveAttachments = nullptr;
4848 if (src.pInputAttachments) {
4849 pInputAttachments = new VkAttachmentReference[src.inputAttachmentCount];
4850 memcpy ((void *)pInputAttachments, (void *)src.pInputAttachments, sizeof(VkAttachmentReference)*src.inputAttachmentCount);
4851 }
4852 if (src.pColorAttachments) {
4853 pColorAttachments = new VkAttachmentReference[src.colorAttachmentCount];
4854 memcpy ((void *)pColorAttachments, (void *)src.pColorAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
4855 }
4856 if (src.pResolveAttachments) {
4857 pResolveAttachments = new VkAttachmentReference[src.colorAttachmentCount];
4858 memcpy ((void *)pResolveAttachments, (void *)src.pResolveAttachments, sizeof(VkAttachmentReference)*src.colorAttachmentCount);
4859 }
4860 if (src.pDepthStencilAttachment) {
4861 pDepthStencilAttachment = new VkAttachmentReference(*src.pDepthStencilAttachment);
4862 }
4863 if (src.pPreserveAttachments) {
4864 pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
4865 memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
4866 }
4867
4868 return *this;
4869}
4870
4871safe_VkSubpassDescription::~safe_VkSubpassDescription()
4872{
4873 if (pInputAttachments)
4874 delete[] pInputAttachments;
4875 if (pColorAttachments)
4876 delete[] pColorAttachments;
4877 if (pResolveAttachments)
4878 delete[] pResolveAttachments;
4879 if (pDepthStencilAttachment)
4880 delete pDepthStencilAttachment;
4881 if (pPreserveAttachments)
4882 delete[] pPreserveAttachments;
4883}
4884
4885void safe_VkSubpassDescription::initialize(const VkSubpassDescription* in_struct)
4886{
4887 flags = in_struct->flags;
4888 pipelineBindPoint = in_struct->pipelineBindPoint;
4889 inputAttachmentCount = in_struct->inputAttachmentCount;
4890 pInputAttachments = nullptr;
4891 colorAttachmentCount = in_struct->colorAttachmentCount;
4892 pColorAttachments = nullptr;
4893 pResolveAttachments = nullptr;
4894 pDepthStencilAttachment = nullptr;
4895 preserveAttachmentCount = in_struct->preserveAttachmentCount;
4896 pPreserveAttachments = nullptr;
4897 if (in_struct->pInputAttachments) {
4898 pInputAttachments = new VkAttachmentReference[in_struct->inputAttachmentCount];
4899 memcpy ((void *)pInputAttachments, (void *)in_struct->pInputAttachments, sizeof(VkAttachmentReference)*in_struct->inputAttachmentCount);
4900 }
4901 if (in_struct->pColorAttachments) {
4902 pColorAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
4903 memcpy ((void *)pColorAttachments, (void *)in_struct->pColorAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
4904 }
4905 if (in_struct->pResolveAttachments) {
4906 pResolveAttachments = new VkAttachmentReference[in_struct->colorAttachmentCount];
4907 memcpy ((void *)pResolveAttachments, (void *)in_struct->pResolveAttachments, sizeof(VkAttachmentReference)*in_struct->colorAttachmentCount);
4908 }
4909 if (in_struct->pDepthStencilAttachment) {
4910 pDepthStencilAttachment = new VkAttachmentReference(*in_struct->pDepthStencilAttachment);
4911 }
4912 if (in_struct->pPreserveAttachments) {
4913 pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
4914 memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
4915 }
4916}
4917
4918void safe_VkSubpassDescription::initialize(const safe_VkSubpassDescription* src)
4919{
4920 flags = src->flags;
4921 pipelineBindPoint = src->pipelineBindPoint;
4922 inputAttachmentCount = src->inputAttachmentCount;
4923 pInputAttachments = nullptr;
4924 colorAttachmentCount = src->colorAttachmentCount;
4925 pColorAttachments = nullptr;
4926 pResolveAttachments = nullptr;
4927 pDepthStencilAttachment = nullptr;
4928 preserveAttachmentCount = src->preserveAttachmentCount;
4929 pPreserveAttachments = nullptr;
4930 if (src->pInputAttachments) {
4931 pInputAttachments = new VkAttachmentReference[src->inputAttachmentCount];
4932 memcpy ((void *)pInputAttachments, (void *)src->pInputAttachments, sizeof(VkAttachmentReference)*src->inputAttachmentCount);
4933 }
4934 if (src->pColorAttachments) {
4935 pColorAttachments = new VkAttachmentReference[src->colorAttachmentCount];
4936 memcpy ((void *)pColorAttachments, (void *)src->pColorAttachments, sizeof(VkAttachmentReference)*src->colorAttachmentCount);
4937 }
4938 if (src->pResolveAttachments) {
4939 pResolveAttachments = new VkAttachmentReference[src->colorAttachmentCount];
4940 memcpy ((void *)pResolveAttachments, (void *)src->pResolveAttachments, sizeof(VkAttachmentReference)*src->colorAttachmentCount);
4941 }
4942 if (src->pDepthStencilAttachment) {
4943 pDepthStencilAttachment = new VkAttachmentReference(*src->pDepthStencilAttachment);
4944 }
4945 if (src->pPreserveAttachments) {
4946 pPreserveAttachments = new uint32_t[src->preserveAttachmentCount];
4947 memcpy ((void *)pPreserveAttachments, (void *)src->pPreserveAttachments, sizeof(uint32_t)*src->preserveAttachmentCount);
4948 }
4949}
4950
4951safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const VkRenderPassCreateInfo* in_struct) :
4952 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004953 flags(in_struct->flags),
4954 attachmentCount(in_struct->attachmentCount),
4955 pAttachments(nullptr),
4956 subpassCount(in_struct->subpassCount),
4957 pSubpasses(nullptr),
4958 dependencyCount(in_struct->dependencyCount),
4959 pDependencies(nullptr)
4960{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004961 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004962 if (in_struct->pAttachments) {
4963 pAttachments = new VkAttachmentDescription[in_struct->attachmentCount];
4964 memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkAttachmentDescription)*in_struct->attachmentCount);
4965 }
4966 if (subpassCount && in_struct->pSubpasses) {
4967 pSubpasses = new safe_VkSubpassDescription[subpassCount];
4968 for (uint32_t i=0; i<subpassCount; ++i) {
4969 pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
4970 }
4971 }
4972 if (in_struct->pDependencies) {
4973 pDependencies = new VkSubpassDependency[in_struct->dependencyCount];
4974 memcpy ((void *)pDependencies, (void *)in_struct->pDependencies, sizeof(VkSubpassDependency)*in_struct->dependencyCount);
4975 }
4976}
4977
4978safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07004979 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07004980 pAttachments(nullptr),
4981 pSubpasses(nullptr),
4982 pDependencies(nullptr)
4983{}
4984
4985safe_VkRenderPassCreateInfo::safe_VkRenderPassCreateInfo(const safe_VkRenderPassCreateInfo& src)
4986{
4987 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07004988 flags = src.flags;
4989 attachmentCount = src.attachmentCount;
4990 pAttachments = nullptr;
4991 subpassCount = src.subpassCount;
4992 pSubpasses = nullptr;
4993 dependencyCount = src.dependencyCount;
4994 pDependencies = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06004995 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07004996 if (src.pAttachments) {
4997 pAttachments = new VkAttachmentDescription[src.attachmentCount];
4998 memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkAttachmentDescription)*src.attachmentCount);
4999 }
5000 if (subpassCount && src.pSubpasses) {
5001 pSubpasses = new safe_VkSubpassDescription[subpassCount];
5002 for (uint32_t i=0; i<subpassCount; ++i) {
5003 pSubpasses[i].initialize(&src.pSubpasses[i]);
5004 }
5005 }
5006 if (src.pDependencies) {
5007 pDependencies = new VkSubpassDependency[src.dependencyCount];
5008 memcpy ((void *)pDependencies, (void *)src.pDependencies, sizeof(VkSubpassDependency)*src.dependencyCount);
5009 }
5010}
5011
5012safe_VkRenderPassCreateInfo& safe_VkRenderPassCreateInfo::operator=(const safe_VkRenderPassCreateInfo& src)
5013{
5014 if (&src == this) return *this;
5015
5016 if (pAttachments)
5017 delete[] pAttachments;
5018 if (pSubpasses)
5019 delete[] pSubpasses;
5020 if (pDependencies)
5021 delete[] pDependencies;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005022 if (pNext)
5023 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005024
5025 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005026 flags = src.flags;
5027 attachmentCount = src.attachmentCount;
5028 pAttachments = nullptr;
5029 subpassCount = src.subpassCount;
5030 pSubpasses = nullptr;
5031 dependencyCount = src.dependencyCount;
5032 pDependencies = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005033 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005034 if (src.pAttachments) {
5035 pAttachments = new VkAttachmentDescription[src.attachmentCount];
5036 memcpy ((void *)pAttachments, (void *)src.pAttachments, sizeof(VkAttachmentDescription)*src.attachmentCount);
5037 }
5038 if (subpassCount && src.pSubpasses) {
5039 pSubpasses = new safe_VkSubpassDescription[subpassCount];
5040 for (uint32_t i=0; i<subpassCount; ++i) {
5041 pSubpasses[i].initialize(&src.pSubpasses[i]);
5042 }
5043 }
5044 if (src.pDependencies) {
5045 pDependencies = new VkSubpassDependency[src.dependencyCount];
5046 memcpy ((void *)pDependencies, (void *)src.pDependencies, sizeof(VkSubpassDependency)*src.dependencyCount);
5047 }
5048
5049 return *this;
5050}
5051
5052safe_VkRenderPassCreateInfo::~safe_VkRenderPassCreateInfo()
5053{
5054 if (pAttachments)
5055 delete[] pAttachments;
5056 if (pSubpasses)
5057 delete[] pSubpasses;
5058 if (pDependencies)
5059 delete[] pDependencies;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005060 if (pNext)
5061 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005062}
5063
5064void safe_VkRenderPassCreateInfo::initialize(const VkRenderPassCreateInfo* in_struct)
5065{
5066 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005067 flags = in_struct->flags;
5068 attachmentCount = in_struct->attachmentCount;
5069 pAttachments = nullptr;
5070 subpassCount = in_struct->subpassCount;
5071 pSubpasses = nullptr;
5072 dependencyCount = in_struct->dependencyCount;
5073 pDependencies = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005074 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005075 if (in_struct->pAttachments) {
5076 pAttachments = new VkAttachmentDescription[in_struct->attachmentCount];
5077 memcpy ((void *)pAttachments, (void *)in_struct->pAttachments, sizeof(VkAttachmentDescription)*in_struct->attachmentCount);
5078 }
5079 if (subpassCount && in_struct->pSubpasses) {
5080 pSubpasses = new safe_VkSubpassDescription[subpassCount];
5081 for (uint32_t i=0; i<subpassCount; ++i) {
5082 pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
5083 }
5084 }
5085 if (in_struct->pDependencies) {
5086 pDependencies = new VkSubpassDependency[in_struct->dependencyCount];
5087 memcpy ((void *)pDependencies, (void *)in_struct->pDependencies, sizeof(VkSubpassDependency)*in_struct->dependencyCount);
5088 }
5089}
5090
5091void safe_VkRenderPassCreateInfo::initialize(const safe_VkRenderPassCreateInfo* src)
5092{
5093 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005094 flags = src->flags;
5095 attachmentCount = src->attachmentCount;
5096 pAttachments = nullptr;
5097 subpassCount = src->subpassCount;
5098 pSubpasses = nullptr;
5099 dependencyCount = src->dependencyCount;
5100 pDependencies = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005101 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005102 if (src->pAttachments) {
5103 pAttachments = new VkAttachmentDescription[src->attachmentCount];
5104 memcpy ((void *)pAttachments, (void *)src->pAttachments, sizeof(VkAttachmentDescription)*src->attachmentCount);
5105 }
5106 if (subpassCount && src->pSubpasses) {
5107 pSubpasses = new safe_VkSubpassDescription[subpassCount];
5108 for (uint32_t i=0; i<subpassCount; ++i) {
5109 pSubpasses[i].initialize(&src->pSubpasses[i]);
5110 }
5111 }
5112 if (src->pDependencies) {
5113 pDependencies = new VkSubpassDependency[src->dependencyCount];
5114 memcpy ((void *)pDependencies, (void *)src->pDependencies, sizeof(VkSubpassDependency)*src->dependencyCount);
5115 }
5116}
5117
5118safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct) :
5119 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005120 flags(in_struct->flags),
5121 queueFamilyIndex(in_struct->queueFamilyIndex)
5122{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005123 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005124}
5125
Jason Macnak8f28eec2019-08-09 12:57:01 -07005126safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo() :
5127 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005128{}
5129
5130safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& src)
5131{
5132 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005133 flags = src.flags;
5134 queueFamilyIndex = src.queueFamilyIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005135 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005136}
5137
5138safe_VkCommandPoolCreateInfo& safe_VkCommandPoolCreateInfo::operator=(const safe_VkCommandPoolCreateInfo& src)
5139{
5140 if (&src == this) return *this;
5141
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005142 if (pNext)
5143 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005144
5145 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005146 flags = src.flags;
5147 queueFamilyIndex = src.queueFamilyIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005148 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005149
5150 return *this;
5151}
5152
5153safe_VkCommandPoolCreateInfo::~safe_VkCommandPoolCreateInfo()
5154{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005155 if (pNext)
5156 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005157}
5158
5159void safe_VkCommandPoolCreateInfo::initialize(const VkCommandPoolCreateInfo* in_struct)
5160{
5161 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005162 flags = in_struct->flags;
5163 queueFamilyIndex = in_struct->queueFamilyIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005164 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005165}
5166
5167void safe_VkCommandPoolCreateInfo::initialize(const safe_VkCommandPoolCreateInfo* src)
5168{
5169 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005170 flags = src->flags;
5171 queueFamilyIndex = src->queueFamilyIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005172 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005173}
5174
5175safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct) :
5176 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005177 commandPool(in_struct->commandPool),
5178 level(in_struct->level),
5179 commandBufferCount(in_struct->commandBufferCount)
5180{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005181 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005182}
5183
Jason Macnak8f28eec2019-08-09 12:57:01 -07005184safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo() :
5185 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005186{}
5187
5188safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& src)
5189{
5190 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005191 commandPool = src.commandPool;
5192 level = src.level;
5193 commandBufferCount = src.commandBufferCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005194 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005195}
5196
5197safe_VkCommandBufferAllocateInfo& safe_VkCommandBufferAllocateInfo::operator=(const safe_VkCommandBufferAllocateInfo& src)
5198{
5199 if (&src == this) return *this;
5200
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005201 if (pNext)
5202 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005203
5204 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005205 commandPool = src.commandPool;
5206 level = src.level;
5207 commandBufferCount = src.commandBufferCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005208 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005209
5210 return *this;
5211}
5212
5213safe_VkCommandBufferAllocateInfo::~safe_VkCommandBufferAllocateInfo()
5214{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005215 if (pNext)
5216 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005217}
5218
5219void safe_VkCommandBufferAllocateInfo::initialize(const VkCommandBufferAllocateInfo* in_struct)
5220{
5221 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005222 commandPool = in_struct->commandPool;
5223 level = in_struct->level;
5224 commandBufferCount = in_struct->commandBufferCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005225 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005226}
5227
5228void safe_VkCommandBufferAllocateInfo::initialize(const safe_VkCommandBufferAllocateInfo* src)
5229{
5230 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005231 commandPool = src->commandPool;
5232 level = src->level;
5233 commandBufferCount = src->commandBufferCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005234 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005235}
5236
5237safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct) :
5238 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005239 renderPass(in_struct->renderPass),
5240 subpass(in_struct->subpass),
5241 framebuffer(in_struct->framebuffer),
5242 occlusionQueryEnable(in_struct->occlusionQueryEnable),
5243 queryFlags(in_struct->queryFlags),
5244 pipelineStatistics(in_struct->pipelineStatistics)
5245{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005246 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005247}
5248
Jason Macnak8f28eec2019-08-09 12:57:01 -07005249safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo() :
5250 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005251{}
5252
5253safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& src)
5254{
5255 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005256 renderPass = src.renderPass;
5257 subpass = src.subpass;
5258 framebuffer = src.framebuffer;
5259 occlusionQueryEnable = src.occlusionQueryEnable;
5260 queryFlags = src.queryFlags;
5261 pipelineStatistics = src.pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005262 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005263}
5264
5265safe_VkCommandBufferInheritanceInfo& safe_VkCommandBufferInheritanceInfo::operator=(const safe_VkCommandBufferInheritanceInfo& src)
5266{
5267 if (&src == this) return *this;
5268
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005269 if (pNext)
5270 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005271
5272 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005273 renderPass = src.renderPass;
5274 subpass = src.subpass;
5275 framebuffer = src.framebuffer;
5276 occlusionQueryEnable = src.occlusionQueryEnable;
5277 queryFlags = src.queryFlags;
5278 pipelineStatistics = src.pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005279 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005280
5281 return *this;
5282}
5283
5284safe_VkCommandBufferInheritanceInfo::~safe_VkCommandBufferInheritanceInfo()
5285{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005286 if (pNext)
5287 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005288}
5289
5290void safe_VkCommandBufferInheritanceInfo::initialize(const VkCommandBufferInheritanceInfo* in_struct)
5291{
5292 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005293 renderPass = in_struct->renderPass;
5294 subpass = in_struct->subpass;
5295 framebuffer = in_struct->framebuffer;
5296 occlusionQueryEnable = in_struct->occlusionQueryEnable;
5297 queryFlags = in_struct->queryFlags;
5298 pipelineStatistics = in_struct->pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005299 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005300}
5301
5302void safe_VkCommandBufferInheritanceInfo::initialize(const safe_VkCommandBufferInheritanceInfo* src)
5303{
5304 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005305 renderPass = src->renderPass;
5306 subpass = src->subpass;
5307 framebuffer = src->framebuffer;
5308 occlusionQueryEnable = src->occlusionQueryEnable;
5309 queryFlags = src->queryFlags;
5310 pipelineStatistics = src->pipelineStatistics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005311 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005312}
5313
5314safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct) :
5315 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005316 flags(in_struct->flags)
5317{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005318 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005319 if (in_struct->pInheritanceInfo)
5320 pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo);
5321 else
5322 pInheritanceInfo = NULL;
5323}
5324
Jason Macnak8f28eec2019-08-09 12:57:01 -07005325safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo() :
5326 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005327{}
5328
5329safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& src)
5330{
5331 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005332 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005333 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005334 if (src.pInheritanceInfo)
5335 pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src.pInheritanceInfo);
5336 else
5337 pInheritanceInfo = NULL;
5338}
5339
5340safe_VkCommandBufferBeginInfo& safe_VkCommandBufferBeginInfo::operator=(const safe_VkCommandBufferBeginInfo& src)
5341{
5342 if (&src == this) return *this;
5343
5344 if (pInheritanceInfo)
5345 delete pInheritanceInfo;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005346 if (pNext)
5347 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005348
5349 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005350 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005351 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005352 if (src.pInheritanceInfo)
5353 pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src.pInheritanceInfo);
5354 else
5355 pInheritanceInfo = NULL;
5356
5357 return *this;
5358}
5359
5360safe_VkCommandBufferBeginInfo::~safe_VkCommandBufferBeginInfo()
5361{
5362 if (pInheritanceInfo)
5363 delete pInheritanceInfo;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005364 if (pNext)
5365 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005366}
5367
5368void safe_VkCommandBufferBeginInfo::initialize(const VkCommandBufferBeginInfo* in_struct)
5369{
5370 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005371 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005372 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005373 if (in_struct->pInheritanceInfo)
5374 pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo);
5375 else
5376 pInheritanceInfo = NULL;
5377}
5378
5379void safe_VkCommandBufferBeginInfo::initialize(const safe_VkCommandBufferBeginInfo* src)
5380{
5381 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005382 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005383 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005384 if (src->pInheritanceInfo)
5385 pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*src->pInheritanceInfo);
5386 else
5387 pInheritanceInfo = NULL;
5388}
5389
5390safe_VkMemoryBarrier::safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct) :
5391 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005392 srcAccessMask(in_struct->srcAccessMask),
5393 dstAccessMask(in_struct->dstAccessMask)
5394{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005395 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005396}
5397
Jason Macnak8f28eec2019-08-09 12:57:01 -07005398safe_VkMemoryBarrier::safe_VkMemoryBarrier() :
5399 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005400{}
5401
5402safe_VkMemoryBarrier::safe_VkMemoryBarrier(const safe_VkMemoryBarrier& src)
5403{
5404 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005405 srcAccessMask = src.srcAccessMask;
5406 dstAccessMask = src.dstAccessMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005407 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005408}
5409
5410safe_VkMemoryBarrier& safe_VkMemoryBarrier::operator=(const safe_VkMemoryBarrier& src)
5411{
5412 if (&src == this) return *this;
5413
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005414 if (pNext)
5415 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005416
5417 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005418 srcAccessMask = src.srcAccessMask;
5419 dstAccessMask = src.dstAccessMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005420 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005421
5422 return *this;
5423}
5424
5425safe_VkMemoryBarrier::~safe_VkMemoryBarrier()
5426{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005427 if (pNext)
5428 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005429}
5430
5431void safe_VkMemoryBarrier::initialize(const VkMemoryBarrier* in_struct)
5432{
5433 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005434 srcAccessMask = in_struct->srcAccessMask;
5435 dstAccessMask = in_struct->dstAccessMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005436 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005437}
5438
5439void safe_VkMemoryBarrier::initialize(const safe_VkMemoryBarrier* src)
5440{
5441 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005442 srcAccessMask = src->srcAccessMask;
5443 dstAccessMask = src->dstAccessMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005444 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005445}
5446
5447safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct) :
5448 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005449 srcAccessMask(in_struct->srcAccessMask),
5450 dstAccessMask(in_struct->dstAccessMask),
5451 srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex),
5452 dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex),
5453 buffer(in_struct->buffer),
5454 offset(in_struct->offset),
5455 size(in_struct->size)
5456{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005457 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005458}
5459
Jason Macnak8f28eec2019-08-09 12:57:01 -07005460safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier() :
5461 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005462{}
5463
5464safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& src)
5465{
5466 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005467 srcAccessMask = src.srcAccessMask;
5468 dstAccessMask = src.dstAccessMask;
5469 srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5470 dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5471 buffer = src.buffer;
5472 offset = src.offset;
5473 size = src.size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005474 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005475}
5476
5477safe_VkBufferMemoryBarrier& safe_VkBufferMemoryBarrier::operator=(const safe_VkBufferMemoryBarrier& src)
5478{
5479 if (&src == this) return *this;
5480
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005481 if (pNext)
5482 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005483
5484 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005485 srcAccessMask = src.srcAccessMask;
5486 dstAccessMask = src.dstAccessMask;
5487 srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5488 dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5489 buffer = src.buffer;
5490 offset = src.offset;
5491 size = src.size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005492 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005493
5494 return *this;
5495}
5496
5497safe_VkBufferMemoryBarrier::~safe_VkBufferMemoryBarrier()
5498{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005499 if (pNext)
5500 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005501}
5502
5503void safe_VkBufferMemoryBarrier::initialize(const VkBufferMemoryBarrier* in_struct)
5504{
5505 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005506 srcAccessMask = in_struct->srcAccessMask;
5507 dstAccessMask = in_struct->dstAccessMask;
5508 srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex;
5509 dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex;
5510 buffer = in_struct->buffer;
5511 offset = in_struct->offset;
5512 size = in_struct->size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005513 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005514}
5515
5516void safe_VkBufferMemoryBarrier::initialize(const safe_VkBufferMemoryBarrier* src)
5517{
5518 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005519 srcAccessMask = src->srcAccessMask;
5520 dstAccessMask = src->dstAccessMask;
5521 srcQueueFamilyIndex = src->srcQueueFamilyIndex;
5522 dstQueueFamilyIndex = src->dstQueueFamilyIndex;
5523 buffer = src->buffer;
5524 offset = src->offset;
5525 size = src->size;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005526 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005527}
5528
5529safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct) :
5530 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005531 srcAccessMask(in_struct->srcAccessMask),
5532 dstAccessMask(in_struct->dstAccessMask),
5533 oldLayout(in_struct->oldLayout),
5534 newLayout(in_struct->newLayout),
5535 srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex),
5536 dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex),
5537 image(in_struct->image),
5538 subresourceRange(in_struct->subresourceRange)
5539{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005540 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005541}
5542
Jason Macnak8f28eec2019-08-09 12:57:01 -07005543safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier() :
5544 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005545{}
5546
5547safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& src)
5548{
5549 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005550 srcAccessMask = src.srcAccessMask;
5551 dstAccessMask = src.dstAccessMask;
5552 oldLayout = src.oldLayout;
5553 newLayout = src.newLayout;
5554 srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5555 dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5556 image = src.image;
5557 subresourceRange = src.subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005558 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005559}
5560
5561safe_VkImageMemoryBarrier& safe_VkImageMemoryBarrier::operator=(const safe_VkImageMemoryBarrier& src)
5562{
5563 if (&src == this) return *this;
5564
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005565 if (pNext)
5566 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005567
5568 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005569 srcAccessMask = src.srcAccessMask;
5570 dstAccessMask = src.dstAccessMask;
5571 oldLayout = src.oldLayout;
5572 newLayout = src.newLayout;
5573 srcQueueFamilyIndex = src.srcQueueFamilyIndex;
5574 dstQueueFamilyIndex = src.dstQueueFamilyIndex;
5575 image = src.image;
5576 subresourceRange = src.subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005577 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005578
5579 return *this;
5580}
5581
5582safe_VkImageMemoryBarrier::~safe_VkImageMemoryBarrier()
5583{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005584 if (pNext)
5585 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005586}
5587
5588void safe_VkImageMemoryBarrier::initialize(const VkImageMemoryBarrier* in_struct)
5589{
5590 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005591 srcAccessMask = in_struct->srcAccessMask;
5592 dstAccessMask = in_struct->dstAccessMask;
5593 oldLayout = in_struct->oldLayout;
5594 newLayout = in_struct->newLayout;
5595 srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex;
5596 dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex;
5597 image = in_struct->image;
5598 subresourceRange = in_struct->subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005599 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005600}
5601
5602void safe_VkImageMemoryBarrier::initialize(const safe_VkImageMemoryBarrier* src)
5603{
5604 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005605 srcAccessMask = src->srcAccessMask;
5606 dstAccessMask = src->dstAccessMask;
5607 oldLayout = src->oldLayout;
5608 newLayout = src->newLayout;
5609 srcQueueFamilyIndex = src->srcQueueFamilyIndex;
5610 dstQueueFamilyIndex = src->dstQueueFamilyIndex;
5611 image = src->image;
5612 subresourceRange = src->subresourceRange;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005613 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005614}
5615
5616safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const VkRenderPassBeginInfo* in_struct) :
5617 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005618 renderPass(in_struct->renderPass),
5619 framebuffer(in_struct->framebuffer),
5620 renderArea(in_struct->renderArea),
5621 clearValueCount(in_struct->clearValueCount),
5622 pClearValues(nullptr)
5623{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005624 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005625 if (in_struct->pClearValues) {
5626 pClearValues = new VkClearValue[in_struct->clearValueCount];
5627 memcpy ((void *)pClearValues, (void *)in_struct->pClearValues, sizeof(VkClearValue)*in_struct->clearValueCount);
5628 }
5629}
5630
5631safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07005632 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005633 pClearValues(nullptr)
5634{}
5635
5636safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const safe_VkRenderPassBeginInfo& src)
5637{
5638 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005639 renderPass = src.renderPass;
5640 framebuffer = src.framebuffer;
5641 renderArea = src.renderArea;
5642 clearValueCount = src.clearValueCount;
5643 pClearValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005644 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005645 if (src.pClearValues) {
5646 pClearValues = new VkClearValue[src.clearValueCount];
5647 memcpy ((void *)pClearValues, (void *)src.pClearValues, sizeof(VkClearValue)*src.clearValueCount);
5648 }
5649}
5650
5651safe_VkRenderPassBeginInfo& safe_VkRenderPassBeginInfo::operator=(const safe_VkRenderPassBeginInfo& src)
5652{
5653 if (&src == this) return *this;
5654
5655 if (pClearValues)
5656 delete[] pClearValues;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005657 if (pNext)
5658 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005659
5660 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005661 renderPass = src.renderPass;
5662 framebuffer = src.framebuffer;
5663 renderArea = src.renderArea;
5664 clearValueCount = src.clearValueCount;
5665 pClearValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005666 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005667 if (src.pClearValues) {
5668 pClearValues = new VkClearValue[src.clearValueCount];
5669 memcpy ((void *)pClearValues, (void *)src.pClearValues, sizeof(VkClearValue)*src.clearValueCount);
5670 }
5671
5672 return *this;
5673}
5674
5675safe_VkRenderPassBeginInfo::~safe_VkRenderPassBeginInfo()
5676{
5677 if (pClearValues)
5678 delete[] pClearValues;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005679 if (pNext)
5680 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005681}
5682
5683void safe_VkRenderPassBeginInfo::initialize(const VkRenderPassBeginInfo* in_struct)
5684{
5685 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005686 renderPass = in_struct->renderPass;
5687 framebuffer = in_struct->framebuffer;
5688 renderArea = in_struct->renderArea;
5689 clearValueCount = in_struct->clearValueCount;
5690 pClearValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005691 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005692 if (in_struct->pClearValues) {
5693 pClearValues = new VkClearValue[in_struct->clearValueCount];
5694 memcpy ((void *)pClearValues, (void *)in_struct->pClearValues, sizeof(VkClearValue)*in_struct->clearValueCount);
5695 }
5696}
5697
5698void safe_VkRenderPassBeginInfo::initialize(const safe_VkRenderPassBeginInfo* src)
5699{
5700 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005701 renderPass = src->renderPass;
5702 framebuffer = src->framebuffer;
5703 renderArea = src->renderArea;
5704 clearValueCount = src->clearValueCount;
5705 pClearValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005706 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005707 if (src->pClearValues) {
5708 pClearValues = new VkClearValue[src->clearValueCount];
5709 memcpy ((void *)pClearValues, (void *)src->pClearValues, sizeof(VkClearValue)*src->clearValueCount);
5710 }
5711}
5712
Mike Schuchardt440d4642019-06-20 17:14:57 -07005713safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties* in_struct) :
5714 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005715 subgroupSize(in_struct->subgroupSize),
5716 supportedStages(in_struct->supportedStages),
5717 supportedOperations(in_struct->supportedOperations),
5718 quadOperationsInAllStages(in_struct->quadOperationsInAllStages)
5719{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005720 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005721}
5722
Jason Macnak8f28eec2019-08-09 12:57:01 -07005723safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties() :
5724 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005725{}
5726
5727safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties(const safe_VkPhysicalDeviceSubgroupProperties& src)
5728{
5729 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005730 subgroupSize = src.subgroupSize;
5731 supportedStages = src.supportedStages;
5732 supportedOperations = src.supportedOperations;
5733 quadOperationsInAllStages = src.quadOperationsInAllStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005734 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005735}
5736
5737safe_VkPhysicalDeviceSubgroupProperties& safe_VkPhysicalDeviceSubgroupProperties::operator=(const safe_VkPhysicalDeviceSubgroupProperties& src)
5738{
5739 if (&src == this) return *this;
5740
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005741 if (pNext)
5742 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005743
5744 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005745 subgroupSize = src.subgroupSize;
5746 supportedStages = src.supportedStages;
5747 supportedOperations = src.supportedOperations;
5748 quadOperationsInAllStages = src.quadOperationsInAllStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005749 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005750
5751 return *this;
5752}
5753
5754safe_VkPhysicalDeviceSubgroupProperties::~safe_VkPhysicalDeviceSubgroupProperties()
5755{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005756 if (pNext)
5757 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005758}
5759
5760void safe_VkPhysicalDeviceSubgroupProperties::initialize(const VkPhysicalDeviceSubgroupProperties* in_struct)
5761{
5762 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005763 subgroupSize = in_struct->subgroupSize;
5764 supportedStages = in_struct->supportedStages;
5765 supportedOperations = in_struct->supportedOperations;
5766 quadOperationsInAllStages = in_struct->quadOperationsInAllStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005767 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005768}
5769
5770void safe_VkPhysicalDeviceSubgroupProperties::initialize(const safe_VkPhysicalDeviceSubgroupProperties* src)
5771{
5772 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005773 subgroupSize = src->subgroupSize;
5774 supportedStages = src->supportedStages;
5775 supportedOperations = src->supportedOperations;
5776 quadOperationsInAllStages = src->quadOperationsInAllStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005777 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005778}
5779
5780safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo* in_struct) :
5781 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005782 buffer(in_struct->buffer),
5783 memory(in_struct->memory),
5784 memoryOffset(in_struct->memoryOffset)
5785{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005786 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005787}
5788
Jason Macnak8f28eec2019-08-09 12:57:01 -07005789safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo() :
5790 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005791{}
5792
5793safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const safe_VkBindBufferMemoryInfo& src)
5794{
5795 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005796 buffer = src.buffer;
5797 memory = src.memory;
5798 memoryOffset = src.memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005799 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005800}
5801
5802safe_VkBindBufferMemoryInfo& safe_VkBindBufferMemoryInfo::operator=(const safe_VkBindBufferMemoryInfo& src)
5803{
5804 if (&src == this) return *this;
5805
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005806 if (pNext)
5807 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005808
5809 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005810 buffer = src.buffer;
5811 memory = src.memory;
5812 memoryOffset = src.memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005813 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005814
5815 return *this;
5816}
5817
5818safe_VkBindBufferMemoryInfo::~safe_VkBindBufferMemoryInfo()
5819{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005820 if (pNext)
5821 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005822}
5823
5824void safe_VkBindBufferMemoryInfo::initialize(const VkBindBufferMemoryInfo* in_struct)
5825{
5826 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005827 buffer = in_struct->buffer;
5828 memory = in_struct->memory;
5829 memoryOffset = in_struct->memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005830 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005831}
5832
5833void safe_VkBindBufferMemoryInfo::initialize(const safe_VkBindBufferMemoryInfo* src)
5834{
5835 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005836 buffer = src->buffer;
5837 memory = src->memory;
5838 memoryOffset = src->memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005839 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005840}
5841
5842safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo(const VkBindImageMemoryInfo* in_struct) :
5843 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005844 image(in_struct->image),
5845 memory(in_struct->memory),
5846 memoryOffset(in_struct->memoryOffset)
5847{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005848 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005849}
5850
Jason Macnak8f28eec2019-08-09 12:57:01 -07005851safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo() :
5852 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005853{}
5854
5855safe_VkBindImageMemoryInfo::safe_VkBindImageMemoryInfo(const safe_VkBindImageMemoryInfo& src)
5856{
5857 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005858 image = src.image;
5859 memory = src.memory;
5860 memoryOffset = src.memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005861 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005862}
5863
5864safe_VkBindImageMemoryInfo& safe_VkBindImageMemoryInfo::operator=(const safe_VkBindImageMemoryInfo& src)
5865{
5866 if (&src == this) return *this;
5867
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005868 if (pNext)
5869 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005870
5871 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005872 image = src.image;
5873 memory = src.memory;
5874 memoryOffset = src.memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005875 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005876
5877 return *this;
5878}
5879
5880safe_VkBindImageMemoryInfo::~safe_VkBindImageMemoryInfo()
5881{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005882 if (pNext)
5883 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005884}
5885
5886void safe_VkBindImageMemoryInfo::initialize(const VkBindImageMemoryInfo* in_struct)
5887{
5888 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005889 image = in_struct->image;
5890 memory = in_struct->memory;
5891 memoryOffset = in_struct->memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005892 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005893}
5894
5895void safe_VkBindImageMemoryInfo::initialize(const safe_VkBindImageMemoryInfo* src)
5896{
5897 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005898 image = src->image;
5899 memory = src->memory;
5900 memoryOffset = src->memoryOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005901 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005902}
5903
5904safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures* in_struct) :
5905 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005906 storageBuffer16BitAccess(in_struct->storageBuffer16BitAccess),
5907 uniformAndStorageBuffer16BitAccess(in_struct->uniformAndStorageBuffer16BitAccess),
5908 storagePushConstant16(in_struct->storagePushConstant16),
5909 storageInputOutput16(in_struct->storageInputOutput16)
5910{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005911 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005912}
5913
Jason Macnak8f28eec2019-08-09 12:57:01 -07005914safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures() :
5915 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005916{}
5917
5918safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures(const safe_VkPhysicalDevice16BitStorageFeatures& src)
5919{
5920 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005921 storageBuffer16BitAccess = src.storageBuffer16BitAccess;
5922 uniformAndStorageBuffer16BitAccess = src.uniformAndStorageBuffer16BitAccess;
5923 storagePushConstant16 = src.storagePushConstant16;
5924 storageInputOutput16 = src.storageInputOutput16;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005925 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005926}
5927
5928safe_VkPhysicalDevice16BitStorageFeatures& safe_VkPhysicalDevice16BitStorageFeatures::operator=(const safe_VkPhysicalDevice16BitStorageFeatures& src)
5929{
5930 if (&src == this) return *this;
5931
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005932 if (pNext)
5933 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005934
5935 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005936 storageBuffer16BitAccess = src.storageBuffer16BitAccess;
5937 uniformAndStorageBuffer16BitAccess = src.uniformAndStorageBuffer16BitAccess;
5938 storagePushConstant16 = src.storagePushConstant16;
5939 storageInputOutput16 = src.storageInputOutput16;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005940 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005941
5942 return *this;
5943}
5944
5945safe_VkPhysicalDevice16BitStorageFeatures::~safe_VkPhysicalDevice16BitStorageFeatures()
5946{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005947 if (pNext)
5948 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005949}
5950
5951void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct)
5952{
5953 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005954 storageBuffer16BitAccess = in_struct->storageBuffer16BitAccess;
5955 uniformAndStorageBuffer16BitAccess = in_struct->uniformAndStorageBuffer16BitAccess;
5956 storagePushConstant16 = in_struct->storagePushConstant16;
5957 storageInputOutput16 = in_struct->storageInputOutput16;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005958 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005959}
5960
5961void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const safe_VkPhysicalDevice16BitStorageFeatures* src)
5962{
5963 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005964 storageBuffer16BitAccess = src->storageBuffer16BitAccess;
5965 uniformAndStorageBuffer16BitAccess = src->uniformAndStorageBuffer16BitAccess;
5966 storagePushConstant16 = src->storagePushConstant16;
5967 storageInputOutput16 = src->storageInputOutput16;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005968 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005969}
5970
5971safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements* in_struct) :
5972 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07005973 prefersDedicatedAllocation(in_struct->prefersDedicatedAllocation),
5974 requiresDedicatedAllocation(in_struct->requiresDedicatedAllocation)
5975{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005976 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005977}
5978
Jason Macnak8f28eec2019-08-09 12:57:01 -07005979safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements() :
5980 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07005981{}
5982
5983safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const safe_VkMemoryDedicatedRequirements& src)
5984{
5985 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005986 prefersDedicatedAllocation = src.prefersDedicatedAllocation;
5987 requiresDedicatedAllocation = src.requiresDedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005988 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005989}
5990
5991safe_VkMemoryDedicatedRequirements& safe_VkMemoryDedicatedRequirements::operator=(const safe_VkMemoryDedicatedRequirements& src)
5992{
5993 if (&src == this) return *this;
5994
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06005995 if (pNext)
5996 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07005997
5998 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07005999 prefersDedicatedAllocation = src.prefersDedicatedAllocation;
6000 requiresDedicatedAllocation = src.requiresDedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006001 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006002
6003 return *this;
6004}
6005
6006safe_VkMemoryDedicatedRequirements::~safe_VkMemoryDedicatedRequirements()
6007{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006008 if (pNext)
6009 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006010}
6011
6012void safe_VkMemoryDedicatedRequirements::initialize(const VkMemoryDedicatedRequirements* in_struct)
6013{
6014 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006015 prefersDedicatedAllocation = in_struct->prefersDedicatedAllocation;
6016 requiresDedicatedAllocation = in_struct->requiresDedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006017 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006018}
6019
6020void safe_VkMemoryDedicatedRequirements::initialize(const safe_VkMemoryDedicatedRequirements* src)
6021{
6022 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006023 prefersDedicatedAllocation = src->prefersDedicatedAllocation;
6024 requiresDedicatedAllocation = src->requiresDedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006025 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006026}
6027
6028safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo* in_struct) :
6029 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006030 image(in_struct->image),
6031 buffer(in_struct->buffer)
6032{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006033 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006034}
6035
Jason Macnak8f28eec2019-08-09 12:57:01 -07006036safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo() :
6037 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006038{}
6039
6040safe_VkMemoryDedicatedAllocateInfo::safe_VkMemoryDedicatedAllocateInfo(const safe_VkMemoryDedicatedAllocateInfo& src)
6041{
6042 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006043 image = src.image;
6044 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006045 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006046}
6047
6048safe_VkMemoryDedicatedAllocateInfo& safe_VkMemoryDedicatedAllocateInfo::operator=(const safe_VkMemoryDedicatedAllocateInfo& src)
6049{
6050 if (&src == this) return *this;
6051
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006052 if (pNext)
6053 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006054
6055 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006056 image = src.image;
6057 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006058 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006059
6060 return *this;
6061}
6062
6063safe_VkMemoryDedicatedAllocateInfo::~safe_VkMemoryDedicatedAllocateInfo()
6064{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006065 if (pNext)
6066 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006067}
6068
6069void safe_VkMemoryDedicatedAllocateInfo::initialize(const VkMemoryDedicatedAllocateInfo* in_struct)
6070{
6071 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006072 image = in_struct->image;
6073 buffer = in_struct->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006074 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006075}
6076
6077void safe_VkMemoryDedicatedAllocateInfo::initialize(const safe_VkMemoryDedicatedAllocateInfo* src)
6078{
6079 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006080 image = src->image;
6081 buffer = src->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006082 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006083}
6084
6085safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo* in_struct) :
6086 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006087 flags(in_struct->flags),
6088 deviceMask(in_struct->deviceMask)
6089{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006090 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006091}
6092
Jason Macnak8f28eec2019-08-09 12:57:01 -07006093safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo() :
6094 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006095{}
6096
6097safe_VkMemoryAllocateFlagsInfo::safe_VkMemoryAllocateFlagsInfo(const safe_VkMemoryAllocateFlagsInfo& src)
6098{
6099 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006100 flags = src.flags;
6101 deviceMask = src.deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006102 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006103}
6104
6105safe_VkMemoryAllocateFlagsInfo& safe_VkMemoryAllocateFlagsInfo::operator=(const safe_VkMemoryAllocateFlagsInfo& src)
6106{
6107 if (&src == this) return *this;
6108
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006109 if (pNext)
6110 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006111
6112 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006113 flags = src.flags;
6114 deviceMask = src.deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006115 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006116
6117 return *this;
6118}
6119
6120safe_VkMemoryAllocateFlagsInfo::~safe_VkMemoryAllocateFlagsInfo()
6121{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006122 if (pNext)
6123 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006124}
6125
6126void safe_VkMemoryAllocateFlagsInfo::initialize(const VkMemoryAllocateFlagsInfo* in_struct)
6127{
6128 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006129 flags = in_struct->flags;
6130 deviceMask = in_struct->deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006131 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006132}
6133
6134void safe_VkMemoryAllocateFlagsInfo::initialize(const safe_VkMemoryAllocateFlagsInfo* src)
6135{
6136 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006137 flags = src->flags;
6138 deviceMask = src->deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006139 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006140}
6141
6142safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct) :
6143 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006144 deviceMask(in_struct->deviceMask),
6145 deviceRenderAreaCount(in_struct->deviceRenderAreaCount),
6146 pDeviceRenderAreas(nullptr)
6147{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006148 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006149 if (in_struct->pDeviceRenderAreas) {
6150 pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount];
6151 memcpy ((void *)pDeviceRenderAreas, (void *)in_struct->pDeviceRenderAreas, sizeof(VkRect2D)*in_struct->deviceRenderAreaCount);
6152 }
6153}
6154
6155safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07006156 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006157 pDeviceRenderAreas(nullptr)
6158{}
6159
6160safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const safe_VkDeviceGroupRenderPassBeginInfo& src)
6161{
6162 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006163 deviceMask = src.deviceMask;
6164 deviceRenderAreaCount = src.deviceRenderAreaCount;
6165 pDeviceRenderAreas = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006166 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006167 if (src.pDeviceRenderAreas) {
6168 pDeviceRenderAreas = new VkRect2D[src.deviceRenderAreaCount];
6169 memcpy ((void *)pDeviceRenderAreas, (void *)src.pDeviceRenderAreas, sizeof(VkRect2D)*src.deviceRenderAreaCount);
6170 }
6171}
6172
6173safe_VkDeviceGroupRenderPassBeginInfo& safe_VkDeviceGroupRenderPassBeginInfo::operator=(const safe_VkDeviceGroupRenderPassBeginInfo& src)
6174{
6175 if (&src == this) return *this;
6176
6177 if (pDeviceRenderAreas)
6178 delete[] pDeviceRenderAreas;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006179 if (pNext)
6180 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006181
6182 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006183 deviceMask = src.deviceMask;
6184 deviceRenderAreaCount = src.deviceRenderAreaCount;
6185 pDeviceRenderAreas = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006186 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006187 if (src.pDeviceRenderAreas) {
6188 pDeviceRenderAreas = new VkRect2D[src.deviceRenderAreaCount];
6189 memcpy ((void *)pDeviceRenderAreas, (void *)src.pDeviceRenderAreas, sizeof(VkRect2D)*src.deviceRenderAreaCount);
6190 }
6191
6192 return *this;
6193}
6194
6195safe_VkDeviceGroupRenderPassBeginInfo::~safe_VkDeviceGroupRenderPassBeginInfo()
6196{
6197 if (pDeviceRenderAreas)
6198 delete[] pDeviceRenderAreas;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006199 if (pNext)
6200 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006201}
6202
6203void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct)
6204{
6205 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006206 deviceMask = in_struct->deviceMask;
6207 deviceRenderAreaCount = in_struct->deviceRenderAreaCount;
6208 pDeviceRenderAreas = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006209 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006210 if (in_struct->pDeviceRenderAreas) {
6211 pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount];
6212 memcpy ((void *)pDeviceRenderAreas, (void *)in_struct->pDeviceRenderAreas, sizeof(VkRect2D)*in_struct->deviceRenderAreaCount);
6213 }
6214}
6215
6216void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const safe_VkDeviceGroupRenderPassBeginInfo* src)
6217{
6218 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006219 deviceMask = src->deviceMask;
6220 deviceRenderAreaCount = src->deviceRenderAreaCount;
6221 pDeviceRenderAreas = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006222 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006223 if (src->pDeviceRenderAreas) {
6224 pDeviceRenderAreas = new VkRect2D[src->deviceRenderAreaCount];
6225 memcpy ((void *)pDeviceRenderAreas, (void *)src->pDeviceRenderAreas, sizeof(VkRect2D)*src->deviceRenderAreaCount);
6226 }
6227}
6228
6229safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo* in_struct) :
6230 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006231 deviceMask(in_struct->deviceMask)
6232{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006233 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006234}
6235
Jason Macnak8f28eec2019-08-09 12:57:01 -07006236safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo() :
6237 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006238{}
6239
6240safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo(const safe_VkDeviceGroupCommandBufferBeginInfo& src)
6241{
6242 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006243 deviceMask = src.deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006244 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006245}
6246
6247safe_VkDeviceGroupCommandBufferBeginInfo& safe_VkDeviceGroupCommandBufferBeginInfo::operator=(const safe_VkDeviceGroupCommandBufferBeginInfo& src)
6248{
6249 if (&src == this) return *this;
6250
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006251 if (pNext)
6252 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006253
6254 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006255 deviceMask = src.deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006256 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006257
6258 return *this;
6259}
6260
6261safe_VkDeviceGroupCommandBufferBeginInfo::~safe_VkDeviceGroupCommandBufferBeginInfo()
6262{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006263 if (pNext)
6264 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006265}
6266
6267void safe_VkDeviceGroupCommandBufferBeginInfo::initialize(const VkDeviceGroupCommandBufferBeginInfo* in_struct)
6268{
6269 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006270 deviceMask = in_struct->deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006271 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006272}
6273
6274void safe_VkDeviceGroupCommandBufferBeginInfo::initialize(const safe_VkDeviceGroupCommandBufferBeginInfo* src)
6275{
6276 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006277 deviceMask = src->deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006278 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006279}
6280
6281safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo* in_struct) :
6282 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006283 waitSemaphoreCount(in_struct->waitSemaphoreCount),
6284 pWaitSemaphoreDeviceIndices(nullptr),
6285 commandBufferCount(in_struct->commandBufferCount),
6286 pCommandBufferDeviceMasks(nullptr),
6287 signalSemaphoreCount(in_struct->signalSemaphoreCount),
6288 pSignalSemaphoreDeviceIndices(nullptr)
6289{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006290 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006291 if (in_struct->pWaitSemaphoreDeviceIndices) {
6292 pWaitSemaphoreDeviceIndices = new uint32_t[in_struct->waitSemaphoreCount];
6293 memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)in_struct->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->waitSemaphoreCount);
6294 }
6295 if (in_struct->pCommandBufferDeviceMasks) {
6296 pCommandBufferDeviceMasks = new uint32_t[in_struct->commandBufferCount];
6297 memcpy ((void *)pCommandBufferDeviceMasks, (void *)in_struct->pCommandBufferDeviceMasks, sizeof(uint32_t)*in_struct->commandBufferCount);
6298 }
6299 if (in_struct->pSignalSemaphoreDeviceIndices) {
6300 pSignalSemaphoreDeviceIndices = new uint32_t[in_struct->signalSemaphoreCount];
6301 memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)in_struct->pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->signalSemaphoreCount);
6302 }
6303}
6304
6305safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07006306 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006307 pWaitSemaphoreDeviceIndices(nullptr),
6308 pCommandBufferDeviceMasks(nullptr),
6309 pSignalSemaphoreDeviceIndices(nullptr)
6310{}
6311
6312safe_VkDeviceGroupSubmitInfo::safe_VkDeviceGroupSubmitInfo(const safe_VkDeviceGroupSubmitInfo& src)
6313{
6314 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006315 waitSemaphoreCount = src.waitSemaphoreCount;
6316 pWaitSemaphoreDeviceIndices = nullptr;
6317 commandBufferCount = src.commandBufferCount;
6318 pCommandBufferDeviceMasks = nullptr;
6319 signalSemaphoreCount = src.signalSemaphoreCount;
6320 pSignalSemaphoreDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006321 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006322 if (src.pWaitSemaphoreDeviceIndices) {
6323 pWaitSemaphoreDeviceIndices = new uint32_t[src.waitSemaphoreCount];
6324 memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src.pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src.waitSemaphoreCount);
6325 }
6326 if (src.pCommandBufferDeviceMasks) {
6327 pCommandBufferDeviceMasks = new uint32_t[src.commandBufferCount];
6328 memcpy ((void *)pCommandBufferDeviceMasks, (void *)src.pCommandBufferDeviceMasks, sizeof(uint32_t)*src.commandBufferCount);
6329 }
6330 if (src.pSignalSemaphoreDeviceIndices) {
6331 pSignalSemaphoreDeviceIndices = new uint32_t[src.signalSemaphoreCount];
6332 memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)src.pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*src.signalSemaphoreCount);
6333 }
6334}
6335
6336safe_VkDeviceGroupSubmitInfo& safe_VkDeviceGroupSubmitInfo::operator=(const safe_VkDeviceGroupSubmitInfo& src)
6337{
6338 if (&src == this) return *this;
6339
6340 if (pWaitSemaphoreDeviceIndices)
6341 delete[] pWaitSemaphoreDeviceIndices;
6342 if (pCommandBufferDeviceMasks)
6343 delete[] pCommandBufferDeviceMasks;
6344 if (pSignalSemaphoreDeviceIndices)
6345 delete[] pSignalSemaphoreDeviceIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006346 if (pNext)
6347 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006348
6349 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006350 waitSemaphoreCount = src.waitSemaphoreCount;
6351 pWaitSemaphoreDeviceIndices = nullptr;
6352 commandBufferCount = src.commandBufferCount;
6353 pCommandBufferDeviceMasks = nullptr;
6354 signalSemaphoreCount = src.signalSemaphoreCount;
6355 pSignalSemaphoreDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006356 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006357 if (src.pWaitSemaphoreDeviceIndices) {
6358 pWaitSemaphoreDeviceIndices = new uint32_t[src.waitSemaphoreCount];
6359 memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src.pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src.waitSemaphoreCount);
6360 }
6361 if (src.pCommandBufferDeviceMasks) {
6362 pCommandBufferDeviceMasks = new uint32_t[src.commandBufferCount];
6363 memcpy ((void *)pCommandBufferDeviceMasks, (void *)src.pCommandBufferDeviceMasks, sizeof(uint32_t)*src.commandBufferCount);
6364 }
6365 if (src.pSignalSemaphoreDeviceIndices) {
6366 pSignalSemaphoreDeviceIndices = new uint32_t[src.signalSemaphoreCount];
6367 memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)src.pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*src.signalSemaphoreCount);
6368 }
6369
6370 return *this;
6371}
6372
6373safe_VkDeviceGroupSubmitInfo::~safe_VkDeviceGroupSubmitInfo()
6374{
6375 if (pWaitSemaphoreDeviceIndices)
6376 delete[] pWaitSemaphoreDeviceIndices;
6377 if (pCommandBufferDeviceMasks)
6378 delete[] pCommandBufferDeviceMasks;
6379 if (pSignalSemaphoreDeviceIndices)
6380 delete[] pSignalSemaphoreDeviceIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006381 if (pNext)
6382 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006383}
6384
6385void safe_VkDeviceGroupSubmitInfo::initialize(const VkDeviceGroupSubmitInfo* in_struct)
6386{
6387 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006388 waitSemaphoreCount = in_struct->waitSemaphoreCount;
6389 pWaitSemaphoreDeviceIndices = nullptr;
6390 commandBufferCount = in_struct->commandBufferCount;
6391 pCommandBufferDeviceMasks = nullptr;
6392 signalSemaphoreCount = in_struct->signalSemaphoreCount;
6393 pSignalSemaphoreDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006394 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006395 if (in_struct->pWaitSemaphoreDeviceIndices) {
6396 pWaitSemaphoreDeviceIndices = new uint32_t[in_struct->waitSemaphoreCount];
6397 memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)in_struct->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->waitSemaphoreCount);
6398 }
6399 if (in_struct->pCommandBufferDeviceMasks) {
6400 pCommandBufferDeviceMasks = new uint32_t[in_struct->commandBufferCount];
6401 memcpy ((void *)pCommandBufferDeviceMasks, (void *)in_struct->pCommandBufferDeviceMasks, sizeof(uint32_t)*in_struct->commandBufferCount);
6402 }
6403 if (in_struct->pSignalSemaphoreDeviceIndices) {
6404 pSignalSemaphoreDeviceIndices = new uint32_t[in_struct->signalSemaphoreCount];
6405 memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)in_struct->pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*in_struct->signalSemaphoreCount);
6406 }
6407}
6408
6409void safe_VkDeviceGroupSubmitInfo::initialize(const safe_VkDeviceGroupSubmitInfo* src)
6410{
6411 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006412 waitSemaphoreCount = src->waitSemaphoreCount;
6413 pWaitSemaphoreDeviceIndices = nullptr;
6414 commandBufferCount = src->commandBufferCount;
6415 pCommandBufferDeviceMasks = nullptr;
6416 signalSemaphoreCount = src->signalSemaphoreCount;
6417 pSignalSemaphoreDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006418 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006419 if (src->pWaitSemaphoreDeviceIndices) {
6420 pWaitSemaphoreDeviceIndices = new uint32_t[src->waitSemaphoreCount];
6421 memcpy ((void *)pWaitSemaphoreDeviceIndices, (void *)src->pWaitSemaphoreDeviceIndices, sizeof(uint32_t)*src->waitSemaphoreCount);
6422 }
6423 if (src->pCommandBufferDeviceMasks) {
6424 pCommandBufferDeviceMasks = new uint32_t[src->commandBufferCount];
6425 memcpy ((void *)pCommandBufferDeviceMasks, (void *)src->pCommandBufferDeviceMasks, sizeof(uint32_t)*src->commandBufferCount);
6426 }
6427 if (src->pSignalSemaphoreDeviceIndices) {
6428 pSignalSemaphoreDeviceIndices = new uint32_t[src->signalSemaphoreCount];
6429 memcpy ((void *)pSignalSemaphoreDeviceIndices, (void *)src->pSignalSemaphoreDeviceIndices, sizeof(uint32_t)*src->signalSemaphoreCount);
6430 }
6431}
6432
6433safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo* in_struct) :
6434 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006435 resourceDeviceIndex(in_struct->resourceDeviceIndex),
6436 memoryDeviceIndex(in_struct->memoryDeviceIndex)
6437{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006438 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006439}
6440
Jason Macnak8f28eec2019-08-09 12:57:01 -07006441safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo() :
6442 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006443{}
6444
6445safe_VkDeviceGroupBindSparseInfo::safe_VkDeviceGroupBindSparseInfo(const safe_VkDeviceGroupBindSparseInfo& src)
6446{
6447 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006448 resourceDeviceIndex = src.resourceDeviceIndex;
6449 memoryDeviceIndex = src.memoryDeviceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006450 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006451}
6452
6453safe_VkDeviceGroupBindSparseInfo& safe_VkDeviceGroupBindSparseInfo::operator=(const safe_VkDeviceGroupBindSparseInfo& src)
6454{
6455 if (&src == this) return *this;
6456
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006457 if (pNext)
6458 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006459
6460 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006461 resourceDeviceIndex = src.resourceDeviceIndex;
6462 memoryDeviceIndex = src.memoryDeviceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006463 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006464
6465 return *this;
6466}
6467
6468safe_VkDeviceGroupBindSparseInfo::~safe_VkDeviceGroupBindSparseInfo()
6469{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006470 if (pNext)
6471 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006472}
6473
6474void safe_VkDeviceGroupBindSparseInfo::initialize(const VkDeviceGroupBindSparseInfo* in_struct)
6475{
6476 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006477 resourceDeviceIndex = in_struct->resourceDeviceIndex;
6478 memoryDeviceIndex = in_struct->memoryDeviceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006479 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006480}
6481
6482void safe_VkDeviceGroupBindSparseInfo::initialize(const safe_VkDeviceGroupBindSparseInfo* src)
6483{
6484 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006485 resourceDeviceIndex = src->resourceDeviceIndex;
6486 memoryDeviceIndex = src->memoryDeviceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006487 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006488}
6489
6490safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo* in_struct) :
6491 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006492 deviceIndexCount(in_struct->deviceIndexCount),
6493 pDeviceIndices(nullptr)
6494{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006495 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006496 if (in_struct->pDeviceIndices) {
6497 pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6498 memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6499 }
6500}
6501
6502safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07006503 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006504 pDeviceIndices(nullptr)
6505{}
6506
6507safe_VkBindBufferMemoryDeviceGroupInfo::safe_VkBindBufferMemoryDeviceGroupInfo(const safe_VkBindBufferMemoryDeviceGroupInfo& src)
6508{
6509 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006510 deviceIndexCount = src.deviceIndexCount;
6511 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006512 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006513 if (src.pDeviceIndices) {
6514 pDeviceIndices = new uint32_t[src.deviceIndexCount];
6515 memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6516 }
6517}
6518
6519safe_VkBindBufferMemoryDeviceGroupInfo& safe_VkBindBufferMemoryDeviceGroupInfo::operator=(const safe_VkBindBufferMemoryDeviceGroupInfo& src)
6520{
6521 if (&src == this) return *this;
6522
6523 if (pDeviceIndices)
6524 delete[] pDeviceIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006525 if (pNext)
6526 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006527
6528 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006529 deviceIndexCount = src.deviceIndexCount;
6530 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006531 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006532 if (src.pDeviceIndices) {
6533 pDeviceIndices = new uint32_t[src.deviceIndexCount];
6534 memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6535 }
6536
6537 return *this;
6538}
6539
6540safe_VkBindBufferMemoryDeviceGroupInfo::~safe_VkBindBufferMemoryDeviceGroupInfo()
6541{
6542 if (pDeviceIndices)
6543 delete[] pDeviceIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006544 if (pNext)
6545 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006546}
6547
6548void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const VkBindBufferMemoryDeviceGroupInfo* in_struct)
6549{
6550 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006551 deviceIndexCount = in_struct->deviceIndexCount;
6552 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006553 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006554 if (in_struct->pDeviceIndices) {
6555 pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6556 memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6557 }
6558}
6559
6560void safe_VkBindBufferMemoryDeviceGroupInfo::initialize(const safe_VkBindBufferMemoryDeviceGroupInfo* src)
6561{
6562 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006563 deviceIndexCount = src->deviceIndexCount;
6564 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006565 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006566 if (src->pDeviceIndices) {
6567 pDeviceIndices = new uint32_t[src->deviceIndexCount];
6568 memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount);
6569 }
6570}
6571
6572safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo* in_struct) :
6573 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006574 deviceIndexCount(in_struct->deviceIndexCount),
6575 pDeviceIndices(nullptr),
6576 splitInstanceBindRegionCount(in_struct->splitInstanceBindRegionCount),
6577 pSplitInstanceBindRegions(nullptr)
6578{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006579 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006580 if (in_struct->pDeviceIndices) {
6581 pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6582 memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6583 }
6584 if (in_struct->pSplitInstanceBindRegions) {
6585 pSplitInstanceBindRegions = new VkRect2D[in_struct->splitInstanceBindRegionCount];
6586 memcpy ((void *)pSplitInstanceBindRegions, (void *)in_struct->pSplitInstanceBindRegions, sizeof(VkRect2D)*in_struct->splitInstanceBindRegionCount);
6587 }
6588}
6589
6590safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07006591 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006592 pDeviceIndices(nullptr),
6593 pSplitInstanceBindRegions(nullptr)
6594{}
6595
6596safe_VkBindImageMemoryDeviceGroupInfo::safe_VkBindImageMemoryDeviceGroupInfo(const safe_VkBindImageMemoryDeviceGroupInfo& src)
6597{
6598 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006599 deviceIndexCount = src.deviceIndexCount;
6600 pDeviceIndices = nullptr;
6601 splitInstanceBindRegionCount = src.splitInstanceBindRegionCount;
6602 pSplitInstanceBindRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006603 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006604 if (src.pDeviceIndices) {
6605 pDeviceIndices = new uint32_t[src.deviceIndexCount];
6606 memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6607 }
6608 if (src.pSplitInstanceBindRegions) {
6609 pSplitInstanceBindRegions = new VkRect2D[src.splitInstanceBindRegionCount];
6610 memcpy ((void *)pSplitInstanceBindRegions, (void *)src.pSplitInstanceBindRegions, sizeof(VkRect2D)*src.splitInstanceBindRegionCount);
6611 }
6612}
6613
6614safe_VkBindImageMemoryDeviceGroupInfo& safe_VkBindImageMemoryDeviceGroupInfo::operator=(const safe_VkBindImageMemoryDeviceGroupInfo& src)
6615{
6616 if (&src == this) return *this;
6617
6618 if (pDeviceIndices)
6619 delete[] pDeviceIndices;
6620 if (pSplitInstanceBindRegions)
6621 delete[] pSplitInstanceBindRegions;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006622 if (pNext)
6623 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006624
6625 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006626 deviceIndexCount = src.deviceIndexCount;
6627 pDeviceIndices = nullptr;
6628 splitInstanceBindRegionCount = src.splitInstanceBindRegionCount;
6629 pSplitInstanceBindRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006630 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006631 if (src.pDeviceIndices) {
6632 pDeviceIndices = new uint32_t[src.deviceIndexCount];
6633 memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
6634 }
6635 if (src.pSplitInstanceBindRegions) {
6636 pSplitInstanceBindRegions = new VkRect2D[src.splitInstanceBindRegionCount];
6637 memcpy ((void *)pSplitInstanceBindRegions, (void *)src.pSplitInstanceBindRegions, sizeof(VkRect2D)*src.splitInstanceBindRegionCount);
6638 }
6639
6640 return *this;
6641}
6642
6643safe_VkBindImageMemoryDeviceGroupInfo::~safe_VkBindImageMemoryDeviceGroupInfo()
6644{
6645 if (pDeviceIndices)
6646 delete[] pDeviceIndices;
6647 if (pSplitInstanceBindRegions)
6648 delete[] pSplitInstanceBindRegions;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006649 if (pNext)
6650 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006651}
6652
6653void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const VkBindImageMemoryDeviceGroupInfo* in_struct)
6654{
6655 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006656 deviceIndexCount = in_struct->deviceIndexCount;
6657 pDeviceIndices = nullptr;
6658 splitInstanceBindRegionCount = in_struct->splitInstanceBindRegionCount;
6659 pSplitInstanceBindRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006660 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006661 if (in_struct->pDeviceIndices) {
6662 pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
6663 memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
6664 }
6665 if (in_struct->pSplitInstanceBindRegions) {
6666 pSplitInstanceBindRegions = new VkRect2D[in_struct->splitInstanceBindRegionCount];
6667 memcpy ((void *)pSplitInstanceBindRegions, (void *)in_struct->pSplitInstanceBindRegions, sizeof(VkRect2D)*in_struct->splitInstanceBindRegionCount);
6668 }
6669}
6670
6671void safe_VkBindImageMemoryDeviceGroupInfo::initialize(const safe_VkBindImageMemoryDeviceGroupInfo* src)
6672{
6673 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006674 deviceIndexCount = src->deviceIndexCount;
6675 pDeviceIndices = nullptr;
6676 splitInstanceBindRegionCount = src->splitInstanceBindRegionCount;
6677 pSplitInstanceBindRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006678 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006679 if (src->pDeviceIndices) {
6680 pDeviceIndices = new uint32_t[src->deviceIndexCount];
6681 memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount);
6682 }
6683 if (src->pSplitInstanceBindRegions) {
6684 pSplitInstanceBindRegions = new VkRect2D[src->splitInstanceBindRegionCount];
6685 memcpy ((void *)pSplitInstanceBindRegions, (void *)src->pSplitInstanceBindRegions, sizeof(VkRect2D)*src->splitInstanceBindRegionCount);
6686 }
6687}
6688
6689safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties* in_struct) :
6690 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006691 physicalDeviceCount(in_struct->physicalDeviceCount),
6692 subsetAllocation(in_struct->subsetAllocation)
6693{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006694 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006695 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6696 physicalDevices[i] = in_struct->physicalDevices[i];
6697 }
6698}
6699
Jason Macnak8f28eec2019-08-09 12:57:01 -07006700safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties() :
6701 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006702{}
6703
6704safe_VkPhysicalDeviceGroupProperties::safe_VkPhysicalDeviceGroupProperties(const safe_VkPhysicalDeviceGroupProperties& src)
6705{
6706 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006707 physicalDeviceCount = src.physicalDeviceCount;
6708 subsetAllocation = src.subsetAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006709 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006710 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6711 physicalDevices[i] = src.physicalDevices[i];
6712 }
6713}
6714
6715safe_VkPhysicalDeviceGroupProperties& safe_VkPhysicalDeviceGroupProperties::operator=(const safe_VkPhysicalDeviceGroupProperties& src)
6716{
6717 if (&src == this) return *this;
6718
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006719 if (pNext)
6720 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006721
6722 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006723 physicalDeviceCount = src.physicalDeviceCount;
6724 subsetAllocation = src.subsetAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006725 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006726 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6727 physicalDevices[i] = src.physicalDevices[i];
6728 }
6729
6730 return *this;
6731}
6732
6733safe_VkPhysicalDeviceGroupProperties::~safe_VkPhysicalDeviceGroupProperties()
6734{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006735 if (pNext)
6736 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006737}
6738
6739void safe_VkPhysicalDeviceGroupProperties::initialize(const VkPhysicalDeviceGroupProperties* in_struct)
6740{
6741 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006742 physicalDeviceCount = in_struct->physicalDeviceCount;
6743 subsetAllocation = in_struct->subsetAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006744 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006745 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6746 physicalDevices[i] = in_struct->physicalDevices[i];
6747 }
6748}
6749
6750void safe_VkPhysicalDeviceGroupProperties::initialize(const safe_VkPhysicalDeviceGroupProperties* src)
6751{
6752 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006753 physicalDeviceCount = src->physicalDeviceCount;
6754 subsetAllocation = src->subsetAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006755 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006756 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
6757 physicalDevices[i] = src->physicalDevices[i];
6758 }
6759}
6760
6761safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo* in_struct) :
6762 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006763 physicalDeviceCount(in_struct->physicalDeviceCount),
6764 pPhysicalDevices(nullptr)
6765{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006766 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006767 if (in_struct->pPhysicalDevices) {
6768 pPhysicalDevices = new VkPhysicalDevice[in_struct->physicalDeviceCount];
6769 memcpy ((void *)pPhysicalDevices, (void *)in_struct->pPhysicalDevices, sizeof(VkPhysicalDevice)*in_struct->physicalDeviceCount);
6770 }
6771}
6772
6773safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07006774 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006775 pPhysicalDevices(nullptr)
6776{}
6777
6778safe_VkDeviceGroupDeviceCreateInfo::safe_VkDeviceGroupDeviceCreateInfo(const safe_VkDeviceGroupDeviceCreateInfo& src)
6779{
6780 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006781 physicalDeviceCount = src.physicalDeviceCount;
6782 pPhysicalDevices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006783 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006784 if (src.pPhysicalDevices) {
6785 pPhysicalDevices = new VkPhysicalDevice[src.physicalDeviceCount];
6786 memcpy ((void *)pPhysicalDevices, (void *)src.pPhysicalDevices, sizeof(VkPhysicalDevice)*src.physicalDeviceCount);
6787 }
6788}
6789
6790safe_VkDeviceGroupDeviceCreateInfo& safe_VkDeviceGroupDeviceCreateInfo::operator=(const safe_VkDeviceGroupDeviceCreateInfo& src)
6791{
6792 if (&src == this) return *this;
6793
6794 if (pPhysicalDevices)
6795 delete[] pPhysicalDevices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006796 if (pNext)
6797 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006798
6799 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006800 physicalDeviceCount = src.physicalDeviceCount;
6801 pPhysicalDevices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006802 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006803 if (src.pPhysicalDevices) {
6804 pPhysicalDevices = new VkPhysicalDevice[src.physicalDeviceCount];
6805 memcpy ((void *)pPhysicalDevices, (void *)src.pPhysicalDevices, sizeof(VkPhysicalDevice)*src.physicalDeviceCount);
6806 }
6807
6808 return *this;
6809}
6810
6811safe_VkDeviceGroupDeviceCreateInfo::~safe_VkDeviceGroupDeviceCreateInfo()
6812{
6813 if (pPhysicalDevices)
6814 delete[] pPhysicalDevices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006815 if (pNext)
6816 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006817}
6818
6819void safe_VkDeviceGroupDeviceCreateInfo::initialize(const VkDeviceGroupDeviceCreateInfo* in_struct)
6820{
6821 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006822 physicalDeviceCount = in_struct->physicalDeviceCount;
6823 pPhysicalDevices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006824 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006825 if (in_struct->pPhysicalDevices) {
6826 pPhysicalDevices = new VkPhysicalDevice[in_struct->physicalDeviceCount];
6827 memcpy ((void *)pPhysicalDevices, (void *)in_struct->pPhysicalDevices, sizeof(VkPhysicalDevice)*in_struct->physicalDeviceCount);
6828 }
6829}
6830
6831void safe_VkDeviceGroupDeviceCreateInfo::initialize(const safe_VkDeviceGroupDeviceCreateInfo* src)
6832{
6833 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006834 physicalDeviceCount = src->physicalDeviceCount;
6835 pPhysicalDevices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006836 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006837 if (src->pPhysicalDevices) {
6838 pPhysicalDevices = new VkPhysicalDevice[src->physicalDeviceCount];
6839 memcpy ((void *)pPhysicalDevices, (void *)src->pPhysicalDevices, sizeof(VkPhysicalDevice)*src->physicalDeviceCount);
6840 }
6841}
6842
6843safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2* in_struct) :
6844 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006845 buffer(in_struct->buffer)
6846{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006847 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006848}
6849
Jason Macnak8f28eec2019-08-09 12:57:01 -07006850safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2() :
6851 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006852{}
6853
6854safe_VkBufferMemoryRequirementsInfo2::safe_VkBufferMemoryRequirementsInfo2(const safe_VkBufferMemoryRequirementsInfo2& src)
6855{
6856 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006857 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006858 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006859}
6860
6861safe_VkBufferMemoryRequirementsInfo2& safe_VkBufferMemoryRequirementsInfo2::operator=(const safe_VkBufferMemoryRequirementsInfo2& src)
6862{
6863 if (&src == this) return *this;
6864
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006865 if (pNext)
6866 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006867
6868 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006869 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006870 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006871
6872 return *this;
6873}
6874
6875safe_VkBufferMemoryRequirementsInfo2::~safe_VkBufferMemoryRequirementsInfo2()
6876{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006877 if (pNext)
6878 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006879}
6880
6881void safe_VkBufferMemoryRequirementsInfo2::initialize(const VkBufferMemoryRequirementsInfo2* in_struct)
6882{
6883 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006884 buffer = in_struct->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006885 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006886}
6887
6888void safe_VkBufferMemoryRequirementsInfo2::initialize(const safe_VkBufferMemoryRequirementsInfo2* src)
6889{
6890 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006891 buffer = src->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006892 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006893}
6894
6895safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2* in_struct) :
6896 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006897 image(in_struct->image)
6898{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006899 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006900}
6901
Jason Macnak8f28eec2019-08-09 12:57:01 -07006902safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2() :
6903 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006904{}
6905
6906safe_VkImageMemoryRequirementsInfo2::safe_VkImageMemoryRequirementsInfo2(const safe_VkImageMemoryRequirementsInfo2& src)
6907{
6908 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006909 image = src.image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006910 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006911}
6912
6913safe_VkImageMemoryRequirementsInfo2& safe_VkImageMemoryRequirementsInfo2::operator=(const safe_VkImageMemoryRequirementsInfo2& src)
6914{
6915 if (&src == this) return *this;
6916
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006917 if (pNext)
6918 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006919
6920 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006921 image = src.image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006922 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006923
6924 return *this;
6925}
6926
6927safe_VkImageMemoryRequirementsInfo2::~safe_VkImageMemoryRequirementsInfo2()
6928{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006929 if (pNext)
6930 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006931}
6932
6933void safe_VkImageMemoryRequirementsInfo2::initialize(const VkImageMemoryRequirementsInfo2* in_struct)
6934{
6935 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006936 image = in_struct->image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006937 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006938}
6939
6940void safe_VkImageMemoryRequirementsInfo2::initialize(const safe_VkImageMemoryRequirementsInfo2* src)
6941{
6942 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006943 image = src->image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006944 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006945}
6946
6947safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2* in_struct) :
6948 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07006949 image(in_struct->image)
6950{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006951 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006952}
6953
Jason Macnak8f28eec2019-08-09 12:57:01 -07006954safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2() :
6955 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07006956{}
6957
6958safe_VkImageSparseMemoryRequirementsInfo2::safe_VkImageSparseMemoryRequirementsInfo2(const safe_VkImageSparseMemoryRequirementsInfo2& src)
6959{
6960 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006961 image = src.image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006962 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006963}
6964
6965safe_VkImageSparseMemoryRequirementsInfo2& safe_VkImageSparseMemoryRequirementsInfo2::operator=(const safe_VkImageSparseMemoryRequirementsInfo2& src)
6966{
6967 if (&src == this) return *this;
6968
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006969 if (pNext)
6970 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006971
6972 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006973 image = src.image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006974 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006975
6976 return *this;
6977}
6978
6979safe_VkImageSparseMemoryRequirementsInfo2::~safe_VkImageSparseMemoryRequirementsInfo2()
6980{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006981 if (pNext)
6982 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006983}
6984
6985void safe_VkImageSparseMemoryRequirementsInfo2::initialize(const VkImageSparseMemoryRequirementsInfo2* in_struct)
6986{
6987 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006988 image = in_struct->image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006989 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006990}
6991
6992void safe_VkImageSparseMemoryRequirementsInfo2::initialize(const safe_VkImageSparseMemoryRequirementsInfo2* src)
6993{
6994 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07006995 image = src->image;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06006996 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07006997}
6998
6999safe_VkMemoryRequirements2::safe_VkMemoryRequirements2(const VkMemoryRequirements2* in_struct) :
7000 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007001 memoryRequirements(in_struct->memoryRequirements)
7002{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007003 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007004}
7005
Jason Macnak8f28eec2019-08-09 12:57:01 -07007006safe_VkMemoryRequirements2::safe_VkMemoryRequirements2() :
7007 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007008{}
7009
7010safe_VkMemoryRequirements2::safe_VkMemoryRequirements2(const safe_VkMemoryRequirements2& src)
7011{
7012 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007013 memoryRequirements = src.memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007014 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007015}
7016
7017safe_VkMemoryRequirements2& safe_VkMemoryRequirements2::operator=(const safe_VkMemoryRequirements2& src)
7018{
7019 if (&src == this) return *this;
7020
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007021 if (pNext)
7022 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007023
7024 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007025 memoryRequirements = src.memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007026 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007027
7028 return *this;
7029}
7030
7031safe_VkMemoryRequirements2::~safe_VkMemoryRequirements2()
7032{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007033 if (pNext)
7034 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007035}
7036
7037void safe_VkMemoryRequirements2::initialize(const VkMemoryRequirements2* in_struct)
7038{
7039 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007040 memoryRequirements = in_struct->memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007041 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007042}
7043
7044void safe_VkMemoryRequirements2::initialize(const safe_VkMemoryRequirements2* src)
7045{
7046 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007047 memoryRequirements = src->memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007048 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007049}
7050
7051safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2* in_struct) :
7052 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007053 memoryRequirements(in_struct->memoryRequirements)
7054{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007055 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007056}
7057
Jason Macnak8f28eec2019-08-09 12:57:01 -07007058safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2() :
7059 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007060{}
7061
7062safe_VkSparseImageMemoryRequirements2::safe_VkSparseImageMemoryRequirements2(const safe_VkSparseImageMemoryRequirements2& src)
7063{
7064 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007065 memoryRequirements = src.memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007066 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007067}
7068
7069safe_VkSparseImageMemoryRequirements2& safe_VkSparseImageMemoryRequirements2::operator=(const safe_VkSparseImageMemoryRequirements2& src)
7070{
7071 if (&src == this) return *this;
7072
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007073 if (pNext)
7074 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007075
7076 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007077 memoryRequirements = src.memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007078 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007079
7080 return *this;
7081}
7082
7083safe_VkSparseImageMemoryRequirements2::~safe_VkSparseImageMemoryRequirements2()
7084{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007085 if (pNext)
7086 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007087}
7088
7089void safe_VkSparseImageMemoryRequirements2::initialize(const VkSparseImageMemoryRequirements2* in_struct)
7090{
7091 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007092 memoryRequirements = in_struct->memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007093 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007094}
7095
7096void safe_VkSparseImageMemoryRequirements2::initialize(const safe_VkSparseImageMemoryRequirements2* src)
7097{
7098 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007099 memoryRequirements = src->memoryRequirements;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007100 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007101}
7102
7103safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2* in_struct) :
7104 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007105 features(in_struct->features)
7106{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007107 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007108}
7109
Jason Macnak8f28eec2019-08-09 12:57:01 -07007110safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2() :
7111 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007112{}
7113
7114safe_VkPhysicalDeviceFeatures2::safe_VkPhysicalDeviceFeatures2(const safe_VkPhysicalDeviceFeatures2& src)
7115{
7116 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007117 features = src.features;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007118 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007119}
7120
7121safe_VkPhysicalDeviceFeatures2& safe_VkPhysicalDeviceFeatures2::operator=(const safe_VkPhysicalDeviceFeatures2& src)
7122{
7123 if (&src == this) return *this;
7124
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007125 if (pNext)
7126 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007127
7128 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007129 features = src.features;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007130 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007131
7132 return *this;
7133}
7134
7135safe_VkPhysicalDeviceFeatures2::~safe_VkPhysicalDeviceFeatures2()
7136{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007137 if (pNext)
7138 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007139}
7140
7141void safe_VkPhysicalDeviceFeatures2::initialize(const VkPhysicalDeviceFeatures2* in_struct)
7142{
7143 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007144 features = in_struct->features;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007145 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007146}
7147
7148void safe_VkPhysicalDeviceFeatures2::initialize(const safe_VkPhysicalDeviceFeatures2* src)
7149{
7150 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007151 features = src->features;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007152 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007153}
7154
7155safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2* in_struct) :
7156 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007157 properties(in_struct->properties)
7158{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007159 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007160}
7161
Jason Macnak8f28eec2019-08-09 12:57:01 -07007162safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2() :
7163 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007164{}
7165
7166safe_VkPhysicalDeviceProperties2::safe_VkPhysicalDeviceProperties2(const safe_VkPhysicalDeviceProperties2& src)
7167{
7168 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007169 properties = src.properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007170 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007171}
7172
7173safe_VkPhysicalDeviceProperties2& safe_VkPhysicalDeviceProperties2::operator=(const safe_VkPhysicalDeviceProperties2& src)
7174{
7175 if (&src == this) return *this;
7176
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007177 if (pNext)
7178 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007179
7180 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007181 properties = src.properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007182 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007183
7184 return *this;
7185}
7186
7187safe_VkPhysicalDeviceProperties2::~safe_VkPhysicalDeviceProperties2()
7188{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007189 if (pNext)
7190 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007191}
7192
7193void safe_VkPhysicalDeviceProperties2::initialize(const VkPhysicalDeviceProperties2* in_struct)
7194{
7195 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007196 properties = in_struct->properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007197 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007198}
7199
7200void safe_VkPhysicalDeviceProperties2::initialize(const safe_VkPhysicalDeviceProperties2* src)
7201{
7202 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007203 properties = src->properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007204 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007205}
7206
7207safe_VkFormatProperties2::safe_VkFormatProperties2(const VkFormatProperties2* in_struct) :
7208 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007209 formatProperties(in_struct->formatProperties)
7210{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007211 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007212}
7213
Jason Macnak8f28eec2019-08-09 12:57:01 -07007214safe_VkFormatProperties2::safe_VkFormatProperties2() :
7215 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007216{}
7217
7218safe_VkFormatProperties2::safe_VkFormatProperties2(const safe_VkFormatProperties2& src)
7219{
7220 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007221 formatProperties = src.formatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007222 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007223}
7224
7225safe_VkFormatProperties2& safe_VkFormatProperties2::operator=(const safe_VkFormatProperties2& src)
7226{
7227 if (&src == this) return *this;
7228
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007229 if (pNext)
7230 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007231
7232 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007233 formatProperties = src.formatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007234 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007235
7236 return *this;
7237}
7238
7239safe_VkFormatProperties2::~safe_VkFormatProperties2()
7240{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007241 if (pNext)
7242 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007243}
7244
7245void safe_VkFormatProperties2::initialize(const VkFormatProperties2* in_struct)
7246{
7247 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007248 formatProperties = in_struct->formatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007249 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007250}
7251
7252void safe_VkFormatProperties2::initialize(const safe_VkFormatProperties2* src)
7253{
7254 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007255 formatProperties = src->formatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007256 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007257}
7258
7259safe_VkImageFormatProperties2::safe_VkImageFormatProperties2(const VkImageFormatProperties2* in_struct) :
7260 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007261 imageFormatProperties(in_struct->imageFormatProperties)
7262{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007263 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007264}
7265
Jason Macnak8f28eec2019-08-09 12:57:01 -07007266safe_VkImageFormatProperties2::safe_VkImageFormatProperties2() :
7267 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007268{}
7269
7270safe_VkImageFormatProperties2::safe_VkImageFormatProperties2(const safe_VkImageFormatProperties2& src)
7271{
7272 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007273 imageFormatProperties = src.imageFormatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007274 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007275}
7276
7277safe_VkImageFormatProperties2& safe_VkImageFormatProperties2::operator=(const safe_VkImageFormatProperties2& src)
7278{
7279 if (&src == this) return *this;
7280
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007281 if (pNext)
7282 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007283
7284 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007285 imageFormatProperties = src.imageFormatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007286 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007287
7288 return *this;
7289}
7290
7291safe_VkImageFormatProperties2::~safe_VkImageFormatProperties2()
7292{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007293 if (pNext)
7294 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007295}
7296
7297void safe_VkImageFormatProperties2::initialize(const VkImageFormatProperties2* in_struct)
7298{
7299 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007300 imageFormatProperties = in_struct->imageFormatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007301 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007302}
7303
7304void safe_VkImageFormatProperties2::initialize(const safe_VkImageFormatProperties2* src)
7305{
7306 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007307 imageFormatProperties = src->imageFormatProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007308 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007309}
7310
7311safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2* in_struct) :
7312 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007313 format(in_struct->format),
7314 type(in_struct->type),
7315 tiling(in_struct->tiling),
7316 usage(in_struct->usage),
7317 flags(in_struct->flags)
7318{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007319 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007320}
7321
Jason Macnak8f28eec2019-08-09 12:57:01 -07007322safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2() :
7323 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007324{}
7325
7326safe_VkPhysicalDeviceImageFormatInfo2::safe_VkPhysicalDeviceImageFormatInfo2(const safe_VkPhysicalDeviceImageFormatInfo2& src)
7327{
7328 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007329 format = src.format;
7330 type = src.type;
7331 tiling = src.tiling;
7332 usage = src.usage;
7333 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007334 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007335}
7336
7337safe_VkPhysicalDeviceImageFormatInfo2& safe_VkPhysicalDeviceImageFormatInfo2::operator=(const safe_VkPhysicalDeviceImageFormatInfo2& src)
7338{
7339 if (&src == this) return *this;
7340
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007341 if (pNext)
7342 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007343
7344 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007345 format = src.format;
7346 type = src.type;
7347 tiling = src.tiling;
7348 usage = src.usage;
7349 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007350 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007351
7352 return *this;
7353}
7354
7355safe_VkPhysicalDeviceImageFormatInfo2::~safe_VkPhysicalDeviceImageFormatInfo2()
7356{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007357 if (pNext)
7358 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007359}
7360
7361void safe_VkPhysicalDeviceImageFormatInfo2::initialize(const VkPhysicalDeviceImageFormatInfo2* in_struct)
7362{
7363 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007364 format = in_struct->format;
7365 type = in_struct->type;
7366 tiling = in_struct->tiling;
7367 usage = in_struct->usage;
7368 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007369 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007370}
7371
7372void safe_VkPhysicalDeviceImageFormatInfo2::initialize(const safe_VkPhysicalDeviceImageFormatInfo2* src)
7373{
7374 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007375 format = src->format;
7376 type = src->type;
7377 tiling = src->tiling;
7378 usage = src->usage;
7379 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007380 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007381}
7382
7383safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2(const VkQueueFamilyProperties2* in_struct) :
7384 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007385 queueFamilyProperties(in_struct->queueFamilyProperties)
7386{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007387 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007388}
7389
Jason Macnak8f28eec2019-08-09 12:57:01 -07007390safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2() :
7391 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007392{}
7393
7394safe_VkQueueFamilyProperties2::safe_VkQueueFamilyProperties2(const safe_VkQueueFamilyProperties2& src)
7395{
7396 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007397 queueFamilyProperties = src.queueFamilyProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007398 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007399}
7400
7401safe_VkQueueFamilyProperties2& safe_VkQueueFamilyProperties2::operator=(const safe_VkQueueFamilyProperties2& src)
7402{
7403 if (&src == this) return *this;
7404
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007405 if (pNext)
7406 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007407
7408 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007409 queueFamilyProperties = src.queueFamilyProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007410 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007411
7412 return *this;
7413}
7414
7415safe_VkQueueFamilyProperties2::~safe_VkQueueFamilyProperties2()
7416{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007417 if (pNext)
7418 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007419}
7420
7421void safe_VkQueueFamilyProperties2::initialize(const VkQueueFamilyProperties2* in_struct)
7422{
7423 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007424 queueFamilyProperties = in_struct->queueFamilyProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007425 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007426}
7427
7428void safe_VkQueueFamilyProperties2::initialize(const safe_VkQueueFamilyProperties2* src)
7429{
7430 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007431 queueFamilyProperties = src->queueFamilyProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007432 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007433}
7434
7435safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2* in_struct) :
7436 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007437 memoryProperties(in_struct->memoryProperties)
7438{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007439 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007440}
7441
Jason Macnak8f28eec2019-08-09 12:57:01 -07007442safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2() :
7443 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007444{}
7445
7446safe_VkPhysicalDeviceMemoryProperties2::safe_VkPhysicalDeviceMemoryProperties2(const safe_VkPhysicalDeviceMemoryProperties2& src)
7447{
7448 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007449 memoryProperties = src.memoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007450 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007451}
7452
7453safe_VkPhysicalDeviceMemoryProperties2& safe_VkPhysicalDeviceMemoryProperties2::operator=(const safe_VkPhysicalDeviceMemoryProperties2& src)
7454{
7455 if (&src == this) return *this;
7456
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007457 if (pNext)
7458 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007459
7460 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007461 memoryProperties = src.memoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007462 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007463
7464 return *this;
7465}
7466
7467safe_VkPhysicalDeviceMemoryProperties2::~safe_VkPhysicalDeviceMemoryProperties2()
7468{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007469 if (pNext)
7470 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007471}
7472
7473void safe_VkPhysicalDeviceMemoryProperties2::initialize(const VkPhysicalDeviceMemoryProperties2* in_struct)
7474{
7475 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007476 memoryProperties = in_struct->memoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007477 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007478}
7479
7480void safe_VkPhysicalDeviceMemoryProperties2::initialize(const safe_VkPhysicalDeviceMemoryProperties2* src)
7481{
7482 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007483 memoryProperties = src->memoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007484 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007485}
7486
7487safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2* in_struct) :
7488 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007489 properties(in_struct->properties)
7490{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007491 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007492}
7493
Jason Macnak8f28eec2019-08-09 12:57:01 -07007494safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2() :
7495 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007496{}
7497
7498safe_VkSparseImageFormatProperties2::safe_VkSparseImageFormatProperties2(const safe_VkSparseImageFormatProperties2& src)
7499{
7500 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007501 properties = src.properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007502 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007503}
7504
7505safe_VkSparseImageFormatProperties2& safe_VkSparseImageFormatProperties2::operator=(const safe_VkSparseImageFormatProperties2& src)
7506{
7507 if (&src == this) return *this;
7508
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007509 if (pNext)
7510 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007511
7512 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007513 properties = src.properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007514 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007515
7516 return *this;
7517}
7518
7519safe_VkSparseImageFormatProperties2::~safe_VkSparseImageFormatProperties2()
7520{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007521 if (pNext)
7522 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007523}
7524
7525void safe_VkSparseImageFormatProperties2::initialize(const VkSparseImageFormatProperties2* in_struct)
7526{
7527 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007528 properties = in_struct->properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007529 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007530}
7531
7532void safe_VkSparseImageFormatProperties2::initialize(const safe_VkSparseImageFormatProperties2* src)
7533{
7534 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007535 properties = src->properties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007536 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007537}
7538
7539safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2* in_struct) :
7540 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007541 format(in_struct->format),
7542 type(in_struct->type),
7543 samples(in_struct->samples),
7544 usage(in_struct->usage),
7545 tiling(in_struct->tiling)
7546{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007547 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007548}
7549
Jason Macnak8f28eec2019-08-09 12:57:01 -07007550safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2() :
7551 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007552{}
7553
7554safe_VkPhysicalDeviceSparseImageFormatInfo2::safe_VkPhysicalDeviceSparseImageFormatInfo2(const safe_VkPhysicalDeviceSparseImageFormatInfo2& src)
7555{
7556 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007557 format = src.format;
7558 type = src.type;
7559 samples = src.samples;
7560 usage = src.usage;
7561 tiling = src.tiling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007562 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007563}
7564
7565safe_VkPhysicalDeviceSparseImageFormatInfo2& safe_VkPhysicalDeviceSparseImageFormatInfo2::operator=(const safe_VkPhysicalDeviceSparseImageFormatInfo2& src)
7566{
7567 if (&src == this) return *this;
7568
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007569 if (pNext)
7570 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007571
7572 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007573 format = src.format;
7574 type = src.type;
7575 samples = src.samples;
7576 usage = src.usage;
7577 tiling = src.tiling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007578 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007579
7580 return *this;
7581}
7582
7583safe_VkPhysicalDeviceSparseImageFormatInfo2::~safe_VkPhysicalDeviceSparseImageFormatInfo2()
7584{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007585 if (pNext)
7586 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007587}
7588
7589void safe_VkPhysicalDeviceSparseImageFormatInfo2::initialize(const VkPhysicalDeviceSparseImageFormatInfo2* in_struct)
7590{
7591 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007592 format = in_struct->format;
7593 type = in_struct->type;
7594 samples = in_struct->samples;
7595 usage = in_struct->usage;
7596 tiling = in_struct->tiling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007597 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007598}
7599
7600void safe_VkPhysicalDeviceSparseImageFormatInfo2::initialize(const safe_VkPhysicalDeviceSparseImageFormatInfo2* src)
7601{
7602 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007603 format = src->format;
7604 type = src->type;
7605 samples = src->samples;
7606 usage = src->usage;
7607 tiling = src->tiling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007608 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007609}
7610
7611safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties* in_struct) :
7612 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007613 pointClippingBehavior(in_struct->pointClippingBehavior)
7614{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007615 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007616}
7617
Jason Macnak8f28eec2019-08-09 12:57:01 -07007618safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties() :
7619 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007620{}
7621
7622safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties(const safe_VkPhysicalDevicePointClippingProperties& src)
7623{
7624 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007625 pointClippingBehavior = src.pointClippingBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007626 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007627}
7628
7629safe_VkPhysicalDevicePointClippingProperties& safe_VkPhysicalDevicePointClippingProperties::operator=(const safe_VkPhysicalDevicePointClippingProperties& src)
7630{
7631 if (&src == this) return *this;
7632
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007633 if (pNext)
7634 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007635
7636 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007637 pointClippingBehavior = src.pointClippingBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007638 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007639
7640 return *this;
7641}
7642
7643safe_VkPhysicalDevicePointClippingProperties::~safe_VkPhysicalDevicePointClippingProperties()
7644{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007645 if (pNext)
7646 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007647}
7648
7649void safe_VkPhysicalDevicePointClippingProperties::initialize(const VkPhysicalDevicePointClippingProperties* in_struct)
7650{
7651 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007652 pointClippingBehavior = in_struct->pointClippingBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007653 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007654}
7655
7656void safe_VkPhysicalDevicePointClippingProperties::initialize(const safe_VkPhysicalDevicePointClippingProperties* src)
7657{
7658 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007659 pointClippingBehavior = src->pointClippingBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007660 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007661}
7662
7663safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct) :
7664 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007665 aspectReferenceCount(in_struct->aspectReferenceCount),
7666 pAspectReferences(nullptr)
7667{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007668 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007669 if (in_struct->pAspectReferences) {
7670 pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount];
7671 memcpy ((void *)pAspectReferences, (void *)in_struct->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*in_struct->aspectReferenceCount);
7672 }
7673}
7674
7675safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07007676 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007677 pAspectReferences(nullptr)
7678{}
7679
7680safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo(const safe_VkRenderPassInputAttachmentAspectCreateInfo& src)
7681{
7682 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007683 aspectReferenceCount = src.aspectReferenceCount;
7684 pAspectReferences = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007685 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007686 if (src.pAspectReferences) {
7687 pAspectReferences = new VkInputAttachmentAspectReference[src.aspectReferenceCount];
7688 memcpy ((void *)pAspectReferences, (void *)src.pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src.aspectReferenceCount);
7689 }
7690}
7691
7692safe_VkRenderPassInputAttachmentAspectCreateInfo& safe_VkRenderPassInputAttachmentAspectCreateInfo::operator=(const safe_VkRenderPassInputAttachmentAspectCreateInfo& src)
7693{
7694 if (&src == this) return *this;
7695
7696 if (pAspectReferences)
7697 delete[] pAspectReferences;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007698 if (pNext)
7699 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007700
7701 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007702 aspectReferenceCount = src.aspectReferenceCount;
7703 pAspectReferences = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007704 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007705 if (src.pAspectReferences) {
7706 pAspectReferences = new VkInputAttachmentAspectReference[src.aspectReferenceCount];
7707 memcpy ((void *)pAspectReferences, (void *)src.pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src.aspectReferenceCount);
7708 }
7709
7710 return *this;
7711}
7712
7713safe_VkRenderPassInputAttachmentAspectCreateInfo::~safe_VkRenderPassInputAttachmentAspectCreateInfo()
7714{
7715 if (pAspectReferences)
7716 delete[] pAspectReferences;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007717 if (pNext)
7718 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007719}
7720
7721void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct)
7722{
7723 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007724 aspectReferenceCount = in_struct->aspectReferenceCount;
7725 pAspectReferences = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007726 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007727 if (in_struct->pAspectReferences) {
7728 pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount];
7729 memcpy ((void *)pAspectReferences, (void *)in_struct->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*in_struct->aspectReferenceCount);
7730 }
7731}
7732
7733void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* src)
7734{
7735 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007736 aspectReferenceCount = src->aspectReferenceCount;
7737 pAspectReferences = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007738 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007739 if (src->pAspectReferences) {
7740 pAspectReferences = new VkInputAttachmentAspectReference[src->aspectReferenceCount];
7741 memcpy ((void *)pAspectReferences, (void *)src->pAspectReferences, sizeof(VkInputAttachmentAspectReference)*src->aspectReferenceCount);
7742 }
7743}
7744
7745safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo* in_struct) :
7746 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007747 usage(in_struct->usage)
7748{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007749 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007750}
7751
Jason Macnak8f28eec2019-08-09 12:57:01 -07007752safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo() :
7753 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007754{}
7755
7756safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const safe_VkImageViewUsageCreateInfo& src)
7757{
7758 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007759 usage = src.usage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007760 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007761}
7762
7763safe_VkImageViewUsageCreateInfo& safe_VkImageViewUsageCreateInfo::operator=(const safe_VkImageViewUsageCreateInfo& src)
7764{
7765 if (&src == this) return *this;
7766
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007767 if (pNext)
7768 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007769
7770 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007771 usage = src.usage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007772 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007773
7774 return *this;
7775}
7776
7777safe_VkImageViewUsageCreateInfo::~safe_VkImageViewUsageCreateInfo()
7778{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007779 if (pNext)
7780 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007781}
7782
7783void safe_VkImageViewUsageCreateInfo::initialize(const VkImageViewUsageCreateInfo* in_struct)
7784{
7785 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007786 usage = in_struct->usage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007787 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007788}
7789
7790void safe_VkImageViewUsageCreateInfo::initialize(const safe_VkImageViewUsageCreateInfo* src)
7791{
7792 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007793 usage = src->usage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007794 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007795}
7796
7797safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct) :
7798 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007799 domainOrigin(in_struct->domainOrigin)
7800{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007801 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007802}
7803
Jason Macnak8f28eec2019-08-09 12:57:01 -07007804safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo() :
7805 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07007806{}
7807
7808safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& src)
7809{
7810 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007811 domainOrigin = src.domainOrigin;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007812 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007813}
7814
7815safe_VkPipelineTessellationDomainOriginStateCreateInfo& safe_VkPipelineTessellationDomainOriginStateCreateInfo::operator=(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& src)
7816{
7817 if (&src == this) return *this;
7818
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007819 if (pNext)
7820 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007821
7822 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007823 domainOrigin = src.domainOrigin;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007824 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007825
7826 return *this;
7827}
7828
7829safe_VkPipelineTessellationDomainOriginStateCreateInfo::~safe_VkPipelineTessellationDomainOriginStateCreateInfo()
7830{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007831 if (pNext)
7832 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007833}
7834
7835void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct)
7836{
7837 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007838 domainOrigin = in_struct->domainOrigin;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007839 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007840}
7841
7842void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize(const safe_VkPipelineTessellationDomainOriginStateCreateInfo* src)
7843{
7844 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007845 domainOrigin = src->domainOrigin;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007846 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007847}
7848
7849safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct) :
7850 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007851 subpassCount(in_struct->subpassCount),
7852 pViewMasks(nullptr),
7853 dependencyCount(in_struct->dependencyCount),
7854 pViewOffsets(nullptr),
7855 correlationMaskCount(in_struct->correlationMaskCount),
7856 pCorrelationMasks(nullptr)
7857{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007858 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007859 if (in_struct->pViewMasks) {
7860 pViewMasks = new uint32_t[in_struct->subpassCount];
7861 memcpy ((void *)pViewMasks, (void *)in_struct->pViewMasks, sizeof(uint32_t)*in_struct->subpassCount);
7862 }
7863 if (in_struct->pViewOffsets) {
7864 pViewOffsets = new int32_t[in_struct->dependencyCount];
7865 memcpy ((void *)pViewOffsets, (void *)in_struct->pViewOffsets, sizeof(int32_t)*in_struct->dependencyCount);
7866 }
7867 if (in_struct->pCorrelationMasks) {
7868 pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount];
7869 memcpy ((void *)pCorrelationMasks, (void *)in_struct->pCorrelationMasks, sizeof(uint32_t)*in_struct->correlationMaskCount);
7870 }
7871}
7872
7873safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07007874 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07007875 pViewMasks(nullptr),
7876 pViewOffsets(nullptr),
7877 pCorrelationMasks(nullptr)
7878{}
7879
7880safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& src)
7881{
7882 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007883 subpassCount = src.subpassCount;
7884 pViewMasks = nullptr;
7885 dependencyCount = src.dependencyCount;
7886 pViewOffsets = nullptr;
7887 correlationMaskCount = src.correlationMaskCount;
7888 pCorrelationMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007889 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007890 if (src.pViewMasks) {
7891 pViewMasks = new uint32_t[src.subpassCount];
7892 memcpy ((void *)pViewMasks, (void *)src.pViewMasks, sizeof(uint32_t)*src.subpassCount);
7893 }
7894 if (src.pViewOffsets) {
7895 pViewOffsets = new int32_t[src.dependencyCount];
7896 memcpy ((void *)pViewOffsets, (void *)src.pViewOffsets, sizeof(int32_t)*src.dependencyCount);
7897 }
7898 if (src.pCorrelationMasks) {
7899 pCorrelationMasks = new uint32_t[src.correlationMaskCount];
7900 memcpy ((void *)pCorrelationMasks, (void *)src.pCorrelationMasks, sizeof(uint32_t)*src.correlationMaskCount);
7901 }
7902}
7903
7904safe_VkRenderPassMultiviewCreateInfo& safe_VkRenderPassMultiviewCreateInfo::operator=(const safe_VkRenderPassMultiviewCreateInfo& src)
7905{
7906 if (&src == this) return *this;
7907
7908 if (pViewMasks)
7909 delete[] pViewMasks;
7910 if (pViewOffsets)
7911 delete[] pViewOffsets;
7912 if (pCorrelationMasks)
7913 delete[] pCorrelationMasks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007914 if (pNext)
7915 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007916
7917 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007918 subpassCount = src.subpassCount;
7919 pViewMasks = nullptr;
7920 dependencyCount = src.dependencyCount;
7921 pViewOffsets = nullptr;
7922 correlationMaskCount = src.correlationMaskCount;
7923 pCorrelationMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007924 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007925 if (src.pViewMasks) {
7926 pViewMasks = new uint32_t[src.subpassCount];
7927 memcpy ((void *)pViewMasks, (void *)src.pViewMasks, sizeof(uint32_t)*src.subpassCount);
7928 }
7929 if (src.pViewOffsets) {
7930 pViewOffsets = new int32_t[src.dependencyCount];
7931 memcpy ((void *)pViewOffsets, (void *)src.pViewOffsets, sizeof(int32_t)*src.dependencyCount);
7932 }
7933 if (src.pCorrelationMasks) {
7934 pCorrelationMasks = new uint32_t[src.correlationMaskCount];
7935 memcpy ((void *)pCorrelationMasks, (void *)src.pCorrelationMasks, sizeof(uint32_t)*src.correlationMaskCount);
7936 }
7937
7938 return *this;
7939}
7940
7941safe_VkRenderPassMultiviewCreateInfo::~safe_VkRenderPassMultiviewCreateInfo()
7942{
7943 if (pViewMasks)
7944 delete[] pViewMasks;
7945 if (pViewOffsets)
7946 delete[] pViewOffsets;
7947 if (pCorrelationMasks)
7948 delete[] pCorrelationMasks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007949 if (pNext)
7950 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007951}
7952
7953void safe_VkRenderPassMultiviewCreateInfo::initialize(const VkRenderPassMultiviewCreateInfo* in_struct)
7954{
7955 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007956 subpassCount = in_struct->subpassCount;
7957 pViewMasks = nullptr;
7958 dependencyCount = in_struct->dependencyCount;
7959 pViewOffsets = nullptr;
7960 correlationMaskCount = in_struct->correlationMaskCount;
7961 pCorrelationMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007962 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007963 if (in_struct->pViewMasks) {
7964 pViewMasks = new uint32_t[in_struct->subpassCount];
7965 memcpy ((void *)pViewMasks, (void *)in_struct->pViewMasks, sizeof(uint32_t)*in_struct->subpassCount);
7966 }
7967 if (in_struct->pViewOffsets) {
7968 pViewOffsets = new int32_t[in_struct->dependencyCount];
7969 memcpy ((void *)pViewOffsets, (void *)in_struct->pViewOffsets, sizeof(int32_t)*in_struct->dependencyCount);
7970 }
7971 if (in_struct->pCorrelationMasks) {
7972 pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount];
7973 memcpy ((void *)pCorrelationMasks, (void *)in_struct->pCorrelationMasks, sizeof(uint32_t)*in_struct->correlationMaskCount);
7974 }
7975}
7976
7977void safe_VkRenderPassMultiviewCreateInfo::initialize(const safe_VkRenderPassMultiviewCreateInfo* src)
7978{
7979 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07007980 subpassCount = src->subpassCount;
7981 pViewMasks = nullptr;
7982 dependencyCount = src->dependencyCount;
7983 pViewOffsets = nullptr;
7984 correlationMaskCount = src->correlationMaskCount;
7985 pCorrelationMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06007986 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07007987 if (src->pViewMasks) {
7988 pViewMasks = new uint32_t[src->subpassCount];
7989 memcpy ((void *)pViewMasks, (void *)src->pViewMasks, sizeof(uint32_t)*src->subpassCount);
7990 }
7991 if (src->pViewOffsets) {
7992 pViewOffsets = new int32_t[src->dependencyCount];
7993 memcpy ((void *)pViewOffsets, (void *)src->pViewOffsets, sizeof(int32_t)*src->dependencyCount);
7994 }
7995 if (src->pCorrelationMasks) {
7996 pCorrelationMasks = new uint32_t[src->correlationMaskCount];
7997 memcpy ((void *)pCorrelationMasks, (void *)src->pCorrelationMasks, sizeof(uint32_t)*src->correlationMaskCount);
7998 }
7999}
8000
8001safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct) :
8002 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008003 multiview(in_struct->multiview),
8004 multiviewGeometryShader(in_struct->multiviewGeometryShader),
8005 multiviewTessellationShader(in_struct->multiviewTessellationShader)
8006{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008007 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008008}
8009
Jason Macnak8f28eec2019-08-09 12:57:01 -07008010safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures() :
8011 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008012{}
8013
8014safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const safe_VkPhysicalDeviceMultiviewFeatures& src)
8015{
8016 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008017 multiview = src.multiview;
8018 multiviewGeometryShader = src.multiviewGeometryShader;
8019 multiviewTessellationShader = src.multiviewTessellationShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008020 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008021}
8022
8023safe_VkPhysicalDeviceMultiviewFeatures& safe_VkPhysicalDeviceMultiviewFeatures::operator=(const safe_VkPhysicalDeviceMultiviewFeatures& src)
8024{
8025 if (&src == this) return *this;
8026
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008027 if (pNext)
8028 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008029
8030 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008031 multiview = src.multiview;
8032 multiviewGeometryShader = src.multiviewGeometryShader;
8033 multiviewTessellationShader = src.multiviewTessellationShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008034 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008035
8036 return *this;
8037}
8038
8039safe_VkPhysicalDeviceMultiviewFeatures::~safe_VkPhysicalDeviceMultiviewFeatures()
8040{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008041 if (pNext)
8042 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008043}
8044
8045void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct)
8046{
8047 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008048 multiview = in_struct->multiview;
8049 multiviewGeometryShader = in_struct->multiviewGeometryShader;
8050 multiviewTessellationShader = in_struct->multiviewTessellationShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008051 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008052}
8053
8054void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const safe_VkPhysicalDeviceMultiviewFeatures* src)
8055{
8056 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008057 multiview = src->multiview;
8058 multiviewGeometryShader = src->multiviewGeometryShader;
8059 multiviewTessellationShader = src->multiviewTessellationShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008060 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008061}
8062
8063safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties* in_struct) :
8064 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008065 maxMultiviewViewCount(in_struct->maxMultiviewViewCount),
8066 maxMultiviewInstanceIndex(in_struct->maxMultiviewInstanceIndex)
8067{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008068 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008069}
8070
Jason Macnak8f28eec2019-08-09 12:57:01 -07008071safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties() :
8072 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008073{}
8074
8075safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties(const safe_VkPhysicalDeviceMultiviewProperties& src)
8076{
8077 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008078 maxMultiviewViewCount = src.maxMultiviewViewCount;
8079 maxMultiviewInstanceIndex = src.maxMultiviewInstanceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008080 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008081}
8082
8083safe_VkPhysicalDeviceMultiviewProperties& safe_VkPhysicalDeviceMultiviewProperties::operator=(const safe_VkPhysicalDeviceMultiviewProperties& src)
8084{
8085 if (&src == this) return *this;
8086
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008087 if (pNext)
8088 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008089
8090 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008091 maxMultiviewViewCount = src.maxMultiviewViewCount;
8092 maxMultiviewInstanceIndex = src.maxMultiviewInstanceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008093 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008094
8095 return *this;
8096}
8097
8098safe_VkPhysicalDeviceMultiviewProperties::~safe_VkPhysicalDeviceMultiviewProperties()
8099{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008100 if (pNext)
8101 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008102}
8103
8104void safe_VkPhysicalDeviceMultiviewProperties::initialize(const VkPhysicalDeviceMultiviewProperties* in_struct)
8105{
8106 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008107 maxMultiviewViewCount = in_struct->maxMultiviewViewCount;
8108 maxMultiviewInstanceIndex = in_struct->maxMultiviewInstanceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008109 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008110}
8111
8112void safe_VkPhysicalDeviceMultiviewProperties::initialize(const safe_VkPhysicalDeviceMultiviewProperties* src)
8113{
8114 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008115 maxMultiviewViewCount = src->maxMultiviewViewCount;
8116 maxMultiviewInstanceIndex = src->maxMultiviewInstanceIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008117 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008118}
8119
8120safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures* in_struct) :
8121 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008122 variablePointersStorageBuffer(in_struct->variablePointersStorageBuffer),
8123 variablePointers(in_struct->variablePointers)
8124{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008125 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008126}
8127
Jason Macnak8f28eec2019-08-09 12:57:01 -07008128safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures() :
8129 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008130{}
8131
8132safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures(const safe_VkPhysicalDeviceVariablePointersFeatures& src)
8133{
8134 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008135 variablePointersStorageBuffer = src.variablePointersStorageBuffer;
8136 variablePointers = src.variablePointers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008137 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008138}
8139
8140safe_VkPhysicalDeviceVariablePointersFeatures& safe_VkPhysicalDeviceVariablePointersFeatures::operator=(const safe_VkPhysicalDeviceVariablePointersFeatures& src)
8141{
8142 if (&src == this) return *this;
8143
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008144 if (pNext)
8145 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008146
8147 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008148 variablePointersStorageBuffer = src.variablePointersStorageBuffer;
8149 variablePointers = src.variablePointers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008150 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008151
8152 return *this;
8153}
8154
8155safe_VkPhysicalDeviceVariablePointersFeatures::~safe_VkPhysicalDeviceVariablePointersFeatures()
8156{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008157 if (pNext)
8158 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008159}
8160
8161void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct)
8162{
8163 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008164 variablePointersStorageBuffer = in_struct->variablePointersStorageBuffer;
8165 variablePointers = in_struct->variablePointers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008166 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008167}
8168
8169void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* src)
8170{
8171 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008172 variablePointersStorageBuffer = src->variablePointersStorageBuffer;
8173 variablePointers = src->variablePointers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008174 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008175}
8176
8177safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures* in_struct) :
8178 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008179 protectedMemory(in_struct->protectedMemory)
8180{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008181 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008182}
8183
Jason Macnak8f28eec2019-08-09 12:57:01 -07008184safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures() :
8185 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008186{}
8187
8188safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures(const safe_VkPhysicalDeviceProtectedMemoryFeatures& src)
8189{
8190 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008191 protectedMemory = src.protectedMemory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008192 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008193}
8194
8195safe_VkPhysicalDeviceProtectedMemoryFeatures& safe_VkPhysicalDeviceProtectedMemoryFeatures::operator=(const safe_VkPhysicalDeviceProtectedMemoryFeatures& src)
8196{
8197 if (&src == this) return *this;
8198
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008199 if (pNext)
8200 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008201
8202 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008203 protectedMemory = src.protectedMemory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008204 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008205
8206 return *this;
8207}
8208
8209safe_VkPhysicalDeviceProtectedMemoryFeatures::~safe_VkPhysicalDeviceProtectedMemoryFeatures()
8210{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008211 if (pNext)
8212 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008213}
8214
8215void safe_VkPhysicalDeviceProtectedMemoryFeatures::initialize(const VkPhysicalDeviceProtectedMemoryFeatures* in_struct)
8216{
8217 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008218 protectedMemory = in_struct->protectedMemory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008219 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008220}
8221
8222void safe_VkPhysicalDeviceProtectedMemoryFeatures::initialize(const safe_VkPhysicalDeviceProtectedMemoryFeatures* src)
8223{
8224 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008225 protectedMemory = src->protectedMemory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008226 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008227}
8228
8229safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties* in_struct) :
8230 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008231 protectedNoFault(in_struct->protectedNoFault)
8232{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008233 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008234}
8235
Jason Macnak8f28eec2019-08-09 12:57:01 -07008236safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties() :
8237 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008238{}
8239
8240safe_VkPhysicalDeviceProtectedMemoryProperties::safe_VkPhysicalDeviceProtectedMemoryProperties(const safe_VkPhysicalDeviceProtectedMemoryProperties& src)
8241{
8242 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008243 protectedNoFault = src.protectedNoFault;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008244 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008245}
8246
8247safe_VkPhysicalDeviceProtectedMemoryProperties& safe_VkPhysicalDeviceProtectedMemoryProperties::operator=(const safe_VkPhysicalDeviceProtectedMemoryProperties& src)
8248{
8249 if (&src == this) return *this;
8250
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008251 if (pNext)
8252 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008253
8254 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008255 protectedNoFault = src.protectedNoFault;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008256 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008257
8258 return *this;
8259}
8260
8261safe_VkPhysicalDeviceProtectedMemoryProperties::~safe_VkPhysicalDeviceProtectedMemoryProperties()
8262{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008263 if (pNext)
8264 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008265}
8266
8267void safe_VkPhysicalDeviceProtectedMemoryProperties::initialize(const VkPhysicalDeviceProtectedMemoryProperties* in_struct)
8268{
8269 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008270 protectedNoFault = in_struct->protectedNoFault;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008271 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008272}
8273
8274void safe_VkPhysicalDeviceProtectedMemoryProperties::initialize(const safe_VkPhysicalDeviceProtectedMemoryProperties* src)
8275{
8276 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008277 protectedNoFault = src->protectedNoFault;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008278 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008279}
8280
8281safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2(const VkDeviceQueueInfo2* in_struct) :
8282 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008283 flags(in_struct->flags),
8284 queueFamilyIndex(in_struct->queueFamilyIndex),
8285 queueIndex(in_struct->queueIndex)
8286{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008287 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008288}
8289
Jason Macnak8f28eec2019-08-09 12:57:01 -07008290safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2() :
8291 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008292{}
8293
8294safe_VkDeviceQueueInfo2::safe_VkDeviceQueueInfo2(const safe_VkDeviceQueueInfo2& src)
8295{
8296 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008297 flags = src.flags;
8298 queueFamilyIndex = src.queueFamilyIndex;
8299 queueIndex = src.queueIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008300 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008301}
8302
8303safe_VkDeviceQueueInfo2& safe_VkDeviceQueueInfo2::operator=(const safe_VkDeviceQueueInfo2& src)
8304{
8305 if (&src == this) return *this;
8306
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008307 if (pNext)
8308 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008309
8310 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008311 flags = src.flags;
8312 queueFamilyIndex = src.queueFamilyIndex;
8313 queueIndex = src.queueIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008314 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008315
8316 return *this;
8317}
8318
8319safe_VkDeviceQueueInfo2::~safe_VkDeviceQueueInfo2()
8320{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008321 if (pNext)
8322 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008323}
8324
8325void safe_VkDeviceQueueInfo2::initialize(const VkDeviceQueueInfo2* in_struct)
8326{
8327 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008328 flags = in_struct->flags;
8329 queueFamilyIndex = in_struct->queueFamilyIndex;
8330 queueIndex = in_struct->queueIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008331 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008332}
8333
8334void safe_VkDeviceQueueInfo2::initialize(const safe_VkDeviceQueueInfo2* src)
8335{
8336 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008337 flags = src->flags;
8338 queueFamilyIndex = src->queueFamilyIndex;
8339 queueIndex = src->queueIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008340 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008341}
8342
8343safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo(const VkProtectedSubmitInfo* in_struct) :
8344 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008345 protectedSubmit(in_struct->protectedSubmit)
8346{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008347 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008348}
8349
Jason Macnak8f28eec2019-08-09 12:57:01 -07008350safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo() :
8351 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008352{}
8353
8354safe_VkProtectedSubmitInfo::safe_VkProtectedSubmitInfo(const safe_VkProtectedSubmitInfo& src)
8355{
8356 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008357 protectedSubmit = src.protectedSubmit;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008358 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008359}
8360
8361safe_VkProtectedSubmitInfo& safe_VkProtectedSubmitInfo::operator=(const safe_VkProtectedSubmitInfo& src)
8362{
8363 if (&src == this) return *this;
8364
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008365 if (pNext)
8366 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008367
8368 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008369 protectedSubmit = src.protectedSubmit;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008370 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008371
8372 return *this;
8373}
8374
8375safe_VkProtectedSubmitInfo::~safe_VkProtectedSubmitInfo()
8376{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008377 if (pNext)
8378 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008379}
8380
8381void safe_VkProtectedSubmitInfo::initialize(const VkProtectedSubmitInfo* in_struct)
8382{
8383 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008384 protectedSubmit = in_struct->protectedSubmit;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008385 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008386}
8387
8388void safe_VkProtectedSubmitInfo::initialize(const safe_VkProtectedSubmitInfo* src)
8389{
8390 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008391 protectedSubmit = src->protectedSubmit;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008392 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008393}
8394
8395safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo* in_struct) :
8396 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008397 format(in_struct->format),
8398 ycbcrModel(in_struct->ycbcrModel),
8399 ycbcrRange(in_struct->ycbcrRange),
8400 components(in_struct->components),
8401 xChromaOffset(in_struct->xChromaOffset),
8402 yChromaOffset(in_struct->yChromaOffset),
8403 chromaFilter(in_struct->chromaFilter),
8404 forceExplicitReconstruction(in_struct->forceExplicitReconstruction)
8405{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008406 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008407}
8408
Jason Macnak8f28eec2019-08-09 12:57:01 -07008409safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo() :
8410 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008411{}
8412
8413safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo(const safe_VkSamplerYcbcrConversionCreateInfo& src)
8414{
8415 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008416 format = src.format;
8417 ycbcrModel = src.ycbcrModel;
8418 ycbcrRange = src.ycbcrRange;
8419 components = src.components;
8420 xChromaOffset = src.xChromaOffset;
8421 yChromaOffset = src.yChromaOffset;
8422 chromaFilter = src.chromaFilter;
8423 forceExplicitReconstruction = src.forceExplicitReconstruction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008424 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008425}
8426
8427safe_VkSamplerYcbcrConversionCreateInfo& safe_VkSamplerYcbcrConversionCreateInfo::operator=(const safe_VkSamplerYcbcrConversionCreateInfo& src)
8428{
8429 if (&src == this) return *this;
8430
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008431 if (pNext)
8432 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008433
8434 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008435 format = src.format;
8436 ycbcrModel = src.ycbcrModel;
8437 ycbcrRange = src.ycbcrRange;
8438 components = src.components;
8439 xChromaOffset = src.xChromaOffset;
8440 yChromaOffset = src.yChromaOffset;
8441 chromaFilter = src.chromaFilter;
8442 forceExplicitReconstruction = src.forceExplicitReconstruction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008443 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008444
8445 return *this;
8446}
8447
8448safe_VkSamplerYcbcrConversionCreateInfo::~safe_VkSamplerYcbcrConversionCreateInfo()
8449{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008450 if (pNext)
8451 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008452}
8453
8454void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct)
8455{
8456 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008457 format = in_struct->format;
8458 ycbcrModel = in_struct->ycbcrModel;
8459 ycbcrRange = in_struct->ycbcrRange;
8460 components = in_struct->components;
8461 xChromaOffset = in_struct->xChromaOffset;
8462 yChromaOffset = in_struct->yChromaOffset;
8463 chromaFilter = in_struct->chromaFilter;
8464 forceExplicitReconstruction = in_struct->forceExplicitReconstruction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008465 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008466}
8467
8468void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const safe_VkSamplerYcbcrConversionCreateInfo* src)
8469{
8470 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008471 format = src->format;
8472 ycbcrModel = src->ycbcrModel;
8473 ycbcrRange = src->ycbcrRange;
8474 components = src->components;
8475 xChromaOffset = src->xChromaOffset;
8476 yChromaOffset = src->yChromaOffset;
8477 chromaFilter = src->chromaFilter;
8478 forceExplicitReconstruction = src->forceExplicitReconstruction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008479 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008480}
8481
8482safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct) :
8483 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008484 conversion(in_struct->conversion)
8485{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008486 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008487}
8488
Jason Macnak8f28eec2019-08-09 12:57:01 -07008489safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo() :
8490 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008491{}
8492
8493safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& src)
8494{
8495 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008496 conversion = src.conversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008497 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008498}
8499
8500safe_VkSamplerYcbcrConversionInfo& safe_VkSamplerYcbcrConversionInfo::operator=(const safe_VkSamplerYcbcrConversionInfo& src)
8501{
8502 if (&src == this) return *this;
8503
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008504 if (pNext)
8505 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008506
8507 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008508 conversion = src.conversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008509 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008510
8511 return *this;
8512}
8513
8514safe_VkSamplerYcbcrConversionInfo::~safe_VkSamplerYcbcrConversionInfo()
8515{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008516 if (pNext)
8517 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008518}
8519
8520void safe_VkSamplerYcbcrConversionInfo::initialize(const VkSamplerYcbcrConversionInfo* in_struct)
8521{
8522 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008523 conversion = in_struct->conversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008524 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008525}
8526
8527void safe_VkSamplerYcbcrConversionInfo::initialize(const safe_VkSamplerYcbcrConversionInfo* src)
8528{
8529 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008530 conversion = src->conversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008531 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008532}
8533
8534safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo* in_struct) :
8535 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008536 planeAspect(in_struct->planeAspect)
8537{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008538 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008539}
8540
Jason Macnak8f28eec2019-08-09 12:57:01 -07008541safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo() :
8542 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008543{}
8544
8545safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const safe_VkBindImagePlaneMemoryInfo& src)
8546{
8547 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008548 planeAspect = src.planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008549 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008550}
8551
8552safe_VkBindImagePlaneMemoryInfo& safe_VkBindImagePlaneMemoryInfo::operator=(const safe_VkBindImagePlaneMemoryInfo& src)
8553{
8554 if (&src == this) return *this;
8555
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008556 if (pNext)
8557 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008558
8559 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008560 planeAspect = src.planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008561 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008562
8563 return *this;
8564}
8565
8566safe_VkBindImagePlaneMemoryInfo::~safe_VkBindImagePlaneMemoryInfo()
8567{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008568 if (pNext)
8569 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008570}
8571
8572void safe_VkBindImagePlaneMemoryInfo::initialize(const VkBindImagePlaneMemoryInfo* in_struct)
8573{
8574 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008575 planeAspect = in_struct->planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008576 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008577}
8578
8579void safe_VkBindImagePlaneMemoryInfo::initialize(const safe_VkBindImagePlaneMemoryInfo* src)
8580{
8581 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008582 planeAspect = src->planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008583 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008584}
8585
8586safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo* in_struct) :
8587 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008588 planeAspect(in_struct->planeAspect)
8589{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008590 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008591}
8592
Jason Macnak8f28eec2019-08-09 12:57:01 -07008593safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo() :
8594 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008595{}
8596
8597safe_VkImagePlaneMemoryRequirementsInfo::safe_VkImagePlaneMemoryRequirementsInfo(const safe_VkImagePlaneMemoryRequirementsInfo& src)
8598{
8599 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008600 planeAspect = src.planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008601 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008602}
8603
8604safe_VkImagePlaneMemoryRequirementsInfo& safe_VkImagePlaneMemoryRequirementsInfo::operator=(const safe_VkImagePlaneMemoryRequirementsInfo& src)
8605{
8606 if (&src == this) return *this;
8607
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008608 if (pNext)
8609 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008610
8611 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008612 planeAspect = src.planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008613 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008614
8615 return *this;
8616}
8617
8618safe_VkImagePlaneMemoryRequirementsInfo::~safe_VkImagePlaneMemoryRequirementsInfo()
8619{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008620 if (pNext)
8621 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008622}
8623
8624void safe_VkImagePlaneMemoryRequirementsInfo::initialize(const VkImagePlaneMemoryRequirementsInfo* in_struct)
8625{
8626 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008627 planeAspect = in_struct->planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008628 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008629}
8630
8631void safe_VkImagePlaneMemoryRequirementsInfo::initialize(const safe_VkImagePlaneMemoryRequirementsInfo* src)
8632{
8633 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008634 planeAspect = src->planeAspect;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008635 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008636}
8637
8638safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct) :
8639 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008640 samplerYcbcrConversion(in_struct->samplerYcbcrConversion)
8641{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008642 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008643}
8644
Jason Macnak8f28eec2019-08-09 12:57:01 -07008645safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() :
8646 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008647{}
8648
8649safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& src)
8650{
8651 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008652 samplerYcbcrConversion = src.samplerYcbcrConversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008653 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008654}
8655
8656safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::operator=(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& src)
8657{
8658 if (&src == this) return *this;
8659
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008660 if (pNext)
8661 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008662
8663 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008664 samplerYcbcrConversion = src.samplerYcbcrConversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008665 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008666
8667 return *this;
8668}
8669
8670safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures()
8671{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008672 if (pNext)
8673 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008674}
8675
8676void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct)
8677{
8678 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008679 samplerYcbcrConversion = in_struct->samplerYcbcrConversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008680 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008681}
8682
8683void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* src)
8684{
8685 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008686 samplerYcbcrConversion = src->samplerYcbcrConversion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008687 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008688}
8689
8690safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties* in_struct) :
8691 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008692 combinedImageSamplerDescriptorCount(in_struct->combinedImageSamplerDescriptorCount)
8693{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008694 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008695}
8696
Jason Macnak8f28eec2019-08-09 12:57:01 -07008697safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties() :
8698 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008699{}
8700
8701safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties(const safe_VkSamplerYcbcrConversionImageFormatProperties& src)
8702{
8703 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008704 combinedImageSamplerDescriptorCount = src.combinedImageSamplerDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008705 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008706}
8707
8708safe_VkSamplerYcbcrConversionImageFormatProperties& safe_VkSamplerYcbcrConversionImageFormatProperties::operator=(const safe_VkSamplerYcbcrConversionImageFormatProperties& src)
8709{
8710 if (&src == this) return *this;
8711
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008712 if (pNext)
8713 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008714
8715 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008716 combinedImageSamplerDescriptorCount = src.combinedImageSamplerDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008717 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008718
8719 return *this;
8720}
8721
8722safe_VkSamplerYcbcrConversionImageFormatProperties::~safe_VkSamplerYcbcrConversionImageFormatProperties()
8723{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008724 if (pNext)
8725 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008726}
8727
8728void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct)
8729{
8730 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008731 combinedImageSamplerDescriptorCount = in_struct->combinedImageSamplerDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008732 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008733}
8734
8735void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const safe_VkSamplerYcbcrConversionImageFormatProperties* src)
8736{
8737 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008738 combinedImageSamplerDescriptorCount = src->combinedImageSamplerDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008739 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008740}
8741
8742safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo* in_struct) :
8743 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008744 flags(in_struct->flags),
8745 descriptorUpdateEntryCount(in_struct->descriptorUpdateEntryCount),
8746 pDescriptorUpdateEntries(nullptr),
8747 templateType(in_struct->templateType),
8748 descriptorSetLayout(in_struct->descriptorSetLayout),
8749 pipelineBindPoint(in_struct->pipelineBindPoint),
8750 pipelineLayout(in_struct->pipelineLayout),
8751 set(in_struct->set)
8752{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008753 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008754 if (in_struct->pDescriptorUpdateEntries) {
8755 pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount];
8756 memcpy ((void *)pDescriptorUpdateEntries, (void *)in_struct->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*in_struct->descriptorUpdateEntryCount);
8757 }
8758}
8759
8760safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07008761 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008762 pDescriptorUpdateEntries(nullptr)
8763{}
8764
8765safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo(const safe_VkDescriptorUpdateTemplateCreateInfo& src)
8766{
8767 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008768 flags = src.flags;
8769 descriptorUpdateEntryCount = src.descriptorUpdateEntryCount;
8770 pDescriptorUpdateEntries = nullptr;
8771 templateType = src.templateType;
8772 descriptorSetLayout = src.descriptorSetLayout;
8773 pipelineBindPoint = src.pipelineBindPoint;
8774 pipelineLayout = src.pipelineLayout;
8775 set = src.set;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008776 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008777 if (src.pDescriptorUpdateEntries) {
8778 pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src.descriptorUpdateEntryCount];
8779 memcpy ((void *)pDescriptorUpdateEntries, (void *)src.pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src.descriptorUpdateEntryCount);
8780 }
8781}
8782
8783safe_VkDescriptorUpdateTemplateCreateInfo& safe_VkDescriptorUpdateTemplateCreateInfo::operator=(const safe_VkDescriptorUpdateTemplateCreateInfo& src)
8784{
8785 if (&src == this) return *this;
8786
8787 if (pDescriptorUpdateEntries)
8788 delete[] pDescriptorUpdateEntries;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008789 if (pNext)
8790 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008791
8792 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008793 flags = src.flags;
8794 descriptorUpdateEntryCount = src.descriptorUpdateEntryCount;
8795 pDescriptorUpdateEntries = nullptr;
8796 templateType = src.templateType;
8797 descriptorSetLayout = src.descriptorSetLayout;
8798 pipelineBindPoint = src.pipelineBindPoint;
8799 pipelineLayout = src.pipelineLayout;
8800 set = src.set;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008801 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008802 if (src.pDescriptorUpdateEntries) {
8803 pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src.descriptorUpdateEntryCount];
8804 memcpy ((void *)pDescriptorUpdateEntries, (void *)src.pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src.descriptorUpdateEntryCount);
8805 }
8806
8807 return *this;
8808}
8809
8810safe_VkDescriptorUpdateTemplateCreateInfo::~safe_VkDescriptorUpdateTemplateCreateInfo()
8811{
8812 if (pDescriptorUpdateEntries)
8813 delete[] pDescriptorUpdateEntries;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008814 if (pNext)
8815 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008816}
8817
8818void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct)
8819{
8820 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008821 flags = in_struct->flags;
8822 descriptorUpdateEntryCount = in_struct->descriptorUpdateEntryCount;
8823 pDescriptorUpdateEntries = nullptr;
8824 templateType = in_struct->templateType;
8825 descriptorSetLayout = in_struct->descriptorSetLayout;
8826 pipelineBindPoint = in_struct->pipelineBindPoint;
8827 pipelineLayout = in_struct->pipelineLayout;
8828 set = in_struct->set;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008829 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008830 if (in_struct->pDescriptorUpdateEntries) {
8831 pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount];
8832 memcpy ((void *)pDescriptorUpdateEntries, (void *)in_struct->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*in_struct->descriptorUpdateEntryCount);
8833 }
8834}
8835
8836void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* src)
8837{
8838 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008839 flags = src->flags;
8840 descriptorUpdateEntryCount = src->descriptorUpdateEntryCount;
8841 pDescriptorUpdateEntries = nullptr;
8842 templateType = src->templateType;
8843 descriptorSetLayout = src->descriptorSetLayout;
8844 pipelineBindPoint = src->pipelineBindPoint;
8845 pipelineLayout = src->pipelineLayout;
8846 set = src->set;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008847 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008848 if (src->pDescriptorUpdateEntries) {
8849 pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[src->descriptorUpdateEntryCount];
8850 memcpy ((void *)pDescriptorUpdateEntries, (void *)src->pDescriptorUpdateEntries, sizeof(VkDescriptorUpdateTemplateEntry)*src->descriptorUpdateEntryCount);
8851 }
8852}
8853
8854safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo* in_struct) :
8855 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008856 handleType(in_struct->handleType)
8857{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008858 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008859}
8860
Jason Macnak8f28eec2019-08-09 12:57:01 -07008861safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo() :
8862 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008863{}
8864
8865safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo(const safe_VkPhysicalDeviceExternalImageFormatInfo& src)
8866{
8867 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008868 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008869 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008870}
8871
8872safe_VkPhysicalDeviceExternalImageFormatInfo& safe_VkPhysicalDeviceExternalImageFormatInfo::operator=(const safe_VkPhysicalDeviceExternalImageFormatInfo& src)
8873{
8874 if (&src == this) return *this;
8875
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008876 if (pNext)
8877 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008878
8879 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008880 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008881 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008882
8883 return *this;
8884}
8885
8886safe_VkPhysicalDeviceExternalImageFormatInfo::~safe_VkPhysicalDeviceExternalImageFormatInfo()
8887{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008888 if (pNext)
8889 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008890}
8891
8892void safe_VkPhysicalDeviceExternalImageFormatInfo::initialize(const VkPhysicalDeviceExternalImageFormatInfo* in_struct)
8893{
8894 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008895 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008896 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008897}
8898
8899void safe_VkPhysicalDeviceExternalImageFormatInfo::initialize(const safe_VkPhysicalDeviceExternalImageFormatInfo* src)
8900{
8901 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008902 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008903 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008904}
8905
8906safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties(const VkExternalImageFormatProperties* in_struct) :
8907 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008908 externalMemoryProperties(in_struct->externalMemoryProperties)
8909{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008910 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008911}
8912
Jason Macnak8f28eec2019-08-09 12:57:01 -07008913safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties() :
8914 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008915{}
8916
8917safe_VkExternalImageFormatProperties::safe_VkExternalImageFormatProperties(const safe_VkExternalImageFormatProperties& src)
8918{
8919 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008920 externalMemoryProperties = src.externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008921 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008922}
8923
8924safe_VkExternalImageFormatProperties& safe_VkExternalImageFormatProperties::operator=(const safe_VkExternalImageFormatProperties& src)
8925{
8926 if (&src == this) return *this;
8927
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008928 if (pNext)
8929 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008930
8931 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008932 externalMemoryProperties = src.externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008933 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008934
8935 return *this;
8936}
8937
8938safe_VkExternalImageFormatProperties::~safe_VkExternalImageFormatProperties()
8939{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008940 if (pNext)
8941 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008942}
8943
8944void safe_VkExternalImageFormatProperties::initialize(const VkExternalImageFormatProperties* in_struct)
8945{
8946 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008947 externalMemoryProperties = in_struct->externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008948 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008949}
8950
8951void safe_VkExternalImageFormatProperties::initialize(const safe_VkExternalImageFormatProperties* src)
8952{
8953 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008954 externalMemoryProperties = src->externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008955 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008956}
8957
8958safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo* in_struct) :
8959 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07008960 flags(in_struct->flags),
8961 usage(in_struct->usage),
8962 handleType(in_struct->handleType)
8963{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008964 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008965}
8966
Jason Macnak8f28eec2019-08-09 12:57:01 -07008967safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo() :
8968 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07008969{}
8970
8971safe_VkPhysicalDeviceExternalBufferInfo::safe_VkPhysicalDeviceExternalBufferInfo(const safe_VkPhysicalDeviceExternalBufferInfo& src)
8972{
8973 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008974 flags = src.flags;
8975 usage = src.usage;
8976 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008977 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008978}
8979
8980safe_VkPhysicalDeviceExternalBufferInfo& safe_VkPhysicalDeviceExternalBufferInfo::operator=(const safe_VkPhysicalDeviceExternalBufferInfo& src)
8981{
8982 if (&src == this) return *this;
8983
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008984 if (pNext)
8985 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008986
8987 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07008988 flags = src.flags;
8989 usage = src.usage;
8990 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008991 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07008992
8993 return *this;
8994}
8995
8996safe_VkPhysicalDeviceExternalBufferInfo::~safe_VkPhysicalDeviceExternalBufferInfo()
8997{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06008998 if (pNext)
8999 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009000}
9001
9002void safe_VkPhysicalDeviceExternalBufferInfo::initialize(const VkPhysicalDeviceExternalBufferInfo* in_struct)
9003{
9004 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009005 flags = in_struct->flags;
9006 usage = in_struct->usage;
9007 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009008 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009009}
9010
9011void safe_VkPhysicalDeviceExternalBufferInfo::initialize(const safe_VkPhysicalDeviceExternalBufferInfo* src)
9012{
9013 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009014 flags = src->flags;
9015 usage = src->usage;
9016 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009017 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009018}
9019
9020safe_VkExternalBufferProperties::safe_VkExternalBufferProperties(const VkExternalBufferProperties* in_struct) :
9021 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009022 externalMemoryProperties(in_struct->externalMemoryProperties)
9023{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009024 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009025}
9026
Jason Macnak8f28eec2019-08-09 12:57:01 -07009027safe_VkExternalBufferProperties::safe_VkExternalBufferProperties() :
9028 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009029{}
9030
9031safe_VkExternalBufferProperties::safe_VkExternalBufferProperties(const safe_VkExternalBufferProperties& src)
9032{
9033 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009034 externalMemoryProperties = src.externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009035 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009036}
9037
9038safe_VkExternalBufferProperties& safe_VkExternalBufferProperties::operator=(const safe_VkExternalBufferProperties& src)
9039{
9040 if (&src == this) return *this;
9041
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009042 if (pNext)
9043 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009044
9045 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009046 externalMemoryProperties = src.externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009047 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009048
9049 return *this;
9050}
9051
9052safe_VkExternalBufferProperties::~safe_VkExternalBufferProperties()
9053{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009054 if (pNext)
9055 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009056}
9057
9058void safe_VkExternalBufferProperties::initialize(const VkExternalBufferProperties* in_struct)
9059{
9060 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009061 externalMemoryProperties = in_struct->externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009062 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009063}
9064
9065void safe_VkExternalBufferProperties::initialize(const safe_VkExternalBufferProperties* src)
9066{
9067 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009068 externalMemoryProperties = src->externalMemoryProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009069 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009070}
9071
9072safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties* in_struct) :
9073 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009074 deviceNodeMask(in_struct->deviceNodeMask),
9075 deviceLUIDValid(in_struct->deviceLUIDValid)
9076{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009077 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009078 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9079 deviceUUID[i] = in_struct->deviceUUID[i];
9080 }
9081 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9082 driverUUID[i] = in_struct->driverUUID[i];
9083 }
9084 for (uint32_t i=0; i<VK_LUID_SIZE; ++i) {
9085 deviceLUID[i] = in_struct->deviceLUID[i];
9086 }
9087}
9088
Jason Macnak8f28eec2019-08-09 12:57:01 -07009089safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties() :
9090 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009091{}
9092
9093safe_VkPhysicalDeviceIDProperties::safe_VkPhysicalDeviceIDProperties(const safe_VkPhysicalDeviceIDProperties& src)
9094{
9095 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009096 deviceNodeMask = src.deviceNodeMask;
9097 deviceLUIDValid = src.deviceLUIDValid;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009098 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009099 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9100 deviceUUID[i] = src.deviceUUID[i];
9101 }
9102 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9103 driverUUID[i] = src.driverUUID[i];
9104 }
9105 for (uint32_t i=0; i<VK_LUID_SIZE; ++i) {
9106 deviceLUID[i] = src.deviceLUID[i];
9107 }
9108}
9109
9110safe_VkPhysicalDeviceIDProperties& safe_VkPhysicalDeviceIDProperties::operator=(const safe_VkPhysicalDeviceIDProperties& src)
9111{
9112 if (&src == this) return *this;
9113
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009114 if (pNext)
9115 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009116
9117 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009118 deviceNodeMask = src.deviceNodeMask;
9119 deviceLUIDValid = src.deviceLUIDValid;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009120 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009121 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9122 deviceUUID[i] = src.deviceUUID[i];
9123 }
9124 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9125 driverUUID[i] = src.driverUUID[i];
9126 }
9127 for (uint32_t i=0; i<VK_LUID_SIZE; ++i) {
9128 deviceLUID[i] = src.deviceLUID[i];
9129 }
9130
9131 return *this;
9132}
9133
9134safe_VkPhysicalDeviceIDProperties::~safe_VkPhysicalDeviceIDProperties()
9135{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009136 if (pNext)
9137 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009138}
9139
9140void safe_VkPhysicalDeviceIDProperties::initialize(const VkPhysicalDeviceIDProperties* in_struct)
9141{
9142 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009143 deviceNodeMask = in_struct->deviceNodeMask;
9144 deviceLUIDValid = in_struct->deviceLUIDValid;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009145 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009146 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9147 deviceUUID[i] = in_struct->deviceUUID[i];
9148 }
9149 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9150 driverUUID[i] = in_struct->driverUUID[i];
9151 }
9152 for (uint32_t i=0; i<VK_LUID_SIZE; ++i) {
9153 deviceLUID[i] = in_struct->deviceLUID[i];
9154 }
9155}
9156
9157void safe_VkPhysicalDeviceIDProperties::initialize(const safe_VkPhysicalDeviceIDProperties* src)
9158{
9159 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009160 deviceNodeMask = src->deviceNodeMask;
9161 deviceLUIDValid = src->deviceLUIDValid;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009162 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009163 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9164 deviceUUID[i] = src->deviceUUID[i];
9165 }
9166 for (uint32_t i=0; i<VK_UUID_SIZE; ++i) {
9167 driverUUID[i] = src->driverUUID[i];
9168 }
9169 for (uint32_t i=0; i<VK_LUID_SIZE; ++i) {
9170 deviceLUID[i] = src->deviceLUID[i];
9171 }
9172}
9173
9174safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo* in_struct) :
9175 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009176 handleTypes(in_struct->handleTypes)
9177{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009178 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009179}
9180
Jason Macnak8f28eec2019-08-09 12:57:01 -07009181safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo() :
9182 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009183{}
9184
9185safe_VkExternalMemoryImageCreateInfo::safe_VkExternalMemoryImageCreateInfo(const safe_VkExternalMemoryImageCreateInfo& src)
9186{
9187 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009188 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009189 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009190}
9191
9192safe_VkExternalMemoryImageCreateInfo& safe_VkExternalMemoryImageCreateInfo::operator=(const safe_VkExternalMemoryImageCreateInfo& src)
9193{
9194 if (&src == this) return *this;
9195
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009196 if (pNext)
9197 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009198
9199 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009200 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009201 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009202
9203 return *this;
9204}
9205
9206safe_VkExternalMemoryImageCreateInfo::~safe_VkExternalMemoryImageCreateInfo()
9207{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009208 if (pNext)
9209 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009210}
9211
9212void safe_VkExternalMemoryImageCreateInfo::initialize(const VkExternalMemoryImageCreateInfo* in_struct)
9213{
9214 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009215 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009216 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009217}
9218
9219void safe_VkExternalMemoryImageCreateInfo::initialize(const safe_VkExternalMemoryImageCreateInfo* src)
9220{
9221 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009222 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009223 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009224}
9225
9226safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo* in_struct) :
9227 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009228 handleTypes(in_struct->handleTypes)
9229{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009230 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009231}
9232
Jason Macnak8f28eec2019-08-09 12:57:01 -07009233safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo() :
9234 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009235{}
9236
9237safe_VkExternalMemoryBufferCreateInfo::safe_VkExternalMemoryBufferCreateInfo(const safe_VkExternalMemoryBufferCreateInfo& src)
9238{
9239 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009240 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009241 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009242}
9243
9244safe_VkExternalMemoryBufferCreateInfo& safe_VkExternalMemoryBufferCreateInfo::operator=(const safe_VkExternalMemoryBufferCreateInfo& src)
9245{
9246 if (&src == this) return *this;
9247
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009248 if (pNext)
9249 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009250
9251 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009252 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009253 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009254
9255 return *this;
9256}
9257
9258safe_VkExternalMemoryBufferCreateInfo::~safe_VkExternalMemoryBufferCreateInfo()
9259{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009260 if (pNext)
9261 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009262}
9263
9264void safe_VkExternalMemoryBufferCreateInfo::initialize(const VkExternalMemoryBufferCreateInfo* in_struct)
9265{
9266 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009267 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009268 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009269}
9270
9271void safe_VkExternalMemoryBufferCreateInfo::initialize(const safe_VkExternalMemoryBufferCreateInfo* src)
9272{
9273 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009274 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009275 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009276}
9277
9278safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo* in_struct) :
9279 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009280 handleTypes(in_struct->handleTypes)
9281{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009282 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009283}
9284
Jason Macnak8f28eec2019-08-09 12:57:01 -07009285safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo() :
9286 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009287{}
9288
9289safe_VkExportMemoryAllocateInfo::safe_VkExportMemoryAllocateInfo(const safe_VkExportMemoryAllocateInfo& src)
9290{
9291 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009292 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009293 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009294}
9295
9296safe_VkExportMemoryAllocateInfo& safe_VkExportMemoryAllocateInfo::operator=(const safe_VkExportMemoryAllocateInfo& src)
9297{
9298 if (&src == this) return *this;
9299
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009300 if (pNext)
9301 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009302
9303 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009304 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009305 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009306
9307 return *this;
9308}
9309
9310safe_VkExportMemoryAllocateInfo::~safe_VkExportMemoryAllocateInfo()
9311{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009312 if (pNext)
9313 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009314}
9315
9316void safe_VkExportMemoryAllocateInfo::initialize(const VkExportMemoryAllocateInfo* in_struct)
9317{
9318 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009319 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009320 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009321}
9322
9323void safe_VkExportMemoryAllocateInfo::initialize(const safe_VkExportMemoryAllocateInfo* src)
9324{
9325 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009326 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009327 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009328}
9329
9330safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo* in_struct) :
9331 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009332 handleType(in_struct->handleType)
9333{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009334 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009335}
9336
Jason Macnak8f28eec2019-08-09 12:57:01 -07009337safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo() :
9338 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009339{}
9340
9341safe_VkPhysicalDeviceExternalFenceInfo::safe_VkPhysicalDeviceExternalFenceInfo(const safe_VkPhysicalDeviceExternalFenceInfo& src)
9342{
9343 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009344 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009345 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009346}
9347
9348safe_VkPhysicalDeviceExternalFenceInfo& safe_VkPhysicalDeviceExternalFenceInfo::operator=(const safe_VkPhysicalDeviceExternalFenceInfo& src)
9349{
9350 if (&src == this) return *this;
9351
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009352 if (pNext)
9353 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009354
9355 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009356 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009357 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009358
9359 return *this;
9360}
9361
9362safe_VkPhysicalDeviceExternalFenceInfo::~safe_VkPhysicalDeviceExternalFenceInfo()
9363{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009364 if (pNext)
9365 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009366}
9367
9368void safe_VkPhysicalDeviceExternalFenceInfo::initialize(const VkPhysicalDeviceExternalFenceInfo* in_struct)
9369{
9370 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009371 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009372 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009373}
9374
9375void safe_VkPhysicalDeviceExternalFenceInfo::initialize(const safe_VkPhysicalDeviceExternalFenceInfo* src)
9376{
9377 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009378 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009379 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009380}
9381
9382safe_VkExternalFenceProperties::safe_VkExternalFenceProperties(const VkExternalFenceProperties* in_struct) :
9383 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009384 exportFromImportedHandleTypes(in_struct->exportFromImportedHandleTypes),
9385 compatibleHandleTypes(in_struct->compatibleHandleTypes),
9386 externalFenceFeatures(in_struct->externalFenceFeatures)
9387{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009388 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009389}
9390
Jason Macnak8f28eec2019-08-09 12:57:01 -07009391safe_VkExternalFenceProperties::safe_VkExternalFenceProperties() :
9392 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009393{}
9394
9395safe_VkExternalFenceProperties::safe_VkExternalFenceProperties(const safe_VkExternalFenceProperties& src)
9396{
9397 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009398 exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9399 compatibleHandleTypes = src.compatibleHandleTypes;
9400 externalFenceFeatures = src.externalFenceFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009401 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009402}
9403
9404safe_VkExternalFenceProperties& safe_VkExternalFenceProperties::operator=(const safe_VkExternalFenceProperties& src)
9405{
9406 if (&src == this) return *this;
9407
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009408 if (pNext)
9409 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009410
9411 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009412 exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9413 compatibleHandleTypes = src.compatibleHandleTypes;
9414 externalFenceFeatures = src.externalFenceFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009415 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009416
9417 return *this;
9418}
9419
9420safe_VkExternalFenceProperties::~safe_VkExternalFenceProperties()
9421{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009422 if (pNext)
9423 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009424}
9425
9426void safe_VkExternalFenceProperties::initialize(const VkExternalFenceProperties* in_struct)
9427{
9428 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009429 exportFromImportedHandleTypes = in_struct->exportFromImportedHandleTypes;
9430 compatibleHandleTypes = in_struct->compatibleHandleTypes;
9431 externalFenceFeatures = in_struct->externalFenceFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009432 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009433}
9434
9435void safe_VkExternalFenceProperties::initialize(const safe_VkExternalFenceProperties* src)
9436{
9437 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009438 exportFromImportedHandleTypes = src->exportFromImportedHandleTypes;
9439 compatibleHandleTypes = src->compatibleHandleTypes;
9440 externalFenceFeatures = src->externalFenceFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009441 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009442}
9443
9444safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo(const VkExportFenceCreateInfo* in_struct) :
9445 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009446 handleTypes(in_struct->handleTypes)
9447{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009448 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009449}
9450
Jason Macnak8f28eec2019-08-09 12:57:01 -07009451safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo() :
9452 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009453{}
9454
9455safe_VkExportFenceCreateInfo::safe_VkExportFenceCreateInfo(const safe_VkExportFenceCreateInfo& src)
9456{
9457 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009458 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009459 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009460}
9461
9462safe_VkExportFenceCreateInfo& safe_VkExportFenceCreateInfo::operator=(const safe_VkExportFenceCreateInfo& src)
9463{
9464 if (&src == this) return *this;
9465
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009466 if (pNext)
9467 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009468
9469 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009470 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009471 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009472
9473 return *this;
9474}
9475
9476safe_VkExportFenceCreateInfo::~safe_VkExportFenceCreateInfo()
9477{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009478 if (pNext)
9479 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009480}
9481
9482void safe_VkExportFenceCreateInfo::initialize(const VkExportFenceCreateInfo* in_struct)
9483{
9484 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009485 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009486 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009487}
9488
9489void safe_VkExportFenceCreateInfo::initialize(const safe_VkExportFenceCreateInfo* src)
9490{
9491 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009492 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009493 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009494}
9495
9496safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo* in_struct) :
9497 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009498 handleTypes(in_struct->handleTypes)
9499{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009500 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009501}
9502
Jason Macnak8f28eec2019-08-09 12:57:01 -07009503safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo() :
9504 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009505{}
9506
9507safe_VkExportSemaphoreCreateInfo::safe_VkExportSemaphoreCreateInfo(const safe_VkExportSemaphoreCreateInfo& src)
9508{
9509 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009510 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009511 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009512}
9513
9514safe_VkExportSemaphoreCreateInfo& safe_VkExportSemaphoreCreateInfo::operator=(const safe_VkExportSemaphoreCreateInfo& src)
9515{
9516 if (&src == this) return *this;
9517
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009518 if (pNext)
9519 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009520
9521 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009522 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009523 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009524
9525 return *this;
9526}
9527
9528safe_VkExportSemaphoreCreateInfo::~safe_VkExportSemaphoreCreateInfo()
9529{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009530 if (pNext)
9531 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009532}
9533
9534void safe_VkExportSemaphoreCreateInfo::initialize(const VkExportSemaphoreCreateInfo* in_struct)
9535{
9536 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009537 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009538 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009539}
9540
9541void safe_VkExportSemaphoreCreateInfo::initialize(const safe_VkExportSemaphoreCreateInfo* src)
9542{
9543 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009544 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009545 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009546}
9547
9548safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo* in_struct) :
9549 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009550 handleType(in_struct->handleType)
9551{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009552 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009553}
9554
Jason Macnak8f28eec2019-08-09 12:57:01 -07009555safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo() :
9556 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009557{}
9558
9559safe_VkPhysicalDeviceExternalSemaphoreInfo::safe_VkPhysicalDeviceExternalSemaphoreInfo(const safe_VkPhysicalDeviceExternalSemaphoreInfo& src)
9560{
9561 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009562 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009563 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009564}
9565
9566safe_VkPhysicalDeviceExternalSemaphoreInfo& safe_VkPhysicalDeviceExternalSemaphoreInfo::operator=(const safe_VkPhysicalDeviceExternalSemaphoreInfo& src)
9567{
9568 if (&src == this) return *this;
9569
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009570 if (pNext)
9571 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009572
9573 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009574 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009575 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009576
9577 return *this;
9578}
9579
9580safe_VkPhysicalDeviceExternalSemaphoreInfo::~safe_VkPhysicalDeviceExternalSemaphoreInfo()
9581{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009582 if (pNext)
9583 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009584}
9585
9586void safe_VkPhysicalDeviceExternalSemaphoreInfo::initialize(const VkPhysicalDeviceExternalSemaphoreInfo* in_struct)
9587{
9588 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009589 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009590 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009591}
9592
9593void safe_VkPhysicalDeviceExternalSemaphoreInfo::initialize(const safe_VkPhysicalDeviceExternalSemaphoreInfo* src)
9594{
9595 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009596 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009597 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009598}
9599
9600safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties* in_struct) :
9601 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009602 exportFromImportedHandleTypes(in_struct->exportFromImportedHandleTypes),
9603 compatibleHandleTypes(in_struct->compatibleHandleTypes),
9604 externalSemaphoreFeatures(in_struct->externalSemaphoreFeatures)
9605{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009606 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009607}
9608
Jason Macnak8f28eec2019-08-09 12:57:01 -07009609safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties() :
9610 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009611{}
9612
9613safe_VkExternalSemaphoreProperties::safe_VkExternalSemaphoreProperties(const safe_VkExternalSemaphoreProperties& src)
9614{
9615 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009616 exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9617 compatibleHandleTypes = src.compatibleHandleTypes;
9618 externalSemaphoreFeatures = src.externalSemaphoreFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009619 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009620}
9621
9622safe_VkExternalSemaphoreProperties& safe_VkExternalSemaphoreProperties::operator=(const safe_VkExternalSemaphoreProperties& src)
9623{
9624 if (&src == this) return *this;
9625
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009626 if (pNext)
9627 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009628
9629 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009630 exportFromImportedHandleTypes = src.exportFromImportedHandleTypes;
9631 compatibleHandleTypes = src.compatibleHandleTypes;
9632 externalSemaphoreFeatures = src.externalSemaphoreFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009633 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009634
9635 return *this;
9636}
9637
9638safe_VkExternalSemaphoreProperties::~safe_VkExternalSemaphoreProperties()
9639{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009640 if (pNext)
9641 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009642}
9643
9644void safe_VkExternalSemaphoreProperties::initialize(const VkExternalSemaphoreProperties* in_struct)
9645{
9646 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009647 exportFromImportedHandleTypes = in_struct->exportFromImportedHandleTypes;
9648 compatibleHandleTypes = in_struct->compatibleHandleTypes;
9649 externalSemaphoreFeatures = in_struct->externalSemaphoreFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009650 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009651}
9652
9653void safe_VkExternalSemaphoreProperties::initialize(const safe_VkExternalSemaphoreProperties* src)
9654{
9655 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009656 exportFromImportedHandleTypes = src->exportFromImportedHandleTypes;
9657 compatibleHandleTypes = src->compatibleHandleTypes;
9658 externalSemaphoreFeatures = src->externalSemaphoreFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009659 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009660}
9661
9662safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties* in_struct) :
9663 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009664 maxPerSetDescriptors(in_struct->maxPerSetDescriptors),
9665 maxMemoryAllocationSize(in_struct->maxMemoryAllocationSize)
9666{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009667 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009668}
9669
Jason Macnak8f28eec2019-08-09 12:57:01 -07009670safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties() :
9671 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009672{}
9673
9674safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties(const safe_VkPhysicalDeviceMaintenance3Properties& src)
9675{
9676 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009677 maxPerSetDescriptors = src.maxPerSetDescriptors;
9678 maxMemoryAllocationSize = src.maxMemoryAllocationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009679 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009680}
9681
9682safe_VkPhysicalDeviceMaintenance3Properties& safe_VkPhysicalDeviceMaintenance3Properties::operator=(const safe_VkPhysicalDeviceMaintenance3Properties& src)
9683{
9684 if (&src == this) return *this;
9685
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009686 if (pNext)
9687 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009688
9689 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009690 maxPerSetDescriptors = src.maxPerSetDescriptors;
9691 maxMemoryAllocationSize = src.maxMemoryAllocationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009692 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009693
9694 return *this;
9695}
9696
9697safe_VkPhysicalDeviceMaintenance3Properties::~safe_VkPhysicalDeviceMaintenance3Properties()
9698{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009699 if (pNext)
9700 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009701}
9702
9703void safe_VkPhysicalDeviceMaintenance3Properties::initialize(const VkPhysicalDeviceMaintenance3Properties* in_struct)
9704{
9705 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009706 maxPerSetDescriptors = in_struct->maxPerSetDescriptors;
9707 maxMemoryAllocationSize = in_struct->maxMemoryAllocationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009708 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009709}
9710
9711void safe_VkPhysicalDeviceMaintenance3Properties::initialize(const safe_VkPhysicalDeviceMaintenance3Properties* src)
9712{
9713 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009714 maxPerSetDescriptors = src->maxPerSetDescriptors;
9715 maxMemoryAllocationSize = src->maxMemoryAllocationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009716 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009717}
9718
9719safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport* in_struct) :
9720 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009721 supported(in_struct->supported)
9722{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009723 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009724}
9725
Jason Macnak8f28eec2019-08-09 12:57:01 -07009726safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport() :
9727 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009728{}
9729
9730safe_VkDescriptorSetLayoutSupport::safe_VkDescriptorSetLayoutSupport(const safe_VkDescriptorSetLayoutSupport& src)
9731{
9732 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009733 supported = src.supported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009734 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009735}
9736
9737safe_VkDescriptorSetLayoutSupport& safe_VkDescriptorSetLayoutSupport::operator=(const safe_VkDescriptorSetLayoutSupport& src)
9738{
9739 if (&src == this) return *this;
9740
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009741 if (pNext)
9742 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009743
9744 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009745 supported = src.supported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009746 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009747
9748 return *this;
9749}
9750
9751safe_VkDescriptorSetLayoutSupport::~safe_VkDescriptorSetLayoutSupport()
9752{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009753 if (pNext)
9754 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009755}
9756
9757void safe_VkDescriptorSetLayoutSupport::initialize(const VkDescriptorSetLayoutSupport* in_struct)
9758{
9759 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009760 supported = in_struct->supported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009761 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009762}
9763
9764void safe_VkDescriptorSetLayoutSupport::initialize(const safe_VkDescriptorSetLayoutSupport* src)
9765{
9766 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009767 supported = src->supported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009768 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009769}
9770
9771safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct) :
9772 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009773 shaderDrawParameters(in_struct->shaderDrawParameters)
9774{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009775 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009776}
9777
Jason Macnak8f28eec2019-08-09 12:57:01 -07009778safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures() :
9779 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -07009780{}
9781
9782safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures(const safe_VkPhysicalDeviceShaderDrawParametersFeatures& src)
9783{
9784 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009785 shaderDrawParameters = src.shaderDrawParameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009786 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009787}
9788
9789safe_VkPhysicalDeviceShaderDrawParametersFeatures& safe_VkPhysicalDeviceShaderDrawParametersFeatures::operator=(const safe_VkPhysicalDeviceShaderDrawParametersFeatures& src)
9790{
9791 if (&src == this) return *this;
9792
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009793 if (pNext)
9794 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009795
9796 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009797 shaderDrawParameters = src.shaderDrawParameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009798 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009799
9800 return *this;
9801}
9802
9803safe_VkPhysicalDeviceShaderDrawParametersFeatures::~safe_VkPhysicalDeviceShaderDrawParametersFeatures()
9804{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009805 if (pNext)
9806 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009807}
9808
9809void safe_VkPhysicalDeviceShaderDrawParametersFeatures::initialize(const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct)
9810{
9811 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009812 shaderDrawParameters = in_struct->shaderDrawParameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009813 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009814}
9815
9816void safe_VkPhysicalDeviceShaderDrawParametersFeatures::initialize(const safe_VkPhysicalDeviceShaderDrawParametersFeatures* src)
9817{
9818 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009819 shaderDrawParameters = src->shaderDrawParameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009820 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009821}
9822
9823safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const VkSwapchainCreateInfoKHR* in_struct) :
9824 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009825 flags(in_struct->flags),
9826 surface(in_struct->surface),
9827 minImageCount(in_struct->minImageCount),
9828 imageFormat(in_struct->imageFormat),
9829 imageColorSpace(in_struct->imageColorSpace),
9830 imageExtent(in_struct->imageExtent),
9831 imageArrayLayers(in_struct->imageArrayLayers),
9832 imageUsage(in_struct->imageUsage),
9833 imageSharingMode(in_struct->imageSharingMode),
9834 queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
9835 pQueueFamilyIndices(nullptr),
9836 preTransform(in_struct->preTransform),
9837 compositeAlpha(in_struct->compositeAlpha),
9838 presentMode(in_struct->presentMode),
9839 clipped(in_struct->clipped),
9840 oldSwapchain(in_struct->oldSwapchain)
9841{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009842 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009843 if (in_struct->pQueueFamilyIndices) {
9844 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
9845 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
9846 }
9847}
9848
9849safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -07009850 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009851 pQueueFamilyIndices(nullptr)
9852{}
9853
9854safe_VkSwapchainCreateInfoKHR::safe_VkSwapchainCreateInfoKHR(const safe_VkSwapchainCreateInfoKHR& src)
9855{
9856 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009857 flags = src.flags;
9858 surface = src.surface;
9859 minImageCount = src.minImageCount;
9860 imageFormat = src.imageFormat;
9861 imageColorSpace = src.imageColorSpace;
9862 imageExtent = src.imageExtent;
9863 imageArrayLayers = src.imageArrayLayers;
9864 imageUsage = src.imageUsage;
9865 imageSharingMode = src.imageSharingMode;
9866 queueFamilyIndexCount = src.queueFamilyIndexCount;
9867 pQueueFamilyIndices = nullptr;
9868 preTransform = src.preTransform;
9869 compositeAlpha = src.compositeAlpha;
9870 presentMode = src.presentMode;
9871 clipped = src.clipped;
9872 oldSwapchain = src.oldSwapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009873 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009874 if (src.pQueueFamilyIndices) {
9875 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
9876 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
9877 }
9878}
9879
9880safe_VkSwapchainCreateInfoKHR& safe_VkSwapchainCreateInfoKHR::operator=(const safe_VkSwapchainCreateInfoKHR& src)
9881{
9882 if (&src == this) return *this;
9883
9884 if (pQueueFamilyIndices)
9885 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009886 if (pNext)
9887 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009888
9889 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009890 flags = src.flags;
9891 surface = src.surface;
9892 minImageCount = src.minImageCount;
9893 imageFormat = src.imageFormat;
9894 imageColorSpace = src.imageColorSpace;
9895 imageExtent = src.imageExtent;
9896 imageArrayLayers = src.imageArrayLayers;
9897 imageUsage = src.imageUsage;
9898 imageSharingMode = src.imageSharingMode;
9899 queueFamilyIndexCount = src.queueFamilyIndexCount;
9900 pQueueFamilyIndices = nullptr;
9901 preTransform = src.preTransform;
9902 compositeAlpha = src.compositeAlpha;
9903 presentMode = src.presentMode;
9904 clipped = src.clipped;
9905 oldSwapchain = src.oldSwapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009906 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009907 if (src.pQueueFamilyIndices) {
9908 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
9909 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
9910 }
9911
9912 return *this;
9913}
9914
9915safe_VkSwapchainCreateInfoKHR::~safe_VkSwapchainCreateInfoKHR()
9916{
9917 if (pQueueFamilyIndices)
9918 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009919 if (pNext)
9920 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009921}
9922
9923void safe_VkSwapchainCreateInfoKHR::initialize(const VkSwapchainCreateInfoKHR* in_struct)
9924{
9925 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009926 flags = in_struct->flags;
9927 surface = in_struct->surface;
9928 minImageCount = in_struct->minImageCount;
9929 imageFormat = in_struct->imageFormat;
9930 imageColorSpace = in_struct->imageColorSpace;
9931 imageExtent = in_struct->imageExtent;
9932 imageArrayLayers = in_struct->imageArrayLayers;
9933 imageUsage = in_struct->imageUsage;
9934 imageSharingMode = in_struct->imageSharingMode;
9935 queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
9936 pQueueFamilyIndices = nullptr;
9937 preTransform = in_struct->preTransform;
9938 compositeAlpha = in_struct->compositeAlpha;
9939 presentMode = in_struct->presentMode;
9940 clipped = in_struct->clipped;
9941 oldSwapchain = in_struct->oldSwapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009942 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009943 if (in_struct->pQueueFamilyIndices) {
9944 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
9945 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
9946 }
9947}
9948
9949void safe_VkSwapchainCreateInfoKHR::initialize(const safe_VkSwapchainCreateInfoKHR* src)
9950{
9951 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -07009952 flags = src->flags;
9953 surface = src->surface;
9954 minImageCount = src->minImageCount;
9955 imageFormat = src->imageFormat;
9956 imageColorSpace = src->imageColorSpace;
9957 imageExtent = src->imageExtent;
9958 imageArrayLayers = src->imageArrayLayers;
9959 imageUsage = src->imageUsage;
9960 imageSharingMode = src->imageSharingMode;
9961 queueFamilyIndexCount = src->queueFamilyIndexCount;
9962 pQueueFamilyIndices = nullptr;
9963 preTransform = src->preTransform;
9964 compositeAlpha = src->compositeAlpha;
9965 presentMode = src->presentMode;
9966 clipped = src->clipped;
9967 oldSwapchain = src->oldSwapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009968 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009969 if (src->pQueueFamilyIndices) {
9970 pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
9971 memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
9972 }
9973}
9974
9975safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const VkPresentInfoKHR* in_struct) :
9976 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -07009977 waitSemaphoreCount(in_struct->waitSemaphoreCount),
9978 pWaitSemaphores(nullptr),
9979 swapchainCount(in_struct->swapchainCount),
9980 pSwapchains(nullptr),
9981 pImageIndices(nullptr),
9982 pResults(nullptr)
9983{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -06009984 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -07009985 if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
9986 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
9987 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
9988 pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
9989 }
9990 }
9991 if (swapchainCount && in_struct->pSwapchains) {
9992 pSwapchains = new VkSwapchainKHR[swapchainCount];
9993 for (uint32_t i=0; i<swapchainCount; ++i) {
9994 pSwapchains[i] = in_struct->pSwapchains[i];
9995 }
9996 }
9997 if (in_struct->pImageIndices) {
9998 pImageIndices = new uint32_t[in_struct->swapchainCount];
9999 memcpy ((void *)pImageIndices, (void *)in_struct->pImageIndices, sizeof(uint32_t)*in_struct->swapchainCount);
10000 }
10001 if (in_struct->pResults) {
10002 pResults = new VkResult[in_struct->swapchainCount];
10003 memcpy ((void *)pResults, (void *)in_struct->pResults, sizeof(VkResult)*in_struct->swapchainCount);
10004 }
10005}
10006
10007safe_VkPresentInfoKHR::safe_VkPresentInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070010008 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010009 pWaitSemaphores(nullptr),
10010 pSwapchains(nullptr),
10011 pImageIndices(nullptr),
10012 pResults(nullptr)
10013{}
10014
10015safe_VkPresentInfoKHR::safe_VkPresentInfoKHR(const safe_VkPresentInfoKHR& src)
10016{
10017 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010018 waitSemaphoreCount = src.waitSemaphoreCount;
10019 pWaitSemaphores = nullptr;
10020 swapchainCount = src.swapchainCount;
10021 pSwapchains = nullptr;
10022 pImageIndices = nullptr;
10023 pResults = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010024 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010025 if (waitSemaphoreCount && src.pWaitSemaphores) {
10026 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10027 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
10028 pWaitSemaphores[i] = src.pWaitSemaphores[i];
10029 }
10030 }
10031 if (swapchainCount && src.pSwapchains) {
10032 pSwapchains = new VkSwapchainKHR[swapchainCount];
10033 for (uint32_t i=0; i<swapchainCount; ++i) {
10034 pSwapchains[i] = src.pSwapchains[i];
10035 }
10036 }
10037 if (src.pImageIndices) {
10038 pImageIndices = new uint32_t[src.swapchainCount];
10039 memcpy ((void *)pImageIndices, (void *)src.pImageIndices, sizeof(uint32_t)*src.swapchainCount);
10040 }
10041 if (src.pResults) {
10042 pResults = new VkResult[src.swapchainCount];
10043 memcpy ((void *)pResults, (void *)src.pResults, sizeof(VkResult)*src.swapchainCount);
10044 }
10045}
10046
10047safe_VkPresentInfoKHR& safe_VkPresentInfoKHR::operator=(const safe_VkPresentInfoKHR& src)
10048{
10049 if (&src == this) return *this;
10050
10051 if (pWaitSemaphores)
10052 delete[] pWaitSemaphores;
10053 if (pSwapchains)
10054 delete[] pSwapchains;
10055 if (pImageIndices)
10056 delete[] pImageIndices;
10057 if (pResults)
10058 delete[] pResults;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010059 if (pNext)
10060 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010061
10062 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010063 waitSemaphoreCount = src.waitSemaphoreCount;
10064 pWaitSemaphores = nullptr;
10065 swapchainCount = src.swapchainCount;
10066 pSwapchains = nullptr;
10067 pImageIndices = nullptr;
10068 pResults = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010069 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010070 if (waitSemaphoreCount && src.pWaitSemaphores) {
10071 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10072 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
10073 pWaitSemaphores[i] = src.pWaitSemaphores[i];
10074 }
10075 }
10076 if (swapchainCount && src.pSwapchains) {
10077 pSwapchains = new VkSwapchainKHR[swapchainCount];
10078 for (uint32_t i=0; i<swapchainCount; ++i) {
10079 pSwapchains[i] = src.pSwapchains[i];
10080 }
10081 }
10082 if (src.pImageIndices) {
10083 pImageIndices = new uint32_t[src.swapchainCount];
10084 memcpy ((void *)pImageIndices, (void *)src.pImageIndices, sizeof(uint32_t)*src.swapchainCount);
10085 }
10086 if (src.pResults) {
10087 pResults = new VkResult[src.swapchainCount];
10088 memcpy ((void *)pResults, (void *)src.pResults, sizeof(VkResult)*src.swapchainCount);
10089 }
10090
10091 return *this;
10092}
10093
10094safe_VkPresentInfoKHR::~safe_VkPresentInfoKHR()
10095{
10096 if (pWaitSemaphores)
10097 delete[] pWaitSemaphores;
10098 if (pSwapchains)
10099 delete[] pSwapchains;
10100 if (pImageIndices)
10101 delete[] pImageIndices;
10102 if (pResults)
10103 delete[] pResults;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010104 if (pNext)
10105 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010106}
10107
10108void safe_VkPresentInfoKHR::initialize(const VkPresentInfoKHR* in_struct)
10109{
10110 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010111 waitSemaphoreCount = in_struct->waitSemaphoreCount;
10112 pWaitSemaphores = nullptr;
10113 swapchainCount = in_struct->swapchainCount;
10114 pSwapchains = nullptr;
10115 pImageIndices = nullptr;
10116 pResults = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010117 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010118 if (waitSemaphoreCount && in_struct->pWaitSemaphores) {
10119 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10120 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
10121 pWaitSemaphores[i] = in_struct->pWaitSemaphores[i];
10122 }
10123 }
10124 if (swapchainCount && in_struct->pSwapchains) {
10125 pSwapchains = new VkSwapchainKHR[swapchainCount];
10126 for (uint32_t i=0; i<swapchainCount; ++i) {
10127 pSwapchains[i] = in_struct->pSwapchains[i];
10128 }
10129 }
10130 if (in_struct->pImageIndices) {
10131 pImageIndices = new uint32_t[in_struct->swapchainCount];
10132 memcpy ((void *)pImageIndices, (void *)in_struct->pImageIndices, sizeof(uint32_t)*in_struct->swapchainCount);
10133 }
10134 if (in_struct->pResults) {
10135 pResults = new VkResult[in_struct->swapchainCount];
10136 memcpy ((void *)pResults, (void *)in_struct->pResults, sizeof(VkResult)*in_struct->swapchainCount);
10137 }
10138}
10139
10140void safe_VkPresentInfoKHR::initialize(const safe_VkPresentInfoKHR* src)
10141{
10142 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010143 waitSemaphoreCount = src->waitSemaphoreCount;
10144 pWaitSemaphores = nullptr;
10145 swapchainCount = src->swapchainCount;
10146 pSwapchains = nullptr;
10147 pImageIndices = nullptr;
10148 pResults = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010149 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010150 if (waitSemaphoreCount && src->pWaitSemaphores) {
10151 pWaitSemaphores = new VkSemaphore[waitSemaphoreCount];
10152 for (uint32_t i=0; i<waitSemaphoreCount; ++i) {
10153 pWaitSemaphores[i] = src->pWaitSemaphores[i];
10154 }
10155 }
10156 if (swapchainCount && src->pSwapchains) {
10157 pSwapchains = new VkSwapchainKHR[swapchainCount];
10158 for (uint32_t i=0; i<swapchainCount; ++i) {
10159 pSwapchains[i] = src->pSwapchains[i];
10160 }
10161 }
10162 if (src->pImageIndices) {
10163 pImageIndices = new uint32_t[src->swapchainCount];
10164 memcpy ((void *)pImageIndices, (void *)src->pImageIndices, sizeof(uint32_t)*src->swapchainCount);
10165 }
10166 if (src->pResults) {
10167 pResults = new VkResult[src->swapchainCount];
10168 memcpy ((void *)pResults, (void *)src->pResults, sizeof(VkResult)*src->swapchainCount);
10169 }
10170}
10171
10172safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR(const VkImageSwapchainCreateInfoKHR* in_struct) :
10173 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010174 swapchain(in_struct->swapchain)
10175{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010176 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010177}
10178
Jason Macnak8f28eec2019-08-09 12:57:01 -070010179safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR() :
10180 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010181{}
10182
10183safe_VkImageSwapchainCreateInfoKHR::safe_VkImageSwapchainCreateInfoKHR(const safe_VkImageSwapchainCreateInfoKHR& src)
10184{
10185 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010186 swapchain = src.swapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010187 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010188}
10189
10190safe_VkImageSwapchainCreateInfoKHR& safe_VkImageSwapchainCreateInfoKHR::operator=(const safe_VkImageSwapchainCreateInfoKHR& src)
10191{
10192 if (&src == this) return *this;
10193
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010194 if (pNext)
10195 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010196
10197 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010198 swapchain = src.swapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010199 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010200
10201 return *this;
10202}
10203
10204safe_VkImageSwapchainCreateInfoKHR::~safe_VkImageSwapchainCreateInfoKHR()
10205{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010206 if (pNext)
10207 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010208}
10209
10210void safe_VkImageSwapchainCreateInfoKHR::initialize(const VkImageSwapchainCreateInfoKHR* in_struct)
10211{
10212 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010213 swapchain = in_struct->swapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010214 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010215}
10216
10217void safe_VkImageSwapchainCreateInfoKHR::initialize(const safe_VkImageSwapchainCreateInfoKHR* src)
10218{
10219 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010220 swapchain = src->swapchain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010221 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010222}
10223
10224safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR(const VkBindImageMemorySwapchainInfoKHR* in_struct) :
10225 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010226 swapchain(in_struct->swapchain),
10227 imageIndex(in_struct->imageIndex)
10228{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010229 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010230}
10231
Jason Macnak8f28eec2019-08-09 12:57:01 -070010232safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR() :
10233 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010234{}
10235
10236safe_VkBindImageMemorySwapchainInfoKHR::safe_VkBindImageMemorySwapchainInfoKHR(const safe_VkBindImageMemorySwapchainInfoKHR& src)
10237{
10238 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010239 swapchain = src.swapchain;
10240 imageIndex = src.imageIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010241 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010242}
10243
10244safe_VkBindImageMemorySwapchainInfoKHR& safe_VkBindImageMemorySwapchainInfoKHR::operator=(const safe_VkBindImageMemorySwapchainInfoKHR& src)
10245{
10246 if (&src == this) return *this;
10247
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010248 if (pNext)
10249 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010250
10251 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010252 swapchain = src.swapchain;
10253 imageIndex = src.imageIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010254 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010255
10256 return *this;
10257}
10258
10259safe_VkBindImageMemorySwapchainInfoKHR::~safe_VkBindImageMemorySwapchainInfoKHR()
10260{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010261 if (pNext)
10262 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010263}
10264
10265void safe_VkBindImageMemorySwapchainInfoKHR::initialize(const VkBindImageMemorySwapchainInfoKHR* in_struct)
10266{
10267 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010268 swapchain = in_struct->swapchain;
10269 imageIndex = in_struct->imageIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010270 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010271}
10272
10273void safe_VkBindImageMemorySwapchainInfoKHR::initialize(const safe_VkBindImageMemorySwapchainInfoKHR* src)
10274{
10275 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010276 swapchain = src->swapchain;
10277 imageIndex = src->imageIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010278 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010279}
10280
10281safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR(const VkAcquireNextImageInfoKHR* in_struct) :
10282 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010283 swapchain(in_struct->swapchain),
10284 timeout(in_struct->timeout),
10285 semaphore(in_struct->semaphore),
10286 fence(in_struct->fence),
10287 deviceMask(in_struct->deviceMask)
10288{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010289 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010290}
10291
Jason Macnak8f28eec2019-08-09 12:57:01 -070010292safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR() :
10293 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010294{}
10295
10296safe_VkAcquireNextImageInfoKHR::safe_VkAcquireNextImageInfoKHR(const safe_VkAcquireNextImageInfoKHR& src)
10297{
10298 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010299 swapchain = src.swapchain;
10300 timeout = src.timeout;
10301 semaphore = src.semaphore;
10302 fence = src.fence;
10303 deviceMask = src.deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010304 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010305}
10306
10307safe_VkAcquireNextImageInfoKHR& safe_VkAcquireNextImageInfoKHR::operator=(const safe_VkAcquireNextImageInfoKHR& src)
10308{
10309 if (&src == this) return *this;
10310
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010311 if (pNext)
10312 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010313
10314 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010315 swapchain = src.swapchain;
10316 timeout = src.timeout;
10317 semaphore = src.semaphore;
10318 fence = src.fence;
10319 deviceMask = src.deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010320 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010321
10322 return *this;
10323}
10324
10325safe_VkAcquireNextImageInfoKHR::~safe_VkAcquireNextImageInfoKHR()
10326{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010327 if (pNext)
10328 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010329}
10330
10331void safe_VkAcquireNextImageInfoKHR::initialize(const VkAcquireNextImageInfoKHR* in_struct)
10332{
10333 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010334 swapchain = in_struct->swapchain;
10335 timeout = in_struct->timeout;
10336 semaphore = in_struct->semaphore;
10337 fence = in_struct->fence;
10338 deviceMask = in_struct->deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010339 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010340}
10341
10342void safe_VkAcquireNextImageInfoKHR::initialize(const safe_VkAcquireNextImageInfoKHR* src)
10343{
10344 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010345 swapchain = src->swapchain;
10346 timeout = src->timeout;
10347 semaphore = src->semaphore;
10348 fence = src->fence;
10349 deviceMask = src->deviceMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010350 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010351}
10352
10353safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR(const VkDeviceGroupPresentCapabilitiesKHR* in_struct) :
10354 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010355 modes(in_struct->modes)
10356{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010357 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010358 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10359 presentMask[i] = in_struct->presentMask[i];
10360 }
10361}
10362
Jason Macnak8f28eec2019-08-09 12:57:01 -070010363safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR() :
10364 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010365{}
10366
10367safe_VkDeviceGroupPresentCapabilitiesKHR::safe_VkDeviceGroupPresentCapabilitiesKHR(const safe_VkDeviceGroupPresentCapabilitiesKHR& src)
10368{
10369 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010370 modes = src.modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010371 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010372 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10373 presentMask[i] = src.presentMask[i];
10374 }
10375}
10376
10377safe_VkDeviceGroupPresentCapabilitiesKHR& safe_VkDeviceGroupPresentCapabilitiesKHR::operator=(const safe_VkDeviceGroupPresentCapabilitiesKHR& src)
10378{
10379 if (&src == this) return *this;
10380
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010381 if (pNext)
10382 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010383
10384 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010385 modes = src.modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010386 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010387 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10388 presentMask[i] = src.presentMask[i];
10389 }
10390
10391 return *this;
10392}
10393
10394safe_VkDeviceGroupPresentCapabilitiesKHR::~safe_VkDeviceGroupPresentCapabilitiesKHR()
10395{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010396 if (pNext)
10397 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010398}
10399
10400void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const VkDeviceGroupPresentCapabilitiesKHR* in_struct)
10401{
10402 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010403 modes = in_struct->modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010404 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010405 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10406 presentMask[i] = in_struct->presentMask[i];
10407 }
10408}
10409
10410void safe_VkDeviceGroupPresentCapabilitiesKHR::initialize(const safe_VkDeviceGroupPresentCapabilitiesKHR* src)
10411{
10412 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010413 modes = src->modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010414 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010415 for (uint32_t i=0; i<VK_MAX_DEVICE_GROUP_SIZE; ++i) {
10416 presentMask[i] = src->presentMask[i];
10417 }
10418}
10419
10420safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const VkDeviceGroupPresentInfoKHR* in_struct) :
10421 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010422 swapchainCount(in_struct->swapchainCount),
10423 pDeviceMasks(nullptr),
10424 mode(in_struct->mode)
10425{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010426 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010427 if (in_struct->pDeviceMasks) {
10428 pDeviceMasks = new uint32_t[in_struct->swapchainCount];
10429 memcpy ((void *)pDeviceMasks, (void *)in_struct->pDeviceMasks, sizeof(uint32_t)*in_struct->swapchainCount);
10430 }
10431}
10432
10433safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070010434 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010435 pDeviceMasks(nullptr)
10436{}
10437
10438safe_VkDeviceGroupPresentInfoKHR::safe_VkDeviceGroupPresentInfoKHR(const safe_VkDeviceGroupPresentInfoKHR& src)
10439{
10440 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010441 swapchainCount = src.swapchainCount;
10442 pDeviceMasks = nullptr;
10443 mode = src.mode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010444 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010445 if (src.pDeviceMasks) {
10446 pDeviceMasks = new uint32_t[src.swapchainCount];
10447 memcpy ((void *)pDeviceMasks, (void *)src.pDeviceMasks, sizeof(uint32_t)*src.swapchainCount);
10448 }
10449}
10450
10451safe_VkDeviceGroupPresentInfoKHR& safe_VkDeviceGroupPresentInfoKHR::operator=(const safe_VkDeviceGroupPresentInfoKHR& src)
10452{
10453 if (&src == this) return *this;
10454
10455 if (pDeviceMasks)
10456 delete[] pDeviceMasks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010457 if (pNext)
10458 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010459
10460 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010461 swapchainCount = src.swapchainCount;
10462 pDeviceMasks = nullptr;
10463 mode = src.mode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010464 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010465 if (src.pDeviceMasks) {
10466 pDeviceMasks = new uint32_t[src.swapchainCount];
10467 memcpy ((void *)pDeviceMasks, (void *)src.pDeviceMasks, sizeof(uint32_t)*src.swapchainCount);
10468 }
10469
10470 return *this;
10471}
10472
10473safe_VkDeviceGroupPresentInfoKHR::~safe_VkDeviceGroupPresentInfoKHR()
10474{
10475 if (pDeviceMasks)
10476 delete[] pDeviceMasks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010477 if (pNext)
10478 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010479}
10480
10481void safe_VkDeviceGroupPresentInfoKHR::initialize(const VkDeviceGroupPresentInfoKHR* in_struct)
10482{
10483 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010484 swapchainCount = in_struct->swapchainCount;
10485 pDeviceMasks = nullptr;
10486 mode = in_struct->mode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010487 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010488 if (in_struct->pDeviceMasks) {
10489 pDeviceMasks = new uint32_t[in_struct->swapchainCount];
10490 memcpy ((void *)pDeviceMasks, (void *)in_struct->pDeviceMasks, sizeof(uint32_t)*in_struct->swapchainCount);
10491 }
10492}
10493
10494void safe_VkDeviceGroupPresentInfoKHR::initialize(const safe_VkDeviceGroupPresentInfoKHR* src)
10495{
10496 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010497 swapchainCount = src->swapchainCount;
10498 pDeviceMasks = nullptr;
10499 mode = src->mode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010500 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010501 if (src->pDeviceMasks) {
10502 pDeviceMasks = new uint32_t[src->swapchainCount];
10503 memcpy ((void *)pDeviceMasks, (void *)src->pDeviceMasks, sizeof(uint32_t)*src->swapchainCount);
10504 }
10505}
10506
10507safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR(const VkDeviceGroupSwapchainCreateInfoKHR* in_struct) :
10508 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010509 modes(in_struct->modes)
10510{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010511 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010512}
10513
Jason Macnak8f28eec2019-08-09 12:57:01 -070010514safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR() :
10515 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010516{}
10517
10518safe_VkDeviceGroupSwapchainCreateInfoKHR::safe_VkDeviceGroupSwapchainCreateInfoKHR(const safe_VkDeviceGroupSwapchainCreateInfoKHR& src)
10519{
10520 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010521 modes = src.modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010522 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010523}
10524
10525safe_VkDeviceGroupSwapchainCreateInfoKHR& safe_VkDeviceGroupSwapchainCreateInfoKHR::operator=(const safe_VkDeviceGroupSwapchainCreateInfoKHR& src)
10526{
10527 if (&src == this) return *this;
10528
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010529 if (pNext)
10530 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010531
10532 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010533 modes = src.modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010534 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010535
10536 return *this;
10537}
10538
10539safe_VkDeviceGroupSwapchainCreateInfoKHR::~safe_VkDeviceGroupSwapchainCreateInfoKHR()
10540{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010541 if (pNext)
10542 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010543}
10544
10545void safe_VkDeviceGroupSwapchainCreateInfoKHR::initialize(const VkDeviceGroupSwapchainCreateInfoKHR* in_struct)
10546{
10547 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010548 modes = in_struct->modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010549 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010550}
10551
10552void safe_VkDeviceGroupSwapchainCreateInfoKHR::initialize(const safe_VkDeviceGroupSwapchainCreateInfoKHR* src)
10553{
10554 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010555 modes = src->modes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010556 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010557}
10558
10559safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR(const VkDisplayPropertiesKHR* in_struct) :
10560 display(in_struct->display),
10561 displayName(in_struct->displayName),
10562 physicalDimensions(in_struct->physicalDimensions),
10563 physicalResolution(in_struct->physicalResolution),
10564 supportedTransforms(in_struct->supportedTransforms),
10565 planeReorderPossible(in_struct->planeReorderPossible),
10566 persistentContent(in_struct->persistentContent)
10567{
10568}
10569
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060010570safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR() :
10571 displayName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010572{}
10573
10574safe_VkDisplayPropertiesKHR::safe_VkDisplayPropertiesKHR(const safe_VkDisplayPropertiesKHR& src)
10575{
10576 display = src.display;
10577 displayName = src.displayName;
10578 physicalDimensions = src.physicalDimensions;
10579 physicalResolution = src.physicalResolution;
10580 supportedTransforms = src.supportedTransforms;
10581 planeReorderPossible = src.planeReorderPossible;
10582 persistentContent = src.persistentContent;
10583}
10584
10585safe_VkDisplayPropertiesKHR& safe_VkDisplayPropertiesKHR::operator=(const safe_VkDisplayPropertiesKHR& src)
10586{
10587 if (&src == this) return *this;
10588
10589
10590 display = src.display;
10591 displayName = src.displayName;
10592 physicalDimensions = src.physicalDimensions;
10593 physicalResolution = src.physicalResolution;
10594 supportedTransforms = src.supportedTransforms;
10595 planeReorderPossible = src.planeReorderPossible;
10596 persistentContent = src.persistentContent;
10597
10598 return *this;
10599}
10600
10601safe_VkDisplayPropertiesKHR::~safe_VkDisplayPropertiesKHR()
10602{
10603}
10604
10605void safe_VkDisplayPropertiesKHR::initialize(const VkDisplayPropertiesKHR* in_struct)
10606{
10607 display = in_struct->display;
10608 displayName = in_struct->displayName;
10609 physicalDimensions = in_struct->physicalDimensions;
10610 physicalResolution = in_struct->physicalResolution;
10611 supportedTransforms = in_struct->supportedTransforms;
10612 planeReorderPossible = in_struct->planeReorderPossible;
10613 persistentContent = in_struct->persistentContent;
10614}
10615
10616void safe_VkDisplayPropertiesKHR::initialize(const safe_VkDisplayPropertiesKHR* src)
10617{
10618 display = src->display;
10619 displayName = src->displayName;
10620 physicalDimensions = src->physicalDimensions;
10621 physicalResolution = src->physicalResolution;
10622 supportedTransforms = src->supportedTransforms;
10623 planeReorderPossible = src->planeReorderPossible;
10624 persistentContent = src->persistentContent;
10625}
10626
10627safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR(const VkDisplayModeCreateInfoKHR* in_struct) :
10628 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010629 flags(in_struct->flags),
10630 parameters(in_struct->parameters)
10631{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010632 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010633}
10634
Jason Macnak8f28eec2019-08-09 12:57:01 -070010635safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR() :
10636 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010637{}
10638
10639safe_VkDisplayModeCreateInfoKHR::safe_VkDisplayModeCreateInfoKHR(const safe_VkDisplayModeCreateInfoKHR& src)
10640{
10641 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010642 flags = src.flags;
10643 parameters = src.parameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010644 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010645}
10646
10647safe_VkDisplayModeCreateInfoKHR& safe_VkDisplayModeCreateInfoKHR::operator=(const safe_VkDisplayModeCreateInfoKHR& src)
10648{
10649 if (&src == this) return *this;
10650
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010651 if (pNext)
10652 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010653
10654 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010655 flags = src.flags;
10656 parameters = src.parameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010657 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010658
10659 return *this;
10660}
10661
10662safe_VkDisplayModeCreateInfoKHR::~safe_VkDisplayModeCreateInfoKHR()
10663{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010664 if (pNext)
10665 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010666}
10667
10668void safe_VkDisplayModeCreateInfoKHR::initialize(const VkDisplayModeCreateInfoKHR* in_struct)
10669{
10670 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010671 flags = in_struct->flags;
10672 parameters = in_struct->parameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010673 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010674}
10675
10676void safe_VkDisplayModeCreateInfoKHR::initialize(const safe_VkDisplayModeCreateInfoKHR* src)
10677{
10678 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010679 flags = src->flags;
10680 parameters = src->parameters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010681 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010682}
10683
10684safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const VkDisplaySurfaceCreateInfoKHR* in_struct) :
10685 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010686 flags(in_struct->flags),
10687 displayMode(in_struct->displayMode),
10688 planeIndex(in_struct->planeIndex),
10689 planeStackIndex(in_struct->planeStackIndex),
10690 transform(in_struct->transform),
10691 globalAlpha(in_struct->globalAlpha),
10692 alphaMode(in_struct->alphaMode),
10693 imageExtent(in_struct->imageExtent)
10694{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010695 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010696}
10697
Jason Macnak8f28eec2019-08-09 12:57:01 -070010698safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR() :
10699 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010700{}
10701
10702safe_VkDisplaySurfaceCreateInfoKHR::safe_VkDisplaySurfaceCreateInfoKHR(const safe_VkDisplaySurfaceCreateInfoKHR& src)
10703{
10704 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010705 flags = src.flags;
10706 displayMode = src.displayMode;
10707 planeIndex = src.planeIndex;
10708 planeStackIndex = src.planeStackIndex;
10709 transform = src.transform;
10710 globalAlpha = src.globalAlpha;
10711 alphaMode = src.alphaMode;
10712 imageExtent = src.imageExtent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010713 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010714}
10715
10716safe_VkDisplaySurfaceCreateInfoKHR& safe_VkDisplaySurfaceCreateInfoKHR::operator=(const safe_VkDisplaySurfaceCreateInfoKHR& src)
10717{
10718 if (&src == this) return *this;
10719
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010720 if (pNext)
10721 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010722
10723 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010724 flags = src.flags;
10725 displayMode = src.displayMode;
10726 planeIndex = src.planeIndex;
10727 planeStackIndex = src.planeStackIndex;
10728 transform = src.transform;
10729 globalAlpha = src.globalAlpha;
10730 alphaMode = src.alphaMode;
10731 imageExtent = src.imageExtent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010732 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010733
10734 return *this;
10735}
10736
10737safe_VkDisplaySurfaceCreateInfoKHR::~safe_VkDisplaySurfaceCreateInfoKHR()
10738{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010739 if (pNext)
10740 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010741}
10742
10743void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const VkDisplaySurfaceCreateInfoKHR* in_struct)
10744{
10745 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010746 flags = in_struct->flags;
10747 displayMode = in_struct->displayMode;
10748 planeIndex = in_struct->planeIndex;
10749 planeStackIndex = in_struct->planeStackIndex;
10750 transform = in_struct->transform;
10751 globalAlpha = in_struct->globalAlpha;
10752 alphaMode = in_struct->alphaMode;
10753 imageExtent = in_struct->imageExtent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010754 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010755}
10756
10757void safe_VkDisplaySurfaceCreateInfoKHR::initialize(const safe_VkDisplaySurfaceCreateInfoKHR* src)
10758{
10759 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010760 flags = src->flags;
10761 displayMode = src->displayMode;
10762 planeIndex = src->planeIndex;
10763 planeStackIndex = src->planeStackIndex;
10764 transform = src->transform;
10765 globalAlpha = src->globalAlpha;
10766 alphaMode = src->alphaMode;
10767 imageExtent = src->imageExtent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010768 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010769}
10770
10771safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR(const VkDisplayPresentInfoKHR* in_struct) :
10772 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010773 srcRect(in_struct->srcRect),
10774 dstRect(in_struct->dstRect),
10775 persistent(in_struct->persistent)
10776{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010777 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010778}
10779
Jason Macnak8f28eec2019-08-09 12:57:01 -070010780safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR() :
10781 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010782{}
10783
10784safe_VkDisplayPresentInfoKHR::safe_VkDisplayPresentInfoKHR(const safe_VkDisplayPresentInfoKHR& src)
10785{
10786 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010787 srcRect = src.srcRect;
10788 dstRect = src.dstRect;
10789 persistent = src.persistent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010790 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010791}
10792
10793safe_VkDisplayPresentInfoKHR& safe_VkDisplayPresentInfoKHR::operator=(const safe_VkDisplayPresentInfoKHR& src)
10794{
10795 if (&src == this) return *this;
10796
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010797 if (pNext)
10798 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010799
10800 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010801 srcRect = src.srcRect;
10802 dstRect = src.dstRect;
10803 persistent = src.persistent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010804 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010805
10806 return *this;
10807}
10808
10809safe_VkDisplayPresentInfoKHR::~safe_VkDisplayPresentInfoKHR()
10810{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010811 if (pNext)
10812 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010813}
10814
10815void safe_VkDisplayPresentInfoKHR::initialize(const VkDisplayPresentInfoKHR* in_struct)
10816{
10817 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010818 srcRect = in_struct->srcRect;
10819 dstRect = in_struct->dstRect;
10820 persistent = in_struct->persistent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010821 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010822}
10823
10824void safe_VkDisplayPresentInfoKHR::initialize(const safe_VkDisplayPresentInfoKHR* src)
10825{
10826 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010827 srcRect = src->srcRect;
10828 dstRect = src->dstRect;
10829 persistent = src->persistent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010830 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010831}
10832#ifdef VK_USE_PLATFORM_WIN32_KHR
10833
10834
10835safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR(const VkImportMemoryWin32HandleInfoKHR* in_struct) :
10836 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010837 handleType(in_struct->handleType),
10838 handle(in_struct->handle),
10839 name(in_struct->name)
10840{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010841 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010842}
10843
Jason Macnak8f28eec2019-08-09 12:57:01 -070010844safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR() :
10845 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010846{}
10847
10848safe_VkImportMemoryWin32HandleInfoKHR::safe_VkImportMemoryWin32HandleInfoKHR(const safe_VkImportMemoryWin32HandleInfoKHR& src)
10849{
10850 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010851 handleType = src.handleType;
10852 handle = src.handle;
10853 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010854 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010855}
10856
10857safe_VkImportMemoryWin32HandleInfoKHR& safe_VkImportMemoryWin32HandleInfoKHR::operator=(const safe_VkImportMemoryWin32HandleInfoKHR& src)
10858{
10859 if (&src == this) return *this;
10860
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010861 if (pNext)
10862 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010863
10864 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010865 handleType = src.handleType;
10866 handle = src.handle;
10867 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010868 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010869
10870 return *this;
10871}
10872
10873safe_VkImportMemoryWin32HandleInfoKHR::~safe_VkImportMemoryWin32HandleInfoKHR()
10874{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010875 if (pNext)
10876 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010877}
10878
10879void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const VkImportMemoryWin32HandleInfoKHR* in_struct)
10880{
10881 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010882 handleType = in_struct->handleType;
10883 handle = in_struct->handle;
10884 name = in_struct->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010885 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010886}
10887
10888void safe_VkImportMemoryWin32HandleInfoKHR::initialize(const safe_VkImportMemoryWin32HandleInfoKHR* src)
10889{
10890 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010891 handleType = src->handleType;
10892 handle = src->handle;
10893 name = src->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010894 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010895}
10896#endif // VK_USE_PLATFORM_WIN32_KHR
10897
10898#ifdef VK_USE_PLATFORM_WIN32_KHR
10899
10900
10901safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR(const VkExportMemoryWin32HandleInfoKHR* in_struct) :
10902 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010903 pAttributes(nullptr),
10904 dwAccess(in_struct->dwAccess),
10905 name(in_struct->name)
10906{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010907 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010908 if (in_struct->pAttributes) {
10909 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
10910 }
10911}
10912
10913safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070010914 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010915 pAttributes(nullptr)
10916{}
10917
10918safe_VkExportMemoryWin32HandleInfoKHR::safe_VkExportMemoryWin32HandleInfoKHR(const safe_VkExportMemoryWin32HandleInfoKHR& src)
10919{
10920 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010921 pAttributes = nullptr;
10922 dwAccess = src.dwAccess;
10923 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010924 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010925 if (src.pAttributes) {
10926 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
10927 }
10928}
10929
10930safe_VkExportMemoryWin32HandleInfoKHR& safe_VkExportMemoryWin32HandleInfoKHR::operator=(const safe_VkExportMemoryWin32HandleInfoKHR& src)
10931{
10932 if (&src == this) return *this;
10933
10934 if (pAttributes)
10935 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010936 if (pNext)
10937 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010938
10939 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010940 pAttributes = nullptr;
10941 dwAccess = src.dwAccess;
10942 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010943 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010944 if (src.pAttributes) {
10945 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
10946 }
10947
10948 return *this;
10949}
10950
10951safe_VkExportMemoryWin32HandleInfoKHR::~safe_VkExportMemoryWin32HandleInfoKHR()
10952{
10953 if (pAttributes)
10954 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010955 if (pNext)
10956 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010957}
10958
10959void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const VkExportMemoryWin32HandleInfoKHR* in_struct)
10960{
10961 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010962 pAttributes = nullptr;
10963 dwAccess = in_struct->dwAccess;
10964 name = in_struct->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010965 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010966 if (in_struct->pAttributes) {
10967 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
10968 }
10969}
10970
10971void safe_VkExportMemoryWin32HandleInfoKHR::initialize(const safe_VkExportMemoryWin32HandleInfoKHR* src)
10972{
10973 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070010974 pAttributes = nullptr;
10975 dwAccess = src->dwAccess;
10976 name = src->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010977 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010978 if (src->pAttributes) {
10979 pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
10980 }
10981}
10982#endif // VK_USE_PLATFORM_WIN32_KHR
10983
10984#ifdef VK_USE_PLATFORM_WIN32_KHR
10985
10986
10987safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR(const VkMemoryWin32HandlePropertiesKHR* in_struct) :
10988 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070010989 memoryTypeBits(in_struct->memoryTypeBits)
10990{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060010991 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070010992}
10993
Jason Macnak8f28eec2019-08-09 12:57:01 -070010994safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR() :
10995 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070010996{}
10997
10998safe_VkMemoryWin32HandlePropertiesKHR::safe_VkMemoryWin32HandlePropertiesKHR(const safe_VkMemoryWin32HandlePropertiesKHR& src)
10999{
11000 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011001 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011002 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011003}
11004
11005safe_VkMemoryWin32HandlePropertiesKHR& safe_VkMemoryWin32HandlePropertiesKHR::operator=(const safe_VkMemoryWin32HandlePropertiesKHR& src)
11006{
11007 if (&src == this) return *this;
11008
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011009 if (pNext)
11010 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011011
11012 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011013 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011014 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011015
11016 return *this;
11017}
11018
11019safe_VkMemoryWin32HandlePropertiesKHR::~safe_VkMemoryWin32HandlePropertiesKHR()
11020{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011021 if (pNext)
11022 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011023}
11024
11025void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const VkMemoryWin32HandlePropertiesKHR* in_struct)
11026{
11027 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011028 memoryTypeBits = in_struct->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011029 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011030}
11031
11032void safe_VkMemoryWin32HandlePropertiesKHR::initialize(const safe_VkMemoryWin32HandlePropertiesKHR* src)
11033{
11034 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011035 memoryTypeBits = src->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011036 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011037}
11038#endif // VK_USE_PLATFORM_WIN32_KHR
11039
11040#ifdef VK_USE_PLATFORM_WIN32_KHR
11041
11042
11043safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR(const VkMemoryGetWin32HandleInfoKHR* in_struct) :
11044 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011045 memory(in_struct->memory),
11046 handleType(in_struct->handleType)
11047{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011048 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011049}
11050
Jason Macnak8f28eec2019-08-09 12:57:01 -070011051safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR() :
11052 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011053{}
11054
11055safe_VkMemoryGetWin32HandleInfoKHR::safe_VkMemoryGetWin32HandleInfoKHR(const safe_VkMemoryGetWin32HandleInfoKHR& src)
11056{
11057 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011058 memory = src.memory;
11059 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011060 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011061}
11062
11063safe_VkMemoryGetWin32HandleInfoKHR& safe_VkMemoryGetWin32HandleInfoKHR::operator=(const safe_VkMemoryGetWin32HandleInfoKHR& src)
11064{
11065 if (&src == this) return *this;
11066
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011067 if (pNext)
11068 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011069
11070 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011071 memory = src.memory;
11072 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011073 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011074
11075 return *this;
11076}
11077
11078safe_VkMemoryGetWin32HandleInfoKHR::~safe_VkMemoryGetWin32HandleInfoKHR()
11079{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011080 if (pNext)
11081 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011082}
11083
11084void safe_VkMemoryGetWin32HandleInfoKHR::initialize(const VkMemoryGetWin32HandleInfoKHR* in_struct)
11085{
11086 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011087 memory = in_struct->memory;
11088 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011089 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011090}
11091
11092void safe_VkMemoryGetWin32HandleInfoKHR::initialize(const safe_VkMemoryGetWin32HandleInfoKHR* src)
11093{
11094 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011095 memory = src->memory;
11096 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011097 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011098}
11099#endif // VK_USE_PLATFORM_WIN32_KHR
11100
11101
11102safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR(const VkImportMemoryFdInfoKHR* in_struct) :
11103 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011104 handleType(in_struct->handleType),
11105 fd(in_struct->fd)
11106{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011107 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011108}
11109
Jason Macnak8f28eec2019-08-09 12:57:01 -070011110safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR() :
11111 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011112{}
11113
11114safe_VkImportMemoryFdInfoKHR::safe_VkImportMemoryFdInfoKHR(const safe_VkImportMemoryFdInfoKHR& src)
11115{
11116 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011117 handleType = src.handleType;
11118 fd = src.fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011119 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011120}
11121
11122safe_VkImportMemoryFdInfoKHR& safe_VkImportMemoryFdInfoKHR::operator=(const safe_VkImportMemoryFdInfoKHR& src)
11123{
11124 if (&src == this) return *this;
11125
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011126 if (pNext)
11127 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011128
11129 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011130 handleType = src.handleType;
11131 fd = src.fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011132 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011133
11134 return *this;
11135}
11136
11137safe_VkImportMemoryFdInfoKHR::~safe_VkImportMemoryFdInfoKHR()
11138{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011139 if (pNext)
11140 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011141}
11142
11143void safe_VkImportMemoryFdInfoKHR::initialize(const VkImportMemoryFdInfoKHR* in_struct)
11144{
11145 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011146 handleType = in_struct->handleType;
11147 fd = in_struct->fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011148 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011149}
11150
11151void safe_VkImportMemoryFdInfoKHR::initialize(const safe_VkImportMemoryFdInfoKHR* src)
11152{
11153 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011154 handleType = src->handleType;
11155 fd = src->fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011156 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011157}
11158
11159safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR(const VkMemoryFdPropertiesKHR* in_struct) :
11160 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011161 memoryTypeBits(in_struct->memoryTypeBits)
11162{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011163 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011164}
11165
Jason Macnak8f28eec2019-08-09 12:57:01 -070011166safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR() :
11167 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011168{}
11169
11170safe_VkMemoryFdPropertiesKHR::safe_VkMemoryFdPropertiesKHR(const safe_VkMemoryFdPropertiesKHR& src)
11171{
11172 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011173 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011174 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011175}
11176
11177safe_VkMemoryFdPropertiesKHR& safe_VkMemoryFdPropertiesKHR::operator=(const safe_VkMemoryFdPropertiesKHR& src)
11178{
11179 if (&src == this) return *this;
11180
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011181 if (pNext)
11182 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011183
11184 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011185 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011186 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011187
11188 return *this;
11189}
11190
11191safe_VkMemoryFdPropertiesKHR::~safe_VkMemoryFdPropertiesKHR()
11192{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011193 if (pNext)
11194 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011195}
11196
11197void safe_VkMemoryFdPropertiesKHR::initialize(const VkMemoryFdPropertiesKHR* in_struct)
11198{
11199 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011200 memoryTypeBits = in_struct->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011201 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011202}
11203
11204void safe_VkMemoryFdPropertiesKHR::initialize(const safe_VkMemoryFdPropertiesKHR* src)
11205{
11206 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011207 memoryTypeBits = src->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011208 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011209}
11210
11211safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR(const VkMemoryGetFdInfoKHR* in_struct) :
11212 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011213 memory(in_struct->memory),
11214 handleType(in_struct->handleType)
11215{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011216 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011217}
11218
Jason Macnak8f28eec2019-08-09 12:57:01 -070011219safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR() :
11220 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011221{}
11222
11223safe_VkMemoryGetFdInfoKHR::safe_VkMemoryGetFdInfoKHR(const safe_VkMemoryGetFdInfoKHR& src)
11224{
11225 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011226 memory = src.memory;
11227 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011228 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011229}
11230
11231safe_VkMemoryGetFdInfoKHR& safe_VkMemoryGetFdInfoKHR::operator=(const safe_VkMemoryGetFdInfoKHR& src)
11232{
11233 if (&src == this) return *this;
11234
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011235 if (pNext)
11236 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011237
11238 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011239 memory = src.memory;
11240 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011241 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011242
11243 return *this;
11244}
11245
11246safe_VkMemoryGetFdInfoKHR::~safe_VkMemoryGetFdInfoKHR()
11247{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011248 if (pNext)
11249 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011250}
11251
11252void safe_VkMemoryGetFdInfoKHR::initialize(const VkMemoryGetFdInfoKHR* in_struct)
11253{
11254 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011255 memory = in_struct->memory;
11256 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011257 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011258}
11259
11260void safe_VkMemoryGetFdInfoKHR::initialize(const safe_VkMemoryGetFdInfoKHR* src)
11261{
11262 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011263 memory = src->memory;
11264 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011265 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011266}
11267#ifdef VK_USE_PLATFORM_WIN32_KHR
11268
11269
11270safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const VkWin32KeyedMutexAcquireReleaseInfoKHR* in_struct) :
11271 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011272 acquireCount(in_struct->acquireCount),
11273 pAcquireSyncs(nullptr),
11274 pAcquireKeys(nullptr),
11275 pAcquireTimeouts(nullptr),
11276 releaseCount(in_struct->releaseCount),
11277 pReleaseSyncs(nullptr),
11278 pReleaseKeys(nullptr)
11279{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011280 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011281 if (acquireCount && in_struct->pAcquireSyncs) {
11282 pAcquireSyncs = new VkDeviceMemory[acquireCount];
11283 for (uint32_t i=0; i<acquireCount; ++i) {
11284 pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
11285 }
11286 }
11287 if (in_struct->pAcquireKeys) {
11288 pAcquireKeys = new uint64_t[in_struct->acquireCount];
11289 memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
11290 }
11291 if (in_struct->pAcquireTimeouts) {
11292 pAcquireTimeouts = new uint32_t[in_struct->acquireCount];
11293 memcpy ((void *)pAcquireTimeouts, (void *)in_struct->pAcquireTimeouts, sizeof(uint32_t)*in_struct->acquireCount);
11294 }
11295 if (releaseCount && in_struct->pReleaseSyncs) {
11296 pReleaseSyncs = new VkDeviceMemory[releaseCount];
11297 for (uint32_t i=0; i<releaseCount; ++i) {
11298 pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
11299 }
11300 }
11301 if (in_struct->pReleaseKeys) {
11302 pReleaseKeys = new uint64_t[in_struct->releaseCount];
11303 memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
11304 }
11305}
11306
11307safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070011308 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011309 pAcquireSyncs(nullptr),
11310 pAcquireKeys(nullptr),
11311 pAcquireTimeouts(nullptr),
11312 pReleaseSyncs(nullptr),
11313 pReleaseKeys(nullptr)
11314{}
11315
11316safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::safe_VkWin32KeyedMutexAcquireReleaseInfoKHR(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& src)
11317{
11318 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011319 acquireCount = src.acquireCount;
11320 pAcquireSyncs = nullptr;
11321 pAcquireKeys = nullptr;
11322 pAcquireTimeouts = nullptr;
11323 releaseCount = src.releaseCount;
11324 pReleaseSyncs = nullptr;
11325 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011326 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011327 if (acquireCount && src.pAcquireSyncs) {
11328 pAcquireSyncs = new VkDeviceMemory[acquireCount];
11329 for (uint32_t i=0; i<acquireCount; ++i) {
11330 pAcquireSyncs[i] = src.pAcquireSyncs[i];
11331 }
11332 }
11333 if (src.pAcquireKeys) {
11334 pAcquireKeys = new uint64_t[src.acquireCount];
11335 memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
11336 }
11337 if (src.pAcquireTimeouts) {
11338 pAcquireTimeouts = new uint32_t[src.acquireCount];
11339 memcpy ((void *)pAcquireTimeouts, (void *)src.pAcquireTimeouts, sizeof(uint32_t)*src.acquireCount);
11340 }
11341 if (releaseCount && src.pReleaseSyncs) {
11342 pReleaseSyncs = new VkDeviceMemory[releaseCount];
11343 for (uint32_t i=0; i<releaseCount; ++i) {
11344 pReleaseSyncs[i] = src.pReleaseSyncs[i];
11345 }
11346 }
11347 if (src.pReleaseKeys) {
11348 pReleaseKeys = new uint64_t[src.releaseCount];
11349 memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
11350 }
11351}
11352
11353safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::operator=(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR& src)
11354{
11355 if (&src == this) return *this;
11356
11357 if (pAcquireSyncs)
11358 delete[] pAcquireSyncs;
11359 if (pAcquireKeys)
11360 delete[] pAcquireKeys;
11361 if (pAcquireTimeouts)
11362 delete[] pAcquireTimeouts;
11363 if (pReleaseSyncs)
11364 delete[] pReleaseSyncs;
11365 if (pReleaseKeys)
11366 delete[] pReleaseKeys;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011367 if (pNext)
11368 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011369
11370 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011371 acquireCount = src.acquireCount;
11372 pAcquireSyncs = nullptr;
11373 pAcquireKeys = nullptr;
11374 pAcquireTimeouts = nullptr;
11375 releaseCount = src.releaseCount;
11376 pReleaseSyncs = nullptr;
11377 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011378 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011379 if (acquireCount && src.pAcquireSyncs) {
11380 pAcquireSyncs = new VkDeviceMemory[acquireCount];
11381 for (uint32_t i=0; i<acquireCount; ++i) {
11382 pAcquireSyncs[i] = src.pAcquireSyncs[i];
11383 }
11384 }
11385 if (src.pAcquireKeys) {
11386 pAcquireKeys = new uint64_t[src.acquireCount];
11387 memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
11388 }
11389 if (src.pAcquireTimeouts) {
11390 pAcquireTimeouts = new uint32_t[src.acquireCount];
11391 memcpy ((void *)pAcquireTimeouts, (void *)src.pAcquireTimeouts, sizeof(uint32_t)*src.acquireCount);
11392 }
11393 if (releaseCount && src.pReleaseSyncs) {
11394 pReleaseSyncs = new VkDeviceMemory[releaseCount];
11395 for (uint32_t i=0; i<releaseCount; ++i) {
11396 pReleaseSyncs[i] = src.pReleaseSyncs[i];
11397 }
11398 }
11399 if (src.pReleaseKeys) {
11400 pReleaseKeys = new uint64_t[src.releaseCount];
11401 memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
11402 }
11403
11404 return *this;
11405}
11406
11407safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::~safe_VkWin32KeyedMutexAcquireReleaseInfoKHR()
11408{
11409 if (pAcquireSyncs)
11410 delete[] pAcquireSyncs;
11411 if (pAcquireKeys)
11412 delete[] pAcquireKeys;
11413 if (pAcquireTimeouts)
11414 delete[] pAcquireTimeouts;
11415 if (pReleaseSyncs)
11416 delete[] pReleaseSyncs;
11417 if (pReleaseKeys)
11418 delete[] pReleaseKeys;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011419 if (pNext)
11420 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011421}
11422
11423void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const VkWin32KeyedMutexAcquireReleaseInfoKHR* in_struct)
11424{
11425 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011426 acquireCount = in_struct->acquireCount;
11427 pAcquireSyncs = nullptr;
11428 pAcquireKeys = nullptr;
11429 pAcquireTimeouts = nullptr;
11430 releaseCount = in_struct->releaseCount;
11431 pReleaseSyncs = nullptr;
11432 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011433 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011434 if (acquireCount && in_struct->pAcquireSyncs) {
11435 pAcquireSyncs = new VkDeviceMemory[acquireCount];
11436 for (uint32_t i=0; i<acquireCount; ++i) {
11437 pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
11438 }
11439 }
11440 if (in_struct->pAcquireKeys) {
11441 pAcquireKeys = new uint64_t[in_struct->acquireCount];
11442 memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
11443 }
11444 if (in_struct->pAcquireTimeouts) {
11445 pAcquireTimeouts = new uint32_t[in_struct->acquireCount];
11446 memcpy ((void *)pAcquireTimeouts, (void *)in_struct->pAcquireTimeouts, sizeof(uint32_t)*in_struct->acquireCount);
11447 }
11448 if (releaseCount && in_struct->pReleaseSyncs) {
11449 pReleaseSyncs = new VkDeviceMemory[releaseCount];
11450 for (uint32_t i=0; i<releaseCount; ++i) {
11451 pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
11452 }
11453 }
11454 if (in_struct->pReleaseKeys) {
11455 pReleaseKeys = new uint64_t[in_struct->releaseCount];
11456 memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
11457 }
11458}
11459
11460void safe_VkWin32KeyedMutexAcquireReleaseInfoKHR::initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoKHR* src)
11461{
11462 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011463 acquireCount = src->acquireCount;
11464 pAcquireSyncs = nullptr;
11465 pAcquireKeys = nullptr;
11466 pAcquireTimeouts = nullptr;
11467 releaseCount = src->releaseCount;
11468 pReleaseSyncs = nullptr;
11469 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011470 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011471 if (acquireCount && src->pAcquireSyncs) {
11472 pAcquireSyncs = new VkDeviceMemory[acquireCount];
11473 for (uint32_t i=0; i<acquireCount; ++i) {
11474 pAcquireSyncs[i] = src->pAcquireSyncs[i];
11475 }
11476 }
11477 if (src->pAcquireKeys) {
11478 pAcquireKeys = new uint64_t[src->acquireCount];
11479 memcpy ((void *)pAcquireKeys, (void *)src->pAcquireKeys, sizeof(uint64_t)*src->acquireCount);
11480 }
11481 if (src->pAcquireTimeouts) {
11482 pAcquireTimeouts = new uint32_t[src->acquireCount];
11483 memcpy ((void *)pAcquireTimeouts, (void *)src->pAcquireTimeouts, sizeof(uint32_t)*src->acquireCount);
11484 }
11485 if (releaseCount && src->pReleaseSyncs) {
11486 pReleaseSyncs = new VkDeviceMemory[releaseCount];
11487 for (uint32_t i=0; i<releaseCount; ++i) {
11488 pReleaseSyncs[i] = src->pReleaseSyncs[i];
11489 }
11490 }
11491 if (src->pReleaseKeys) {
11492 pReleaseKeys = new uint64_t[src->releaseCount];
11493 memcpy ((void *)pReleaseKeys, (void *)src->pReleaseKeys, sizeof(uint64_t)*src->releaseCount);
11494 }
11495}
11496#endif // VK_USE_PLATFORM_WIN32_KHR
11497
11498#ifdef VK_USE_PLATFORM_WIN32_KHR
11499
11500
11501safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR(const VkImportSemaphoreWin32HandleInfoKHR* in_struct) :
11502 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011503 semaphore(in_struct->semaphore),
11504 flags(in_struct->flags),
11505 handleType(in_struct->handleType),
11506 handle(in_struct->handle),
11507 name(in_struct->name)
11508{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011509 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011510}
11511
Jason Macnak8f28eec2019-08-09 12:57:01 -070011512safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR() :
11513 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011514{}
11515
11516safe_VkImportSemaphoreWin32HandleInfoKHR::safe_VkImportSemaphoreWin32HandleInfoKHR(const safe_VkImportSemaphoreWin32HandleInfoKHR& src)
11517{
11518 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011519 semaphore = src.semaphore;
11520 flags = src.flags;
11521 handleType = src.handleType;
11522 handle = src.handle;
11523 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011524 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011525}
11526
11527safe_VkImportSemaphoreWin32HandleInfoKHR& safe_VkImportSemaphoreWin32HandleInfoKHR::operator=(const safe_VkImportSemaphoreWin32HandleInfoKHR& src)
11528{
11529 if (&src == this) return *this;
11530
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011531 if (pNext)
11532 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011533
11534 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011535 semaphore = src.semaphore;
11536 flags = src.flags;
11537 handleType = src.handleType;
11538 handle = src.handle;
11539 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011540 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011541
11542 return *this;
11543}
11544
11545safe_VkImportSemaphoreWin32HandleInfoKHR::~safe_VkImportSemaphoreWin32HandleInfoKHR()
11546{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011547 if (pNext)
11548 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011549}
11550
11551void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const VkImportSemaphoreWin32HandleInfoKHR* in_struct)
11552{
11553 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011554 semaphore = in_struct->semaphore;
11555 flags = in_struct->flags;
11556 handleType = in_struct->handleType;
11557 handle = in_struct->handle;
11558 name = in_struct->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011559 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011560}
11561
11562void safe_VkImportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkImportSemaphoreWin32HandleInfoKHR* src)
11563{
11564 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011565 semaphore = src->semaphore;
11566 flags = src->flags;
11567 handleType = src->handleType;
11568 handle = src->handle;
11569 name = src->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011570 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011571}
11572#endif // VK_USE_PLATFORM_WIN32_KHR
11573
11574#ifdef VK_USE_PLATFORM_WIN32_KHR
11575
11576
11577safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR(const VkExportSemaphoreWin32HandleInfoKHR* in_struct) :
11578 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011579 pAttributes(nullptr),
11580 dwAccess(in_struct->dwAccess),
11581 name(in_struct->name)
11582{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011583 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011584 if (in_struct->pAttributes) {
11585 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
11586 }
11587}
11588
11589safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070011590 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011591 pAttributes(nullptr)
11592{}
11593
11594safe_VkExportSemaphoreWin32HandleInfoKHR::safe_VkExportSemaphoreWin32HandleInfoKHR(const safe_VkExportSemaphoreWin32HandleInfoKHR& src)
11595{
11596 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011597 pAttributes = nullptr;
11598 dwAccess = src.dwAccess;
11599 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011600 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011601 if (src.pAttributes) {
11602 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
11603 }
11604}
11605
11606safe_VkExportSemaphoreWin32HandleInfoKHR& safe_VkExportSemaphoreWin32HandleInfoKHR::operator=(const safe_VkExportSemaphoreWin32HandleInfoKHR& src)
11607{
11608 if (&src == this) return *this;
11609
11610 if (pAttributes)
11611 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011612 if (pNext)
11613 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011614
11615 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011616 pAttributes = nullptr;
11617 dwAccess = src.dwAccess;
11618 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011619 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011620 if (src.pAttributes) {
11621 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
11622 }
11623
11624 return *this;
11625}
11626
11627safe_VkExportSemaphoreWin32HandleInfoKHR::~safe_VkExportSemaphoreWin32HandleInfoKHR()
11628{
11629 if (pAttributes)
11630 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011631 if (pNext)
11632 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011633}
11634
11635void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const VkExportSemaphoreWin32HandleInfoKHR* in_struct)
11636{
11637 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011638 pAttributes = nullptr;
11639 dwAccess = in_struct->dwAccess;
11640 name = in_struct->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011641 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011642 if (in_struct->pAttributes) {
11643 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
11644 }
11645}
11646
11647void safe_VkExportSemaphoreWin32HandleInfoKHR::initialize(const safe_VkExportSemaphoreWin32HandleInfoKHR* src)
11648{
11649 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011650 pAttributes = nullptr;
11651 dwAccess = src->dwAccess;
11652 name = src->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011653 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011654 if (src->pAttributes) {
11655 pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
11656 }
11657}
11658#endif // VK_USE_PLATFORM_WIN32_KHR
11659
11660#ifdef VK_USE_PLATFORM_WIN32_KHR
11661
11662
11663safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const VkD3D12FenceSubmitInfoKHR* in_struct) :
11664 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011665 waitSemaphoreValuesCount(in_struct->waitSemaphoreValuesCount),
11666 pWaitSemaphoreValues(nullptr),
11667 signalSemaphoreValuesCount(in_struct->signalSemaphoreValuesCount),
11668 pSignalSemaphoreValues(nullptr)
11669{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011670 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011671 if (in_struct->pWaitSemaphoreValues) {
11672 pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValuesCount];
11673 memcpy ((void *)pWaitSemaphoreValues, (void *)in_struct->pWaitSemaphoreValues, sizeof(uint64_t)*in_struct->waitSemaphoreValuesCount);
11674 }
11675 if (in_struct->pSignalSemaphoreValues) {
11676 pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValuesCount];
11677 memcpy ((void *)pSignalSemaphoreValues, (void *)in_struct->pSignalSemaphoreValues, sizeof(uint64_t)*in_struct->signalSemaphoreValuesCount);
11678 }
11679}
11680
11681safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070011682 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011683 pWaitSemaphoreValues(nullptr),
11684 pSignalSemaphoreValues(nullptr)
11685{}
11686
11687safe_VkD3D12FenceSubmitInfoKHR::safe_VkD3D12FenceSubmitInfoKHR(const safe_VkD3D12FenceSubmitInfoKHR& src)
11688{
11689 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011690 waitSemaphoreValuesCount = src.waitSemaphoreValuesCount;
11691 pWaitSemaphoreValues = nullptr;
11692 signalSemaphoreValuesCount = src.signalSemaphoreValuesCount;
11693 pSignalSemaphoreValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011694 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011695 if (src.pWaitSemaphoreValues) {
11696 pWaitSemaphoreValues = new uint64_t[src.waitSemaphoreValuesCount];
11697 memcpy ((void *)pWaitSemaphoreValues, (void *)src.pWaitSemaphoreValues, sizeof(uint64_t)*src.waitSemaphoreValuesCount);
11698 }
11699 if (src.pSignalSemaphoreValues) {
11700 pSignalSemaphoreValues = new uint64_t[src.signalSemaphoreValuesCount];
11701 memcpy ((void *)pSignalSemaphoreValues, (void *)src.pSignalSemaphoreValues, sizeof(uint64_t)*src.signalSemaphoreValuesCount);
11702 }
11703}
11704
11705safe_VkD3D12FenceSubmitInfoKHR& safe_VkD3D12FenceSubmitInfoKHR::operator=(const safe_VkD3D12FenceSubmitInfoKHR& src)
11706{
11707 if (&src == this) return *this;
11708
11709 if (pWaitSemaphoreValues)
11710 delete[] pWaitSemaphoreValues;
11711 if (pSignalSemaphoreValues)
11712 delete[] pSignalSemaphoreValues;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011713 if (pNext)
11714 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011715
11716 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011717 waitSemaphoreValuesCount = src.waitSemaphoreValuesCount;
11718 pWaitSemaphoreValues = nullptr;
11719 signalSemaphoreValuesCount = src.signalSemaphoreValuesCount;
11720 pSignalSemaphoreValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011721 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011722 if (src.pWaitSemaphoreValues) {
11723 pWaitSemaphoreValues = new uint64_t[src.waitSemaphoreValuesCount];
11724 memcpy ((void *)pWaitSemaphoreValues, (void *)src.pWaitSemaphoreValues, sizeof(uint64_t)*src.waitSemaphoreValuesCount);
11725 }
11726 if (src.pSignalSemaphoreValues) {
11727 pSignalSemaphoreValues = new uint64_t[src.signalSemaphoreValuesCount];
11728 memcpy ((void *)pSignalSemaphoreValues, (void *)src.pSignalSemaphoreValues, sizeof(uint64_t)*src.signalSemaphoreValuesCount);
11729 }
11730
11731 return *this;
11732}
11733
11734safe_VkD3D12FenceSubmitInfoKHR::~safe_VkD3D12FenceSubmitInfoKHR()
11735{
11736 if (pWaitSemaphoreValues)
11737 delete[] pWaitSemaphoreValues;
11738 if (pSignalSemaphoreValues)
11739 delete[] pSignalSemaphoreValues;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011740 if (pNext)
11741 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011742}
11743
11744void safe_VkD3D12FenceSubmitInfoKHR::initialize(const VkD3D12FenceSubmitInfoKHR* in_struct)
11745{
11746 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011747 waitSemaphoreValuesCount = in_struct->waitSemaphoreValuesCount;
11748 pWaitSemaphoreValues = nullptr;
11749 signalSemaphoreValuesCount = in_struct->signalSemaphoreValuesCount;
11750 pSignalSemaphoreValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011751 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011752 if (in_struct->pWaitSemaphoreValues) {
11753 pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValuesCount];
11754 memcpy ((void *)pWaitSemaphoreValues, (void *)in_struct->pWaitSemaphoreValues, sizeof(uint64_t)*in_struct->waitSemaphoreValuesCount);
11755 }
11756 if (in_struct->pSignalSemaphoreValues) {
11757 pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValuesCount];
11758 memcpy ((void *)pSignalSemaphoreValues, (void *)in_struct->pSignalSemaphoreValues, sizeof(uint64_t)*in_struct->signalSemaphoreValuesCount);
11759 }
11760}
11761
11762void safe_VkD3D12FenceSubmitInfoKHR::initialize(const safe_VkD3D12FenceSubmitInfoKHR* src)
11763{
11764 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011765 waitSemaphoreValuesCount = src->waitSemaphoreValuesCount;
11766 pWaitSemaphoreValues = nullptr;
11767 signalSemaphoreValuesCount = src->signalSemaphoreValuesCount;
11768 pSignalSemaphoreValues = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011769 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011770 if (src->pWaitSemaphoreValues) {
11771 pWaitSemaphoreValues = new uint64_t[src->waitSemaphoreValuesCount];
11772 memcpy ((void *)pWaitSemaphoreValues, (void *)src->pWaitSemaphoreValues, sizeof(uint64_t)*src->waitSemaphoreValuesCount);
11773 }
11774 if (src->pSignalSemaphoreValues) {
11775 pSignalSemaphoreValues = new uint64_t[src->signalSemaphoreValuesCount];
11776 memcpy ((void *)pSignalSemaphoreValues, (void *)src->pSignalSemaphoreValues, sizeof(uint64_t)*src->signalSemaphoreValuesCount);
11777 }
11778}
11779#endif // VK_USE_PLATFORM_WIN32_KHR
11780
11781#ifdef VK_USE_PLATFORM_WIN32_KHR
11782
11783
11784safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR(const VkSemaphoreGetWin32HandleInfoKHR* in_struct) :
11785 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011786 semaphore(in_struct->semaphore),
11787 handleType(in_struct->handleType)
11788{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011789 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011790}
11791
Jason Macnak8f28eec2019-08-09 12:57:01 -070011792safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR() :
11793 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011794{}
11795
11796safe_VkSemaphoreGetWin32HandleInfoKHR::safe_VkSemaphoreGetWin32HandleInfoKHR(const safe_VkSemaphoreGetWin32HandleInfoKHR& src)
11797{
11798 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011799 semaphore = src.semaphore;
11800 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011801 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011802}
11803
11804safe_VkSemaphoreGetWin32HandleInfoKHR& safe_VkSemaphoreGetWin32HandleInfoKHR::operator=(const safe_VkSemaphoreGetWin32HandleInfoKHR& src)
11805{
11806 if (&src == this) return *this;
11807
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011808 if (pNext)
11809 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011810
11811 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011812 semaphore = src.semaphore;
11813 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011814 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011815
11816 return *this;
11817}
11818
11819safe_VkSemaphoreGetWin32HandleInfoKHR::~safe_VkSemaphoreGetWin32HandleInfoKHR()
11820{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011821 if (pNext)
11822 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011823}
11824
11825void safe_VkSemaphoreGetWin32HandleInfoKHR::initialize(const VkSemaphoreGetWin32HandleInfoKHR* in_struct)
11826{
11827 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011828 semaphore = in_struct->semaphore;
11829 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011830 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011831}
11832
11833void safe_VkSemaphoreGetWin32HandleInfoKHR::initialize(const safe_VkSemaphoreGetWin32HandleInfoKHR* src)
11834{
11835 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011836 semaphore = src->semaphore;
11837 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011838 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011839}
11840#endif // VK_USE_PLATFORM_WIN32_KHR
11841
11842
11843safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR(const VkImportSemaphoreFdInfoKHR* in_struct) :
11844 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011845 semaphore(in_struct->semaphore),
11846 flags(in_struct->flags),
11847 handleType(in_struct->handleType),
11848 fd(in_struct->fd)
11849{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011850 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011851}
11852
Jason Macnak8f28eec2019-08-09 12:57:01 -070011853safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR() :
11854 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011855{}
11856
11857safe_VkImportSemaphoreFdInfoKHR::safe_VkImportSemaphoreFdInfoKHR(const safe_VkImportSemaphoreFdInfoKHR& src)
11858{
11859 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011860 semaphore = src.semaphore;
11861 flags = src.flags;
11862 handleType = src.handleType;
11863 fd = src.fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011864 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011865}
11866
11867safe_VkImportSemaphoreFdInfoKHR& safe_VkImportSemaphoreFdInfoKHR::operator=(const safe_VkImportSemaphoreFdInfoKHR& src)
11868{
11869 if (&src == this) return *this;
11870
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011871 if (pNext)
11872 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011873
11874 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011875 semaphore = src.semaphore;
11876 flags = src.flags;
11877 handleType = src.handleType;
11878 fd = src.fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011879 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011880
11881 return *this;
11882}
11883
11884safe_VkImportSemaphoreFdInfoKHR::~safe_VkImportSemaphoreFdInfoKHR()
11885{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011886 if (pNext)
11887 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011888}
11889
11890void safe_VkImportSemaphoreFdInfoKHR::initialize(const VkImportSemaphoreFdInfoKHR* in_struct)
11891{
11892 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011893 semaphore = in_struct->semaphore;
11894 flags = in_struct->flags;
11895 handleType = in_struct->handleType;
11896 fd = in_struct->fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011897 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011898}
11899
11900void safe_VkImportSemaphoreFdInfoKHR::initialize(const safe_VkImportSemaphoreFdInfoKHR* src)
11901{
11902 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011903 semaphore = src->semaphore;
11904 flags = src->flags;
11905 handleType = src->handleType;
11906 fd = src->fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011907 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011908}
11909
11910safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR(const VkSemaphoreGetFdInfoKHR* in_struct) :
11911 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011912 semaphore(in_struct->semaphore),
11913 handleType(in_struct->handleType)
11914{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011915 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011916}
11917
Jason Macnak8f28eec2019-08-09 12:57:01 -070011918safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR() :
11919 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011920{}
11921
11922safe_VkSemaphoreGetFdInfoKHR::safe_VkSemaphoreGetFdInfoKHR(const safe_VkSemaphoreGetFdInfoKHR& src)
11923{
11924 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011925 semaphore = src.semaphore;
11926 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011927 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011928}
11929
11930safe_VkSemaphoreGetFdInfoKHR& safe_VkSemaphoreGetFdInfoKHR::operator=(const safe_VkSemaphoreGetFdInfoKHR& src)
11931{
11932 if (&src == this) return *this;
11933
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011934 if (pNext)
11935 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011936
11937 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011938 semaphore = src.semaphore;
11939 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011940 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011941
11942 return *this;
11943}
11944
11945safe_VkSemaphoreGetFdInfoKHR::~safe_VkSemaphoreGetFdInfoKHR()
11946{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011947 if (pNext)
11948 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011949}
11950
11951void safe_VkSemaphoreGetFdInfoKHR::initialize(const VkSemaphoreGetFdInfoKHR* in_struct)
11952{
11953 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011954 semaphore = in_struct->semaphore;
11955 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011956 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011957}
11958
11959void safe_VkSemaphoreGetFdInfoKHR::initialize(const safe_VkSemaphoreGetFdInfoKHR* src)
11960{
11961 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011962 semaphore = src->semaphore;
11963 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011964 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011965}
11966
11967safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const VkPhysicalDevicePushDescriptorPropertiesKHR* in_struct) :
11968 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070011969 maxPushDescriptors(in_struct->maxPushDescriptors)
11970{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011971 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011972}
11973
Jason Macnak8f28eec2019-08-09 12:57:01 -070011974safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR() :
11975 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070011976{}
11977
11978safe_VkPhysicalDevicePushDescriptorPropertiesKHR::safe_VkPhysicalDevicePushDescriptorPropertiesKHR(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR& src)
11979{
11980 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011981 maxPushDescriptors = src.maxPushDescriptors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011982 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011983}
11984
11985safe_VkPhysicalDevicePushDescriptorPropertiesKHR& safe_VkPhysicalDevicePushDescriptorPropertiesKHR::operator=(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR& src)
11986{
11987 if (&src == this) return *this;
11988
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011989 if (pNext)
11990 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011991
11992 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070011993 maxPushDescriptors = src.maxPushDescriptors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060011994 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070011995
11996 return *this;
11997}
11998
11999safe_VkPhysicalDevicePushDescriptorPropertiesKHR::~safe_VkPhysicalDevicePushDescriptorPropertiesKHR()
12000{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012001 if (pNext)
12002 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012003}
12004
12005void safe_VkPhysicalDevicePushDescriptorPropertiesKHR::initialize(const VkPhysicalDevicePushDescriptorPropertiesKHR* in_struct)
12006{
12007 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012008 maxPushDescriptors = in_struct->maxPushDescriptors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012009 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012010}
12011
12012void safe_VkPhysicalDevicePushDescriptorPropertiesKHR::initialize(const safe_VkPhysicalDevicePushDescriptorPropertiesKHR* src)
12013{
12014 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012015 maxPushDescriptors = src->maxPushDescriptors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012016 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012017}
12018
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012019safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* in_struct) :
Mike Schuchardt440d4642019-06-20 17:14:57 -070012020 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012021 shaderFloat16(in_struct->shaderFloat16),
12022 shaderInt8(in_struct->shaderInt8)
12023{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012024 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012025}
12026
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012027safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070012028 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012029{}
12030
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012031safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& src)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012032{
12033 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012034 shaderFloat16 = src.shaderFloat16;
12035 shaderInt8 = src.shaderInt8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012036 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012037}
12038
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012039safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::operator=(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR& src)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012040{
12041 if (&src == this) return *this;
12042
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012043 if (pNext)
12044 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012045
12046 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012047 shaderFloat16 = src.shaderFloat16;
12048 shaderInt8 = src.shaderInt8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012049 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012050
12051 return *this;
12052}
12053
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012054safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::~safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR()
Mike Schuchardt440d4642019-06-20 17:14:57 -070012055{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012056 if (pNext)
12057 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012058}
12059
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012060void safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::initialize(const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* in_struct)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012061{
12062 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012063 shaderFloat16 = in_struct->shaderFloat16;
12064 shaderInt8 = in_struct->shaderInt8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012065 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012066}
12067
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060012068void safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* src)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012069{
12070 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012071 shaderFloat16 = src->shaderFloat16;
12072 shaderInt8 = src->shaderInt8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012073 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012074}
12075
12076safe_VkPresentRegionKHR::safe_VkPresentRegionKHR(const VkPresentRegionKHR* in_struct) :
12077 rectangleCount(in_struct->rectangleCount),
12078 pRectangles(nullptr)
12079{
12080 if (in_struct->pRectangles) {
12081 pRectangles = new VkRectLayerKHR[in_struct->rectangleCount];
12082 memcpy ((void *)pRectangles, (void *)in_struct->pRectangles, sizeof(VkRectLayerKHR)*in_struct->rectangleCount);
12083 }
12084}
12085
12086safe_VkPresentRegionKHR::safe_VkPresentRegionKHR() :
12087 pRectangles(nullptr)
12088{}
12089
12090safe_VkPresentRegionKHR::safe_VkPresentRegionKHR(const safe_VkPresentRegionKHR& src)
12091{
12092 rectangleCount = src.rectangleCount;
12093 pRectangles = nullptr;
12094 if (src.pRectangles) {
12095 pRectangles = new VkRectLayerKHR[src.rectangleCount];
12096 memcpy ((void *)pRectangles, (void *)src.pRectangles, sizeof(VkRectLayerKHR)*src.rectangleCount);
12097 }
12098}
12099
12100safe_VkPresentRegionKHR& safe_VkPresentRegionKHR::operator=(const safe_VkPresentRegionKHR& src)
12101{
12102 if (&src == this) return *this;
12103
12104 if (pRectangles)
12105 delete[] pRectangles;
12106
12107 rectangleCount = src.rectangleCount;
12108 pRectangles = nullptr;
12109 if (src.pRectangles) {
12110 pRectangles = new VkRectLayerKHR[src.rectangleCount];
12111 memcpy ((void *)pRectangles, (void *)src.pRectangles, sizeof(VkRectLayerKHR)*src.rectangleCount);
12112 }
12113
12114 return *this;
12115}
12116
12117safe_VkPresentRegionKHR::~safe_VkPresentRegionKHR()
12118{
12119 if (pRectangles)
12120 delete[] pRectangles;
12121}
12122
12123void safe_VkPresentRegionKHR::initialize(const VkPresentRegionKHR* in_struct)
12124{
12125 rectangleCount = in_struct->rectangleCount;
12126 pRectangles = nullptr;
12127 if (in_struct->pRectangles) {
12128 pRectangles = new VkRectLayerKHR[in_struct->rectangleCount];
12129 memcpy ((void *)pRectangles, (void *)in_struct->pRectangles, sizeof(VkRectLayerKHR)*in_struct->rectangleCount);
12130 }
12131}
12132
12133void safe_VkPresentRegionKHR::initialize(const safe_VkPresentRegionKHR* src)
12134{
12135 rectangleCount = src->rectangleCount;
12136 pRectangles = nullptr;
12137 if (src->pRectangles) {
12138 pRectangles = new VkRectLayerKHR[src->rectangleCount];
12139 memcpy ((void *)pRectangles, (void *)src->pRectangles, sizeof(VkRectLayerKHR)*src->rectangleCount);
12140 }
12141}
12142
12143safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR(const VkPresentRegionsKHR* in_struct) :
12144 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012145 swapchainCount(in_struct->swapchainCount),
12146 pRegions(nullptr)
12147{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012148 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012149 if (swapchainCount && in_struct->pRegions) {
12150 pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12151 for (uint32_t i=0; i<swapchainCount; ++i) {
12152 pRegions[i].initialize(&in_struct->pRegions[i]);
12153 }
12154 }
12155}
12156
12157safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070012158 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012159 pRegions(nullptr)
12160{}
12161
12162safe_VkPresentRegionsKHR::safe_VkPresentRegionsKHR(const safe_VkPresentRegionsKHR& src)
12163{
12164 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012165 swapchainCount = src.swapchainCount;
12166 pRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012167 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012168 if (swapchainCount && src.pRegions) {
12169 pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12170 for (uint32_t i=0; i<swapchainCount; ++i) {
12171 pRegions[i].initialize(&src.pRegions[i]);
12172 }
12173 }
12174}
12175
12176safe_VkPresentRegionsKHR& safe_VkPresentRegionsKHR::operator=(const safe_VkPresentRegionsKHR& src)
12177{
12178 if (&src == this) return *this;
12179
12180 if (pRegions)
12181 delete[] pRegions;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012182 if (pNext)
12183 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012184
12185 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012186 swapchainCount = src.swapchainCount;
12187 pRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012188 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012189 if (swapchainCount && src.pRegions) {
12190 pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12191 for (uint32_t i=0; i<swapchainCount; ++i) {
12192 pRegions[i].initialize(&src.pRegions[i]);
12193 }
12194 }
12195
12196 return *this;
12197}
12198
12199safe_VkPresentRegionsKHR::~safe_VkPresentRegionsKHR()
12200{
12201 if (pRegions)
12202 delete[] pRegions;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012203 if (pNext)
12204 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012205}
12206
12207void safe_VkPresentRegionsKHR::initialize(const VkPresentRegionsKHR* in_struct)
12208{
12209 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012210 swapchainCount = in_struct->swapchainCount;
12211 pRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012212 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012213 if (swapchainCount && in_struct->pRegions) {
12214 pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12215 for (uint32_t i=0; i<swapchainCount; ++i) {
12216 pRegions[i].initialize(&in_struct->pRegions[i]);
12217 }
12218 }
12219}
12220
12221void safe_VkPresentRegionsKHR::initialize(const safe_VkPresentRegionsKHR* src)
12222{
12223 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012224 swapchainCount = src->swapchainCount;
12225 pRegions = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012226 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012227 if (swapchainCount && src->pRegions) {
12228 pRegions = new safe_VkPresentRegionKHR[swapchainCount];
12229 for (uint32_t i=0; i<swapchainCount; ++i) {
12230 pRegions[i].initialize(&src->pRegions[i]);
12231 }
12232 }
12233}
12234
Shannon McPherson0e65e192019-07-17 16:52:21 -060012235safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR* in_struct) :
12236 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012237 imagelessFramebuffer(in_struct->imagelessFramebuffer)
12238{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012239 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012240}
12241
Jason Macnak8f28eec2019-08-09 12:57:01 -070012242safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR() :
12243 pNext(nullptr)
Shannon McPherson0e65e192019-07-17 16:52:21 -060012244{}
12245
12246safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& src)
12247{
12248 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012249 imagelessFramebuffer = src.imagelessFramebuffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012250 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012251}
12252
12253safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::operator=(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR& src)
12254{
12255 if (&src == this) return *this;
12256
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012257 if (pNext)
12258 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012259
12260 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012261 imagelessFramebuffer = src.imagelessFramebuffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012262 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012263
12264 return *this;
12265}
12266
12267safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::~safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR()
12268{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012269 if (pNext)
12270 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012271}
12272
12273void safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::initialize(const VkPhysicalDeviceImagelessFramebufferFeaturesKHR* in_struct)
12274{
12275 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012276 imagelessFramebuffer = in_struct->imagelessFramebuffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012277 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012278}
12279
12280void safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR::initialize(const safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR* src)
12281{
12282 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012283 imagelessFramebuffer = src->imagelessFramebuffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012284 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012285}
12286
12287safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR(const VkFramebufferAttachmentImageInfoKHR* in_struct) :
12288 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012289 flags(in_struct->flags),
12290 usage(in_struct->usage),
12291 width(in_struct->width),
12292 height(in_struct->height),
12293 layerCount(in_struct->layerCount),
12294 viewFormatCount(in_struct->viewFormatCount),
12295 pViewFormats(nullptr)
12296{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012297 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012298 if (in_struct->pViewFormats) {
12299 pViewFormats = new VkFormat[in_struct->viewFormatCount];
12300 memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
12301 }
12302}
12303
12304safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070012305 pNext(nullptr),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012306 pViewFormats(nullptr)
12307{}
12308
12309safe_VkFramebufferAttachmentImageInfoKHR::safe_VkFramebufferAttachmentImageInfoKHR(const safe_VkFramebufferAttachmentImageInfoKHR& src)
12310{
12311 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012312 flags = src.flags;
12313 usage = src.usage;
12314 width = src.width;
12315 height = src.height;
12316 layerCount = src.layerCount;
12317 viewFormatCount = src.viewFormatCount;
12318 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012319 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012320 if (src.pViewFormats) {
12321 pViewFormats = new VkFormat[src.viewFormatCount];
12322 memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
12323 }
12324}
12325
12326safe_VkFramebufferAttachmentImageInfoKHR& safe_VkFramebufferAttachmentImageInfoKHR::operator=(const safe_VkFramebufferAttachmentImageInfoKHR& src)
12327{
12328 if (&src == this) return *this;
12329
12330 if (pViewFormats)
12331 delete[] pViewFormats;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012332 if (pNext)
12333 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012334
12335 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012336 flags = src.flags;
12337 usage = src.usage;
12338 width = src.width;
12339 height = src.height;
12340 layerCount = src.layerCount;
12341 viewFormatCount = src.viewFormatCount;
12342 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012343 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012344 if (src.pViewFormats) {
12345 pViewFormats = new VkFormat[src.viewFormatCount];
12346 memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
12347 }
12348
12349 return *this;
12350}
12351
12352safe_VkFramebufferAttachmentImageInfoKHR::~safe_VkFramebufferAttachmentImageInfoKHR()
12353{
12354 if (pViewFormats)
12355 delete[] pViewFormats;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012356 if (pNext)
12357 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012358}
12359
12360void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const VkFramebufferAttachmentImageInfoKHR* in_struct)
12361{
12362 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012363 flags = in_struct->flags;
12364 usage = in_struct->usage;
12365 width = in_struct->width;
12366 height = in_struct->height;
12367 layerCount = in_struct->layerCount;
12368 viewFormatCount = in_struct->viewFormatCount;
12369 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012370 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012371 if (in_struct->pViewFormats) {
12372 pViewFormats = new VkFormat[in_struct->viewFormatCount];
12373 memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
12374 }
12375}
12376
12377void safe_VkFramebufferAttachmentImageInfoKHR::initialize(const safe_VkFramebufferAttachmentImageInfoKHR* src)
12378{
12379 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012380 flags = src->flags;
12381 usage = src->usage;
12382 width = src->width;
12383 height = src->height;
12384 layerCount = src->layerCount;
12385 viewFormatCount = src->viewFormatCount;
12386 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012387 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012388 if (src->pViewFormats) {
12389 pViewFormats = new VkFormat[src->viewFormatCount];
12390 memcpy ((void *)pViewFormats, (void *)src->pViewFormats, sizeof(VkFormat)*src->viewFormatCount);
12391 }
12392}
12393
12394safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR(const VkFramebufferAttachmentsCreateInfoKHR* in_struct) :
12395 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012396 attachmentImageInfoCount(in_struct->attachmentImageInfoCount),
12397 pAttachmentImageInfos(nullptr)
12398{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012399 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012400 if (attachmentImageInfoCount && in_struct->pAttachmentImageInfos) {
12401 pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12402 for (uint32_t i=0; i<attachmentImageInfoCount; ++i) {
12403 pAttachmentImageInfos[i].initialize(&in_struct->pAttachmentImageInfos[i]);
12404 }
12405 }
12406}
12407
12408safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070012409 pNext(nullptr),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012410 pAttachmentImageInfos(nullptr)
12411{}
12412
12413safe_VkFramebufferAttachmentsCreateInfoKHR::safe_VkFramebufferAttachmentsCreateInfoKHR(const safe_VkFramebufferAttachmentsCreateInfoKHR& src)
12414{
12415 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012416 attachmentImageInfoCount = src.attachmentImageInfoCount;
12417 pAttachmentImageInfos = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012418 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012419 if (attachmentImageInfoCount && src.pAttachmentImageInfos) {
12420 pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12421 for (uint32_t i=0; i<attachmentImageInfoCount; ++i) {
12422 pAttachmentImageInfos[i].initialize(&src.pAttachmentImageInfos[i]);
12423 }
12424 }
12425}
12426
12427safe_VkFramebufferAttachmentsCreateInfoKHR& safe_VkFramebufferAttachmentsCreateInfoKHR::operator=(const safe_VkFramebufferAttachmentsCreateInfoKHR& src)
12428{
12429 if (&src == this) return *this;
12430
12431 if (pAttachmentImageInfos)
12432 delete[] pAttachmentImageInfos;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012433 if (pNext)
12434 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012435
12436 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012437 attachmentImageInfoCount = src.attachmentImageInfoCount;
12438 pAttachmentImageInfos = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012439 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012440 if (attachmentImageInfoCount && src.pAttachmentImageInfos) {
12441 pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12442 for (uint32_t i=0; i<attachmentImageInfoCount; ++i) {
12443 pAttachmentImageInfos[i].initialize(&src.pAttachmentImageInfos[i]);
12444 }
12445 }
12446
12447 return *this;
12448}
12449
12450safe_VkFramebufferAttachmentsCreateInfoKHR::~safe_VkFramebufferAttachmentsCreateInfoKHR()
12451{
12452 if (pAttachmentImageInfos)
12453 delete[] pAttachmentImageInfos;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012454 if (pNext)
12455 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012456}
12457
12458void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const VkFramebufferAttachmentsCreateInfoKHR* in_struct)
12459{
12460 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012461 attachmentImageInfoCount = in_struct->attachmentImageInfoCount;
12462 pAttachmentImageInfos = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012463 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012464 if (attachmentImageInfoCount && in_struct->pAttachmentImageInfos) {
12465 pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12466 for (uint32_t i=0; i<attachmentImageInfoCount; ++i) {
12467 pAttachmentImageInfos[i].initialize(&in_struct->pAttachmentImageInfos[i]);
12468 }
12469 }
12470}
12471
12472void safe_VkFramebufferAttachmentsCreateInfoKHR::initialize(const safe_VkFramebufferAttachmentsCreateInfoKHR* src)
12473{
12474 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012475 attachmentImageInfoCount = src->attachmentImageInfoCount;
12476 pAttachmentImageInfos = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012477 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012478 if (attachmentImageInfoCount && src->pAttachmentImageInfos) {
12479 pAttachmentImageInfos = new safe_VkFramebufferAttachmentImageInfoKHR[attachmentImageInfoCount];
12480 for (uint32_t i=0; i<attachmentImageInfoCount; ++i) {
12481 pAttachmentImageInfos[i].initialize(&src->pAttachmentImageInfos[i]);
12482 }
12483 }
12484}
12485
12486safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR(const VkRenderPassAttachmentBeginInfoKHR* in_struct) :
12487 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012488 attachmentCount(in_struct->attachmentCount),
12489 pAttachments(nullptr)
12490{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012491 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012492 if (attachmentCount && in_struct->pAttachments) {
12493 pAttachments = new VkImageView[attachmentCount];
12494 for (uint32_t i=0; i<attachmentCount; ++i) {
12495 pAttachments[i] = in_struct->pAttachments[i];
12496 }
12497 }
12498}
12499
12500safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070012501 pNext(nullptr),
Shannon McPherson0e65e192019-07-17 16:52:21 -060012502 pAttachments(nullptr)
12503{}
12504
12505safe_VkRenderPassAttachmentBeginInfoKHR::safe_VkRenderPassAttachmentBeginInfoKHR(const safe_VkRenderPassAttachmentBeginInfoKHR& src)
12506{
12507 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012508 attachmentCount = src.attachmentCount;
12509 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012510 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012511 if (attachmentCount && src.pAttachments) {
12512 pAttachments = new VkImageView[attachmentCount];
12513 for (uint32_t i=0; i<attachmentCount; ++i) {
12514 pAttachments[i] = src.pAttachments[i];
12515 }
12516 }
12517}
12518
12519safe_VkRenderPassAttachmentBeginInfoKHR& safe_VkRenderPassAttachmentBeginInfoKHR::operator=(const safe_VkRenderPassAttachmentBeginInfoKHR& src)
12520{
12521 if (&src == this) return *this;
12522
12523 if (pAttachments)
12524 delete[] pAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012525 if (pNext)
12526 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012527
12528 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012529 attachmentCount = src.attachmentCount;
12530 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012531 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012532 if (attachmentCount && src.pAttachments) {
12533 pAttachments = new VkImageView[attachmentCount];
12534 for (uint32_t i=0; i<attachmentCount; ++i) {
12535 pAttachments[i] = src.pAttachments[i];
12536 }
12537 }
12538
12539 return *this;
12540}
12541
12542safe_VkRenderPassAttachmentBeginInfoKHR::~safe_VkRenderPassAttachmentBeginInfoKHR()
12543{
12544 if (pAttachments)
12545 delete[] pAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012546 if (pNext)
12547 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012548}
12549
12550void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const VkRenderPassAttachmentBeginInfoKHR* in_struct)
12551{
12552 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012553 attachmentCount = in_struct->attachmentCount;
12554 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012555 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012556 if (attachmentCount && in_struct->pAttachments) {
12557 pAttachments = new VkImageView[attachmentCount];
12558 for (uint32_t i=0; i<attachmentCount; ++i) {
12559 pAttachments[i] = in_struct->pAttachments[i];
12560 }
12561 }
12562}
12563
12564void safe_VkRenderPassAttachmentBeginInfoKHR::initialize(const safe_VkRenderPassAttachmentBeginInfoKHR* src)
12565{
12566 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060012567 attachmentCount = src->attachmentCount;
12568 pAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012569 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060012570 if (attachmentCount && src->pAttachments) {
12571 pAttachments = new VkImageView[attachmentCount];
12572 for (uint32_t i=0; i<attachmentCount; ++i) {
12573 pAttachments[i] = src->pAttachments[i];
12574 }
12575 }
12576}
12577
Mike Schuchardt440d4642019-06-20 17:14:57 -070012578safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const VkAttachmentDescription2KHR* in_struct) :
12579 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012580 flags(in_struct->flags),
12581 format(in_struct->format),
12582 samples(in_struct->samples),
12583 loadOp(in_struct->loadOp),
12584 storeOp(in_struct->storeOp),
12585 stencilLoadOp(in_struct->stencilLoadOp),
12586 stencilStoreOp(in_struct->stencilStoreOp),
12587 initialLayout(in_struct->initialLayout),
12588 finalLayout(in_struct->finalLayout)
12589{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012590 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012591}
12592
Jason Macnak8f28eec2019-08-09 12:57:01 -070012593safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR() :
12594 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012595{}
12596
12597safe_VkAttachmentDescription2KHR::safe_VkAttachmentDescription2KHR(const safe_VkAttachmentDescription2KHR& src)
12598{
12599 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012600 flags = src.flags;
12601 format = src.format;
12602 samples = src.samples;
12603 loadOp = src.loadOp;
12604 storeOp = src.storeOp;
12605 stencilLoadOp = src.stencilLoadOp;
12606 stencilStoreOp = src.stencilStoreOp;
12607 initialLayout = src.initialLayout;
12608 finalLayout = src.finalLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012609 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012610}
12611
12612safe_VkAttachmentDescription2KHR& safe_VkAttachmentDescription2KHR::operator=(const safe_VkAttachmentDescription2KHR& src)
12613{
12614 if (&src == this) return *this;
12615
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012616 if (pNext)
12617 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012618
12619 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012620 flags = src.flags;
12621 format = src.format;
12622 samples = src.samples;
12623 loadOp = src.loadOp;
12624 storeOp = src.storeOp;
12625 stencilLoadOp = src.stencilLoadOp;
12626 stencilStoreOp = src.stencilStoreOp;
12627 initialLayout = src.initialLayout;
12628 finalLayout = src.finalLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012629 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012630
12631 return *this;
12632}
12633
12634safe_VkAttachmentDescription2KHR::~safe_VkAttachmentDescription2KHR()
12635{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012636 if (pNext)
12637 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012638}
12639
12640void safe_VkAttachmentDescription2KHR::initialize(const VkAttachmentDescription2KHR* in_struct)
12641{
12642 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012643 flags = in_struct->flags;
12644 format = in_struct->format;
12645 samples = in_struct->samples;
12646 loadOp = in_struct->loadOp;
12647 storeOp = in_struct->storeOp;
12648 stencilLoadOp = in_struct->stencilLoadOp;
12649 stencilStoreOp = in_struct->stencilStoreOp;
12650 initialLayout = in_struct->initialLayout;
12651 finalLayout = in_struct->finalLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012652 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012653}
12654
12655void safe_VkAttachmentDescription2KHR::initialize(const safe_VkAttachmentDescription2KHR* src)
12656{
12657 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012658 flags = src->flags;
12659 format = src->format;
12660 samples = src->samples;
12661 loadOp = src->loadOp;
12662 storeOp = src->storeOp;
12663 stencilLoadOp = src->stencilLoadOp;
12664 stencilStoreOp = src->stencilStoreOp;
12665 initialLayout = src->initialLayout;
12666 finalLayout = src->finalLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012667 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012668}
12669
12670safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR(const VkAttachmentReference2KHR* in_struct) :
12671 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012672 attachment(in_struct->attachment),
12673 layout(in_struct->layout),
12674 aspectMask(in_struct->aspectMask)
12675{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012676 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012677}
12678
Jason Macnak8f28eec2019-08-09 12:57:01 -070012679safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR() :
12680 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012681{}
12682
12683safe_VkAttachmentReference2KHR::safe_VkAttachmentReference2KHR(const safe_VkAttachmentReference2KHR& src)
12684{
12685 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012686 attachment = src.attachment;
12687 layout = src.layout;
12688 aspectMask = src.aspectMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012689 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012690}
12691
12692safe_VkAttachmentReference2KHR& safe_VkAttachmentReference2KHR::operator=(const safe_VkAttachmentReference2KHR& src)
12693{
12694 if (&src == this) return *this;
12695
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012696 if (pNext)
12697 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012698
12699 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012700 attachment = src.attachment;
12701 layout = src.layout;
12702 aspectMask = src.aspectMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012703 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012704
12705 return *this;
12706}
12707
12708safe_VkAttachmentReference2KHR::~safe_VkAttachmentReference2KHR()
12709{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012710 if (pNext)
12711 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012712}
12713
12714void safe_VkAttachmentReference2KHR::initialize(const VkAttachmentReference2KHR* in_struct)
12715{
12716 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012717 attachment = in_struct->attachment;
12718 layout = in_struct->layout;
12719 aspectMask = in_struct->aspectMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012720 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012721}
12722
12723void safe_VkAttachmentReference2KHR::initialize(const safe_VkAttachmentReference2KHR* src)
12724{
12725 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012726 attachment = src->attachment;
12727 layout = src->layout;
12728 aspectMask = src->aspectMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012729 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012730}
12731
12732safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const VkSubpassDescription2KHR* in_struct) :
12733 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012734 flags(in_struct->flags),
12735 pipelineBindPoint(in_struct->pipelineBindPoint),
12736 viewMask(in_struct->viewMask),
12737 inputAttachmentCount(in_struct->inputAttachmentCount),
12738 pInputAttachments(nullptr),
12739 colorAttachmentCount(in_struct->colorAttachmentCount),
12740 pColorAttachments(nullptr),
12741 pResolveAttachments(nullptr),
12742 preserveAttachmentCount(in_struct->preserveAttachmentCount),
12743 pPreserveAttachments(nullptr)
12744{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012745 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012746 if (inputAttachmentCount && in_struct->pInputAttachments) {
12747 pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12748 for (uint32_t i=0; i<inputAttachmentCount; ++i) {
12749 pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]);
12750 }
12751 }
12752 if (colorAttachmentCount && in_struct->pColorAttachments) {
12753 pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12754 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12755 pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]);
12756 }
12757 }
12758 if (colorAttachmentCount && in_struct->pResolveAttachments) {
12759 pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12760 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12761 pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]);
12762 }
12763 }
12764 if (in_struct->pDepthStencilAttachment)
12765 pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilAttachment);
12766 else
12767 pDepthStencilAttachment = NULL;
12768 if (in_struct->pPreserveAttachments) {
12769 pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
12770 memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
12771 }
12772}
12773
12774safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070012775 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012776 pInputAttachments(nullptr),
12777 pColorAttachments(nullptr),
12778 pResolveAttachments(nullptr),
12779 pPreserveAttachments(nullptr)
12780{}
12781
12782safe_VkSubpassDescription2KHR::safe_VkSubpassDescription2KHR(const safe_VkSubpassDescription2KHR& src)
12783{
12784 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012785 flags = src.flags;
12786 pipelineBindPoint = src.pipelineBindPoint;
12787 viewMask = src.viewMask;
12788 inputAttachmentCount = src.inputAttachmentCount;
12789 pInputAttachments = nullptr;
12790 colorAttachmentCount = src.colorAttachmentCount;
12791 pColorAttachments = nullptr;
12792 pResolveAttachments = nullptr;
12793 preserveAttachmentCount = src.preserveAttachmentCount;
12794 pPreserveAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012795 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012796 if (inputAttachmentCount && src.pInputAttachments) {
12797 pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12798 for (uint32_t i=0; i<inputAttachmentCount; ++i) {
12799 pInputAttachments[i].initialize(&src.pInputAttachments[i]);
12800 }
12801 }
12802 if (colorAttachmentCount && src.pColorAttachments) {
12803 pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12804 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12805 pColorAttachments[i].initialize(&src.pColorAttachments[i]);
12806 }
12807 }
12808 if (colorAttachmentCount && src.pResolveAttachments) {
12809 pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12810 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12811 pResolveAttachments[i].initialize(&src.pResolveAttachments[i]);
12812 }
12813 }
12814 if (src.pDepthStencilAttachment)
12815 pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilAttachment);
12816 else
12817 pDepthStencilAttachment = NULL;
12818 if (src.pPreserveAttachments) {
12819 pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
12820 memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
12821 }
12822}
12823
12824safe_VkSubpassDescription2KHR& safe_VkSubpassDescription2KHR::operator=(const safe_VkSubpassDescription2KHR& src)
12825{
12826 if (&src == this) return *this;
12827
12828 if (pInputAttachments)
12829 delete[] pInputAttachments;
12830 if (pColorAttachments)
12831 delete[] pColorAttachments;
12832 if (pResolveAttachments)
12833 delete[] pResolveAttachments;
12834 if (pDepthStencilAttachment)
12835 delete pDepthStencilAttachment;
12836 if (pPreserveAttachments)
12837 delete[] pPreserveAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012838 if (pNext)
12839 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012840
12841 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012842 flags = src.flags;
12843 pipelineBindPoint = src.pipelineBindPoint;
12844 viewMask = src.viewMask;
12845 inputAttachmentCount = src.inputAttachmentCount;
12846 pInputAttachments = nullptr;
12847 colorAttachmentCount = src.colorAttachmentCount;
12848 pColorAttachments = nullptr;
12849 pResolveAttachments = nullptr;
12850 preserveAttachmentCount = src.preserveAttachmentCount;
12851 pPreserveAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012852 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012853 if (inputAttachmentCount && src.pInputAttachments) {
12854 pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12855 for (uint32_t i=0; i<inputAttachmentCount; ++i) {
12856 pInputAttachments[i].initialize(&src.pInputAttachments[i]);
12857 }
12858 }
12859 if (colorAttachmentCount && src.pColorAttachments) {
12860 pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12861 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12862 pColorAttachments[i].initialize(&src.pColorAttachments[i]);
12863 }
12864 }
12865 if (colorAttachmentCount && src.pResolveAttachments) {
12866 pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12867 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12868 pResolveAttachments[i].initialize(&src.pResolveAttachments[i]);
12869 }
12870 }
12871 if (src.pDepthStencilAttachment)
12872 pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilAttachment);
12873 else
12874 pDepthStencilAttachment = NULL;
12875 if (src.pPreserveAttachments) {
12876 pPreserveAttachments = new uint32_t[src.preserveAttachmentCount];
12877 memcpy ((void *)pPreserveAttachments, (void *)src.pPreserveAttachments, sizeof(uint32_t)*src.preserveAttachmentCount);
12878 }
12879
12880 return *this;
12881}
12882
12883safe_VkSubpassDescription2KHR::~safe_VkSubpassDescription2KHR()
12884{
12885 if (pInputAttachments)
12886 delete[] pInputAttachments;
12887 if (pColorAttachments)
12888 delete[] pColorAttachments;
12889 if (pResolveAttachments)
12890 delete[] pResolveAttachments;
12891 if (pDepthStencilAttachment)
12892 delete pDepthStencilAttachment;
12893 if (pPreserveAttachments)
12894 delete[] pPreserveAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012895 if (pNext)
12896 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012897}
12898
12899void safe_VkSubpassDescription2KHR::initialize(const VkSubpassDescription2KHR* in_struct)
12900{
12901 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012902 flags = in_struct->flags;
12903 pipelineBindPoint = in_struct->pipelineBindPoint;
12904 viewMask = in_struct->viewMask;
12905 inputAttachmentCount = in_struct->inputAttachmentCount;
12906 pInputAttachments = nullptr;
12907 colorAttachmentCount = in_struct->colorAttachmentCount;
12908 pColorAttachments = nullptr;
12909 pResolveAttachments = nullptr;
12910 preserveAttachmentCount = in_struct->preserveAttachmentCount;
12911 pPreserveAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012912 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012913 if (inputAttachmentCount && in_struct->pInputAttachments) {
12914 pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12915 for (uint32_t i=0; i<inputAttachmentCount; ++i) {
12916 pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]);
12917 }
12918 }
12919 if (colorAttachmentCount && in_struct->pColorAttachments) {
12920 pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12921 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12922 pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]);
12923 }
12924 }
12925 if (colorAttachmentCount && in_struct->pResolveAttachments) {
12926 pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12927 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12928 pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]);
12929 }
12930 }
12931 if (in_struct->pDepthStencilAttachment)
12932 pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilAttachment);
12933 else
12934 pDepthStencilAttachment = NULL;
12935 if (in_struct->pPreserveAttachments) {
12936 pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount];
12937 memcpy ((void *)pPreserveAttachments, (void *)in_struct->pPreserveAttachments, sizeof(uint32_t)*in_struct->preserveAttachmentCount);
12938 }
12939}
12940
12941void safe_VkSubpassDescription2KHR::initialize(const safe_VkSubpassDescription2KHR* src)
12942{
12943 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070012944 flags = src->flags;
12945 pipelineBindPoint = src->pipelineBindPoint;
12946 viewMask = src->viewMask;
12947 inputAttachmentCount = src->inputAttachmentCount;
12948 pInputAttachments = nullptr;
12949 colorAttachmentCount = src->colorAttachmentCount;
12950 pColorAttachments = nullptr;
12951 pResolveAttachments = nullptr;
12952 preserveAttachmentCount = src->preserveAttachmentCount;
12953 pPreserveAttachments = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012954 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012955 if (inputAttachmentCount && src->pInputAttachments) {
12956 pInputAttachments = new safe_VkAttachmentReference2KHR[inputAttachmentCount];
12957 for (uint32_t i=0; i<inputAttachmentCount; ++i) {
12958 pInputAttachments[i].initialize(&src->pInputAttachments[i]);
12959 }
12960 }
12961 if (colorAttachmentCount && src->pColorAttachments) {
12962 pColorAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12963 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12964 pColorAttachments[i].initialize(&src->pColorAttachments[i]);
12965 }
12966 }
12967 if (colorAttachmentCount && src->pResolveAttachments) {
12968 pResolveAttachments = new safe_VkAttachmentReference2KHR[colorAttachmentCount];
12969 for (uint32_t i=0; i<colorAttachmentCount; ++i) {
12970 pResolveAttachments[i].initialize(&src->pResolveAttachments[i]);
12971 }
12972 }
12973 if (src->pDepthStencilAttachment)
12974 pDepthStencilAttachment = new safe_VkAttachmentReference2KHR(*src->pDepthStencilAttachment);
12975 else
12976 pDepthStencilAttachment = NULL;
12977 if (src->pPreserveAttachments) {
12978 pPreserveAttachments = new uint32_t[src->preserveAttachmentCount];
12979 memcpy ((void *)pPreserveAttachments, (void *)src->pPreserveAttachments, sizeof(uint32_t)*src->preserveAttachmentCount);
12980 }
12981}
12982
12983safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const VkSubpassDependency2KHR* in_struct) :
12984 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070012985 srcSubpass(in_struct->srcSubpass),
12986 dstSubpass(in_struct->dstSubpass),
12987 srcStageMask(in_struct->srcStageMask),
12988 dstStageMask(in_struct->dstStageMask),
12989 srcAccessMask(in_struct->srcAccessMask),
12990 dstAccessMask(in_struct->dstAccessMask),
12991 dependencyFlags(in_struct->dependencyFlags),
12992 viewOffset(in_struct->viewOffset)
12993{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060012994 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070012995}
12996
Jason Macnak8f28eec2019-08-09 12:57:01 -070012997safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR() :
12998 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070012999{}
13000
13001safe_VkSubpassDependency2KHR::safe_VkSubpassDependency2KHR(const safe_VkSubpassDependency2KHR& src)
13002{
13003 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013004 srcSubpass = src.srcSubpass;
13005 dstSubpass = src.dstSubpass;
13006 srcStageMask = src.srcStageMask;
13007 dstStageMask = src.dstStageMask;
13008 srcAccessMask = src.srcAccessMask;
13009 dstAccessMask = src.dstAccessMask;
13010 dependencyFlags = src.dependencyFlags;
13011 viewOffset = src.viewOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013012 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013013}
13014
13015safe_VkSubpassDependency2KHR& safe_VkSubpassDependency2KHR::operator=(const safe_VkSubpassDependency2KHR& src)
13016{
13017 if (&src == this) return *this;
13018
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013019 if (pNext)
13020 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013021
13022 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013023 srcSubpass = src.srcSubpass;
13024 dstSubpass = src.dstSubpass;
13025 srcStageMask = src.srcStageMask;
13026 dstStageMask = src.dstStageMask;
13027 srcAccessMask = src.srcAccessMask;
13028 dstAccessMask = src.dstAccessMask;
13029 dependencyFlags = src.dependencyFlags;
13030 viewOffset = src.viewOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013031 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013032
13033 return *this;
13034}
13035
13036safe_VkSubpassDependency2KHR::~safe_VkSubpassDependency2KHR()
13037{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013038 if (pNext)
13039 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013040}
13041
13042void safe_VkSubpassDependency2KHR::initialize(const VkSubpassDependency2KHR* in_struct)
13043{
13044 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013045 srcSubpass = in_struct->srcSubpass;
13046 dstSubpass = in_struct->dstSubpass;
13047 srcStageMask = in_struct->srcStageMask;
13048 dstStageMask = in_struct->dstStageMask;
13049 srcAccessMask = in_struct->srcAccessMask;
13050 dstAccessMask = in_struct->dstAccessMask;
13051 dependencyFlags = in_struct->dependencyFlags;
13052 viewOffset = in_struct->viewOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013053 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013054}
13055
13056void safe_VkSubpassDependency2KHR::initialize(const safe_VkSubpassDependency2KHR* src)
13057{
13058 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013059 srcSubpass = src->srcSubpass;
13060 dstSubpass = src->dstSubpass;
13061 srcStageMask = src->srcStageMask;
13062 dstStageMask = src->dstStageMask;
13063 srcAccessMask = src->srcAccessMask;
13064 dstAccessMask = src->dstAccessMask;
13065 dependencyFlags = src->dependencyFlags;
13066 viewOffset = src->viewOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013067 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013068}
13069
13070safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const VkRenderPassCreateInfo2KHR* in_struct) :
13071 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013072 flags(in_struct->flags),
13073 attachmentCount(in_struct->attachmentCount),
13074 pAttachments(nullptr),
13075 subpassCount(in_struct->subpassCount),
13076 pSubpasses(nullptr),
13077 dependencyCount(in_struct->dependencyCount),
13078 pDependencies(nullptr),
13079 correlatedViewMaskCount(in_struct->correlatedViewMaskCount),
13080 pCorrelatedViewMasks(nullptr)
13081{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013082 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013083 if (attachmentCount && in_struct->pAttachments) {
13084 pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13085 for (uint32_t i=0; i<attachmentCount; ++i) {
13086 pAttachments[i].initialize(&in_struct->pAttachments[i]);
13087 }
13088 }
13089 if (subpassCount && in_struct->pSubpasses) {
13090 pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13091 for (uint32_t i=0; i<subpassCount; ++i) {
13092 pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
13093 }
13094 }
13095 if (dependencyCount && in_struct->pDependencies) {
13096 pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13097 for (uint32_t i=0; i<dependencyCount; ++i) {
13098 pDependencies[i].initialize(&in_struct->pDependencies[i]);
13099 }
13100 }
13101 if (in_struct->pCorrelatedViewMasks) {
13102 pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount];
13103 memcpy ((void *)pCorrelatedViewMasks, (void *)in_struct->pCorrelatedViewMasks, sizeof(uint32_t)*in_struct->correlatedViewMaskCount);
13104 }
13105}
13106
13107safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070013108 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013109 pAttachments(nullptr),
13110 pSubpasses(nullptr),
13111 pDependencies(nullptr),
13112 pCorrelatedViewMasks(nullptr)
13113{}
13114
13115safe_VkRenderPassCreateInfo2KHR::safe_VkRenderPassCreateInfo2KHR(const safe_VkRenderPassCreateInfo2KHR& src)
13116{
13117 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013118 flags = src.flags;
13119 attachmentCount = src.attachmentCount;
13120 pAttachments = nullptr;
13121 subpassCount = src.subpassCount;
13122 pSubpasses = nullptr;
13123 dependencyCount = src.dependencyCount;
13124 pDependencies = nullptr;
13125 correlatedViewMaskCount = src.correlatedViewMaskCount;
13126 pCorrelatedViewMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013127 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013128 if (attachmentCount && src.pAttachments) {
13129 pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13130 for (uint32_t i=0; i<attachmentCount; ++i) {
13131 pAttachments[i].initialize(&src.pAttachments[i]);
13132 }
13133 }
13134 if (subpassCount && src.pSubpasses) {
13135 pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13136 for (uint32_t i=0; i<subpassCount; ++i) {
13137 pSubpasses[i].initialize(&src.pSubpasses[i]);
13138 }
13139 }
13140 if (dependencyCount && src.pDependencies) {
13141 pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13142 for (uint32_t i=0; i<dependencyCount; ++i) {
13143 pDependencies[i].initialize(&src.pDependencies[i]);
13144 }
13145 }
13146 if (src.pCorrelatedViewMasks) {
13147 pCorrelatedViewMasks = new uint32_t[src.correlatedViewMaskCount];
13148 memcpy ((void *)pCorrelatedViewMasks, (void *)src.pCorrelatedViewMasks, sizeof(uint32_t)*src.correlatedViewMaskCount);
13149 }
13150}
13151
13152safe_VkRenderPassCreateInfo2KHR& safe_VkRenderPassCreateInfo2KHR::operator=(const safe_VkRenderPassCreateInfo2KHR& src)
13153{
13154 if (&src == this) return *this;
13155
13156 if (pAttachments)
13157 delete[] pAttachments;
13158 if (pSubpasses)
13159 delete[] pSubpasses;
13160 if (pDependencies)
13161 delete[] pDependencies;
13162 if (pCorrelatedViewMasks)
13163 delete[] pCorrelatedViewMasks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013164 if (pNext)
13165 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013166
13167 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013168 flags = src.flags;
13169 attachmentCount = src.attachmentCount;
13170 pAttachments = nullptr;
13171 subpassCount = src.subpassCount;
13172 pSubpasses = nullptr;
13173 dependencyCount = src.dependencyCount;
13174 pDependencies = nullptr;
13175 correlatedViewMaskCount = src.correlatedViewMaskCount;
13176 pCorrelatedViewMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013177 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013178 if (attachmentCount && src.pAttachments) {
13179 pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13180 for (uint32_t i=0; i<attachmentCount; ++i) {
13181 pAttachments[i].initialize(&src.pAttachments[i]);
13182 }
13183 }
13184 if (subpassCount && src.pSubpasses) {
13185 pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13186 for (uint32_t i=0; i<subpassCount; ++i) {
13187 pSubpasses[i].initialize(&src.pSubpasses[i]);
13188 }
13189 }
13190 if (dependencyCount && src.pDependencies) {
13191 pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13192 for (uint32_t i=0; i<dependencyCount; ++i) {
13193 pDependencies[i].initialize(&src.pDependencies[i]);
13194 }
13195 }
13196 if (src.pCorrelatedViewMasks) {
13197 pCorrelatedViewMasks = new uint32_t[src.correlatedViewMaskCount];
13198 memcpy ((void *)pCorrelatedViewMasks, (void *)src.pCorrelatedViewMasks, sizeof(uint32_t)*src.correlatedViewMaskCount);
13199 }
13200
13201 return *this;
13202}
13203
13204safe_VkRenderPassCreateInfo2KHR::~safe_VkRenderPassCreateInfo2KHR()
13205{
13206 if (pAttachments)
13207 delete[] pAttachments;
13208 if (pSubpasses)
13209 delete[] pSubpasses;
13210 if (pDependencies)
13211 delete[] pDependencies;
13212 if (pCorrelatedViewMasks)
13213 delete[] pCorrelatedViewMasks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013214 if (pNext)
13215 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013216}
13217
13218void safe_VkRenderPassCreateInfo2KHR::initialize(const VkRenderPassCreateInfo2KHR* in_struct)
13219{
13220 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013221 flags = in_struct->flags;
13222 attachmentCount = in_struct->attachmentCount;
13223 pAttachments = nullptr;
13224 subpassCount = in_struct->subpassCount;
13225 pSubpasses = nullptr;
13226 dependencyCount = in_struct->dependencyCount;
13227 pDependencies = nullptr;
13228 correlatedViewMaskCount = in_struct->correlatedViewMaskCount;
13229 pCorrelatedViewMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013230 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013231 if (attachmentCount && in_struct->pAttachments) {
13232 pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13233 for (uint32_t i=0; i<attachmentCount; ++i) {
13234 pAttachments[i].initialize(&in_struct->pAttachments[i]);
13235 }
13236 }
13237 if (subpassCount && in_struct->pSubpasses) {
13238 pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13239 for (uint32_t i=0; i<subpassCount; ++i) {
13240 pSubpasses[i].initialize(&in_struct->pSubpasses[i]);
13241 }
13242 }
13243 if (dependencyCount && in_struct->pDependencies) {
13244 pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13245 for (uint32_t i=0; i<dependencyCount; ++i) {
13246 pDependencies[i].initialize(&in_struct->pDependencies[i]);
13247 }
13248 }
13249 if (in_struct->pCorrelatedViewMasks) {
13250 pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount];
13251 memcpy ((void *)pCorrelatedViewMasks, (void *)in_struct->pCorrelatedViewMasks, sizeof(uint32_t)*in_struct->correlatedViewMaskCount);
13252 }
13253}
13254
13255void safe_VkRenderPassCreateInfo2KHR::initialize(const safe_VkRenderPassCreateInfo2KHR* src)
13256{
13257 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013258 flags = src->flags;
13259 attachmentCount = src->attachmentCount;
13260 pAttachments = nullptr;
13261 subpassCount = src->subpassCount;
13262 pSubpasses = nullptr;
13263 dependencyCount = src->dependencyCount;
13264 pDependencies = nullptr;
13265 correlatedViewMaskCount = src->correlatedViewMaskCount;
13266 pCorrelatedViewMasks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013267 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013268 if (attachmentCount && src->pAttachments) {
13269 pAttachments = new safe_VkAttachmentDescription2KHR[attachmentCount];
13270 for (uint32_t i=0; i<attachmentCount; ++i) {
13271 pAttachments[i].initialize(&src->pAttachments[i]);
13272 }
13273 }
13274 if (subpassCount && src->pSubpasses) {
13275 pSubpasses = new safe_VkSubpassDescription2KHR[subpassCount];
13276 for (uint32_t i=0; i<subpassCount; ++i) {
13277 pSubpasses[i].initialize(&src->pSubpasses[i]);
13278 }
13279 }
13280 if (dependencyCount && src->pDependencies) {
13281 pDependencies = new safe_VkSubpassDependency2KHR[dependencyCount];
13282 for (uint32_t i=0; i<dependencyCount; ++i) {
13283 pDependencies[i].initialize(&src->pDependencies[i]);
13284 }
13285 }
13286 if (src->pCorrelatedViewMasks) {
13287 pCorrelatedViewMasks = new uint32_t[src->correlatedViewMaskCount];
13288 memcpy ((void *)pCorrelatedViewMasks, (void *)src->pCorrelatedViewMasks, sizeof(uint32_t)*src->correlatedViewMaskCount);
13289 }
13290}
13291
13292safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR(const VkSubpassBeginInfoKHR* in_struct) :
13293 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013294 contents(in_struct->contents)
13295{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013296 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013297}
13298
Jason Macnak8f28eec2019-08-09 12:57:01 -070013299safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR() :
13300 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013301{}
13302
13303safe_VkSubpassBeginInfoKHR::safe_VkSubpassBeginInfoKHR(const safe_VkSubpassBeginInfoKHR& src)
13304{
13305 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013306 contents = src.contents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013307 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013308}
13309
13310safe_VkSubpassBeginInfoKHR& safe_VkSubpassBeginInfoKHR::operator=(const safe_VkSubpassBeginInfoKHR& src)
13311{
13312 if (&src == this) return *this;
13313
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013314 if (pNext)
13315 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013316
13317 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013318 contents = src.contents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013319 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013320
13321 return *this;
13322}
13323
13324safe_VkSubpassBeginInfoKHR::~safe_VkSubpassBeginInfoKHR()
13325{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013326 if (pNext)
13327 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013328}
13329
13330void safe_VkSubpassBeginInfoKHR::initialize(const VkSubpassBeginInfoKHR* in_struct)
13331{
13332 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013333 contents = in_struct->contents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013334 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013335}
13336
13337void safe_VkSubpassBeginInfoKHR::initialize(const safe_VkSubpassBeginInfoKHR* src)
13338{
13339 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013340 contents = src->contents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013341 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013342}
13343
13344safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR(const VkSubpassEndInfoKHR* in_struct) :
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013345 sType(in_struct->sType)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013346{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013347 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013348}
13349
Jason Macnak8f28eec2019-08-09 12:57:01 -070013350safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR() :
13351 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013352{}
13353
13354safe_VkSubpassEndInfoKHR::safe_VkSubpassEndInfoKHR(const safe_VkSubpassEndInfoKHR& src)
13355{
13356 sType = src.sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013357 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013358}
13359
13360safe_VkSubpassEndInfoKHR& safe_VkSubpassEndInfoKHR::operator=(const safe_VkSubpassEndInfoKHR& src)
13361{
13362 if (&src == this) return *this;
13363
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013364 if (pNext)
13365 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013366
13367 sType = src.sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013368 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013369
13370 return *this;
13371}
13372
13373safe_VkSubpassEndInfoKHR::~safe_VkSubpassEndInfoKHR()
13374{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013375 if (pNext)
13376 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013377}
13378
13379void safe_VkSubpassEndInfoKHR::initialize(const VkSubpassEndInfoKHR* in_struct)
13380{
13381 sType = in_struct->sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013382 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013383}
13384
13385void safe_VkSubpassEndInfoKHR::initialize(const safe_VkSubpassEndInfoKHR* src)
13386{
13387 sType = src->sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013388 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013389}
13390
13391safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR(const VkSharedPresentSurfaceCapabilitiesKHR* in_struct) :
13392 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013393 sharedPresentSupportedUsageFlags(in_struct->sharedPresentSupportedUsageFlags)
13394{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013395 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013396}
13397
Jason Macnak8f28eec2019-08-09 12:57:01 -070013398safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR() :
13399 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013400{}
13401
13402safe_VkSharedPresentSurfaceCapabilitiesKHR::safe_VkSharedPresentSurfaceCapabilitiesKHR(const safe_VkSharedPresentSurfaceCapabilitiesKHR& src)
13403{
13404 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013405 sharedPresentSupportedUsageFlags = src.sharedPresentSupportedUsageFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013406 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013407}
13408
13409safe_VkSharedPresentSurfaceCapabilitiesKHR& safe_VkSharedPresentSurfaceCapabilitiesKHR::operator=(const safe_VkSharedPresentSurfaceCapabilitiesKHR& src)
13410{
13411 if (&src == this) return *this;
13412
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013413 if (pNext)
13414 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013415
13416 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013417 sharedPresentSupportedUsageFlags = src.sharedPresentSupportedUsageFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013418 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013419
13420 return *this;
13421}
13422
13423safe_VkSharedPresentSurfaceCapabilitiesKHR::~safe_VkSharedPresentSurfaceCapabilitiesKHR()
13424{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013425 if (pNext)
13426 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013427}
13428
13429void safe_VkSharedPresentSurfaceCapabilitiesKHR::initialize(const VkSharedPresentSurfaceCapabilitiesKHR* in_struct)
13430{
13431 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013432 sharedPresentSupportedUsageFlags = in_struct->sharedPresentSupportedUsageFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013433 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013434}
13435
13436void safe_VkSharedPresentSurfaceCapabilitiesKHR::initialize(const safe_VkSharedPresentSurfaceCapabilitiesKHR* src)
13437{
13438 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013439 sharedPresentSupportedUsageFlags = src->sharedPresentSupportedUsageFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013440 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013441}
13442#ifdef VK_USE_PLATFORM_WIN32_KHR
13443
13444
13445safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR(const VkImportFenceWin32HandleInfoKHR* in_struct) :
13446 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013447 fence(in_struct->fence),
13448 flags(in_struct->flags),
13449 handleType(in_struct->handleType),
13450 handle(in_struct->handle),
13451 name(in_struct->name)
13452{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013453 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013454}
13455
Jason Macnak8f28eec2019-08-09 12:57:01 -070013456safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR() :
13457 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013458{}
13459
13460safe_VkImportFenceWin32HandleInfoKHR::safe_VkImportFenceWin32HandleInfoKHR(const safe_VkImportFenceWin32HandleInfoKHR& src)
13461{
13462 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013463 fence = src.fence;
13464 flags = src.flags;
13465 handleType = src.handleType;
13466 handle = src.handle;
13467 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013468 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013469}
13470
13471safe_VkImportFenceWin32HandleInfoKHR& safe_VkImportFenceWin32HandleInfoKHR::operator=(const safe_VkImportFenceWin32HandleInfoKHR& src)
13472{
13473 if (&src == this) return *this;
13474
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013475 if (pNext)
13476 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013477
13478 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013479 fence = src.fence;
13480 flags = src.flags;
13481 handleType = src.handleType;
13482 handle = src.handle;
13483 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013484 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013485
13486 return *this;
13487}
13488
13489safe_VkImportFenceWin32HandleInfoKHR::~safe_VkImportFenceWin32HandleInfoKHR()
13490{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013491 if (pNext)
13492 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013493}
13494
13495void safe_VkImportFenceWin32HandleInfoKHR::initialize(const VkImportFenceWin32HandleInfoKHR* in_struct)
13496{
13497 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013498 fence = in_struct->fence;
13499 flags = in_struct->flags;
13500 handleType = in_struct->handleType;
13501 handle = in_struct->handle;
13502 name = in_struct->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013503 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013504}
13505
13506void safe_VkImportFenceWin32HandleInfoKHR::initialize(const safe_VkImportFenceWin32HandleInfoKHR* src)
13507{
13508 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013509 fence = src->fence;
13510 flags = src->flags;
13511 handleType = src->handleType;
13512 handle = src->handle;
13513 name = src->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013514 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013515}
13516#endif // VK_USE_PLATFORM_WIN32_KHR
13517
13518#ifdef VK_USE_PLATFORM_WIN32_KHR
13519
13520
13521safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR(const VkExportFenceWin32HandleInfoKHR* in_struct) :
13522 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013523 pAttributes(nullptr),
13524 dwAccess(in_struct->dwAccess),
13525 name(in_struct->name)
13526{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013527 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013528 if (in_struct->pAttributes) {
13529 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
13530 }
13531}
13532
13533safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070013534 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013535 pAttributes(nullptr)
13536{}
13537
13538safe_VkExportFenceWin32HandleInfoKHR::safe_VkExportFenceWin32HandleInfoKHR(const safe_VkExportFenceWin32HandleInfoKHR& src)
13539{
13540 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013541 pAttributes = nullptr;
13542 dwAccess = src.dwAccess;
13543 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013544 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013545 if (src.pAttributes) {
13546 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
13547 }
13548}
13549
13550safe_VkExportFenceWin32HandleInfoKHR& safe_VkExportFenceWin32HandleInfoKHR::operator=(const safe_VkExportFenceWin32HandleInfoKHR& src)
13551{
13552 if (&src == this) return *this;
13553
13554 if (pAttributes)
13555 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013556 if (pNext)
13557 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013558
13559 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013560 pAttributes = nullptr;
13561 dwAccess = src.dwAccess;
13562 name = src.name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013563 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013564 if (src.pAttributes) {
13565 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
13566 }
13567
13568 return *this;
13569}
13570
13571safe_VkExportFenceWin32HandleInfoKHR::~safe_VkExportFenceWin32HandleInfoKHR()
13572{
13573 if (pAttributes)
13574 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013575 if (pNext)
13576 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013577}
13578
13579void safe_VkExportFenceWin32HandleInfoKHR::initialize(const VkExportFenceWin32HandleInfoKHR* in_struct)
13580{
13581 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013582 pAttributes = nullptr;
13583 dwAccess = in_struct->dwAccess;
13584 name = in_struct->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013585 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013586 if (in_struct->pAttributes) {
13587 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
13588 }
13589}
13590
13591void safe_VkExportFenceWin32HandleInfoKHR::initialize(const safe_VkExportFenceWin32HandleInfoKHR* src)
13592{
13593 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013594 pAttributes = nullptr;
13595 dwAccess = src->dwAccess;
13596 name = src->name;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013597 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013598 if (src->pAttributes) {
13599 pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
13600 }
13601}
13602#endif // VK_USE_PLATFORM_WIN32_KHR
13603
13604#ifdef VK_USE_PLATFORM_WIN32_KHR
13605
13606
13607safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR(const VkFenceGetWin32HandleInfoKHR* in_struct) :
13608 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013609 fence(in_struct->fence),
13610 handleType(in_struct->handleType)
13611{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013612 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013613}
13614
Jason Macnak8f28eec2019-08-09 12:57:01 -070013615safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR() :
13616 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013617{}
13618
13619safe_VkFenceGetWin32HandleInfoKHR::safe_VkFenceGetWin32HandleInfoKHR(const safe_VkFenceGetWin32HandleInfoKHR& src)
13620{
13621 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013622 fence = src.fence;
13623 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013624 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013625}
13626
13627safe_VkFenceGetWin32HandleInfoKHR& safe_VkFenceGetWin32HandleInfoKHR::operator=(const safe_VkFenceGetWin32HandleInfoKHR& src)
13628{
13629 if (&src == this) return *this;
13630
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013631 if (pNext)
13632 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013633
13634 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013635 fence = src.fence;
13636 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013637 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013638
13639 return *this;
13640}
13641
13642safe_VkFenceGetWin32HandleInfoKHR::~safe_VkFenceGetWin32HandleInfoKHR()
13643{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013644 if (pNext)
13645 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013646}
13647
13648void safe_VkFenceGetWin32HandleInfoKHR::initialize(const VkFenceGetWin32HandleInfoKHR* in_struct)
13649{
13650 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013651 fence = in_struct->fence;
13652 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013653 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013654}
13655
13656void safe_VkFenceGetWin32HandleInfoKHR::initialize(const safe_VkFenceGetWin32HandleInfoKHR* src)
13657{
13658 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013659 fence = src->fence;
13660 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013661 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013662}
13663#endif // VK_USE_PLATFORM_WIN32_KHR
13664
13665
13666safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR(const VkImportFenceFdInfoKHR* in_struct) :
13667 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013668 fence(in_struct->fence),
13669 flags(in_struct->flags),
13670 handleType(in_struct->handleType),
13671 fd(in_struct->fd)
13672{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013673 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013674}
13675
Jason Macnak8f28eec2019-08-09 12:57:01 -070013676safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR() :
13677 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013678{}
13679
13680safe_VkImportFenceFdInfoKHR::safe_VkImportFenceFdInfoKHR(const safe_VkImportFenceFdInfoKHR& src)
13681{
13682 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013683 fence = src.fence;
13684 flags = src.flags;
13685 handleType = src.handleType;
13686 fd = src.fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013687 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013688}
13689
13690safe_VkImportFenceFdInfoKHR& safe_VkImportFenceFdInfoKHR::operator=(const safe_VkImportFenceFdInfoKHR& src)
13691{
13692 if (&src == this) return *this;
13693
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013694 if (pNext)
13695 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013696
13697 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013698 fence = src.fence;
13699 flags = src.flags;
13700 handleType = src.handleType;
13701 fd = src.fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013702 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013703
13704 return *this;
13705}
13706
13707safe_VkImportFenceFdInfoKHR::~safe_VkImportFenceFdInfoKHR()
13708{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013709 if (pNext)
13710 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013711}
13712
13713void safe_VkImportFenceFdInfoKHR::initialize(const VkImportFenceFdInfoKHR* in_struct)
13714{
13715 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013716 fence = in_struct->fence;
13717 flags = in_struct->flags;
13718 handleType = in_struct->handleType;
13719 fd = in_struct->fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013720 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013721}
13722
13723void safe_VkImportFenceFdInfoKHR::initialize(const safe_VkImportFenceFdInfoKHR* src)
13724{
13725 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013726 fence = src->fence;
13727 flags = src->flags;
13728 handleType = src->handleType;
13729 fd = src->fd;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013730 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013731}
13732
13733safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR(const VkFenceGetFdInfoKHR* in_struct) :
13734 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013735 fence(in_struct->fence),
13736 handleType(in_struct->handleType)
13737{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013738 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013739}
13740
Jason Macnak8f28eec2019-08-09 12:57:01 -070013741safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR() :
13742 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013743{}
13744
13745safe_VkFenceGetFdInfoKHR::safe_VkFenceGetFdInfoKHR(const safe_VkFenceGetFdInfoKHR& src)
13746{
13747 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013748 fence = src.fence;
13749 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013750 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013751}
13752
13753safe_VkFenceGetFdInfoKHR& safe_VkFenceGetFdInfoKHR::operator=(const safe_VkFenceGetFdInfoKHR& src)
13754{
13755 if (&src == this) return *this;
13756
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013757 if (pNext)
13758 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013759
13760 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013761 fence = src.fence;
13762 handleType = src.handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013763 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013764
13765 return *this;
13766}
13767
13768safe_VkFenceGetFdInfoKHR::~safe_VkFenceGetFdInfoKHR()
13769{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013770 if (pNext)
13771 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013772}
13773
13774void safe_VkFenceGetFdInfoKHR::initialize(const VkFenceGetFdInfoKHR* in_struct)
13775{
13776 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013777 fence = in_struct->fence;
13778 handleType = in_struct->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013779 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013780}
13781
13782void safe_VkFenceGetFdInfoKHR::initialize(const safe_VkFenceGetFdInfoKHR* src)
13783{
13784 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013785 fence = src->fence;
13786 handleType = src->handleType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013787 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013788}
13789
13790safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR(const VkPhysicalDeviceSurfaceInfo2KHR* in_struct) :
13791 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013792 surface(in_struct->surface)
13793{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013794 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013795}
13796
Jason Macnak8f28eec2019-08-09 12:57:01 -070013797safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR() :
13798 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013799{}
13800
13801safe_VkPhysicalDeviceSurfaceInfo2KHR::safe_VkPhysicalDeviceSurfaceInfo2KHR(const safe_VkPhysicalDeviceSurfaceInfo2KHR& src)
13802{
13803 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013804 surface = src.surface;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013805 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013806}
13807
13808safe_VkPhysicalDeviceSurfaceInfo2KHR& safe_VkPhysicalDeviceSurfaceInfo2KHR::operator=(const safe_VkPhysicalDeviceSurfaceInfo2KHR& src)
13809{
13810 if (&src == this) return *this;
13811
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013812 if (pNext)
13813 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013814
13815 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013816 surface = src.surface;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013817 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013818
13819 return *this;
13820}
13821
13822safe_VkPhysicalDeviceSurfaceInfo2KHR::~safe_VkPhysicalDeviceSurfaceInfo2KHR()
13823{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013824 if (pNext)
13825 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013826}
13827
13828void safe_VkPhysicalDeviceSurfaceInfo2KHR::initialize(const VkPhysicalDeviceSurfaceInfo2KHR* in_struct)
13829{
13830 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013831 surface = in_struct->surface;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013832 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013833}
13834
13835void safe_VkPhysicalDeviceSurfaceInfo2KHR::initialize(const safe_VkPhysicalDeviceSurfaceInfo2KHR* src)
13836{
13837 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013838 surface = src->surface;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013839 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013840}
13841
13842safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR(const VkSurfaceCapabilities2KHR* in_struct) :
13843 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013844 surfaceCapabilities(in_struct->surfaceCapabilities)
13845{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013846 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013847}
13848
Jason Macnak8f28eec2019-08-09 12:57:01 -070013849safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR() :
13850 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013851{}
13852
13853safe_VkSurfaceCapabilities2KHR::safe_VkSurfaceCapabilities2KHR(const safe_VkSurfaceCapabilities2KHR& src)
13854{
13855 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013856 surfaceCapabilities = src.surfaceCapabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013857 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013858}
13859
13860safe_VkSurfaceCapabilities2KHR& safe_VkSurfaceCapabilities2KHR::operator=(const safe_VkSurfaceCapabilities2KHR& src)
13861{
13862 if (&src == this) return *this;
13863
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013864 if (pNext)
13865 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013866
13867 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013868 surfaceCapabilities = src.surfaceCapabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013869 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013870
13871 return *this;
13872}
13873
13874safe_VkSurfaceCapabilities2KHR::~safe_VkSurfaceCapabilities2KHR()
13875{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013876 if (pNext)
13877 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013878}
13879
13880void safe_VkSurfaceCapabilities2KHR::initialize(const VkSurfaceCapabilities2KHR* in_struct)
13881{
13882 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013883 surfaceCapabilities = in_struct->surfaceCapabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013884 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013885}
13886
13887void safe_VkSurfaceCapabilities2KHR::initialize(const safe_VkSurfaceCapabilities2KHR* src)
13888{
13889 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013890 surfaceCapabilities = src->surfaceCapabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013891 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013892}
13893
13894safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR(const VkSurfaceFormat2KHR* in_struct) :
13895 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013896 surfaceFormat(in_struct->surfaceFormat)
13897{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013898 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013899}
13900
Jason Macnak8f28eec2019-08-09 12:57:01 -070013901safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR() :
13902 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013903{}
13904
13905safe_VkSurfaceFormat2KHR::safe_VkSurfaceFormat2KHR(const safe_VkSurfaceFormat2KHR& src)
13906{
13907 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013908 surfaceFormat = src.surfaceFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013909 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013910}
13911
13912safe_VkSurfaceFormat2KHR& safe_VkSurfaceFormat2KHR::operator=(const safe_VkSurfaceFormat2KHR& src)
13913{
13914 if (&src == this) return *this;
13915
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013916 if (pNext)
13917 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013918
13919 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013920 surfaceFormat = src.surfaceFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013921 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013922
13923 return *this;
13924}
13925
13926safe_VkSurfaceFormat2KHR::~safe_VkSurfaceFormat2KHR()
13927{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013928 if (pNext)
13929 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013930}
13931
13932void safe_VkSurfaceFormat2KHR::initialize(const VkSurfaceFormat2KHR* in_struct)
13933{
13934 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013935 surfaceFormat = in_struct->surfaceFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013936 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013937}
13938
13939void safe_VkSurfaceFormat2KHR::initialize(const safe_VkSurfaceFormat2KHR* src)
13940{
13941 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013942 surfaceFormat = src->surfaceFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013943 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013944}
13945
13946safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR(const VkDisplayProperties2KHR* in_struct) :
13947 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070013948 displayProperties(&in_struct->displayProperties)
13949{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013950 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013951}
13952
Jason Macnak8f28eec2019-08-09 12:57:01 -070013953safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR() :
13954 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070013955{}
13956
13957safe_VkDisplayProperties2KHR::safe_VkDisplayProperties2KHR(const safe_VkDisplayProperties2KHR& src)
13958{
13959 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013960 displayProperties.initialize(&src.displayProperties);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013961 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013962}
13963
13964safe_VkDisplayProperties2KHR& safe_VkDisplayProperties2KHR::operator=(const safe_VkDisplayProperties2KHR& src)
13965{
13966 if (&src == this) return *this;
13967
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013968 if (pNext)
13969 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013970
13971 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013972 displayProperties.initialize(&src.displayProperties);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013973 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013974
13975 return *this;
13976}
13977
13978safe_VkDisplayProperties2KHR::~safe_VkDisplayProperties2KHR()
13979{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013980 if (pNext)
13981 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013982}
13983
13984void safe_VkDisplayProperties2KHR::initialize(const VkDisplayProperties2KHR* in_struct)
13985{
13986 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013987 displayProperties.initialize(&in_struct->displayProperties);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013988 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013989}
13990
13991void safe_VkDisplayProperties2KHR::initialize(const safe_VkDisplayProperties2KHR* src)
13992{
13993 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070013994 displayProperties.initialize(&src->displayProperties);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060013995 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070013996}
13997
13998safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR(const VkDisplayPlaneProperties2KHR* in_struct) :
13999 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014000 displayPlaneProperties(in_struct->displayPlaneProperties)
14001{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014002 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014003}
14004
Jason Macnak8f28eec2019-08-09 12:57:01 -070014005safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR() :
14006 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014007{}
14008
14009safe_VkDisplayPlaneProperties2KHR::safe_VkDisplayPlaneProperties2KHR(const safe_VkDisplayPlaneProperties2KHR& src)
14010{
14011 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014012 displayPlaneProperties = src.displayPlaneProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014013 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014014}
14015
14016safe_VkDisplayPlaneProperties2KHR& safe_VkDisplayPlaneProperties2KHR::operator=(const safe_VkDisplayPlaneProperties2KHR& src)
14017{
14018 if (&src == this) return *this;
14019
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014020 if (pNext)
14021 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014022
14023 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014024 displayPlaneProperties = src.displayPlaneProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014025 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014026
14027 return *this;
14028}
14029
14030safe_VkDisplayPlaneProperties2KHR::~safe_VkDisplayPlaneProperties2KHR()
14031{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014032 if (pNext)
14033 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014034}
14035
14036void safe_VkDisplayPlaneProperties2KHR::initialize(const VkDisplayPlaneProperties2KHR* in_struct)
14037{
14038 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014039 displayPlaneProperties = in_struct->displayPlaneProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014040 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014041}
14042
14043void safe_VkDisplayPlaneProperties2KHR::initialize(const safe_VkDisplayPlaneProperties2KHR* src)
14044{
14045 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014046 displayPlaneProperties = src->displayPlaneProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014047 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014048}
14049
14050safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR(const VkDisplayModeProperties2KHR* in_struct) :
14051 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014052 displayModeProperties(in_struct->displayModeProperties)
14053{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014054 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014055}
14056
Jason Macnak8f28eec2019-08-09 12:57:01 -070014057safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR() :
14058 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014059{}
14060
14061safe_VkDisplayModeProperties2KHR::safe_VkDisplayModeProperties2KHR(const safe_VkDisplayModeProperties2KHR& src)
14062{
14063 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014064 displayModeProperties = src.displayModeProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014065 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014066}
14067
14068safe_VkDisplayModeProperties2KHR& safe_VkDisplayModeProperties2KHR::operator=(const safe_VkDisplayModeProperties2KHR& src)
14069{
14070 if (&src == this) return *this;
14071
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014072 if (pNext)
14073 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014074
14075 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014076 displayModeProperties = src.displayModeProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014077 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014078
14079 return *this;
14080}
14081
14082safe_VkDisplayModeProperties2KHR::~safe_VkDisplayModeProperties2KHR()
14083{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014084 if (pNext)
14085 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014086}
14087
14088void safe_VkDisplayModeProperties2KHR::initialize(const VkDisplayModeProperties2KHR* in_struct)
14089{
14090 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014091 displayModeProperties = in_struct->displayModeProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014092 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014093}
14094
14095void safe_VkDisplayModeProperties2KHR::initialize(const safe_VkDisplayModeProperties2KHR* src)
14096{
14097 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014098 displayModeProperties = src->displayModeProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014099 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014100}
14101
14102safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR(const VkDisplayPlaneInfo2KHR* in_struct) :
14103 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014104 mode(in_struct->mode),
14105 planeIndex(in_struct->planeIndex)
14106{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014107 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014108}
14109
Jason Macnak8f28eec2019-08-09 12:57:01 -070014110safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR() :
14111 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014112{}
14113
14114safe_VkDisplayPlaneInfo2KHR::safe_VkDisplayPlaneInfo2KHR(const safe_VkDisplayPlaneInfo2KHR& src)
14115{
14116 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014117 mode = src.mode;
14118 planeIndex = src.planeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014119 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014120}
14121
14122safe_VkDisplayPlaneInfo2KHR& safe_VkDisplayPlaneInfo2KHR::operator=(const safe_VkDisplayPlaneInfo2KHR& src)
14123{
14124 if (&src == this) return *this;
14125
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014126 if (pNext)
14127 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014128
14129 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014130 mode = src.mode;
14131 planeIndex = src.planeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014132 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014133
14134 return *this;
14135}
14136
14137safe_VkDisplayPlaneInfo2KHR::~safe_VkDisplayPlaneInfo2KHR()
14138{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014139 if (pNext)
14140 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014141}
14142
14143void safe_VkDisplayPlaneInfo2KHR::initialize(const VkDisplayPlaneInfo2KHR* in_struct)
14144{
14145 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014146 mode = in_struct->mode;
14147 planeIndex = in_struct->planeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014148 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014149}
14150
14151void safe_VkDisplayPlaneInfo2KHR::initialize(const safe_VkDisplayPlaneInfo2KHR* src)
14152{
14153 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014154 mode = src->mode;
14155 planeIndex = src->planeIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014156 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014157}
14158
14159safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR(const VkDisplayPlaneCapabilities2KHR* in_struct) :
14160 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014161 capabilities(in_struct->capabilities)
14162{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014163 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014164}
14165
Jason Macnak8f28eec2019-08-09 12:57:01 -070014166safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR() :
14167 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014168{}
14169
14170safe_VkDisplayPlaneCapabilities2KHR::safe_VkDisplayPlaneCapabilities2KHR(const safe_VkDisplayPlaneCapabilities2KHR& src)
14171{
14172 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014173 capabilities = src.capabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014174 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014175}
14176
14177safe_VkDisplayPlaneCapabilities2KHR& safe_VkDisplayPlaneCapabilities2KHR::operator=(const safe_VkDisplayPlaneCapabilities2KHR& src)
14178{
14179 if (&src == this) return *this;
14180
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014181 if (pNext)
14182 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014183
14184 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014185 capabilities = src.capabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014186 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014187
14188 return *this;
14189}
14190
14191safe_VkDisplayPlaneCapabilities2KHR::~safe_VkDisplayPlaneCapabilities2KHR()
14192{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014193 if (pNext)
14194 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014195}
14196
14197void safe_VkDisplayPlaneCapabilities2KHR::initialize(const VkDisplayPlaneCapabilities2KHR* in_struct)
14198{
14199 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014200 capabilities = in_struct->capabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014201 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014202}
14203
14204void safe_VkDisplayPlaneCapabilities2KHR::initialize(const safe_VkDisplayPlaneCapabilities2KHR* src)
14205{
14206 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014207 capabilities = src->capabilities;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014208 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014209}
14210
14211safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const VkImageFormatListCreateInfoKHR* in_struct) :
14212 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014213 viewFormatCount(in_struct->viewFormatCount),
14214 pViewFormats(nullptr)
14215{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014216 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014217 if (in_struct->pViewFormats) {
14218 pViewFormats = new VkFormat[in_struct->viewFormatCount];
14219 memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
14220 }
14221}
14222
14223safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070014224 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014225 pViewFormats(nullptr)
14226{}
14227
14228safe_VkImageFormatListCreateInfoKHR::safe_VkImageFormatListCreateInfoKHR(const safe_VkImageFormatListCreateInfoKHR& src)
14229{
14230 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014231 viewFormatCount = src.viewFormatCount;
14232 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014233 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014234 if (src.pViewFormats) {
14235 pViewFormats = new VkFormat[src.viewFormatCount];
14236 memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
14237 }
14238}
14239
14240safe_VkImageFormatListCreateInfoKHR& safe_VkImageFormatListCreateInfoKHR::operator=(const safe_VkImageFormatListCreateInfoKHR& src)
14241{
14242 if (&src == this) return *this;
14243
14244 if (pViewFormats)
14245 delete[] pViewFormats;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014246 if (pNext)
14247 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014248
14249 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014250 viewFormatCount = src.viewFormatCount;
14251 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014252 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014253 if (src.pViewFormats) {
14254 pViewFormats = new VkFormat[src.viewFormatCount];
14255 memcpy ((void *)pViewFormats, (void *)src.pViewFormats, sizeof(VkFormat)*src.viewFormatCount);
14256 }
14257
14258 return *this;
14259}
14260
14261safe_VkImageFormatListCreateInfoKHR::~safe_VkImageFormatListCreateInfoKHR()
14262{
14263 if (pViewFormats)
14264 delete[] pViewFormats;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014265 if (pNext)
14266 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014267}
14268
14269void safe_VkImageFormatListCreateInfoKHR::initialize(const VkImageFormatListCreateInfoKHR* in_struct)
14270{
14271 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014272 viewFormatCount = in_struct->viewFormatCount;
14273 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014274 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014275 if (in_struct->pViewFormats) {
14276 pViewFormats = new VkFormat[in_struct->viewFormatCount];
14277 memcpy ((void *)pViewFormats, (void *)in_struct->pViewFormats, sizeof(VkFormat)*in_struct->viewFormatCount);
14278 }
14279}
14280
14281void safe_VkImageFormatListCreateInfoKHR::initialize(const safe_VkImageFormatListCreateInfoKHR* src)
14282{
14283 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014284 viewFormatCount = src->viewFormatCount;
14285 pViewFormats = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014286 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014287 if (src->pViewFormats) {
14288 pViewFormats = new VkFormat[src->viewFormatCount];
14289 memcpy ((void *)pViewFormats, (void *)src->pViewFormats, sizeof(VkFormat)*src->viewFormatCount);
14290 }
14291}
14292
14293safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR(const VkPhysicalDevice8BitStorageFeaturesKHR* in_struct) :
14294 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014295 storageBuffer8BitAccess(in_struct->storageBuffer8BitAccess),
14296 uniformAndStorageBuffer8BitAccess(in_struct->uniformAndStorageBuffer8BitAccess),
14297 storagePushConstant8(in_struct->storagePushConstant8)
14298{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014299 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014300}
14301
Jason Macnak8f28eec2019-08-09 12:57:01 -070014302safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR() :
14303 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014304{}
14305
14306safe_VkPhysicalDevice8BitStorageFeaturesKHR::safe_VkPhysicalDevice8BitStorageFeaturesKHR(const safe_VkPhysicalDevice8BitStorageFeaturesKHR& src)
14307{
14308 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014309 storageBuffer8BitAccess = src.storageBuffer8BitAccess;
14310 uniformAndStorageBuffer8BitAccess = src.uniformAndStorageBuffer8BitAccess;
14311 storagePushConstant8 = src.storagePushConstant8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014312 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014313}
14314
14315safe_VkPhysicalDevice8BitStorageFeaturesKHR& safe_VkPhysicalDevice8BitStorageFeaturesKHR::operator=(const safe_VkPhysicalDevice8BitStorageFeaturesKHR& src)
14316{
14317 if (&src == this) return *this;
14318
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014319 if (pNext)
14320 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014321
14322 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014323 storageBuffer8BitAccess = src.storageBuffer8BitAccess;
14324 uniformAndStorageBuffer8BitAccess = src.uniformAndStorageBuffer8BitAccess;
14325 storagePushConstant8 = src.storagePushConstant8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014326 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014327
14328 return *this;
14329}
14330
14331safe_VkPhysicalDevice8BitStorageFeaturesKHR::~safe_VkPhysicalDevice8BitStorageFeaturesKHR()
14332{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014333 if (pNext)
14334 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014335}
14336
14337void safe_VkPhysicalDevice8BitStorageFeaturesKHR::initialize(const VkPhysicalDevice8BitStorageFeaturesKHR* in_struct)
14338{
14339 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014340 storageBuffer8BitAccess = in_struct->storageBuffer8BitAccess;
14341 uniformAndStorageBuffer8BitAccess = in_struct->uniformAndStorageBuffer8BitAccess;
14342 storagePushConstant8 = in_struct->storagePushConstant8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014343 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014344}
14345
14346void safe_VkPhysicalDevice8BitStorageFeaturesKHR::initialize(const safe_VkPhysicalDevice8BitStorageFeaturesKHR* src)
14347{
14348 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014349 storageBuffer8BitAccess = src->storageBuffer8BitAccess;
14350 uniformAndStorageBuffer8BitAccess = src->uniformAndStorageBuffer8BitAccess;
14351 storagePushConstant8 = src->storagePushConstant8;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014352 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014353}
14354
14355safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* in_struct) :
14356 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014357 shaderBufferInt64Atomics(in_struct->shaderBufferInt64Atomics),
14358 shaderSharedInt64Atomics(in_struct->shaderSharedInt64Atomics)
14359{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014360 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014361}
14362
Jason Macnak8f28eec2019-08-09 12:57:01 -070014363safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR() :
14364 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014365{}
14366
14367safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& src)
14368{
14369 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014370 shaderBufferInt64Atomics = src.shaderBufferInt64Atomics;
14371 shaderSharedInt64Atomics = src.shaderSharedInt64Atomics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014372 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014373}
14374
14375safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::operator=(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& src)
14376{
14377 if (&src == this) return *this;
14378
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014379 if (pNext)
14380 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014381
14382 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014383 shaderBufferInt64Atomics = src.shaderBufferInt64Atomics;
14384 shaderSharedInt64Atomics = src.shaderSharedInt64Atomics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014385 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014386
14387 return *this;
14388}
14389
14390safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::~safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR()
14391{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014392 if (pNext)
14393 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014394}
14395
14396void safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::initialize(const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* in_struct)
14397{
14398 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014399 shaderBufferInt64Atomics = in_struct->shaderBufferInt64Atomics;
14400 shaderSharedInt64Atomics = in_struct->shaderSharedInt64Atomics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014401 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014402}
14403
14404void safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR* src)
14405{
14406 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014407 shaderBufferInt64Atomics = src->shaderBufferInt64Atomics;
14408 shaderSharedInt64Atomics = src->shaderSharedInt64Atomics;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014409 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014410}
14411
14412safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR(const VkPhysicalDeviceDriverPropertiesKHR* in_struct) :
14413 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014414 driverID(in_struct->driverID),
14415 conformanceVersion(in_struct->conformanceVersion)
14416{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014417 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014418 for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14419 driverName[i] = in_struct->driverName[i];
14420 }
14421 for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14422 driverInfo[i] = in_struct->driverInfo[i];
14423 }
14424}
14425
Jason Macnak8f28eec2019-08-09 12:57:01 -070014426safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR() :
14427 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014428{}
14429
14430safe_VkPhysicalDeviceDriverPropertiesKHR::safe_VkPhysicalDeviceDriverPropertiesKHR(const safe_VkPhysicalDeviceDriverPropertiesKHR& src)
14431{
14432 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014433 driverID = src.driverID;
14434 conformanceVersion = src.conformanceVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014435 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014436 for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14437 driverName[i] = src.driverName[i];
14438 }
14439 for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14440 driverInfo[i] = src.driverInfo[i];
14441 }
14442}
14443
14444safe_VkPhysicalDeviceDriverPropertiesKHR& safe_VkPhysicalDeviceDriverPropertiesKHR::operator=(const safe_VkPhysicalDeviceDriverPropertiesKHR& src)
14445{
14446 if (&src == this) return *this;
14447
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014448 if (pNext)
14449 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014450
14451 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014452 driverID = src.driverID;
14453 conformanceVersion = src.conformanceVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014454 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014455 for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14456 driverName[i] = src.driverName[i];
14457 }
14458 for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14459 driverInfo[i] = src.driverInfo[i];
14460 }
14461
14462 return *this;
14463}
14464
14465safe_VkPhysicalDeviceDriverPropertiesKHR::~safe_VkPhysicalDeviceDriverPropertiesKHR()
14466{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014467 if (pNext)
14468 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014469}
14470
14471void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const VkPhysicalDeviceDriverPropertiesKHR* in_struct)
14472{
14473 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014474 driverID = in_struct->driverID;
14475 conformanceVersion = in_struct->conformanceVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014476 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014477 for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14478 driverName[i] = in_struct->driverName[i];
14479 }
14480 for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14481 driverInfo[i] = in_struct->driverInfo[i];
14482 }
14483}
14484
14485void safe_VkPhysicalDeviceDriverPropertiesKHR::initialize(const safe_VkPhysicalDeviceDriverPropertiesKHR* src)
14486{
14487 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014488 driverID = src->driverID;
14489 conformanceVersion = src->conformanceVersion;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014490 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014491 for (uint32_t i=0; i<VK_MAX_DRIVER_NAME_SIZE_KHR; ++i) {
14492 driverName[i] = src->driverName[i];
14493 }
14494 for (uint32_t i=0; i<VK_MAX_DRIVER_INFO_SIZE_KHR; ++i) {
14495 driverInfo[i] = src->driverInfo[i];
14496 }
14497}
14498
14499safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const VkPhysicalDeviceFloatControlsPropertiesKHR* in_struct) :
14500 sType(in_struct->sType),
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060014501 denormBehaviorIndependence(in_struct->denormBehaviorIndependence),
14502 roundingModeIndependence(in_struct->roundingModeIndependence),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014503 shaderSignedZeroInfNanPreserveFloat16(in_struct->shaderSignedZeroInfNanPreserveFloat16),
14504 shaderSignedZeroInfNanPreserveFloat32(in_struct->shaderSignedZeroInfNanPreserveFloat32),
14505 shaderSignedZeroInfNanPreserveFloat64(in_struct->shaderSignedZeroInfNanPreserveFloat64),
14506 shaderDenormPreserveFloat16(in_struct->shaderDenormPreserveFloat16),
14507 shaderDenormPreserveFloat32(in_struct->shaderDenormPreserveFloat32),
14508 shaderDenormPreserveFloat64(in_struct->shaderDenormPreserveFloat64),
14509 shaderDenormFlushToZeroFloat16(in_struct->shaderDenormFlushToZeroFloat16),
14510 shaderDenormFlushToZeroFloat32(in_struct->shaderDenormFlushToZeroFloat32),
14511 shaderDenormFlushToZeroFloat64(in_struct->shaderDenormFlushToZeroFloat64),
14512 shaderRoundingModeRTEFloat16(in_struct->shaderRoundingModeRTEFloat16),
14513 shaderRoundingModeRTEFloat32(in_struct->shaderRoundingModeRTEFloat32),
14514 shaderRoundingModeRTEFloat64(in_struct->shaderRoundingModeRTEFloat64),
14515 shaderRoundingModeRTZFloat16(in_struct->shaderRoundingModeRTZFloat16),
14516 shaderRoundingModeRTZFloat32(in_struct->shaderRoundingModeRTZFloat32),
14517 shaderRoundingModeRTZFloat64(in_struct->shaderRoundingModeRTZFloat64)
14518{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014519 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014520}
14521
Jason Macnak8f28eec2019-08-09 12:57:01 -070014522safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR() :
14523 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014524{}
14525
14526safe_VkPhysicalDeviceFloatControlsPropertiesKHR::safe_VkPhysicalDeviceFloatControlsPropertiesKHR(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR& src)
14527{
14528 sType = src.sType;
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060014529 denormBehaviorIndependence = src.denormBehaviorIndependence;
14530 roundingModeIndependence = src.roundingModeIndependence;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014531 shaderSignedZeroInfNanPreserveFloat16 = src.shaderSignedZeroInfNanPreserveFloat16;
14532 shaderSignedZeroInfNanPreserveFloat32 = src.shaderSignedZeroInfNanPreserveFloat32;
14533 shaderSignedZeroInfNanPreserveFloat64 = src.shaderSignedZeroInfNanPreserveFloat64;
14534 shaderDenormPreserveFloat16 = src.shaderDenormPreserveFloat16;
14535 shaderDenormPreserveFloat32 = src.shaderDenormPreserveFloat32;
14536 shaderDenormPreserveFloat64 = src.shaderDenormPreserveFloat64;
14537 shaderDenormFlushToZeroFloat16 = src.shaderDenormFlushToZeroFloat16;
14538 shaderDenormFlushToZeroFloat32 = src.shaderDenormFlushToZeroFloat32;
14539 shaderDenormFlushToZeroFloat64 = src.shaderDenormFlushToZeroFloat64;
14540 shaderRoundingModeRTEFloat16 = src.shaderRoundingModeRTEFloat16;
14541 shaderRoundingModeRTEFloat32 = src.shaderRoundingModeRTEFloat32;
14542 shaderRoundingModeRTEFloat64 = src.shaderRoundingModeRTEFloat64;
14543 shaderRoundingModeRTZFloat16 = src.shaderRoundingModeRTZFloat16;
14544 shaderRoundingModeRTZFloat32 = src.shaderRoundingModeRTZFloat32;
14545 shaderRoundingModeRTZFloat64 = src.shaderRoundingModeRTZFloat64;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014546 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014547}
14548
14549safe_VkPhysicalDeviceFloatControlsPropertiesKHR& safe_VkPhysicalDeviceFloatControlsPropertiesKHR::operator=(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR& src)
14550{
14551 if (&src == this) return *this;
14552
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014553 if (pNext)
14554 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014555
14556 sType = src.sType;
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060014557 denormBehaviorIndependence = src.denormBehaviorIndependence;
14558 roundingModeIndependence = src.roundingModeIndependence;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014559 shaderSignedZeroInfNanPreserveFloat16 = src.shaderSignedZeroInfNanPreserveFloat16;
14560 shaderSignedZeroInfNanPreserveFloat32 = src.shaderSignedZeroInfNanPreserveFloat32;
14561 shaderSignedZeroInfNanPreserveFloat64 = src.shaderSignedZeroInfNanPreserveFloat64;
14562 shaderDenormPreserveFloat16 = src.shaderDenormPreserveFloat16;
14563 shaderDenormPreserveFloat32 = src.shaderDenormPreserveFloat32;
14564 shaderDenormPreserveFloat64 = src.shaderDenormPreserveFloat64;
14565 shaderDenormFlushToZeroFloat16 = src.shaderDenormFlushToZeroFloat16;
14566 shaderDenormFlushToZeroFloat32 = src.shaderDenormFlushToZeroFloat32;
14567 shaderDenormFlushToZeroFloat64 = src.shaderDenormFlushToZeroFloat64;
14568 shaderRoundingModeRTEFloat16 = src.shaderRoundingModeRTEFloat16;
14569 shaderRoundingModeRTEFloat32 = src.shaderRoundingModeRTEFloat32;
14570 shaderRoundingModeRTEFloat64 = src.shaderRoundingModeRTEFloat64;
14571 shaderRoundingModeRTZFloat16 = src.shaderRoundingModeRTZFloat16;
14572 shaderRoundingModeRTZFloat32 = src.shaderRoundingModeRTZFloat32;
14573 shaderRoundingModeRTZFloat64 = src.shaderRoundingModeRTZFloat64;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014574 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014575
14576 return *this;
14577}
14578
14579safe_VkPhysicalDeviceFloatControlsPropertiesKHR::~safe_VkPhysicalDeviceFloatControlsPropertiesKHR()
14580{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014581 if (pNext)
14582 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014583}
14584
14585void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const VkPhysicalDeviceFloatControlsPropertiesKHR* in_struct)
14586{
14587 sType = in_struct->sType;
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060014588 denormBehaviorIndependence = in_struct->denormBehaviorIndependence;
14589 roundingModeIndependence = in_struct->roundingModeIndependence;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014590 shaderSignedZeroInfNanPreserveFloat16 = in_struct->shaderSignedZeroInfNanPreserveFloat16;
14591 shaderSignedZeroInfNanPreserveFloat32 = in_struct->shaderSignedZeroInfNanPreserveFloat32;
14592 shaderSignedZeroInfNanPreserveFloat64 = in_struct->shaderSignedZeroInfNanPreserveFloat64;
14593 shaderDenormPreserveFloat16 = in_struct->shaderDenormPreserveFloat16;
14594 shaderDenormPreserveFloat32 = in_struct->shaderDenormPreserveFloat32;
14595 shaderDenormPreserveFloat64 = in_struct->shaderDenormPreserveFloat64;
14596 shaderDenormFlushToZeroFloat16 = in_struct->shaderDenormFlushToZeroFloat16;
14597 shaderDenormFlushToZeroFloat32 = in_struct->shaderDenormFlushToZeroFloat32;
14598 shaderDenormFlushToZeroFloat64 = in_struct->shaderDenormFlushToZeroFloat64;
14599 shaderRoundingModeRTEFloat16 = in_struct->shaderRoundingModeRTEFloat16;
14600 shaderRoundingModeRTEFloat32 = in_struct->shaderRoundingModeRTEFloat32;
14601 shaderRoundingModeRTEFloat64 = in_struct->shaderRoundingModeRTEFloat64;
14602 shaderRoundingModeRTZFloat16 = in_struct->shaderRoundingModeRTZFloat16;
14603 shaderRoundingModeRTZFloat32 = in_struct->shaderRoundingModeRTZFloat32;
14604 shaderRoundingModeRTZFloat64 = in_struct->shaderRoundingModeRTZFloat64;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014605 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014606}
14607
14608void safe_VkPhysicalDeviceFloatControlsPropertiesKHR::initialize(const safe_VkPhysicalDeviceFloatControlsPropertiesKHR* src)
14609{
14610 sType = src->sType;
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060014611 denormBehaviorIndependence = src->denormBehaviorIndependence;
14612 roundingModeIndependence = src->roundingModeIndependence;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014613 shaderSignedZeroInfNanPreserveFloat16 = src->shaderSignedZeroInfNanPreserveFloat16;
14614 shaderSignedZeroInfNanPreserveFloat32 = src->shaderSignedZeroInfNanPreserveFloat32;
14615 shaderSignedZeroInfNanPreserveFloat64 = src->shaderSignedZeroInfNanPreserveFloat64;
14616 shaderDenormPreserveFloat16 = src->shaderDenormPreserveFloat16;
14617 shaderDenormPreserveFloat32 = src->shaderDenormPreserveFloat32;
14618 shaderDenormPreserveFloat64 = src->shaderDenormPreserveFloat64;
14619 shaderDenormFlushToZeroFloat16 = src->shaderDenormFlushToZeroFloat16;
14620 shaderDenormFlushToZeroFloat32 = src->shaderDenormFlushToZeroFloat32;
14621 shaderDenormFlushToZeroFloat64 = src->shaderDenormFlushToZeroFloat64;
14622 shaderRoundingModeRTEFloat16 = src->shaderRoundingModeRTEFloat16;
14623 shaderRoundingModeRTEFloat32 = src->shaderRoundingModeRTEFloat32;
14624 shaderRoundingModeRTEFloat64 = src->shaderRoundingModeRTEFloat64;
14625 shaderRoundingModeRTZFloat16 = src->shaderRoundingModeRTZFloat16;
14626 shaderRoundingModeRTZFloat32 = src->shaderRoundingModeRTZFloat32;
14627 shaderRoundingModeRTZFloat64 = src->shaderRoundingModeRTZFloat64;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014628 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014629}
14630
14631safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR(const VkSubpassDescriptionDepthStencilResolveKHR* in_struct) :
14632 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014633 depthResolveMode(in_struct->depthResolveMode),
14634 stencilResolveMode(in_struct->stencilResolveMode)
14635{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014636 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014637 if (in_struct->pDepthStencilResolveAttachment)
14638 pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilResolveAttachment);
14639 else
14640 pDepthStencilResolveAttachment = NULL;
14641}
14642
Jason Macnak8f28eec2019-08-09 12:57:01 -070014643safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR() :
14644 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014645{}
14646
14647safe_VkSubpassDescriptionDepthStencilResolveKHR::safe_VkSubpassDescriptionDepthStencilResolveKHR(const safe_VkSubpassDescriptionDepthStencilResolveKHR& src)
14648{
14649 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014650 depthResolveMode = src.depthResolveMode;
14651 stencilResolveMode = src.stencilResolveMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014652 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014653 if (src.pDepthStencilResolveAttachment)
14654 pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilResolveAttachment);
14655 else
14656 pDepthStencilResolveAttachment = NULL;
14657}
14658
14659safe_VkSubpassDescriptionDepthStencilResolveKHR& safe_VkSubpassDescriptionDepthStencilResolveKHR::operator=(const safe_VkSubpassDescriptionDepthStencilResolveKHR& src)
14660{
14661 if (&src == this) return *this;
14662
14663 if (pDepthStencilResolveAttachment)
14664 delete pDepthStencilResolveAttachment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014665 if (pNext)
14666 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014667
14668 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014669 depthResolveMode = src.depthResolveMode;
14670 stencilResolveMode = src.stencilResolveMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014671 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014672 if (src.pDepthStencilResolveAttachment)
14673 pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src.pDepthStencilResolveAttachment);
14674 else
14675 pDepthStencilResolveAttachment = NULL;
14676
14677 return *this;
14678}
14679
14680safe_VkSubpassDescriptionDepthStencilResolveKHR::~safe_VkSubpassDescriptionDepthStencilResolveKHR()
14681{
14682 if (pDepthStencilResolveAttachment)
14683 delete pDepthStencilResolveAttachment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014684 if (pNext)
14685 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014686}
14687
14688void safe_VkSubpassDescriptionDepthStencilResolveKHR::initialize(const VkSubpassDescriptionDepthStencilResolveKHR* in_struct)
14689{
14690 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014691 depthResolveMode = in_struct->depthResolveMode;
14692 stencilResolveMode = in_struct->stencilResolveMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014693 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014694 if (in_struct->pDepthStencilResolveAttachment)
14695 pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(in_struct->pDepthStencilResolveAttachment);
14696 else
14697 pDepthStencilResolveAttachment = NULL;
14698}
14699
14700void safe_VkSubpassDescriptionDepthStencilResolveKHR::initialize(const safe_VkSubpassDescriptionDepthStencilResolveKHR* src)
14701{
14702 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014703 depthResolveMode = src->depthResolveMode;
14704 stencilResolveMode = src->stencilResolveMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014705 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014706 if (src->pDepthStencilResolveAttachment)
14707 pDepthStencilResolveAttachment = new safe_VkAttachmentReference2KHR(*src->pDepthStencilResolveAttachment);
14708 else
14709 pDepthStencilResolveAttachment = NULL;
14710}
14711
14712safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR* in_struct) :
14713 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014714 supportedDepthResolveModes(in_struct->supportedDepthResolveModes),
14715 supportedStencilResolveModes(in_struct->supportedStencilResolveModes),
14716 independentResolveNone(in_struct->independentResolveNone),
14717 independentResolve(in_struct->independentResolve)
14718{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014719 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014720}
14721
Jason Macnak8f28eec2019-08-09 12:57:01 -070014722safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR() :
14723 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014724{}
14725
14726safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& src)
14727{
14728 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014729 supportedDepthResolveModes = src.supportedDepthResolveModes;
14730 supportedStencilResolveModes = src.supportedStencilResolveModes;
14731 independentResolveNone = src.independentResolveNone;
14732 independentResolve = src.independentResolve;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014733 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014734}
14735
14736safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::operator=(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR& src)
14737{
14738 if (&src == this) return *this;
14739
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014740 if (pNext)
14741 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014742
14743 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014744 supportedDepthResolveModes = src.supportedDepthResolveModes;
14745 supportedStencilResolveModes = src.supportedStencilResolveModes;
14746 independentResolveNone = src.independentResolveNone;
14747 independentResolve = src.independentResolve;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014748 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014749
14750 return *this;
14751}
14752
14753safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::~safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR()
14754{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014755 if (pNext)
14756 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014757}
14758
14759void safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::initialize(const VkPhysicalDeviceDepthStencilResolvePropertiesKHR* in_struct)
14760{
14761 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014762 supportedDepthResolveModes = in_struct->supportedDepthResolveModes;
14763 supportedStencilResolveModes = in_struct->supportedStencilResolveModes;
14764 independentResolveNone = in_struct->independentResolveNone;
14765 independentResolve = in_struct->independentResolve;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014766 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014767}
14768
14769void safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR::initialize(const safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR* src)
14770{
14771 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014772 supportedDepthResolveModes = src->supportedDepthResolveModes;
14773 supportedStencilResolveModes = src->supportedStencilResolveModes;
14774 independentResolveNone = src->independentResolveNone;
14775 independentResolve = src->independentResolve;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014776 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014777}
14778
14779safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* in_struct) :
14780 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014781 vulkanMemoryModel(in_struct->vulkanMemoryModel),
14782 vulkanMemoryModelDeviceScope(in_struct->vulkanMemoryModelDeviceScope),
14783 vulkanMemoryModelAvailabilityVisibilityChains(in_struct->vulkanMemoryModelAvailabilityVisibilityChains)
14784{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014785 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014786}
14787
Jason Macnak8f28eec2019-08-09 12:57:01 -070014788safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR() :
14789 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014790{}
14791
14792safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& src)
14793{
14794 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014795 vulkanMemoryModel = src.vulkanMemoryModel;
14796 vulkanMemoryModelDeviceScope = src.vulkanMemoryModelDeviceScope;
14797 vulkanMemoryModelAvailabilityVisibilityChains = src.vulkanMemoryModelAvailabilityVisibilityChains;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014798 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014799}
14800
14801safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::operator=(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& src)
14802{
14803 if (&src == this) return *this;
14804
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014805 if (pNext)
14806 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014807
14808 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014809 vulkanMemoryModel = src.vulkanMemoryModel;
14810 vulkanMemoryModelDeviceScope = src.vulkanMemoryModelDeviceScope;
14811 vulkanMemoryModelAvailabilityVisibilityChains = src.vulkanMemoryModelAvailabilityVisibilityChains;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014812 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014813
14814 return *this;
14815}
14816
14817safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::~safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR()
14818{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014819 if (pNext)
14820 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014821}
14822
14823void safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::initialize(const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* in_struct)
14824{
14825 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014826 vulkanMemoryModel = in_struct->vulkanMemoryModel;
14827 vulkanMemoryModelDeviceScope = in_struct->vulkanMemoryModelDeviceScope;
14828 vulkanMemoryModelAvailabilityVisibilityChains = in_struct->vulkanMemoryModelAvailabilityVisibilityChains;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014829 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014830}
14831
14832void safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR::initialize(const safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR* src)
14833{
14834 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014835 vulkanMemoryModel = src->vulkanMemoryModel;
14836 vulkanMemoryModelDeviceScope = src->vulkanMemoryModelDeviceScope;
14837 vulkanMemoryModelAvailabilityVisibilityChains = src->vulkanMemoryModelAvailabilityVisibilityChains;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014838 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014839}
14840
14841safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR* in_struct) :
14842 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014843 supportsProtected(in_struct->supportsProtected)
14844{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014845 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014846}
14847
Jason Macnak8f28eec2019-08-09 12:57:01 -070014848safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR() :
14849 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014850{}
14851
14852safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const safe_VkSurfaceProtectedCapabilitiesKHR& src)
14853{
14854 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014855 supportsProtected = src.supportsProtected;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014856 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014857}
14858
14859safe_VkSurfaceProtectedCapabilitiesKHR& safe_VkSurfaceProtectedCapabilitiesKHR::operator=(const safe_VkSurfaceProtectedCapabilitiesKHR& src)
14860{
14861 if (&src == this) return *this;
14862
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014863 if (pNext)
14864 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014865
14866 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014867 supportsProtected = src.supportsProtected;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014868 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014869
14870 return *this;
14871}
14872
14873safe_VkSurfaceProtectedCapabilitiesKHR::~safe_VkSurfaceProtectedCapabilitiesKHR()
14874{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014875 if (pNext)
14876 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014877}
14878
14879void safe_VkSurfaceProtectedCapabilitiesKHR::initialize(const VkSurfaceProtectedCapabilitiesKHR* in_struct)
14880{
14881 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014882 supportsProtected = in_struct->supportsProtected;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014883 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014884}
14885
14886void safe_VkSurfaceProtectedCapabilitiesKHR::initialize(const safe_VkSurfaceProtectedCapabilitiesKHR* src)
14887{
14888 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014889 supportsProtected = src->supportsProtected;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014890 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014891}
14892
14893safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* in_struct) :
14894 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070014895 uniformBufferStandardLayout(in_struct->uniformBufferStandardLayout)
14896{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014897 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014898}
14899
Jason Macnak8f28eec2019-08-09 12:57:01 -070014900safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR() :
14901 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070014902{}
14903
14904safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& src)
14905{
14906 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014907 uniformBufferStandardLayout = src.uniformBufferStandardLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014908 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014909}
14910
14911safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::operator=(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& src)
14912{
14913 if (&src == this) return *this;
14914
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014915 if (pNext)
14916 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014917
14918 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014919 uniformBufferStandardLayout = src.uniformBufferStandardLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014920 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014921
14922 return *this;
14923}
14924
14925safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR()
14926{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014927 if (pNext)
14928 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014929}
14930
14931void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::initialize(const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* in_struct)
14932{
14933 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014934 uniformBufferStandardLayout = in_struct->uniformBufferStandardLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014935 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014936}
14937
14938void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR::initialize(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR* src)
14939{
14940 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070014941 uniformBufferStandardLayout = src->uniformBufferStandardLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060014942 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070014943}
14944
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060014945safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* in_struct) :
14946 sType(in_struct->sType),
14947 pipelineExecutableInfo(in_struct->pipelineExecutableInfo)
14948{
14949 pNext = SafePnextCopy(in_struct->pNext);
14950}
14951
14952safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR() :
14953 pNext(nullptr)
14954{}
14955
14956safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& src)
14957{
14958 sType = src.sType;
14959 pipelineExecutableInfo = src.pipelineExecutableInfo;
14960 pNext = SafePnextCopy(src.pNext);
14961}
14962
14963safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::operator=(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& src)
14964{
14965 if (&src == this) return *this;
14966
14967 if (pNext)
14968 FreePnextChain(pNext);
14969
14970 sType = src.sType;
14971 pipelineExecutableInfo = src.pipelineExecutableInfo;
14972 pNext = SafePnextCopy(src.pNext);
14973
14974 return *this;
14975}
14976
14977safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::~safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR()
14978{
14979 if (pNext)
14980 FreePnextChain(pNext);
14981}
14982
14983void safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::initialize(const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* in_struct)
14984{
14985 sType = in_struct->sType;
14986 pipelineExecutableInfo = in_struct->pipelineExecutableInfo;
14987 pNext = SafePnextCopy(in_struct->pNext);
14988}
14989
14990void safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR::initialize(const safe_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* src)
14991{
14992 sType = src->sType;
14993 pipelineExecutableInfo = src->pipelineExecutableInfo;
14994 pNext = SafePnextCopy(src->pNext);
14995}
14996
14997safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR(const VkPipelineInfoKHR* in_struct) :
14998 sType(in_struct->sType),
14999 pipeline(in_struct->pipeline)
15000{
15001 pNext = SafePnextCopy(in_struct->pNext);
15002}
15003
15004safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR() :
15005 pNext(nullptr)
15006{}
15007
15008safe_VkPipelineInfoKHR::safe_VkPipelineInfoKHR(const safe_VkPipelineInfoKHR& src)
15009{
15010 sType = src.sType;
15011 pipeline = src.pipeline;
15012 pNext = SafePnextCopy(src.pNext);
15013}
15014
15015safe_VkPipelineInfoKHR& safe_VkPipelineInfoKHR::operator=(const safe_VkPipelineInfoKHR& src)
15016{
15017 if (&src == this) return *this;
15018
15019 if (pNext)
15020 FreePnextChain(pNext);
15021
15022 sType = src.sType;
15023 pipeline = src.pipeline;
15024 pNext = SafePnextCopy(src.pNext);
15025
15026 return *this;
15027}
15028
15029safe_VkPipelineInfoKHR::~safe_VkPipelineInfoKHR()
15030{
15031 if (pNext)
15032 FreePnextChain(pNext);
15033}
15034
15035void safe_VkPipelineInfoKHR::initialize(const VkPipelineInfoKHR* in_struct)
15036{
15037 sType = in_struct->sType;
15038 pipeline = in_struct->pipeline;
15039 pNext = SafePnextCopy(in_struct->pNext);
15040}
15041
15042void safe_VkPipelineInfoKHR::initialize(const safe_VkPipelineInfoKHR* src)
15043{
15044 sType = src->sType;
15045 pipeline = src->pipeline;
15046 pNext = SafePnextCopy(src->pNext);
15047}
15048
15049safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR(const VkPipelineExecutablePropertiesKHR* in_struct) :
15050 sType(in_struct->sType),
15051 stages(in_struct->stages),
15052 subgroupSize(in_struct->subgroupSize)
15053{
15054 pNext = SafePnextCopy(in_struct->pNext);
15055 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15056 name[i] = in_struct->name[i];
15057 }
15058 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15059 description[i] = in_struct->description[i];
15060 }
15061}
15062
15063safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR() :
15064 pNext(nullptr)
15065{}
15066
15067safe_VkPipelineExecutablePropertiesKHR::safe_VkPipelineExecutablePropertiesKHR(const safe_VkPipelineExecutablePropertiesKHR& src)
15068{
15069 sType = src.sType;
15070 stages = src.stages;
15071 subgroupSize = src.subgroupSize;
15072 pNext = SafePnextCopy(src.pNext);
15073 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15074 name[i] = src.name[i];
15075 }
15076 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15077 description[i] = src.description[i];
15078 }
15079}
15080
15081safe_VkPipelineExecutablePropertiesKHR& safe_VkPipelineExecutablePropertiesKHR::operator=(const safe_VkPipelineExecutablePropertiesKHR& src)
15082{
15083 if (&src == this) return *this;
15084
15085 if (pNext)
15086 FreePnextChain(pNext);
15087
15088 sType = src.sType;
15089 stages = src.stages;
15090 subgroupSize = src.subgroupSize;
15091 pNext = SafePnextCopy(src.pNext);
15092 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15093 name[i] = src.name[i];
15094 }
15095 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15096 description[i] = src.description[i];
15097 }
15098
15099 return *this;
15100}
15101
15102safe_VkPipelineExecutablePropertiesKHR::~safe_VkPipelineExecutablePropertiesKHR()
15103{
15104 if (pNext)
15105 FreePnextChain(pNext);
15106}
15107
15108void safe_VkPipelineExecutablePropertiesKHR::initialize(const VkPipelineExecutablePropertiesKHR* in_struct)
15109{
15110 sType = in_struct->sType;
15111 stages = in_struct->stages;
15112 subgroupSize = in_struct->subgroupSize;
15113 pNext = SafePnextCopy(in_struct->pNext);
15114 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15115 name[i] = in_struct->name[i];
15116 }
15117 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15118 description[i] = in_struct->description[i];
15119 }
15120}
15121
15122void safe_VkPipelineExecutablePropertiesKHR::initialize(const safe_VkPipelineExecutablePropertiesKHR* src)
15123{
15124 sType = src->sType;
15125 stages = src->stages;
15126 subgroupSize = src->subgroupSize;
15127 pNext = SafePnextCopy(src->pNext);
15128 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15129 name[i] = src->name[i];
15130 }
15131 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15132 description[i] = src->description[i];
15133 }
15134}
15135
15136safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR(const VkPipelineExecutableInfoKHR* in_struct) :
15137 sType(in_struct->sType),
15138 pipeline(in_struct->pipeline),
15139 executableIndex(in_struct->executableIndex)
15140{
15141 pNext = SafePnextCopy(in_struct->pNext);
15142}
15143
15144safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR() :
15145 pNext(nullptr)
15146{}
15147
15148safe_VkPipelineExecutableInfoKHR::safe_VkPipelineExecutableInfoKHR(const safe_VkPipelineExecutableInfoKHR& src)
15149{
15150 sType = src.sType;
15151 pipeline = src.pipeline;
15152 executableIndex = src.executableIndex;
15153 pNext = SafePnextCopy(src.pNext);
15154}
15155
15156safe_VkPipelineExecutableInfoKHR& safe_VkPipelineExecutableInfoKHR::operator=(const safe_VkPipelineExecutableInfoKHR& src)
15157{
15158 if (&src == this) return *this;
15159
15160 if (pNext)
15161 FreePnextChain(pNext);
15162
15163 sType = src.sType;
15164 pipeline = src.pipeline;
15165 executableIndex = src.executableIndex;
15166 pNext = SafePnextCopy(src.pNext);
15167
15168 return *this;
15169}
15170
15171safe_VkPipelineExecutableInfoKHR::~safe_VkPipelineExecutableInfoKHR()
15172{
15173 if (pNext)
15174 FreePnextChain(pNext);
15175}
15176
15177void safe_VkPipelineExecutableInfoKHR::initialize(const VkPipelineExecutableInfoKHR* in_struct)
15178{
15179 sType = in_struct->sType;
15180 pipeline = in_struct->pipeline;
15181 executableIndex = in_struct->executableIndex;
15182 pNext = SafePnextCopy(in_struct->pNext);
15183}
15184
15185void safe_VkPipelineExecutableInfoKHR::initialize(const safe_VkPipelineExecutableInfoKHR* src)
15186{
15187 sType = src->sType;
15188 pipeline = src->pipeline;
15189 executableIndex = src->executableIndex;
15190 pNext = SafePnextCopy(src->pNext);
15191}
15192
15193safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR(const VkPipelineExecutableStatisticKHR* in_struct) :
15194 sType(in_struct->sType),
15195 format(in_struct->format),
15196 value(in_struct->value)
15197{
15198 pNext = SafePnextCopy(in_struct->pNext);
15199 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15200 name[i] = in_struct->name[i];
15201 }
15202 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15203 description[i] = in_struct->description[i];
15204 }
15205}
15206
15207safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR() :
15208 pNext(nullptr)
15209{}
15210
15211safe_VkPipelineExecutableStatisticKHR::safe_VkPipelineExecutableStatisticKHR(const safe_VkPipelineExecutableStatisticKHR& src)
15212{
15213 sType = src.sType;
15214 format = src.format;
15215 value = src.value;
15216 pNext = SafePnextCopy(src.pNext);
15217 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15218 name[i] = src.name[i];
15219 }
15220 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15221 description[i] = src.description[i];
15222 }
15223}
15224
15225safe_VkPipelineExecutableStatisticKHR& safe_VkPipelineExecutableStatisticKHR::operator=(const safe_VkPipelineExecutableStatisticKHR& src)
15226{
15227 if (&src == this) return *this;
15228
15229 if (pNext)
15230 FreePnextChain(pNext);
15231
15232 sType = src.sType;
15233 format = src.format;
15234 value = src.value;
15235 pNext = SafePnextCopy(src.pNext);
15236 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15237 name[i] = src.name[i];
15238 }
15239 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15240 description[i] = src.description[i];
15241 }
15242
15243 return *this;
15244}
15245
15246safe_VkPipelineExecutableStatisticKHR::~safe_VkPipelineExecutableStatisticKHR()
15247{
15248 if (pNext)
15249 FreePnextChain(pNext);
15250}
15251
15252void safe_VkPipelineExecutableStatisticKHR::initialize(const VkPipelineExecutableStatisticKHR* in_struct)
15253{
15254 sType = in_struct->sType;
15255 format = in_struct->format;
15256 value = in_struct->value;
15257 pNext = SafePnextCopy(in_struct->pNext);
15258 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15259 name[i] = in_struct->name[i];
15260 }
15261 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15262 description[i] = in_struct->description[i];
15263 }
15264}
15265
15266void safe_VkPipelineExecutableStatisticKHR::initialize(const safe_VkPipelineExecutableStatisticKHR* src)
15267{
15268 sType = src->sType;
15269 format = src->format;
15270 value = src->value;
15271 pNext = SafePnextCopy(src->pNext);
15272 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15273 name[i] = src->name[i];
15274 }
15275 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15276 description[i] = src->description[i];
15277 }
15278}
15279
15280safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR(const VkPipelineExecutableInternalRepresentationKHR* in_struct) :
15281 sType(in_struct->sType),
15282 isText(in_struct->isText),
15283 dataSize(in_struct->dataSize),
15284 pData(in_struct->pData)
15285{
15286 pNext = SafePnextCopy(in_struct->pNext);
15287 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15288 name[i] = in_struct->name[i];
15289 }
15290 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15291 description[i] = in_struct->description[i];
15292 }
15293}
15294
15295safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060015296 pNext(nullptr),
15297 pData(nullptr)
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060015298{}
15299
15300safe_VkPipelineExecutableInternalRepresentationKHR::safe_VkPipelineExecutableInternalRepresentationKHR(const safe_VkPipelineExecutableInternalRepresentationKHR& src)
15301{
15302 sType = src.sType;
15303 isText = src.isText;
15304 dataSize = src.dataSize;
15305 pData = src.pData;
15306 pNext = SafePnextCopy(src.pNext);
15307 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15308 name[i] = src.name[i];
15309 }
15310 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15311 description[i] = src.description[i];
15312 }
15313}
15314
15315safe_VkPipelineExecutableInternalRepresentationKHR& safe_VkPipelineExecutableInternalRepresentationKHR::operator=(const safe_VkPipelineExecutableInternalRepresentationKHR& src)
15316{
15317 if (&src == this) return *this;
15318
15319 if (pNext)
15320 FreePnextChain(pNext);
15321
15322 sType = src.sType;
15323 isText = src.isText;
15324 dataSize = src.dataSize;
15325 pData = src.pData;
15326 pNext = SafePnextCopy(src.pNext);
15327 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15328 name[i] = src.name[i];
15329 }
15330 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15331 description[i] = src.description[i];
15332 }
15333
15334 return *this;
15335}
15336
15337safe_VkPipelineExecutableInternalRepresentationKHR::~safe_VkPipelineExecutableInternalRepresentationKHR()
15338{
15339 if (pNext)
15340 FreePnextChain(pNext);
15341}
15342
15343void safe_VkPipelineExecutableInternalRepresentationKHR::initialize(const VkPipelineExecutableInternalRepresentationKHR* in_struct)
15344{
15345 sType = in_struct->sType;
15346 isText = in_struct->isText;
15347 dataSize = in_struct->dataSize;
15348 pData = in_struct->pData;
15349 pNext = SafePnextCopy(in_struct->pNext);
15350 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15351 name[i] = in_struct->name[i];
15352 }
15353 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15354 description[i] = in_struct->description[i];
15355 }
15356}
15357
15358void safe_VkPipelineExecutableInternalRepresentationKHR::initialize(const safe_VkPipelineExecutableInternalRepresentationKHR* src)
15359{
15360 sType = src->sType;
15361 isText = src->isText;
15362 dataSize = src->dataSize;
15363 pData = src->pData;
15364 pNext = SafePnextCopy(src->pNext);
15365 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15366 name[i] = src->name[i];
15367 }
15368 for (uint32_t i=0; i<VK_MAX_DESCRIPTION_SIZE; ++i) {
15369 description[i] = src->description[i];
15370 }
15371}
15372
Mike Schuchardt440d4642019-06-20 17:14:57 -070015373safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT(const VkDebugReportCallbackCreateInfoEXT* in_struct) :
15374 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015375 flags(in_struct->flags),
15376 pfnCallback(in_struct->pfnCallback),
15377 pUserData(in_struct->pUserData)
15378{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015379 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015380}
15381
Jason Macnak8f28eec2019-08-09 12:57:01 -070015382safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060015383 pNext(nullptr),
15384 pUserData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015385{}
15386
15387safe_VkDebugReportCallbackCreateInfoEXT::safe_VkDebugReportCallbackCreateInfoEXT(const safe_VkDebugReportCallbackCreateInfoEXT& src)
15388{
15389 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015390 flags = src.flags;
15391 pfnCallback = src.pfnCallback;
15392 pUserData = src.pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015393 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015394}
15395
15396safe_VkDebugReportCallbackCreateInfoEXT& safe_VkDebugReportCallbackCreateInfoEXT::operator=(const safe_VkDebugReportCallbackCreateInfoEXT& src)
15397{
15398 if (&src == this) return *this;
15399
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015400 if (pNext)
15401 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015402
15403 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015404 flags = src.flags;
15405 pfnCallback = src.pfnCallback;
15406 pUserData = src.pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015407 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015408
15409 return *this;
15410}
15411
15412safe_VkDebugReportCallbackCreateInfoEXT::~safe_VkDebugReportCallbackCreateInfoEXT()
15413{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015414 if (pNext)
15415 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015416}
15417
15418void safe_VkDebugReportCallbackCreateInfoEXT::initialize(const VkDebugReportCallbackCreateInfoEXT* in_struct)
15419{
15420 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015421 flags = in_struct->flags;
15422 pfnCallback = in_struct->pfnCallback;
15423 pUserData = in_struct->pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015424 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015425}
15426
15427void safe_VkDebugReportCallbackCreateInfoEXT::initialize(const safe_VkDebugReportCallbackCreateInfoEXT* src)
15428{
15429 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015430 flags = src->flags;
15431 pfnCallback = src->pfnCallback;
15432 pUserData = src->pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015433 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015434}
15435
15436safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD(const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct) :
15437 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015438 rasterizationOrder(in_struct->rasterizationOrder)
15439{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015440 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015441}
15442
Jason Macnak8f28eec2019-08-09 12:57:01 -070015443safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD() :
15444 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015445{}
15446
15447safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD(const safe_VkPipelineRasterizationStateRasterizationOrderAMD& src)
15448{
15449 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015450 rasterizationOrder = src.rasterizationOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015451 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015452}
15453
15454safe_VkPipelineRasterizationStateRasterizationOrderAMD& safe_VkPipelineRasterizationStateRasterizationOrderAMD::operator=(const safe_VkPipelineRasterizationStateRasterizationOrderAMD& src)
15455{
15456 if (&src == this) return *this;
15457
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015458 if (pNext)
15459 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015460
15461 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015462 rasterizationOrder = src.rasterizationOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015463 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015464
15465 return *this;
15466}
15467
15468safe_VkPipelineRasterizationStateRasterizationOrderAMD::~safe_VkPipelineRasterizationStateRasterizationOrderAMD()
15469{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015470 if (pNext)
15471 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015472}
15473
15474void safe_VkPipelineRasterizationStateRasterizationOrderAMD::initialize(const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct)
15475{
15476 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015477 rasterizationOrder = in_struct->rasterizationOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015478 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015479}
15480
15481void safe_VkPipelineRasterizationStateRasterizationOrderAMD::initialize(const safe_VkPipelineRasterizationStateRasterizationOrderAMD* src)
15482{
15483 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015484 rasterizationOrder = src->rasterizationOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015485 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015486}
15487
15488safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT(const VkDebugMarkerObjectNameInfoEXT* in_struct) :
15489 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015490 objectType(in_struct->objectType),
15491 object(in_struct->object),
15492 pObjectName(in_struct->pObjectName)
15493{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015494 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015495}
15496
Jason Macnak8f28eec2019-08-09 12:57:01 -070015497safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060015498 pNext(nullptr),
15499 pObjectName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015500{}
15501
15502safe_VkDebugMarkerObjectNameInfoEXT::safe_VkDebugMarkerObjectNameInfoEXT(const safe_VkDebugMarkerObjectNameInfoEXT& src)
15503{
15504 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015505 objectType = src.objectType;
15506 object = src.object;
15507 pObjectName = src.pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015508 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015509}
15510
15511safe_VkDebugMarkerObjectNameInfoEXT& safe_VkDebugMarkerObjectNameInfoEXT::operator=(const safe_VkDebugMarkerObjectNameInfoEXT& src)
15512{
15513 if (&src == this) return *this;
15514
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015515 if (pNext)
15516 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015517
15518 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015519 objectType = src.objectType;
15520 object = src.object;
15521 pObjectName = src.pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015522 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015523
15524 return *this;
15525}
15526
15527safe_VkDebugMarkerObjectNameInfoEXT::~safe_VkDebugMarkerObjectNameInfoEXT()
15528{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015529 if (pNext)
15530 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015531}
15532
15533void safe_VkDebugMarkerObjectNameInfoEXT::initialize(const VkDebugMarkerObjectNameInfoEXT* in_struct)
15534{
15535 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015536 objectType = in_struct->objectType;
15537 object = in_struct->object;
15538 pObjectName = in_struct->pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015539 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015540}
15541
15542void safe_VkDebugMarkerObjectNameInfoEXT::initialize(const safe_VkDebugMarkerObjectNameInfoEXT* src)
15543{
15544 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015545 objectType = src->objectType;
15546 object = src->object;
15547 pObjectName = src->pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015548 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015549}
15550
15551safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT(const VkDebugMarkerObjectTagInfoEXT* in_struct) :
15552 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015553 objectType(in_struct->objectType),
15554 object(in_struct->object),
15555 tagName(in_struct->tagName),
15556 tagSize(in_struct->tagSize),
15557 pTag(in_struct->pTag)
15558{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015559 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015560}
15561
Jason Macnak8f28eec2019-08-09 12:57:01 -070015562safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060015563 pNext(nullptr),
15564 pTag(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015565{}
15566
15567safe_VkDebugMarkerObjectTagInfoEXT::safe_VkDebugMarkerObjectTagInfoEXT(const safe_VkDebugMarkerObjectTagInfoEXT& src)
15568{
15569 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015570 objectType = src.objectType;
15571 object = src.object;
15572 tagName = src.tagName;
15573 tagSize = src.tagSize;
15574 pTag = src.pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015575 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015576}
15577
15578safe_VkDebugMarkerObjectTagInfoEXT& safe_VkDebugMarkerObjectTagInfoEXT::operator=(const safe_VkDebugMarkerObjectTagInfoEXT& src)
15579{
15580 if (&src == this) return *this;
15581
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015582 if (pNext)
15583 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015584
15585 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015586 objectType = src.objectType;
15587 object = src.object;
15588 tagName = src.tagName;
15589 tagSize = src.tagSize;
15590 pTag = src.pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015591 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015592
15593 return *this;
15594}
15595
15596safe_VkDebugMarkerObjectTagInfoEXT::~safe_VkDebugMarkerObjectTagInfoEXT()
15597{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015598 if (pNext)
15599 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015600}
15601
15602void safe_VkDebugMarkerObjectTagInfoEXT::initialize(const VkDebugMarkerObjectTagInfoEXT* in_struct)
15603{
15604 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015605 objectType = in_struct->objectType;
15606 object = in_struct->object;
15607 tagName = in_struct->tagName;
15608 tagSize = in_struct->tagSize;
15609 pTag = in_struct->pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015610 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015611}
15612
15613void safe_VkDebugMarkerObjectTagInfoEXT::initialize(const safe_VkDebugMarkerObjectTagInfoEXT* src)
15614{
15615 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015616 objectType = src->objectType;
15617 object = src->object;
15618 tagName = src->tagName;
15619 tagSize = src->tagSize;
15620 pTag = src->pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015621 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015622}
15623
15624safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT(const VkDebugMarkerMarkerInfoEXT* in_struct) :
15625 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015626 pMarkerName(in_struct->pMarkerName)
15627{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015628 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015629 for (uint32_t i=0; i<4; ++i) {
15630 color[i] = in_struct->color[i];
15631 }
15632}
15633
Jason Macnak8f28eec2019-08-09 12:57:01 -070015634safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060015635 pNext(nullptr),
15636 pMarkerName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015637{}
15638
15639safe_VkDebugMarkerMarkerInfoEXT::safe_VkDebugMarkerMarkerInfoEXT(const safe_VkDebugMarkerMarkerInfoEXT& src)
15640{
15641 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015642 pMarkerName = src.pMarkerName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015643 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015644 for (uint32_t i=0; i<4; ++i) {
15645 color[i] = src.color[i];
15646 }
15647}
15648
15649safe_VkDebugMarkerMarkerInfoEXT& safe_VkDebugMarkerMarkerInfoEXT::operator=(const safe_VkDebugMarkerMarkerInfoEXT& src)
15650{
15651 if (&src == this) return *this;
15652
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015653 if (pNext)
15654 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015655
15656 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015657 pMarkerName = src.pMarkerName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015658 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015659 for (uint32_t i=0; i<4; ++i) {
15660 color[i] = src.color[i];
15661 }
15662
15663 return *this;
15664}
15665
15666safe_VkDebugMarkerMarkerInfoEXT::~safe_VkDebugMarkerMarkerInfoEXT()
15667{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015668 if (pNext)
15669 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015670}
15671
15672void safe_VkDebugMarkerMarkerInfoEXT::initialize(const VkDebugMarkerMarkerInfoEXT* in_struct)
15673{
15674 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015675 pMarkerName = in_struct->pMarkerName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015676 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015677 for (uint32_t i=0; i<4; ++i) {
15678 color[i] = in_struct->color[i];
15679 }
15680}
15681
15682void safe_VkDebugMarkerMarkerInfoEXT::initialize(const safe_VkDebugMarkerMarkerInfoEXT* src)
15683{
15684 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015685 pMarkerName = src->pMarkerName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015686 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015687 for (uint32_t i=0; i<4; ++i) {
15688 color[i] = src->color[i];
15689 }
15690}
15691
15692safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV(const VkDedicatedAllocationImageCreateInfoNV* in_struct) :
15693 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015694 dedicatedAllocation(in_struct->dedicatedAllocation)
15695{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015696 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015697}
15698
Jason Macnak8f28eec2019-08-09 12:57:01 -070015699safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV() :
15700 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015701{}
15702
15703safe_VkDedicatedAllocationImageCreateInfoNV::safe_VkDedicatedAllocationImageCreateInfoNV(const safe_VkDedicatedAllocationImageCreateInfoNV& src)
15704{
15705 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015706 dedicatedAllocation = src.dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015707 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015708}
15709
15710safe_VkDedicatedAllocationImageCreateInfoNV& safe_VkDedicatedAllocationImageCreateInfoNV::operator=(const safe_VkDedicatedAllocationImageCreateInfoNV& src)
15711{
15712 if (&src == this) return *this;
15713
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015714 if (pNext)
15715 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015716
15717 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015718 dedicatedAllocation = src.dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015719 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015720
15721 return *this;
15722}
15723
15724safe_VkDedicatedAllocationImageCreateInfoNV::~safe_VkDedicatedAllocationImageCreateInfoNV()
15725{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015726 if (pNext)
15727 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015728}
15729
15730void safe_VkDedicatedAllocationImageCreateInfoNV::initialize(const VkDedicatedAllocationImageCreateInfoNV* in_struct)
15731{
15732 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015733 dedicatedAllocation = in_struct->dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015734 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015735}
15736
15737void safe_VkDedicatedAllocationImageCreateInfoNV::initialize(const safe_VkDedicatedAllocationImageCreateInfoNV* src)
15738{
15739 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015740 dedicatedAllocation = src->dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015741 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015742}
15743
15744safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV(const VkDedicatedAllocationBufferCreateInfoNV* in_struct) :
15745 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015746 dedicatedAllocation(in_struct->dedicatedAllocation)
15747{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015748 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015749}
15750
Jason Macnak8f28eec2019-08-09 12:57:01 -070015751safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV() :
15752 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015753{}
15754
15755safe_VkDedicatedAllocationBufferCreateInfoNV::safe_VkDedicatedAllocationBufferCreateInfoNV(const safe_VkDedicatedAllocationBufferCreateInfoNV& src)
15756{
15757 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015758 dedicatedAllocation = src.dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015759 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015760}
15761
15762safe_VkDedicatedAllocationBufferCreateInfoNV& safe_VkDedicatedAllocationBufferCreateInfoNV::operator=(const safe_VkDedicatedAllocationBufferCreateInfoNV& src)
15763{
15764 if (&src == this) return *this;
15765
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015766 if (pNext)
15767 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015768
15769 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015770 dedicatedAllocation = src.dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015771 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015772
15773 return *this;
15774}
15775
15776safe_VkDedicatedAllocationBufferCreateInfoNV::~safe_VkDedicatedAllocationBufferCreateInfoNV()
15777{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015778 if (pNext)
15779 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015780}
15781
15782void safe_VkDedicatedAllocationBufferCreateInfoNV::initialize(const VkDedicatedAllocationBufferCreateInfoNV* in_struct)
15783{
15784 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015785 dedicatedAllocation = in_struct->dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015786 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015787}
15788
15789void safe_VkDedicatedAllocationBufferCreateInfoNV::initialize(const safe_VkDedicatedAllocationBufferCreateInfoNV* src)
15790{
15791 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015792 dedicatedAllocation = src->dedicatedAllocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015793 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015794}
15795
15796safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV(const VkDedicatedAllocationMemoryAllocateInfoNV* in_struct) :
15797 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015798 image(in_struct->image),
15799 buffer(in_struct->buffer)
15800{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015801 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015802}
15803
Jason Macnak8f28eec2019-08-09 12:57:01 -070015804safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV() :
15805 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015806{}
15807
15808safe_VkDedicatedAllocationMemoryAllocateInfoNV::safe_VkDedicatedAllocationMemoryAllocateInfoNV(const safe_VkDedicatedAllocationMemoryAllocateInfoNV& src)
15809{
15810 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015811 image = src.image;
15812 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015813 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015814}
15815
15816safe_VkDedicatedAllocationMemoryAllocateInfoNV& safe_VkDedicatedAllocationMemoryAllocateInfoNV::operator=(const safe_VkDedicatedAllocationMemoryAllocateInfoNV& src)
15817{
15818 if (&src == this) return *this;
15819
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015820 if (pNext)
15821 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015822
15823 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015824 image = src.image;
15825 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015826 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015827
15828 return *this;
15829}
15830
15831safe_VkDedicatedAllocationMemoryAllocateInfoNV::~safe_VkDedicatedAllocationMemoryAllocateInfoNV()
15832{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015833 if (pNext)
15834 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015835}
15836
15837void safe_VkDedicatedAllocationMemoryAllocateInfoNV::initialize(const VkDedicatedAllocationMemoryAllocateInfoNV* in_struct)
15838{
15839 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015840 image = in_struct->image;
15841 buffer = in_struct->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015842 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015843}
15844
15845void safe_VkDedicatedAllocationMemoryAllocateInfoNV::initialize(const safe_VkDedicatedAllocationMemoryAllocateInfoNV* src)
15846{
15847 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015848 image = src->image;
15849 buffer = src->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015850 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015851}
15852
15853safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT* in_struct) :
15854 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015855 transformFeedback(in_struct->transformFeedback),
15856 geometryStreams(in_struct->geometryStreams)
15857{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015858 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015859}
15860
Jason Macnak8f28eec2019-08-09 12:57:01 -070015861safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT() :
15862 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015863{}
15864
15865safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& src)
15866{
15867 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015868 transformFeedback = src.transformFeedback;
15869 geometryStreams = src.geometryStreams;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015870 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015871}
15872
15873safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::operator=(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT& src)
15874{
15875 if (&src == this) return *this;
15876
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015877 if (pNext)
15878 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015879
15880 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015881 transformFeedback = src.transformFeedback;
15882 geometryStreams = src.geometryStreams;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015883 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015884
15885 return *this;
15886}
15887
15888safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::~safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT()
15889{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015890 if (pNext)
15891 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015892}
15893
15894void safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::initialize(const VkPhysicalDeviceTransformFeedbackFeaturesEXT* in_struct)
15895{
15896 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015897 transformFeedback = in_struct->transformFeedback;
15898 geometryStreams = in_struct->geometryStreams;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015899 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015900}
15901
15902void safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT::initialize(const safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT* src)
15903{
15904 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015905 transformFeedback = src->transformFeedback;
15906 geometryStreams = src->geometryStreams;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015907 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015908}
15909
15910safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT* in_struct) :
15911 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070015912 maxTransformFeedbackStreams(in_struct->maxTransformFeedbackStreams),
15913 maxTransformFeedbackBuffers(in_struct->maxTransformFeedbackBuffers),
15914 maxTransformFeedbackBufferSize(in_struct->maxTransformFeedbackBufferSize),
15915 maxTransformFeedbackStreamDataSize(in_struct->maxTransformFeedbackStreamDataSize),
15916 maxTransformFeedbackBufferDataSize(in_struct->maxTransformFeedbackBufferDataSize),
15917 maxTransformFeedbackBufferDataStride(in_struct->maxTransformFeedbackBufferDataStride),
15918 transformFeedbackQueries(in_struct->transformFeedbackQueries),
15919 transformFeedbackStreamsLinesTriangles(in_struct->transformFeedbackStreamsLinesTriangles),
15920 transformFeedbackRasterizationStreamSelect(in_struct->transformFeedbackRasterizationStreamSelect),
15921 transformFeedbackDraw(in_struct->transformFeedbackDraw)
15922{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015923 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015924}
15925
Jason Macnak8f28eec2019-08-09 12:57:01 -070015926safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT() :
15927 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070015928{}
15929
15930safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& src)
15931{
15932 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015933 maxTransformFeedbackStreams = src.maxTransformFeedbackStreams;
15934 maxTransformFeedbackBuffers = src.maxTransformFeedbackBuffers;
15935 maxTransformFeedbackBufferSize = src.maxTransformFeedbackBufferSize;
15936 maxTransformFeedbackStreamDataSize = src.maxTransformFeedbackStreamDataSize;
15937 maxTransformFeedbackBufferDataSize = src.maxTransformFeedbackBufferDataSize;
15938 maxTransformFeedbackBufferDataStride = src.maxTransformFeedbackBufferDataStride;
15939 transformFeedbackQueries = src.transformFeedbackQueries;
15940 transformFeedbackStreamsLinesTriangles = src.transformFeedbackStreamsLinesTriangles;
15941 transformFeedbackRasterizationStreamSelect = src.transformFeedbackRasterizationStreamSelect;
15942 transformFeedbackDraw = src.transformFeedbackDraw;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015943 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015944}
15945
15946safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::operator=(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT& src)
15947{
15948 if (&src == this) return *this;
15949
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015950 if (pNext)
15951 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015952
15953 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015954 maxTransformFeedbackStreams = src.maxTransformFeedbackStreams;
15955 maxTransformFeedbackBuffers = src.maxTransformFeedbackBuffers;
15956 maxTransformFeedbackBufferSize = src.maxTransformFeedbackBufferSize;
15957 maxTransformFeedbackStreamDataSize = src.maxTransformFeedbackStreamDataSize;
15958 maxTransformFeedbackBufferDataSize = src.maxTransformFeedbackBufferDataSize;
15959 maxTransformFeedbackBufferDataStride = src.maxTransformFeedbackBufferDataStride;
15960 transformFeedbackQueries = src.transformFeedbackQueries;
15961 transformFeedbackStreamsLinesTriangles = src.transformFeedbackStreamsLinesTriangles;
15962 transformFeedbackRasterizationStreamSelect = src.transformFeedbackRasterizationStreamSelect;
15963 transformFeedbackDraw = src.transformFeedbackDraw;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015964 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015965
15966 return *this;
15967}
15968
15969safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::~safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT()
15970{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015971 if (pNext)
15972 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015973}
15974
15975void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const VkPhysicalDeviceTransformFeedbackPropertiesEXT* in_struct)
15976{
15977 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015978 maxTransformFeedbackStreams = in_struct->maxTransformFeedbackStreams;
15979 maxTransformFeedbackBuffers = in_struct->maxTransformFeedbackBuffers;
15980 maxTransformFeedbackBufferSize = in_struct->maxTransformFeedbackBufferSize;
15981 maxTransformFeedbackStreamDataSize = in_struct->maxTransformFeedbackStreamDataSize;
15982 maxTransformFeedbackBufferDataSize = in_struct->maxTransformFeedbackBufferDataSize;
15983 maxTransformFeedbackBufferDataStride = in_struct->maxTransformFeedbackBufferDataStride;
15984 transformFeedbackQueries = in_struct->transformFeedbackQueries;
15985 transformFeedbackStreamsLinesTriangles = in_struct->transformFeedbackStreamsLinesTriangles;
15986 transformFeedbackRasterizationStreamSelect = in_struct->transformFeedbackRasterizationStreamSelect;
15987 transformFeedbackDraw = in_struct->transformFeedbackDraw;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060015988 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070015989}
15990
15991void safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT::initialize(const safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT* src)
15992{
15993 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070015994 maxTransformFeedbackStreams = src->maxTransformFeedbackStreams;
15995 maxTransformFeedbackBuffers = src->maxTransformFeedbackBuffers;
15996 maxTransformFeedbackBufferSize = src->maxTransformFeedbackBufferSize;
15997 maxTransformFeedbackStreamDataSize = src->maxTransformFeedbackStreamDataSize;
15998 maxTransformFeedbackBufferDataSize = src->maxTransformFeedbackBufferDataSize;
15999 maxTransformFeedbackBufferDataStride = src->maxTransformFeedbackBufferDataStride;
16000 transformFeedbackQueries = src->transformFeedbackQueries;
16001 transformFeedbackStreamsLinesTriangles = src->transformFeedbackStreamsLinesTriangles;
16002 transformFeedbackRasterizationStreamSelect = src->transformFeedbackRasterizationStreamSelect;
16003 transformFeedbackDraw = src->transformFeedbackDraw;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016004 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016005}
16006
16007safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const VkPipelineRasterizationStateStreamCreateInfoEXT* in_struct) :
16008 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016009 flags(in_struct->flags),
16010 rasterizationStream(in_struct->rasterizationStream)
16011{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016012 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016013}
16014
Jason Macnak8f28eec2019-08-09 12:57:01 -070016015safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT() :
16016 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016017{}
16018
16019safe_VkPipelineRasterizationStateStreamCreateInfoEXT::safe_VkPipelineRasterizationStateStreamCreateInfoEXT(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT& src)
16020{
16021 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016022 flags = src.flags;
16023 rasterizationStream = src.rasterizationStream;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016024 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016025}
16026
16027safe_VkPipelineRasterizationStateStreamCreateInfoEXT& safe_VkPipelineRasterizationStateStreamCreateInfoEXT::operator=(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT& src)
16028{
16029 if (&src == this) return *this;
16030
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016031 if (pNext)
16032 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016033
16034 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016035 flags = src.flags;
16036 rasterizationStream = src.rasterizationStream;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016037 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016038
16039 return *this;
16040}
16041
16042safe_VkPipelineRasterizationStateStreamCreateInfoEXT::~safe_VkPipelineRasterizationStateStreamCreateInfoEXT()
16043{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016044 if (pNext)
16045 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016046}
16047
16048void safe_VkPipelineRasterizationStateStreamCreateInfoEXT::initialize(const VkPipelineRasterizationStateStreamCreateInfoEXT* in_struct)
16049{
16050 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016051 flags = in_struct->flags;
16052 rasterizationStream = in_struct->rasterizationStream;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016053 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016054}
16055
16056void safe_VkPipelineRasterizationStateStreamCreateInfoEXT::initialize(const safe_VkPipelineRasterizationStateStreamCreateInfoEXT* src)
16057{
16058 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016059 flags = src->flags;
16060 rasterizationStream = src->rasterizationStream;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016061 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016062}
16063
16064safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX(const VkImageViewHandleInfoNVX* in_struct) :
16065 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016066 imageView(in_struct->imageView),
16067 descriptorType(in_struct->descriptorType),
16068 sampler(in_struct->sampler)
16069{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016070 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016071}
16072
Jason Macnak8f28eec2019-08-09 12:57:01 -070016073safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX() :
16074 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016075{}
16076
16077safe_VkImageViewHandleInfoNVX::safe_VkImageViewHandleInfoNVX(const safe_VkImageViewHandleInfoNVX& src)
16078{
16079 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016080 imageView = src.imageView;
16081 descriptorType = src.descriptorType;
16082 sampler = src.sampler;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016083 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016084}
16085
16086safe_VkImageViewHandleInfoNVX& safe_VkImageViewHandleInfoNVX::operator=(const safe_VkImageViewHandleInfoNVX& src)
16087{
16088 if (&src == this) return *this;
16089
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016090 if (pNext)
16091 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016092
16093 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016094 imageView = src.imageView;
16095 descriptorType = src.descriptorType;
16096 sampler = src.sampler;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016097 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016098
16099 return *this;
16100}
16101
16102safe_VkImageViewHandleInfoNVX::~safe_VkImageViewHandleInfoNVX()
16103{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016104 if (pNext)
16105 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016106}
16107
16108void safe_VkImageViewHandleInfoNVX::initialize(const VkImageViewHandleInfoNVX* in_struct)
16109{
16110 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016111 imageView = in_struct->imageView;
16112 descriptorType = in_struct->descriptorType;
16113 sampler = in_struct->sampler;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016114 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016115}
16116
16117void safe_VkImageViewHandleInfoNVX::initialize(const safe_VkImageViewHandleInfoNVX* src)
16118{
16119 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016120 imageView = src->imageView;
16121 descriptorType = src->descriptorType;
16122 sampler = src->sampler;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016123 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016124}
16125
16126safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD(const VkTextureLODGatherFormatPropertiesAMD* in_struct) :
16127 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016128 supportsTextureGatherLODBiasAMD(in_struct->supportsTextureGatherLODBiasAMD)
16129{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016130 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016131}
16132
Jason Macnak8f28eec2019-08-09 12:57:01 -070016133safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD() :
16134 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016135{}
16136
16137safe_VkTextureLODGatherFormatPropertiesAMD::safe_VkTextureLODGatherFormatPropertiesAMD(const safe_VkTextureLODGatherFormatPropertiesAMD& src)
16138{
16139 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016140 supportsTextureGatherLODBiasAMD = src.supportsTextureGatherLODBiasAMD;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016141 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016142}
16143
16144safe_VkTextureLODGatherFormatPropertiesAMD& safe_VkTextureLODGatherFormatPropertiesAMD::operator=(const safe_VkTextureLODGatherFormatPropertiesAMD& src)
16145{
16146 if (&src == this) return *this;
16147
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016148 if (pNext)
16149 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016150
16151 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016152 supportsTextureGatherLODBiasAMD = src.supportsTextureGatherLODBiasAMD;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016153 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016154
16155 return *this;
16156}
16157
16158safe_VkTextureLODGatherFormatPropertiesAMD::~safe_VkTextureLODGatherFormatPropertiesAMD()
16159{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016160 if (pNext)
16161 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016162}
16163
16164void safe_VkTextureLODGatherFormatPropertiesAMD::initialize(const VkTextureLODGatherFormatPropertiesAMD* in_struct)
16165{
16166 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016167 supportsTextureGatherLODBiasAMD = in_struct->supportsTextureGatherLODBiasAMD;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016168 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016169}
16170
16171void safe_VkTextureLODGatherFormatPropertiesAMD::initialize(const safe_VkTextureLODGatherFormatPropertiesAMD* src)
16172{
16173 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016174 supportsTextureGatherLODBiasAMD = src->supportsTextureGatherLODBiasAMD;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016175 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016176}
16177#ifdef VK_USE_PLATFORM_GGP
16178
16179
16180safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP(const VkStreamDescriptorSurfaceCreateInfoGGP* in_struct) :
16181 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016182 flags(in_struct->flags),
16183 streamDescriptor(in_struct->streamDescriptor)
16184{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016185 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016186}
16187
Jason Macnak8f28eec2019-08-09 12:57:01 -070016188safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP() :
16189 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016190{}
16191
16192safe_VkStreamDescriptorSurfaceCreateInfoGGP::safe_VkStreamDescriptorSurfaceCreateInfoGGP(const safe_VkStreamDescriptorSurfaceCreateInfoGGP& src)
16193{
16194 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016195 flags = src.flags;
16196 streamDescriptor = src.streamDescriptor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016197 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016198}
16199
16200safe_VkStreamDescriptorSurfaceCreateInfoGGP& safe_VkStreamDescriptorSurfaceCreateInfoGGP::operator=(const safe_VkStreamDescriptorSurfaceCreateInfoGGP& src)
16201{
16202 if (&src == this) return *this;
16203
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016204 if (pNext)
16205 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016206
16207 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016208 flags = src.flags;
16209 streamDescriptor = src.streamDescriptor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016210 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016211
16212 return *this;
16213}
16214
16215safe_VkStreamDescriptorSurfaceCreateInfoGGP::~safe_VkStreamDescriptorSurfaceCreateInfoGGP()
16216{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016217 if (pNext)
16218 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016219}
16220
16221void safe_VkStreamDescriptorSurfaceCreateInfoGGP::initialize(const VkStreamDescriptorSurfaceCreateInfoGGP* in_struct)
16222{
16223 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016224 flags = in_struct->flags;
16225 streamDescriptor = in_struct->streamDescriptor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016226 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016227}
16228
16229void safe_VkStreamDescriptorSurfaceCreateInfoGGP::initialize(const safe_VkStreamDescriptorSurfaceCreateInfoGGP* src)
16230{
16231 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016232 flags = src->flags;
16233 streamDescriptor = src->streamDescriptor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016234 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016235}
16236#endif // VK_USE_PLATFORM_GGP
16237
16238
16239safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const VkPhysicalDeviceCornerSampledImageFeaturesNV* in_struct) :
16240 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016241 cornerSampledImage(in_struct->cornerSampledImage)
16242{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016243 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016244}
16245
Jason Macnak8f28eec2019-08-09 12:57:01 -070016246safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV() :
16247 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016248{}
16249
16250safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::safe_VkPhysicalDeviceCornerSampledImageFeaturesNV(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& src)
16251{
16252 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016253 cornerSampledImage = src.cornerSampledImage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016254 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016255}
16256
16257safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::operator=(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV& src)
16258{
16259 if (&src == this) return *this;
16260
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016261 if (pNext)
16262 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016263
16264 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016265 cornerSampledImage = src.cornerSampledImage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016266 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016267
16268 return *this;
16269}
16270
16271safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::~safe_VkPhysicalDeviceCornerSampledImageFeaturesNV()
16272{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016273 if (pNext)
16274 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016275}
16276
16277void safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::initialize(const VkPhysicalDeviceCornerSampledImageFeaturesNV* in_struct)
16278{
16279 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016280 cornerSampledImage = in_struct->cornerSampledImage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016281 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016282}
16283
16284void safe_VkPhysicalDeviceCornerSampledImageFeaturesNV::initialize(const safe_VkPhysicalDeviceCornerSampledImageFeaturesNV* src)
16285{
16286 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016287 cornerSampledImage = src->cornerSampledImage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016288 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016289}
16290
16291safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV(const VkExternalMemoryImageCreateInfoNV* in_struct) :
16292 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016293 handleTypes(in_struct->handleTypes)
16294{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016295 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016296}
16297
Jason Macnak8f28eec2019-08-09 12:57:01 -070016298safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV() :
16299 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016300{}
16301
16302safe_VkExternalMemoryImageCreateInfoNV::safe_VkExternalMemoryImageCreateInfoNV(const safe_VkExternalMemoryImageCreateInfoNV& src)
16303{
16304 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016305 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016306 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016307}
16308
16309safe_VkExternalMemoryImageCreateInfoNV& safe_VkExternalMemoryImageCreateInfoNV::operator=(const safe_VkExternalMemoryImageCreateInfoNV& src)
16310{
16311 if (&src == this) return *this;
16312
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016313 if (pNext)
16314 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016315
16316 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016317 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016318 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016319
16320 return *this;
16321}
16322
16323safe_VkExternalMemoryImageCreateInfoNV::~safe_VkExternalMemoryImageCreateInfoNV()
16324{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016325 if (pNext)
16326 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016327}
16328
16329void safe_VkExternalMemoryImageCreateInfoNV::initialize(const VkExternalMemoryImageCreateInfoNV* in_struct)
16330{
16331 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016332 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016333 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016334}
16335
16336void safe_VkExternalMemoryImageCreateInfoNV::initialize(const safe_VkExternalMemoryImageCreateInfoNV* src)
16337{
16338 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016339 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016340 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016341}
16342
16343safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV(const VkExportMemoryAllocateInfoNV* in_struct) :
16344 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016345 handleTypes(in_struct->handleTypes)
16346{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016347 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016348}
16349
Jason Macnak8f28eec2019-08-09 12:57:01 -070016350safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV() :
16351 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016352{}
16353
16354safe_VkExportMemoryAllocateInfoNV::safe_VkExportMemoryAllocateInfoNV(const safe_VkExportMemoryAllocateInfoNV& src)
16355{
16356 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016357 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016358 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016359}
16360
16361safe_VkExportMemoryAllocateInfoNV& safe_VkExportMemoryAllocateInfoNV::operator=(const safe_VkExportMemoryAllocateInfoNV& src)
16362{
16363 if (&src == this) return *this;
16364
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016365 if (pNext)
16366 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016367
16368 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016369 handleTypes = src.handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016370 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016371
16372 return *this;
16373}
16374
16375safe_VkExportMemoryAllocateInfoNV::~safe_VkExportMemoryAllocateInfoNV()
16376{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016377 if (pNext)
16378 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016379}
16380
16381void safe_VkExportMemoryAllocateInfoNV::initialize(const VkExportMemoryAllocateInfoNV* in_struct)
16382{
16383 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016384 handleTypes = in_struct->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016385 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016386}
16387
16388void safe_VkExportMemoryAllocateInfoNV::initialize(const safe_VkExportMemoryAllocateInfoNV* src)
16389{
16390 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016391 handleTypes = src->handleTypes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016392 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016393}
16394#ifdef VK_USE_PLATFORM_WIN32_KHR
16395
16396
16397safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV(const VkImportMemoryWin32HandleInfoNV* in_struct) :
16398 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016399 handleType(in_struct->handleType),
16400 handle(in_struct->handle)
16401{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016402 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016403}
16404
Jason Macnak8f28eec2019-08-09 12:57:01 -070016405safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV() :
16406 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016407{}
16408
16409safe_VkImportMemoryWin32HandleInfoNV::safe_VkImportMemoryWin32HandleInfoNV(const safe_VkImportMemoryWin32HandleInfoNV& src)
16410{
16411 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016412 handleType = src.handleType;
16413 handle = src.handle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016414 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016415}
16416
16417safe_VkImportMemoryWin32HandleInfoNV& safe_VkImportMemoryWin32HandleInfoNV::operator=(const safe_VkImportMemoryWin32HandleInfoNV& src)
16418{
16419 if (&src == this) return *this;
16420
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016421 if (pNext)
16422 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016423
16424 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016425 handleType = src.handleType;
16426 handle = src.handle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016427 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016428
16429 return *this;
16430}
16431
16432safe_VkImportMemoryWin32HandleInfoNV::~safe_VkImportMemoryWin32HandleInfoNV()
16433{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016434 if (pNext)
16435 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016436}
16437
16438void safe_VkImportMemoryWin32HandleInfoNV::initialize(const VkImportMemoryWin32HandleInfoNV* in_struct)
16439{
16440 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016441 handleType = in_struct->handleType;
16442 handle = in_struct->handle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016443 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016444}
16445
16446void safe_VkImportMemoryWin32HandleInfoNV::initialize(const safe_VkImportMemoryWin32HandleInfoNV* src)
16447{
16448 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016449 handleType = src->handleType;
16450 handle = src->handle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016451 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016452}
16453#endif // VK_USE_PLATFORM_WIN32_KHR
16454
16455#ifdef VK_USE_PLATFORM_WIN32_KHR
16456
16457
16458safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV(const VkExportMemoryWin32HandleInfoNV* in_struct) :
16459 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016460 pAttributes(nullptr),
16461 dwAccess(in_struct->dwAccess)
16462{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016463 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016464 if (in_struct->pAttributes) {
16465 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
16466 }
16467}
16468
16469safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070016470 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016471 pAttributes(nullptr)
16472{}
16473
16474safe_VkExportMemoryWin32HandleInfoNV::safe_VkExportMemoryWin32HandleInfoNV(const safe_VkExportMemoryWin32HandleInfoNV& src)
16475{
16476 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016477 pAttributes = nullptr;
16478 dwAccess = src.dwAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016479 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016480 if (src.pAttributes) {
16481 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
16482 }
16483}
16484
16485safe_VkExportMemoryWin32HandleInfoNV& safe_VkExportMemoryWin32HandleInfoNV::operator=(const safe_VkExportMemoryWin32HandleInfoNV& src)
16486{
16487 if (&src == this) return *this;
16488
16489 if (pAttributes)
16490 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016491 if (pNext)
16492 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016493
16494 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016495 pAttributes = nullptr;
16496 dwAccess = src.dwAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016497 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016498 if (src.pAttributes) {
16499 pAttributes = new SECURITY_ATTRIBUTES(*src.pAttributes);
16500 }
16501
16502 return *this;
16503}
16504
16505safe_VkExportMemoryWin32HandleInfoNV::~safe_VkExportMemoryWin32HandleInfoNV()
16506{
16507 if (pAttributes)
16508 delete pAttributes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016509 if (pNext)
16510 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016511}
16512
16513void safe_VkExportMemoryWin32HandleInfoNV::initialize(const VkExportMemoryWin32HandleInfoNV* in_struct)
16514{
16515 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016516 pAttributes = nullptr;
16517 dwAccess = in_struct->dwAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016518 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016519 if (in_struct->pAttributes) {
16520 pAttributes = new SECURITY_ATTRIBUTES(*in_struct->pAttributes);
16521 }
16522}
16523
16524void safe_VkExportMemoryWin32HandleInfoNV::initialize(const safe_VkExportMemoryWin32HandleInfoNV* src)
16525{
16526 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016527 pAttributes = nullptr;
16528 dwAccess = src->dwAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016529 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016530 if (src->pAttributes) {
16531 pAttributes = new SECURITY_ATTRIBUTES(*src->pAttributes);
16532 }
16533}
16534#endif // VK_USE_PLATFORM_WIN32_KHR
16535
16536#ifdef VK_USE_PLATFORM_WIN32_KHR
16537
16538
16539safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const VkWin32KeyedMutexAcquireReleaseInfoNV* in_struct) :
16540 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016541 acquireCount(in_struct->acquireCount),
16542 pAcquireSyncs(nullptr),
16543 pAcquireKeys(nullptr),
16544 pAcquireTimeoutMilliseconds(nullptr),
16545 releaseCount(in_struct->releaseCount),
16546 pReleaseSyncs(nullptr),
16547 pReleaseKeys(nullptr)
16548{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016549 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016550 if (acquireCount && in_struct->pAcquireSyncs) {
16551 pAcquireSyncs = new VkDeviceMemory[acquireCount];
16552 for (uint32_t i=0; i<acquireCount; ++i) {
16553 pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
16554 }
16555 }
16556 if (in_struct->pAcquireKeys) {
16557 pAcquireKeys = new uint64_t[in_struct->acquireCount];
16558 memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
16559 }
16560 if (in_struct->pAcquireTimeoutMilliseconds) {
16561 pAcquireTimeoutMilliseconds = new uint32_t[in_struct->acquireCount];
16562 memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)in_struct->pAcquireTimeoutMilliseconds, sizeof(uint32_t)*in_struct->acquireCount);
16563 }
16564 if (releaseCount && in_struct->pReleaseSyncs) {
16565 pReleaseSyncs = new VkDeviceMemory[releaseCount];
16566 for (uint32_t i=0; i<releaseCount; ++i) {
16567 pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
16568 }
16569 }
16570 if (in_struct->pReleaseKeys) {
16571 pReleaseKeys = new uint64_t[in_struct->releaseCount];
16572 memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
16573 }
16574}
16575
16576safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070016577 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016578 pAcquireSyncs(nullptr),
16579 pAcquireKeys(nullptr),
16580 pAcquireTimeoutMilliseconds(nullptr),
16581 pReleaseSyncs(nullptr),
16582 pReleaseKeys(nullptr)
16583{}
16584
16585safe_VkWin32KeyedMutexAcquireReleaseInfoNV::safe_VkWin32KeyedMutexAcquireReleaseInfoNV(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV& src)
16586{
16587 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016588 acquireCount = src.acquireCount;
16589 pAcquireSyncs = nullptr;
16590 pAcquireKeys = nullptr;
16591 pAcquireTimeoutMilliseconds = nullptr;
16592 releaseCount = src.releaseCount;
16593 pReleaseSyncs = nullptr;
16594 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016595 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016596 if (acquireCount && src.pAcquireSyncs) {
16597 pAcquireSyncs = new VkDeviceMemory[acquireCount];
16598 for (uint32_t i=0; i<acquireCount; ++i) {
16599 pAcquireSyncs[i] = src.pAcquireSyncs[i];
16600 }
16601 }
16602 if (src.pAcquireKeys) {
16603 pAcquireKeys = new uint64_t[src.acquireCount];
16604 memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
16605 }
16606 if (src.pAcquireTimeoutMilliseconds) {
16607 pAcquireTimeoutMilliseconds = new uint32_t[src.acquireCount];
16608 memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)src.pAcquireTimeoutMilliseconds, sizeof(uint32_t)*src.acquireCount);
16609 }
16610 if (releaseCount && src.pReleaseSyncs) {
16611 pReleaseSyncs = new VkDeviceMemory[releaseCount];
16612 for (uint32_t i=0; i<releaseCount; ++i) {
16613 pReleaseSyncs[i] = src.pReleaseSyncs[i];
16614 }
16615 }
16616 if (src.pReleaseKeys) {
16617 pReleaseKeys = new uint64_t[src.releaseCount];
16618 memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
16619 }
16620}
16621
16622safe_VkWin32KeyedMutexAcquireReleaseInfoNV& safe_VkWin32KeyedMutexAcquireReleaseInfoNV::operator=(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV& src)
16623{
16624 if (&src == this) return *this;
16625
16626 if (pAcquireSyncs)
16627 delete[] pAcquireSyncs;
16628 if (pAcquireKeys)
16629 delete[] pAcquireKeys;
16630 if (pAcquireTimeoutMilliseconds)
16631 delete[] pAcquireTimeoutMilliseconds;
16632 if (pReleaseSyncs)
16633 delete[] pReleaseSyncs;
16634 if (pReleaseKeys)
16635 delete[] pReleaseKeys;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016636 if (pNext)
16637 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016638
16639 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016640 acquireCount = src.acquireCount;
16641 pAcquireSyncs = nullptr;
16642 pAcquireKeys = nullptr;
16643 pAcquireTimeoutMilliseconds = nullptr;
16644 releaseCount = src.releaseCount;
16645 pReleaseSyncs = nullptr;
16646 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016647 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016648 if (acquireCount && src.pAcquireSyncs) {
16649 pAcquireSyncs = new VkDeviceMemory[acquireCount];
16650 for (uint32_t i=0; i<acquireCount; ++i) {
16651 pAcquireSyncs[i] = src.pAcquireSyncs[i];
16652 }
16653 }
16654 if (src.pAcquireKeys) {
16655 pAcquireKeys = new uint64_t[src.acquireCount];
16656 memcpy ((void *)pAcquireKeys, (void *)src.pAcquireKeys, sizeof(uint64_t)*src.acquireCount);
16657 }
16658 if (src.pAcquireTimeoutMilliseconds) {
16659 pAcquireTimeoutMilliseconds = new uint32_t[src.acquireCount];
16660 memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)src.pAcquireTimeoutMilliseconds, sizeof(uint32_t)*src.acquireCount);
16661 }
16662 if (releaseCount && src.pReleaseSyncs) {
16663 pReleaseSyncs = new VkDeviceMemory[releaseCount];
16664 for (uint32_t i=0; i<releaseCount; ++i) {
16665 pReleaseSyncs[i] = src.pReleaseSyncs[i];
16666 }
16667 }
16668 if (src.pReleaseKeys) {
16669 pReleaseKeys = new uint64_t[src.releaseCount];
16670 memcpy ((void *)pReleaseKeys, (void *)src.pReleaseKeys, sizeof(uint64_t)*src.releaseCount);
16671 }
16672
16673 return *this;
16674}
16675
16676safe_VkWin32KeyedMutexAcquireReleaseInfoNV::~safe_VkWin32KeyedMutexAcquireReleaseInfoNV()
16677{
16678 if (pAcquireSyncs)
16679 delete[] pAcquireSyncs;
16680 if (pAcquireKeys)
16681 delete[] pAcquireKeys;
16682 if (pAcquireTimeoutMilliseconds)
16683 delete[] pAcquireTimeoutMilliseconds;
16684 if (pReleaseSyncs)
16685 delete[] pReleaseSyncs;
16686 if (pReleaseKeys)
16687 delete[] pReleaseKeys;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016688 if (pNext)
16689 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016690}
16691
16692void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const VkWin32KeyedMutexAcquireReleaseInfoNV* in_struct)
16693{
16694 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016695 acquireCount = in_struct->acquireCount;
16696 pAcquireSyncs = nullptr;
16697 pAcquireKeys = nullptr;
16698 pAcquireTimeoutMilliseconds = nullptr;
16699 releaseCount = in_struct->releaseCount;
16700 pReleaseSyncs = nullptr;
16701 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016702 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016703 if (acquireCount && in_struct->pAcquireSyncs) {
16704 pAcquireSyncs = new VkDeviceMemory[acquireCount];
16705 for (uint32_t i=0; i<acquireCount; ++i) {
16706 pAcquireSyncs[i] = in_struct->pAcquireSyncs[i];
16707 }
16708 }
16709 if (in_struct->pAcquireKeys) {
16710 pAcquireKeys = new uint64_t[in_struct->acquireCount];
16711 memcpy ((void *)pAcquireKeys, (void *)in_struct->pAcquireKeys, sizeof(uint64_t)*in_struct->acquireCount);
16712 }
16713 if (in_struct->pAcquireTimeoutMilliseconds) {
16714 pAcquireTimeoutMilliseconds = new uint32_t[in_struct->acquireCount];
16715 memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)in_struct->pAcquireTimeoutMilliseconds, sizeof(uint32_t)*in_struct->acquireCount);
16716 }
16717 if (releaseCount && in_struct->pReleaseSyncs) {
16718 pReleaseSyncs = new VkDeviceMemory[releaseCount];
16719 for (uint32_t i=0; i<releaseCount; ++i) {
16720 pReleaseSyncs[i] = in_struct->pReleaseSyncs[i];
16721 }
16722 }
16723 if (in_struct->pReleaseKeys) {
16724 pReleaseKeys = new uint64_t[in_struct->releaseCount];
16725 memcpy ((void *)pReleaseKeys, (void *)in_struct->pReleaseKeys, sizeof(uint64_t)*in_struct->releaseCount);
16726 }
16727}
16728
16729void safe_VkWin32KeyedMutexAcquireReleaseInfoNV::initialize(const safe_VkWin32KeyedMutexAcquireReleaseInfoNV* src)
16730{
16731 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016732 acquireCount = src->acquireCount;
16733 pAcquireSyncs = nullptr;
16734 pAcquireKeys = nullptr;
16735 pAcquireTimeoutMilliseconds = nullptr;
16736 releaseCount = src->releaseCount;
16737 pReleaseSyncs = nullptr;
16738 pReleaseKeys = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016739 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016740 if (acquireCount && src->pAcquireSyncs) {
16741 pAcquireSyncs = new VkDeviceMemory[acquireCount];
16742 for (uint32_t i=0; i<acquireCount; ++i) {
16743 pAcquireSyncs[i] = src->pAcquireSyncs[i];
16744 }
16745 }
16746 if (src->pAcquireKeys) {
16747 pAcquireKeys = new uint64_t[src->acquireCount];
16748 memcpy ((void *)pAcquireKeys, (void *)src->pAcquireKeys, sizeof(uint64_t)*src->acquireCount);
16749 }
16750 if (src->pAcquireTimeoutMilliseconds) {
16751 pAcquireTimeoutMilliseconds = new uint32_t[src->acquireCount];
16752 memcpy ((void *)pAcquireTimeoutMilliseconds, (void *)src->pAcquireTimeoutMilliseconds, sizeof(uint32_t)*src->acquireCount);
16753 }
16754 if (releaseCount && src->pReleaseSyncs) {
16755 pReleaseSyncs = new VkDeviceMemory[releaseCount];
16756 for (uint32_t i=0; i<releaseCount; ++i) {
16757 pReleaseSyncs[i] = src->pReleaseSyncs[i];
16758 }
16759 }
16760 if (src->pReleaseKeys) {
16761 pReleaseKeys = new uint64_t[src->releaseCount];
16762 memcpy ((void *)pReleaseKeys, (void *)src->pReleaseKeys, sizeof(uint64_t)*src->releaseCount);
16763 }
16764}
16765#endif // VK_USE_PLATFORM_WIN32_KHR
16766
16767
16768safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const VkValidationFlagsEXT* in_struct) :
16769 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016770 disabledValidationCheckCount(in_struct->disabledValidationCheckCount),
16771 pDisabledValidationChecks(nullptr)
16772{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016773 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016774 if (in_struct->pDisabledValidationChecks) {
16775 pDisabledValidationChecks = new VkValidationCheckEXT[in_struct->disabledValidationCheckCount];
16776 memcpy ((void *)pDisabledValidationChecks, (void *)in_struct->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*in_struct->disabledValidationCheckCount);
16777 }
16778}
16779
16780safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070016781 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016782 pDisabledValidationChecks(nullptr)
16783{}
16784
16785safe_VkValidationFlagsEXT::safe_VkValidationFlagsEXT(const safe_VkValidationFlagsEXT& src)
16786{
16787 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016788 disabledValidationCheckCount = src.disabledValidationCheckCount;
16789 pDisabledValidationChecks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016790 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016791 if (src.pDisabledValidationChecks) {
16792 pDisabledValidationChecks = new VkValidationCheckEXT[src.disabledValidationCheckCount];
16793 memcpy ((void *)pDisabledValidationChecks, (void *)src.pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src.disabledValidationCheckCount);
16794 }
16795}
16796
16797safe_VkValidationFlagsEXT& safe_VkValidationFlagsEXT::operator=(const safe_VkValidationFlagsEXT& src)
16798{
16799 if (&src == this) return *this;
16800
16801 if (pDisabledValidationChecks)
16802 delete[] pDisabledValidationChecks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016803 if (pNext)
16804 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016805
16806 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016807 disabledValidationCheckCount = src.disabledValidationCheckCount;
16808 pDisabledValidationChecks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016809 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016810 if (src.pDisabledValidationChecks) {
16811 pDisabledValidationChecks = new VkValidationCheckEXT[src.disabledValidationCheckCount];
16812 memcpy ((void *)pDisabledValidationChecks, (void *)src.pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src.disabledValidationCheckCount);
16813 }
16814
16815 return *this;
16816}
16817
16818safe_VkValidationFlagsEXT::~safe_VkValidationFlagsEXT()
16819{
16820 if (pDisabledValidationChecks)
16821 delete[] pDisabledValidationChecks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016822 if (pNext)
16823 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016824}
16825
16826void safe_VkValidationFlagsEXT::initialize(const VkValidationFlagsEXT* in_struct)
16827{
16828 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016829 disabledValidationCheckCount = in_struct->disabledValidationCheckCount;
16830 pDisabledValidationChecks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016831 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016832 if (in_struct->pDisabledValidationChecks) {
16833 pDisabledValidationChecks = new VkValidationCheckEXT[in_struct->disabledValidationCheckCount];
16834 memcpy ((void *)pDisabledValidationChecks, (void *)in_struct->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*in_struct->disabledValidationCheckCount);
16835 }
16836}
16837
16838void safe_VkValidationFlagsEXT::initialize(const safe_VkValidationFlagsEXT* src)
16839{
16840 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016841 disabledValidationCheckCount = src->disabledValidationCheckCount;
16842 pDisabledValidationChecks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016843 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016844 if (src->pDisabledValidationChecks) {
16845 pDisabledValidationChecks = new VkValidationCheckEXT[src->disabledValidationCheckCount];
16846 memcpy ((void *)pDisabledValidationChecks, (void *)src->pDisabledValidationChecks, sizeof(VkValidationCheckEXT)*src->disabledValidationCheckCount);
16847 }
16848}
16849#ifdef VK_USE_PLATFORM_VI_NN
16850
16851
16852safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN(const VkViSurfaceCreateInfoNN* in_struct) :
16853 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016854 flags(in_struct->flags),
16855 window(in_struct->window)
16856{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016857 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016858}
16859
Jason Macnak8f28eec2019-08-09 12:57:01 -070016860safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060016861 pNext(nullptr),
16862 window(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016863{}
16864
16865safe_VkViSurfaceCreateInfoNN::safe_VkViSurfaceCreateInfoNN(const safe_VkViSurfaceCreateInfoNN& src)
16866{
16867 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016868 flags = src.flags;
16869 window = src.window;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016870 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016871}
16872
16873safe_VkViSurfaceCreateInfoNN& safe_VkViSurfaceCreateInfoNN::operator=(const safe_VkViSurfaceCreateInfoNN& src)
16874{
16875 if (&src == this) return *this;
16876
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016877 if (pNext)
16878 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016879
16880 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016881 flags = src.flags;
16882 window = src.window;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016883 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016884
16885 return *this;
16886}
16887
16888safe_VkViSurfaceCreateInfoNN::~safe_VkViSurfaceCreateInfoNN()
16889{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016890 if (pNext)
16891 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016892}
16893
16894void safe_VkViSurfaceCreateInfoNN::initialize(const VkViSurfaceCreateInfoNN* in_struct)
16895{
16896 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016897 flags = in_struct->flags;
16898 window = in_struct->window;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016899 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016900}
16901
16902void safe_VkViSurfaceCreateInfoNN::initialize(const safe_VkViSurfaceCreateInfoNN* src)
16903{
16904 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016905 flags = src->flags;
16906 window = src->window;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016907 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016908}
16909#endif // VK_USE_PLATFORM_VI_NN
16910
16911
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060016912safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* in_struct) :
16913 sType(in_struct->sType),
16914 textureCompressionASTC_HDR(in_struct->textureCompressionASTC_HDR)
16915{
16916 pNext = SafePnextCopy(in_struct->pNext);
16917}
16918
16919safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT() :
16920 pNext(nullptr)
16921{}
16922
16923safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& src)
16924{
16925 sType = src.sType;
16926 textureCompressionASTC_HDR = src.textureCompressionASTC_HDR;
16927 pNext = SafePnextCopy(src.pNext);
16928}
16929
16930safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::operator=(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& src)
16931{
16932 if (&src == this) return *this;
16933
16934 if (pNext)
16935 FreePnextChain(pNext);
16936
16937 sType = src.sType;
16938 textureCompressionASTC_HDR = src.textureCompressionASTC_HDR;
16939 pNext = SafePnextCopy(src.pNext);
16940
16941 return *this;
16942}
16943
16944safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT()
16945{
16946 if (pNext)
16947 FreePnextChain(pNext);
16948}
16949
16950void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::initialize(const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* in_struct)
16951{
16952 sType = in_struct->sType;
16953 textureCompressionASTC_HDR = in_struct->textureCompressionASTC_HDR;
16954 pNext = SafePnextCopy(in_struct->pNext);
16955}
16956
16957void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::initialize(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* src)
16958{
16959 sType = src->sType;
16960 textureCompressionASTC_HDR = src->textureCompressionASTC_HDR;
16961 pNext = SafePnextCopy(src->pNext);
16962}
16963
Mike Schuchardt440d4642019-06-20 17:14:57 -070016964safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT(const VkImageViewASTCDecodeModeEXT* in_struct) :
16965 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070016966 decodeMode(in_struct->decodeMode)
16967{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016968 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016969}
16970
Jason Macnak8f28eec2019-08-09 12:57:01 -070016971safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT() :
16972 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070016973{}
16974
16975safe_VkImageViewASTCDecodeModeEXT::safe_VkImageViewASTCDecodeModeEXT(const safe_VkImageViewASTCDecodeModeEXT& src)
16976{
16977 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016978 decodeMode = src.decodeMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016979 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016980}
16981
16982safe_VkImageViewASTCDecodeModeEXT& safe_VkImageViewASTCDecodeModeEXT::operator=(const safe_VkImageViewASTCDecodeModeEXT& src)
16983{
16984 if (&src == this) return *this;
16985
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016986 if (pNext)
16987 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016988
16989 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070016990 decodeMode = src.decodeMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016991 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070016992
16993 return *this;
16994}
16995
16996safe_VkImageViewASTCDecodeModeEXT::~safe_VkImageViewASTCDecodeModeEXT()
16997{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060016998 if (pNext)
16999 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017000}
17001
17002void safe_VkImageViewASTCDecodeModeEXT::initialize(const VkImageViewASTCDecodeModeEXT* in_struct)
17003{
17004 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017005 decodeMode = in_struct->decodeMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017006 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017007}
17008
17009void safe_VkImageViewASTCDecodeModeEXT::initialize(const safe_VkImageViewASTCDecodeModeEXT* src)
17010{
17011 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017012 decodeMode = src->decodeMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017013 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017014}
17015
17016safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const VkPhysicalDeviceASTCDecodeFeaturesEXT* in_struct) :
17017 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017018 decodeModeSharedExponent(in_struct->decodeModeSharedExponent)
17019{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017020 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017021}
17022
Jason Macnak8f28eec2019-08-09 12:57:01 -070017023safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT() :
17024 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017025{}
17026
17027safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::safe_VkPhysicalDeviceASTCDecodeFeaturesEXT(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& src)
17028{
17029 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017030 decodeModeSharedExponent = src.decodeModeSharedExponent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017031 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017032}
17033
17034safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::operator=(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT& src)
17035{
17036 if (&src == this) return *this;
17037
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017038 if (pNext)
17039 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017040
17041 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017042 decodeModeSharedExponent = src.decodeModeSharedExponent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017043 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017044
17045 return *this;
17046}
17047
17048safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::~safe_VkPhysicalDeviceASTCDecodeFeaturesEXT()
17049{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017050 if (pNext)
17051 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017052}
17053
17054void safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::initialize(const VkPhysicalDeviceASTCDecodeFeaturesEXT* in_struct)
17055{
17056 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017057 decodeModeSharedExponent = in_struct->decodeModeSharedExponent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017058 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017059}
17060
17061void safe_VkPhysicalDeviceASTCDecodeFeaturesEXT::initialize(const safe_VkPhysicalDeviceASTCDecodeFeaturesEXT* src)
17062{
17063 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017064 decodeModeSharedExponent = src->decodeModeSharedExponent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017065 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017066}
17067
17068safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT(const VkConditionalRenderingBeginInfoEXT* in_struct) :
17069 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017070 buffer(in_struct->buffer),
17071 offset(in_struct->offset),
17072 flags(in_struct->flags)
17073{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017074 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017075}
17076
Jason Macnak8f28eec2019-08-09 12:57:01 -070017077safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT() :
17078 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017079{}
17080
17081safe_VkConditionalRenderingBeginInfoEXT::safe_VkConditionalRenderingBeginInfoEXT(const safe_VkConditionalRenderingBeginInfoEXT& src)
17082{
17083 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017084 buffer = src.buffer;
17085 offset = src.offset;
17086 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017087 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017088}
17089
17090safe_VkConditionalRenderingBeginInfoEXT& safe_VkConditionalRenderingBeginInfoEXT::operator=(const safe_VkConditionalRenderingBeginInfoEXT& src)
17091{
17092 if (&src == this) return *this;
17093
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017094 if (pNext)
17095 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017096
17097 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017098 buffer = src.buffer;
17099 offset = src.offset;
17100 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017101 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017102
17103 return *this;
17104}
17105
17106safe_VkConditionalRenderingBeginInfoEXT::~safe_VkConditionalRenderingBeginInfoEXT()
17107{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017108 if (pNext)
17109 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017110}
17111
17112void safe_VkConditionalRenderingBeginInfoEXT::initialize(const VkConditionalRenderingBeginInfoEXT* in_struct)
17113{
17114 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017115 buffer = in_struct->buffer;
17116 offset = in_struct->offset;
17117 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017118 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017119}
17120
17121void safe_VkConditionalRenderingBeginInfoEXT::initialize(const safe_VkConditionalRenderingBeginInfoEXT* src)
17122{
17123 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017124 buffer = src->buffer;
17125 offset = src->offset;
17126 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017127 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017128}
17129
17130safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const VkPhysicalDeviceConditionalRenderingFeaturesEXT* in_struct) :
17131 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017132 conditionalRendering(in_struct->conditionalRendering),
17133 inheritedConditionalRendering(in_struct->inheritedConditionalRendering)
17134{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017135 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017136}
17137
Jason Macnak8f28eec2019-08-09 12:57:01 -070017138safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT() :
17139 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017140{}
17141
17142safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& src)
17143{
17144 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017145 conditionalRendering = src.conditionalRendering;
17146 inheritedConditionalRendering = src.inheritedConditionalRendering;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017147 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017148}
17149
17150safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::operator=(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT& src)
17151{
17152 if (&src == this) return *this;
17153
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017154 if (pNext)
17155 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017156
17157 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017158 conditionalRendering = src.conditionalRendering;
17159 inheritedConditionalRendering = src.inheritedConditionalRendering;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017160 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017161
17162 return *this;
17163}
17164
17165safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::~safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT()
17166{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017167 if (pNext)
17168 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017169}
17170
17171void safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::initialize(const VkPhysicalDeviceConditionalRenderingFeaturesEXT* in_struct)
17172{
17173 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017174 conditionalRendering = in_struct->conditionalRendering;
17175 inheritedConditionalRendering = in_struct->inheritedConditionalRendering;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017176 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017177}
17178
17179void safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT::initialize(const safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT* src)
17180{
17181 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017182 conditionalRendering = src->conditionalRendering;
17183 inheritedConditionalRendering = src->inheritedConditionalRendering;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017184 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017185}
17186
17187safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const VkCommandBufferInheritanceConditionalRenderingInfoEXT* in_struct) :
17188 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017189 conditionalRenderingEnable(in_struct->conditionalRenderingEnable)
17190{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017191 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017192}
17193
Jason Macnak8f28eec2019-08-09 12:57:01 -070017194safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT() :
17195 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017196{}
17197
17198safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& src)
17199{
17200 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017201 conditionalRenderingEnable = src.conditionalRenderingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017202 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017203}
17204
17205safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::operator=(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT& src)
17206{
17207 if (&src == this) return *this;
17208
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017209 if (pNext)
17210 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017211
17212 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017213 conditionalRenderingEnable = src.conditionalRenderingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017214 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017215
17216 return *this;
17217}
17218
17219safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::~safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT()
17220{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017221 if (pNext)
17222 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017223}
17224
17225void safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::initialize(const VkCommandBufferInheritanceConditionalRenderingInfoEXT* in_struct)
17226{
17227 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017228 conditionalRenderingEnable = in_struct->conditionalRenderingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017229 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017230}
17231
17232void safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT::initialize(const safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT* src)
17233{
17234 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017235 conditionalRenderingEnable = src->conditionalRenderingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017236 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017237}
17238
17239safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX(const VkDeviceGeneratedCommandsFeaturesNVX* in_struct) :
17240 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017241 computeBindingPointSupport(in_struct->computeBindingPointSupport)
17242{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017243 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017244}
17245
Jason Macnak8f28eec2019-08-09 12:57:01 -070017246safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX() :
17247 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017248{}
17249
17250safe_VkDeviceGeneratedCommandsFeaturesNVX::safe_VkDeviceGeneratedCommandsFeaturesNVX(const safe_VkDeviceGeneratedCommandsFeaturesNVX& src)
17251{
17252 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017253 computeBindingPointSupport = src.computeBindingPointSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017254 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017255}
17256
17257safe_VkDeviceGeneratedCommandsFeaturesNVX& safe_VkDeviceGeneratedCommandsFeaturesNVX::operator=(const safe_VkDeviceGeneratedCommandsFeaturesNVX& src)
17258{
17259 if (&src == this) return *this;
17260
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017261 if (pNext)
17262 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017263
17264 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017265 computeBindingPointSupport = src.computeBindingPointSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017266 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017267
17268 return *this;
17269}
17270
17271safe_VkDeviceGeneratedCommandsFeaturesNVX::~safe_VkDeviceGeneratedCommandsFeaturesNVX()
17272{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017273 if (pNext)
17274 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017275}
17276
17277void safe_VkDeviceGeneratedCommandsFeaturesNVX::initialize(const VkDeviceGeneratedCommandsFeaturesNVX* in_struct)
17278{
17279 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017280 computeBindingPointSupport = in_struct->computeBindingPointSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017281 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017282}
17283
17284void safe_VkDeviceGeneratedCommandsFeaturesNVX::initialize(const safe_VkDeviceGeneratedCommandsFeaturesNVX* src)
17285{
17286 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017287 computeBindingPointSupport = src->computeBindingPointSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017288 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017289}
17290
17291safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX(const VkDeviceGeneratedCommandsLimitsNVX* in_struct) :
17292 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017293 maxIndirectCommandsLayoutTokenCount(in_struct->maxIndirectCommandsLayoutTokenCount),
17294 maxObjectEntryCounts(in_struct->maxObjectEntryCounts),
17295 minSequenceCountBufferOffsetAlignment(in_struct->minSequenceCountBufferOffsetAlignment),
17296 minSequenceIndexBufferOffsetAlignment(in_struct->minSequenceIndexBufferOffsetAlignment),
17297 minCommandsTokenBufferOffsetAlignment(in_struct->minCommandsTokenBufferOffsetAlignment)
17298{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017299 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017300}
17301
Jason Macnak8f28eec2019-08-09 12:57:01 -070017302safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX() :
17303 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017304{}
17305
17306safe_VkDeviceGeneratedCommandsLimitsNVX::safe_VkDeviceGeneratedCommandsLimitsNVX(const safe_VkDeviceGeneratedCommandsLimitsNVX& src)
17307{
17308 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017309 maxIndirectCommandsLayoutTokenCount = src.maxIndirectCommandsLayoutTokenCount;
17310 maxObjectEntryCounts = src.maxObjectEntryCounts;
17311 minSequenceCountBufferOffsetAlignment = src.minSequenceCountBufferOffsetAlignment;
17312 minSequenceIndexBufferOffsetAlignment = src.minSequenceIndexBufferOffsetAlignment;
17313 minCommandsTokenBufferOffsetAlignment = src.minCommandsTokenBufferOffsetAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017314 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017315}
17316
17317safe_VkDeviceGeneratedCommandsLimitsNVX& safe_VkDeviceGeneratedCommandsLimitsNVX::operator=(const safe_VkDeviceGeneratedCommandsLimitsNVX& src)
17318{
17319 if (&src == this) return *this;
17320
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017321 if (pNext)
17322 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017323
17324 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017325 maxIndirectCommandsLayoutTokenCount = src.maxIndirectCommandsLayoutTokenCount;
17326 maxObjectEntryCounts = src.maxObjectEntryCounts;
17327 minSequenceCountBufferOffsetAlignment = src.minSequenceCountBufferOffsetAlignment;
17328 minSequenceIndexBufferOffsetAlignment = src.minSequenceIndexBufferOffsetAlignment;
17329 minCommandsTokenBufferOffsetAlignment = src.minCommandsTokenBufferOffsetAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017330 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017331
17332 return *this;
17333}
17334
17335safe_VkDeviceGeneratedCommandsLimitsNVX::~safe_VkDeviceGeneratedCommandsLimitsNVX()
17336{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017337 if (pNext)
17338 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017339}
17340
17341void safe_VkDeviceGeneratedCommandsLimitsNVX::initialize(const VkDeviceGeneratedCommandsLimitsNVX* in_struct)
17342{
17343 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017344 maxIndirectCommandsLayoutTokenCount = in_struct->maxIndirectCommandsLayoutTokenCount;
17345 maxObjectEntryCounts = in_struct->maxObjectEntryCounts;
17346 minSequenceCountBufferOffsetAlignment = in_struct->minSequenceCountBufferOffsetAlignment;
17347 minSequenceIndexBufferOffsetAlignment = in_struct->minSequenceIndexBufferOffsetAlignment;
17348 minCommandsTokenBufferOffsetAlignment = in_struct->minCommandsTokenBufferOffsetAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017349 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017350}
17351
17352void safe_VkDeviceGeneratedCommandsLimitsNVX::initialize(const safe_VkDeviceGeneratedCommandsLimitsNVX* src)
17353{
17354 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017355 maxIndirectCommandsLayoutTokenCount = src->maxIndirectCommandsLayoutTokenCount;
17356 maxObjectEntryCounts = src->maxObjectEntryCounts;
17357 minSequenceCountBufferOffsetAlignment = src->minSequenceCountBufferOffsetAlignment;
17358 minSequenceIndexBufferOffsetAlignment = src->minSequenceIndexBufferOffsetAlignment;
17359 minCommandsTokenBufferOffsetAlignment = src->minCommandsTokenBufferOffsetAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017360 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017361}
17362
17363safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX(const VkIndirectCommandsLayoutCreateInfoNVX* in_struct) :
17364 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017365 pipelineBindPoint(in_struct->pipelineBindPoint),
17366 flags(in_struct->flags),
17367 tokenCount(in_struct->tokenCount),
17368 pTokens(nullptr)
17369{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017370 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017371 if (in_struct->pTokens) {
17372 pTokens = new VkIndirectCommandsLayoutTokenNVX[in_struct->tokenCount];
17373 memcpy ((void *)pTokens, (void *)in_struct->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*in_struct->tokenCount);
17374 }
17375}
17376
17377safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070017378 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017379 pTokens(nullptr)
17380{}
17381
17382safe_VkIndirectCommandsLayoutCreateInfoNVX::safe_VkIndirectCommandsLayoutCreateInfoNVX(const safe_VkIndirectCommandsLayoutCreateInfoNVX& src)
17383{
17384 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017385 pipelineBindPoint = src.pipelineBindPoint;
17386 flags = src.flags;
17387 tokenCount = src.tokenCount;
17388 pTokens = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017389 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017390 if (src.pTokens) {
17391 pTokens = new VkIndirectCommandsLayoutTokenNVX[src.tokenCount];
17392 memcpy ((void *)pTokens, (void *)src.pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src.tokenCount);
17393 }
17394}
17395
17396safe_VkIndirectCommandsLayoutCreateInfoNVX& safe_VkIndirectCommandsLayoutCreateInfoNVX::operator=(const safe_VkIndirectCommandsLayoutCreateInfoNVX& src)
17397{
17398 if (&src == this) return *this;
17399
17400 if (pTokens)
17401 delete[] pTokens;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017402 if (pNext)
17403 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017404
17405 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017406 pipelineBindPoint = src.pipelineBindPoint;
17407 flags = src.flags;
17408 tokenCount = src.tokenCount;
17409 pTokens = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017410 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017411 if (src.pTokens) {
17412 pTokens = new VkIndirectCommandsLayoutTokenNVX[src.tokenCount];
17413 memcpy ((void *)pTokens, (void *)src.pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src.tokenCount);
17414 }
17415
17416 return *this;
17417}
17418
17419safe_VkIndirectCommandsLayoutCreateInfoNVX::~safe_VkIndirectCommandsLayoutCreateInfoNVX()
17420{
17421 if (pTokens)
17422 delete[] pTokens;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017423 if (pNext)
17424 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017425}
17426
17427void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const VkIndirectCommandsLayoutCreateInfoNVX* in_struct)
17428{
17429 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017430 pipelineBindPoint = in_struct->pipelineBindPoint;
17431 flags = in_struct->flags;
17432 tokenCount = in_struct->tokenCount;
17433 pTokens = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017434 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017435 if (in_struct->pTokens) {
17436 pTokens = new VkIndirectCommandsLayoutTokenNVX[in_struct->tokenCount];
17437 memcpy ((void *)pTokens, (void *)in_struct->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*in_struct->tokenCount);
17438 }
17439}
17440
17441void safe_VkIndirectCommandsLayoutCreateInfoNVX::initialize(const safe_VkIndirectCommandsLayoutCreateInfoNVX* src)
17442{
17443 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017444 pipelineBindPoint = src->pipelineBindPoint;
17445 flags = src->flags;
17446 tokenCount = src->tokenCount;
17447 pTokens = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017448 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017449 if (src->pTokens) {
17450 pTokens = new VkIndirectCommandsLayoutTokenNVX[src->tokenCount];
17451 memcpy ((void *)pTokens, (void *)src->pTokens, sizeof(VkIndirectCommandsLayoutTokenNVX)*src->tokenCount);
17452 }
17453}
17454
17455safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const VkCmdProcessCommandsInfoNVX* in_struct) :
17456 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017457 objectTable(in_struct->objectTable),
17458 indirectCommandsLayout(in_struct->indirectCommandsLayout),
17459 indirectCommandsTokenCount(in_struct->indirectCommandsTokenCount),
17460 pIndirectCommandsTokens(nullptr),
17461 maxSequencesCount(in_struct->maxSequencesCount),
17462 targetCommandBuffer(in_struct->targetCommandBuffer),
17463 sequencesCountBuffer(in_struct->sequencesCountBuffer),
17464 sequencesCountOffset(in_struct->sequencesCountOffset),
17465 sequencesIndexBuffer(in_struct->sequencesIndexBuffer),
17466 sequencesIndexOffset(in_struct->sequencesIndexOffset)
17467{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017468 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017469 if (indirectCommandsTokenCount && in_struct->pIndirectCommandsTokens) {
17470 pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17471 for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) {
17472 pIndirectCommandsTokens[i] = in_struct->pIndirectCommandsTokens[i];
17473 }
17474 }
17475}
17476
17477safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070017478 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017479 pIndirectCommandsTokens(nullptr)
17480{}
17481
17482safe_VkCmdProcessCommandsInfoNVX::safe_VkCmdProcessCommandsInfoNVX(const safe_VkCmdProcessCommandsInfoNVX& src)
17483{
17484 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017485 objectTable = src.objectTable;
17486 indirectCommandsLayout = src.indirectCommandsLayout;
17487 indirectCommandsTokenCount = src.indirectCommandsTokenCount;
17488 pIndirectCommandsTokens = nullptr;
17489 maxSequencesCount = src.maxSequencesCount;
17490 targetCommandBuffer = src.targetCommandBuffer;
17491 sequencesCountBuffer = src.sequencesCountBuffer;
17492 sequencesCountOffset = src.sequencesCountOffset;
17493 sequencesIndexBuffer = src.sequencesIndexBuffer;
17494 sequencesIndexOffset = src.sequencesIndexOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017495 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017496 if (indirectCommandsTokenCount && src.pIndirectCommandsTokens) {
17497 pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17498 for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) {
17499 pIndirectCommandsTokens[i] = src.pIndirectCommandsTokens[i];
17500 }
17501 }
17502}
17503
17504safe_VkCmdProcessCommandsInfoNVX& safe_VkCmdProcessCommandsInfoNVX::operator=(const safe_VkCmdProcessCommandsInfoNVX& src)
17505{
17506 if (&src == this) return *this;
17507
17508 if (pIndirectCommandsTokens)
17509 delete[] pIndirectCommandsTokens;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017510 if (pNext)
17511 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017512
17513 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017514 objectTable = src.objectTable;
17515 indirectCommandsLayout = src.indirectCommandsLayout;
17516 indirectCommandsTokenCount = src.indirectCommandsTokenCount;
17517 pIndirectCommandsTokens = nullptr;
17518 maxSequencesCount = src.maxSequencesCount;
17519 targetCommandBuffer = src.targetCommandBuffer;
17520 sequencesCountBuffer = src.sequencesCountBuffer;
17521 sequencesCountOffset = src.sequencesCountOffset;
17522 sequencesIndexBuffer = src.sequencesIndexBuffer;
17523 sequencesIndexOffset = src.sequencesIndexOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017524 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017525 if (indirectCommandsTokenCount && src.pIndirectCommandsTokens) {
17526 pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17527 for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) {
17528 pIndirectCommandsTokens[i] = src.pIndirectCommandsTokens[i];
17529 }
17530 }
17531
17532 return *this;
17533}
17534
17535safe_VkCmdProcessCommandsInfoNVX::~safe_VkCmdProcessCommandsInfoNVX()
17536{
17537 if (pIndirectCommandsTokens)
17538 delete[] pIndirectCommandsTokens;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017539 if (pNext)
17540 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017541}
17542
17543void safe_VkCmdProcessCommandsInfoNVX::initialize(const VkCmdProcessCommandsInfoNVX* in_struct)
17544{
17545 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017546 objectTable = in_struct->objectTable;
17547 indirectCommandsLayout = in_struct->indirectCommandsLayout;
17548 indirectCommandsTokenCount = in_struct->indirectCommandsTokenCount;
17549 pIndirectCommandsTokens = nullptr;
17550 maxSequencesCount = in_struct->maxSequencesCount;
17551 targetCommandBuffer = in_struct->targetCommandBuffer;
17552 sequencesCountBuffer = in_struct->sequencesCountBuffer;
17553 sequencesCountOffset = in_struct->sequencesCountOffset;
17554 sequencesIndexBuffer = in_struct->sequencesIndexBuffer;
17555 sequencesIndexOffset = in_struct->sequencesIndexOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017556 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017557 if (indirectCommandsTokenCount && in_struct->pIndirectCommandsTokens) {
17558 pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17559 for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) {
17560 pIndirectCommandsTokens[i] = in_struct->pIndirectCommandsTokens[i];
17561 }
17562 }
17563}
17564
17565void safe_VkCmdProcessCommandsInfoNVX::initialize(const safe_VkCmdProcessCommandsInfoNVX* src)
17566{
17567 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017568 objectTable = src->objectTable;
17569 indirectCommandsLayout = src->indirectCommandsLayout;
17570 indirectCommandsTokenCount = src->indirectCommandsTokenCount;
17571 pIndirectCommandsTokens = nullptr;
17572 maxSequencesCount = src->maxSequencesCount;
17573 targetCommandBuffer = src->targetCommandBuffer;
17574 sequencesCountBuffer = src->sequencesCountBuffer;
17575 sequencesCountOffset = src->sequencesCountOffset;
17576 sequencesIndexBuffer = src->sequencesIndexBuffer;
17577 sequencesIndexOffset = src->sequencesIndexOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017578 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017579 if (indirectCommandsTokenCount && src->pIndirectCommandsTokens) {
17580 pIndirectCommandsTokens = new VkIndirectCommandsTokenNVX[indirectCommandsTokenCount];
17581 for (uint32_t i=0; i<indirectCommandsTokenCount; ++i) {
17582 pIndirectCommandsTokens[i] = src->pIndirectCommandsTokens[i];
17583 }
17584 }
17585}
17586
17587safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX(const VkCmdReserveSpaceForCommandsInfoNVX* in_struct) :
17588 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017589 objectTable(in_struct->objectTable),
17590 indirectCommandsLayout(in_struct->indirectCommandsLayout),
17591 maxSequencesCount(in_struct->maxSequencesCount)
17592{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017593 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017594}
17595
Jason Macnak8f28eec2019-08-09 12:57:01 -070017596safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX() :
17597 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017598{}
17599
17600safe_VkCmdReserveSpaceForCommandsInfoNVX::safe_VkCmdReserveSpaceForCommandsInfoNVX(const safe_VkCmdReserveSpaceForCommandsInfoNVX& src)
17601{
17602 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017603 objectTable = src.objectTable;
17604 indirectCommandsLayout = src.indirectCommandsLayout;
17605 maxSequencesCount = src.maxSequencesCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017606 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017607}
17608
17609safe_VkCmdReserveSpaceForCommandsInfoNVX& safe_VkCmdReserveSpaceForCommandsInfoNVX::operator=(const safe_VkCmdReserveSpaceForCommandsInfoNVX& src)
17610{
17611 if (&src == this) return *this;
17612
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017613 if (pNext)
17614 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017615
17616 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017617 objectTable = src.objectTable;
17618 indirectCommandsLayout = src.indirectCommandsLayout;
17619 maxSequencesCount = src.maxSequencesCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017620 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017621
17622 return *this;
17623}
17624
17625safe_VkCmdReserveSpaceForCommandsInfoNVX::~safe_VkCmdReserveSpaceForCommandsInfoNVX()
17626{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017627 if (pNext)
17628 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017629}
17630
17631void safe_VkCmdReserveSpaceForCommandsInfoNVX::initialize(const VkCmdReserveSpaceForCommandsInfoNVX* in_struct)
17632{
17633 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017634 objectTable = in_struct->objectTable;
17635 indirectCommandsLayout = in_struct->indirectCommandsLayout;
17636 maxSequencesCount = in_struct->maxSequencesCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017637 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017638}
17639
17640void safe_VkCmdReserveSpaceForCommandsInfoNVX::initialize(const safe_VkCmdReserveSpaceForCommandsInfoNVX* src)
17641{
17642 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017643 objectTable = src->objectTable;
17644 indirectCommandsLayout = src->indirectCommandsLayout;
17645 maxSequencesCount = src->maxSequencesCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017646 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017647}
17648
17649safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const VkObjectTableCreateInfoNVX* in_struct) :
17650 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017651 objectCount(in_struct->objectCount),
17652 pObjectEntryTypes(nullptr),
17653 pObjectEntryCounts(nullptr),
17654 pObjectEntryUsageFlags(nullptr),
17655 maxUniformBuffersPerDescriptor(in_struct->maxUniformBuffersPerDescriptor),
17656 maxStorageBuffersPerDescriptor(in_struct->maxStorageBuffersPerDescriptor),
17657 maxStorageImagesPerDescriptor(in_struct->maxStorageImagesPerDescriptor),
17658 maxSampledImagesPerDescriptor(in_struct->maxSampledImagesPerDescriptor),
17659 maxPipelineLayouts(in_struct->maxPipelineLayouts)
17660{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017661 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017662 if (in_struct->pObjectEntryTypes) {
17663 pObjectEntryTypes = new VkObjectEntryTypeNVX[in_struct->objectCount];
17664 memcpy ((void *)pObjectEntryTypes, (void *)in_struct->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*in_struct->objectCount);
17665 }
17666 if (in_struct->pObjectEntryCounts) {
17667 pObjectEntryCounts = new uint32_t[in_struct->objectCount];
17668 memcpy ((void *)pObjectEntryCounts, (void *)in_struct->pObjectEntryCounts, sizeof(uint32_t)*in_struct->objectCount);
17669 }
17670 if (in_struct->pObjectEntryUsageFlags) {
17671 pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[in_struct->objectCount];
17672 memcpy ((void *)pObjectEntryUsageFlags, (void *)in_struct->pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*in_struct->objectCount);
17673 }
17674}
17675
17676safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070017677 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017678 pObjectEntryTypes(nullptr),
17679 pObjectEntryCounts(nullptr),
17680 pObjectEntryUsageFlags(nullptr)
17681{}
17682
17683safe_VkObjectTableCreateInfoNVX::safe_VkObjectTableCreateInfoNVX(const safe_VkObjectTableCreateInfoNVX& src)
17684{
17685 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017686 objectCount = src.objectCount;
17687 pObjectEntryTypes = nullptr;
17688 pObjectEntryCounts = nullptr;
17689 pObjectEntryUsageFlags = nullptr;
17690 maxUniformBuffersPerDescriptor = src.maxUniformBuffersPerDescriptor;
17691 maxStorageBuffersPerDescriptor = src.maxStorageBuffersPerDescriptor;
17692 maxStorageImagesPerDescriptor = src.maxStorageImagesPerDescriptor;
17693 maxSampledImagesPerDescriptor = src.maxSampledImagesPerDescriptor;
17694 maxPipelineLayouts = src.maxPipelineLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017695 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017696 if (src.pObjectEntryTypes) {
17697 pObjectEntryTypes = new VkObjectEntryTypeNVX[src.objectCount];
17698 memcpy ((void *)pObjectEntryTypes, (void *)src.pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src.objectCount);
17699 }
17700 if (src.pObjectEntryCounts) {
17701 pObjectEntryCounts = new uint32_t[src.objectCount];
17702 memcpy ((void *)pObjectEntryCounts, (void *)src.pObjectEntryCounts, sizeof(uint32_t)*src.objectCount);
17703 }
17704 if (src.pObjectEntryUsageFlags) {
17705 pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[src.objectCount];
17706 memcpy ((void *)pObjectEntryUsageFlags, (void *)src.pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*src.objectCount);
17707 }
17708}
17709
17710safe_VkObjectTableCreateInfoNVX& safe_VkObjectTableCreateInfoNVX::operator=(const safe_VkObjectTableCreateInfoNVX& src)
17711{
17712 if (&src == this) return *this;
17713
17714 if (pObjectEntryTypes)
17715 delete[] pObjectEntryTypes;
17716 if (pObjectEntryCounts)
17717 delete[] pObjectEntryCounts;
17718 if (pObjectEntryUsageFlags)
17719 delete[] pObjectEntryUsageFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017720 if (pNext)
17721 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017722
17723 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017724 objectCount = src.objectCount;
17725 pObjectEntryTypes = nullptr;
17726 pObjectEntryCounts = nullptr;
17727 pObjectEntryUsageFlags = nullptr;
17728 maxUniformBuffersPerDescriptor = src.maxUniformBuffersPerDescriptor;
17729 maxStorageBuffersPerDescriptor = src.maxStorageBuffersPerDescriptor;
17730 maxStorageImagesPerDescriptor = src.maxStorageImagesPerDescriptor;
17731 maxSampledImagesPerDescriptor = src.maxSampledImagesPerDescriptor;
17732 maxPipelineLayouts = src.maxPipelineLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017733 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017734 if (src.pObjectEntryTypes) {
17735 pObjectEntryTypes = new VkObjectEntryTypeNVX[src.objectCount];
17736 memcpy ((void *)pObjectEntryTypes, (void *)src.pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src.objectCount);
17737 }
17738 if (src.pObjectEntryCounts) {
17739 pObjectEntryCounts = new uint32_t[src.objectCount];
17740 memcpy ((void *)pObjectEntryCounts, (void *)src.pObjectEntryCounts, sizeof(uint32_t)*src.objectCount);
17741 }
17742 if (src.pObjectEntryUsageFlags) {
17743 pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[src.objectCount];
17744 memcpy ((void *)pObjectEntryUsageFlags, (void *)src.pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*src.objectCount);
17745 }
17746
17747 return *this;
17748}
17749
17750safe_VkObjectTableCreateInfoNVX::~safe_VkObjectTableCreateInfoNVX()
17751{
17752 if (pObjectEntryTypes)
17753 delete[] pObjectEntryTypes;
17754 if (pObjectEntryCounts)
17755 delete[] pObjectEntryCounts;
17756 if (pObjectEntryUsageFlags)
17757 delete[] pObjectEntryUsageFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017758 if (pNext)
17759 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017760}
17761
17762void safe_VkObjectTableCreateInfoNVX::initialize(const VkObjectTableCreateInfoNVX* in_struct)
17763{
17764 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017765 objectCount = in_struct->objectCount;
17766 pObjectEntryTypes = nullptr;
17767 pObjectEntryCounts = nullptr;
17768 pObjectEntryUsageFlags = nullptr;
17769 maxUniformBuffersPerDescriptor = in_struct->maxUniformBuffersPerDescriptor;
17770 maxStorageBuffersPerDescriptor = in_struct->maxStorageBuffersPerDescriptor;
17771 maxStorageImagesPerDescriptor = in_struct->maxStorageImagesPerDescriptor;
17772 maxSampledImagesPerDescriptor = in_struct->maxSampledImagesPerDescriptor;
17773 maxPipelineLayouts = in_struct->maxPipelineLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017774 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017775 if (in_struct->pObjectEntryTypes) {
17776 pObjectEntryTypes = new VkObjectEntryTypeNVX[in_struct->objectCount];
17777 memcpy ((void *)pObjectEntryTypes, (void *)in_struct->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*in_struct->objectCount);
17778 }
17779 if (in_struct->pObjectEntryCounts) {
17780 pObjectEntryCounts = new uint32_t[in_struct->objectCount];
17781 memcpy ((void *)pObjectEntryCounts, (void *)in_struct->pObjectEntryCounts, sizeof(uint32_t)*in_struct->objectCount);
17782 }
17783 if (in_struct->pObjectEntryUsageFlags) {
17784 pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[in_struct->objectCount];
17785 memcpy ((void *)pObjectEntryUsageFlags, (void *)in_struct->pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*in_struct->objectCount);
17786 }
17787}
17788
17789void safe_VkObjectTableCreateInfoNVX::initialize(const safe_VkObjectTableCreateInfoNVX* src)
17790{
17791 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017792 objectCount = src->objectCount;
17793 pObjectEntryTypes = nullptr;
17794 pObjectEntryCounts = nullptr;
17795 pObjectEntryUsageFlags = nullptr;
17796 maxUniformBuffersPerDescriptor = src->maxUniformBuffersPerDescriptor;
17797 maxStorageBuffersPerDescriptor = src->maxStorageBuffersPerDescriptor;
17798 maxStorageImagesPerDescriptor = src->maxStorageImagesPerDescriptor;
17799 maxSampledImagesPerDescriptor = src->maxSampledImagesPerDescriptor;
17800 maxPipelineLayouts = src->maxPipelineLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017801 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017802 if (src->pObjectEntryTypes) {
17803 pObjectEntryTypes = new VkObjectEntryTypeNVX[src->objectCount];
17804 memcpy ((void *)pObjectEntryTypes, (void *)src->pObjectEntryTypes, sizeof(VkObjectEntryTypeNVX)*src->objectCount);
17805 }
17806 if (src->pObjectEntryCounts) {
17807 pObjectEntryCounts = new uint32_t[src->objectCount];
17808 memcpy ((void *)pObjectEntryCounts, (void *)src->pObjectEntryCounts, sizeof(uint32_t)*src->objectCount);
17809 }
17810 if (src->pObjectEntryUsageFlags) {
17811 pObjectEntryUsageFlags = new VkObjectEntryUsageFlagsNVX[src->objectCount];
17812 memcpy ((void *)pObjectEntryUsageFlags, (void *)src->pObjectEntryUsageFlags, sizeof(VkObjectEntryUsageFlagsNVX)*src->objectCount);
17813 }
17814}
17815
17816safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV(const VkPipelineViewportWScalingStateCreateInfoNV* in_struct) :
17817 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017818 viewportWScalingEnable(in_struct->viewportWScalingEnable),
17819 viewportCount(in_struct->viewportCount),
17820 pViewportWScalings(nullptr)
17821{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017822 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017823 if (in_struct->pViewportWScalings) {
17824 pViewportWScalings = new VkViewportWScalingNV[in_struct->viewportCount];
17825 memcpy ((void *)pViewportWScalings, (void *)in_struct->pViewportWScalings, sizeof(VkViewportWScalingNV)*in_struct->viewportCount);
17826 }
17827}
17828
17829safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070017830 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017831 pViewportWScalings(nullptr)
17832{}
17833
17834safe_VkPipelineViewportWScalingStateCreateInfoNV::safe_VkPipelineViewportWScalingStateCreateInfoNV(const safe_VkPipelineViewportWScalingStateCreateInfoNV& src)
17835{
17836 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017837 viewportWScalingEnable = src.viewportWScalingEnable;
17838 viewportCount = src.viewportCount;
17839 pViewportWScalings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017840 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017841 if (src.pViewportWScalings) {
17842 pViewportWScalings = new VkViewportWScalingNV[src.viewportCount];
17843 memcpy ((void *)pViewportWScalings, (void *)src.pViewportWScalings, sizeof(VkViewportWScalingNV)*src.viewportCount);
17844 }
17845}
17846
17847safe_VkPipelineViewportWScalingStateCreateInfoNV& safe_VkPipelineViewportWScalingStateCreateInfoNV::operator=(const safe_VkPipelineViewportWScalingStateCreateInfoNV& src)
17848{
17849 if (&src == this) return *this;
17850
17851 if (pViewportWScalings)
17852 delete[] pViewportWScalings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017853 if (pNext)
17854 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017855
17856 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017857 viewportWScalingEnable = src.viewportWScalingEnable;
17858 viewportCount = src.viewportCount;
17859 pViewportWScalings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017860 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017861 if (src.pViewportWScalings) {
17862 pViewportWScalings = new VkViewportWScalingNV[src.viewportCount];
17863 memcpy ((void *)pViewportWScalings, (void *)src.pViewportWScalings, sizeof(VkViewportWScalingNV)*src.viewportCount);
17864 }
17865
17866 return *this;
17867}
17868
17869safe_VkPipelineViewportWScalingStateCreateInfoNV::~safe_VkPipelineViewportWScalingStateCreateInfoNV()
17870{
17871 if (pViewportWScalings)
17872 delete[] pViewportWScalings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017873 if (pNext)
17874 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017875}
17876
17877void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const VkPipelineViewportWScalingStateCreateInfoNV* in_struct)
17878{
17879 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017880 viewportWScalingEnable = in_struct->viewportWScalingEnable;
17881 viewportCount = in_struct->viewportCount;
17882 pViewportWScalings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017883 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017884 if (in_struct->pViewportWScalings) {
17885 pViewportWScalings = new VkViewportWScalingNV[in_struct->viewportCount];
17886 memcpy ((void *)pViewportWScalings, (void *)in_struct->pViewportWScalings, sizeof(VkViewportWScalingNV)*in_struct->viewportCount);
17887 }
17888}
17889
17890void safe_VkPipelineViewportWScalingStateCreateInfoNV::initialize(const safe_VkPipelineViewportWScalingStateCreateInfoNV* src)
17891{
17892 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017893 viewportWScalingEnable = src->viewportWScalingEnable;
17894 viewportCount = src->viewportCount;
17895 pViewportWScalings = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017896 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017897 if (src->pViewportWScalings) {
17898 pViewportWScalings = new VkViewportWScalingNV[src->viewportCount];
17899 memcpy ((void *)pViewportWScalings, (void *)src->pViewportWScalings, sizeof(VkViewportWScalingNV)*src->viewportCount);
17900 }
17901}
17902
17903safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const VkSurfaceCapabilities2EXT* in_struct) :
17904 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070017905 minImageCount(in_struct->minImageCount),
17906 maxImageCount(in_struct->maxImageCount),
17907 currentExtent(in_struct->currentExtent),
17908 minImageExtent(in_struct->minImageExtent),
17909 maxImageExtent(in_struct->maxImageExtent),
17910 maxImageArrayLayers(in_struct->maxImageArrayLayers),
17911 supportedTransforms(in_struct->supportedTransforms),
17912 currentTransform(in_struct->currentTransform),
17913 supportedCompositeAlpha(in_struct->supportedCompositeAlpha),
17914 supportedUsageFlags(in_struct->supportedUsageFlags),
17915 supportedSurfaceCounters(in_struct->supportedSurfaceCounters)
17916{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017917 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017918}
17919
Jason Macnak8f28eec2019-08-09 12:57:01 -070017920safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT() :
17921 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070017922{}
17923
17924safe_VkSurfaceCapabilities2EXT::safe_VkSurfaceCapabilities2EXT(const safe_VkSurfaceCapabilities2EXT& src)
17925{
17926 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017927 minImageCount = src.minImageCount;
17928 maxImageCount = src.maxImageCount;
17929 currentExtent = src.currentExtent;
17930 minImageExtent = src.minImageExtent;
17931 maxImageExtent = src.maxImageExtent;
17932 maxImageArrayLayers = src.maxImageArrayLayers;
17933 supportedTransforms = src.supportedTransforms;
17934 currentTransform = src.currentTransform;
17935 supportedCompositeAlpha = src.supportedCompositeAlpha;
17936 supportedUsageFlags = src.supportedUsageFlags;
17937 supportedSurfaceCounters = src.supportedSurfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017938 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017939}
17940
17941safe_VkSurfaceCapabilities2EXT& safe_VkSurfaceCapabilities2EXT::operator=(const safe_VkSurfaceCapabilities2EXT& src)
17942{
17943 if (&src == this) return *this;
17944
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017945 if (pNext)
17946 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017947
17948 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017949 minImageCount = src.minImageCount;
17950 maxImageCount = src.maxImageCount;
17951 currentExtent = src.currentExtent;
17952 minImageExtent = src.minImageExtent;
17953 maxImageExtent = src.maxImageExtent;
17954 maxImageArrayLayers = src.maxImageArrayLayers;
17955 supportedTransforms = src.supportedTransforms;
17956 currentTransform = src.currentTransform;
17957 supportedCompositeAlpha = src.supportedCompositeAlpha;
17958 supportedUsageFlags = src.supportedUsageFlags;
17959 supportedSurfaceCounters = src.supportedSurfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017960 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017961
17962 return *this;
17963}
17964
17965safe_VkSurfaceCapabilities2EXT::~safe_VkSurfaceCapabilities2EXT()
17966{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017967 if (pNext)
17968 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017969}
17970
17971void safe_VkSurfaceCapabilities2EXT::initialize(const VkSurfaceCapabilities2EXT* in_struct)
17972{
17973 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017974 minImageCount = in_struct->minImageCount;
17975 maxImageCount = in_struct->maxImageCount;
17976 currentExtent = in_struct->currentExtent;
17977 minImageExtent = in_struct->minImageExtent;
17978 maxImageExtent = in_struct->maxImageExtent;
17979 maxImageArrayLayers = in_struct->maxImageArrayLayers;
17980 supportedTransforms = in_struct->supportedTransforms;
17981 currentTransform = in_struct->currentTransform;
17982 supportedCompositeAlpha = in_struct->supportedCompositeAlpha;
17983 supportedUsageFlags = in_struct->supportedUsageFlags;
17984 supportedSurfaceCounters = in_struct->supportedSurfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060017985 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070017986}
17987
17988void safe_VkSurfaceCapabilities2EXT::initialize(const safe_VkSurfaceCapabilities2EXT* src)
17989{
17990 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070017991 minImageCount = src->minImageCount;
17992 maxImageCount = src->maxImageCount;
17993 currentExtent = src->currentExtent;
17994 minImageExtent = src->minImageExtent;
17995 maxImageExtent = src->maxImageExtent;
17996 maxImageArrayLayers = src->maxImageArrayLayers;
17997 supportedTransforms = src->supportedTransforms;
17998 currentTransform = src->currentTransform;
17999 supportedCompositeAlpha = src->supportedCompositeAlpha;
18000 supportedUsageFlags = src->supportedUsageFlags;
18001 supportedSurfaceCounters = src->supportedSurfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018002 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018003}
18004
18005safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT(const VkDisplayPowerInfoEXT* in_struct) :
18006 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018007 powerState(in_struct->powerState)
18008{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018009 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018010}
18011
Jason Macnak8f28eec2019-08-09 12:57:01 -070018012safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT() :
18013 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018014{}
18015
18016safe_VkDisplayPowerInfoEXT::safe_VkDisplayPowerInfoEXT(const safe_VkDisplayPowerInfoEXT& src)
18017{
18018 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018019 powerState = src.powerState;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018020 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018021}
18022
18023safe_VkDisplayPowerInfoEXT& safe_VkDisplayPowerInfoEXT::operator=(const safe_VkDisplayPowerInfoEXT& src)
18024{
18025 if (&src == this) return *this;
18026
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018027 if (pNext)
18028 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018029
18030 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018031 powerState = src.powerState;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018032 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018033
18034 return *this;
18035}
18036
18037safe_VkDisplayPowerInfoEXT::~safe_VkDisplayPowerInfoEXT()
18038{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018039 if (pNext)
18040 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018041}
18042
18043void safe_VkDisplayPowerInfoEXT::initialize(const VkDisplayPowerInfoEXT* in_struct)
18044{
18045 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018046 powerState = in_struct->powerState;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018047 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018048}
18049
18050void safe_VkDisplayPowerInfoEXT::initialize(const safe_VkDisplayPowerInfoEXT* src)
18051{
18052 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018053 powerState = src->powerState;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018054 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018055}
18056
18057safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT(const VkDeviceEventInfoEXT* in_struct) :
18058 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018059 deviceEvent(in_struct->deviceEvent)
18060{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018061 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018062}
18063
Jason Macnak8f28eec2019-08-09 12:57:01 -070018064safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT() :
18065 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018066{}
18067
18068safe_VkDeviceEventInfoEXT::safe_VkDeviceEventInfoEXT(const safe_VkDeviceEventInfoEXT& src)
18069{
18070 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018071 deviceEvent = src.deviceEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018072 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018073}
18074
18075safe_VkDeviceEventInfoEXT& safe_VkDeviceEventInfoEXT::operator=(const safe_VkDeviceEventInfoEXT& src)
18076{
18077 if (&src == this) return *this;
18078
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018079 if (pNext)
18080 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018081
18082 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018083 deviceEvent = src.deviceEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018084 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018085
18086 return *this;
18087}
18088
18089safe_VkDeviceEventInfoEXT::~safe_VkDeviceEventInfoEXT()
18090{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018091 if (pNext)
18092 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018093}
18094
18095void safe_VkDeviceEventInfoEXT::initialize(const VkDeviceEventInfoEXT* in_struct)
18096{
18097 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018098 deviceEvent = in_struct->deviceEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018099 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018100}
18101
18102void safe_VkDeviceEventInfoEXT::initialize(const safe_VkDeviceEventInfoEXT* src)
18103{
18104 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018105 deviceEvent = src->deviceEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018106 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018107}
18108
18109safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT(const VkDisplayEventInfoEXT* in_struct) :
18110 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018111 displayEvent(in_struct->displayEvent)
18112{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018113 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018114}
18115
Jason Macnak8f28eec2019-08-09 12:57:01 -070018116safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT() :
18117 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018118{}
18119
18120safe_VkDisplayEventInfoEXT::safe_VkDisplayEventInfoEXT(const safe_VkDisplayEventInfoEXT& src)
18121{
18122 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018123 displayEvent = src.displayEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018124 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018125}
18126
18127safe_VkDisplayEventInfoEXT& safe_VkDisplayEventInfoEXT::operator=(const safe_VkDisplayEventInfoEXT& src)
18128{
18129 if (&src == this) return *this;
18130
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018131 if (pNext)
18132 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018133
18134 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018135 displayEvent = src.displayEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018136 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018137
18138 return *this;
18139}
18140
18141safe_VkDisplayEventInfoEXT::~safe_VkDisplayEventInfoEXT()
18142{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018143 if (pNext)
18144 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018145}
18146
18147void safe_VkDisplayEventInfoEXT::initialize(const VkDisplayEventInfoEXT* in_struct)
18148{
18149 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018150 displayEvent = in_struct->displayEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018151 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018152}
18153
18154void safe_VkDisplayEventInfoEXT::initialize(const safe_VkDisplayEventInfoEXT* src)
18155{
18156 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018157 displayEvent = src->displayEvent;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018158 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018159}
18160
18161safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT(const VkSwapchainCounterCreateInfoEXT* in_struct) :
18162 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018163 surfaceCounters(in_struct->surfaceCounters)
18164{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018165 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018166}
18167
Jason Macnak8f28eec2019-08-09 12:57:01 -070018168safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT() :
18169 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018170{}
18171
18172safe_VkSwapchainCounterCreateInfoEXT::safe_VkSwapchainCounterCreateInfoEXT(const safe_VkSwapchainCounterCreateInfoEXT& src)
18173{
18174 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018175 surfaceCounters = src.surfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018176 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018177}
18178
18179safe_VkSwapchainCounterCreateInfoEXT& safe_VkSwapchainCounterCreateInfoEXT::operator=(const safe_VkSwapchainCounterCreateInfoEXT& src)
18180{
18181 if (&src == this) return *this;
18182
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018183 if (pNext)
18184 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018185
18186 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018187 surfaceCounters = src.surfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018188 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018189
18190 return *this;
18191}
18192
18193safe_VkSwapchainCounterCreateInfoEXT::~safe_VkSwapchainCounterCreateInfoEXT()
18194{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018195 if (pNext)
18196 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018197}
18198
18199void safe_VkSwapchainCounterCreateInfoEXT::initialize(const VkSwapchainCounterCreateInfoEXT* in_struct)
18200{
18201 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018202 surfaceCounters = in_struct->surfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018203 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018204}
18205
18206void safe_VkSwapchainCounterCreateInfoEXT::initialize(const safe_VkSwapchainCounterCreateInfoEXT* src)
18207{
18208 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018209 surfaceCounters = src->surfaceCounters;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018210 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018211}
18212
18213safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const VkPresentTimesInfoGOOGLE* in_struct) :
18214 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018215 swapchainCount(in_struct->swapchainCount),
18216 pTimes(nullptr)
18217{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018218 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018219 if (in_struct->pTimes) {
18220 pTimes = new VkPresentTimeGOOGLE[in_struct->swapchainCount];
18221 memcpy ((void *)pTimes, (void *)in_struct->pTimes, sizeof(VkPresentTimeGOOGLE)*in_struct->swapchainCount);
18222 }
18223}
18224
18225safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070018226 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018227 pTimes(nullptr)
18228{}
18229
18230safe_VkPresentTimesInfoGOOGLE::safe_VkPresentTimesInfoGOOGLE(const safe_VkPresentTimesInfoGOOGLE& src)
18231{
18232 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018233 swapchainCount = src.swapchainCount;
18234 pTimes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018235 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018236 if (src.pTimes) {
18237 pTimes = new VkPresentTimeGOOGLE[src.swapchainCount];
18238 memcpy ((void *)pTimes, (void *)src.pTimes, sizeof(VkPresentTimeGOOGLE)*src.swapchainCount);
18239 }
18240}
18241
18242safe_VkPresentTimesInfoGOOGLE& safe_VkPresentTimesInfoGOOGLE::operator=(const safe_VkPresentTimesInfoGOOGLE& src)
18243{
18244 if (&src == this) return *this;
18245
18246 if (pTimes)
18247 delete[] pTimes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018248 if (pNext)
18249 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018250
18251 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018252 swapchainCount = src.swapchainCount;
18253 pTimes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018254 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018255 if (src.pTimes) {
18256 pTimes = new VkPresentTimeGOOGLE[src.swapchainCount];
18257 memcpy ((void *)pTimes, (void *)src.pTimes, sizeof(VkPresentTimeGOOGLE)*src.swapchainCount);
18258 }
18259
18260 return *this;
18261}
18262
18263safe_VkPresentTimesInfoGOOGLE::~safe_VkPresentTimesInfoGOOGLE()
18264{
18265 if (pTimes)
18266 delete[] pTimes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018267 if (pNext)
18268 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018269}
18270
18271void safe_VkPresentTimesInfoGOOGLE::initialize(const VkPresentTimesInfoGOOGLE* in_struct)
18272{
18273 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018274 swapchainCount = in_struct->swapchainCount;
18275 pTimes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018276 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018277 if (in_struct->pTimes) {
18278 pTimes = new VkPresentTimeGOOGLE[in_struct->swapchainCount];
18279 memcpy ((void *)pTimes, (void *)in_struct->pTimes, sizeof(VkPresentTimeGOOGLE)*in_struct->swapchainCount);
18280 }
18281}
18282
18283void safe_VkPresentTimesInfoGOOGLE::initialize(const safe_VkPresentTimesInfoGOOGLE* src)
18284{
18285 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018286 swapchainCount = src->swapchainCount;
18287 pTimes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018288 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018289 if (src->pTimes) {
18290 pTimes = new VkPresentTimeGOOGLE[src->swapchainCount];
18291 memcpy ((void *)pTimes, (void *)src->pTimes, sizeof(VkPresentTimeGOOGLE)*src->swapchainCount);
18292 }
18293}
18294
18295safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* in_struct) :
18296 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018297 perViewPositionAllComponents(in_struct->perViewPositionAllComponents)
18298{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018299 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018300}
18301
Jason Macnak8f28eec2019-08-09 12:57:01 -070018302safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX() :
18303 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018304{}
18305
18306safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& src)
18307{
18308 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018309 perViewPositionAllComponents = src.perViewPositionAllComponents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018310 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018311}
18312
18313safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::operator=(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& src)
18314{
18315 if (&src == this) return *this;
18316
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018317 if (pNext)
18318 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018319
18320 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018321 perViewPositionAllComponents = src.perViewPositionAllComponents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018322 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018323
18324 return *this;
18325}
18326
18327safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::~safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX()
18328{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018329 if (pNext)
18330 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018331}
18332
18333void safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::initialize(const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* in_struct)
18334{
18335 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018336 perViewPositionAllComponents = in_struct->perViewPositionAllComponents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018337 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018338}
18339
18340void safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX::initialize(const safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* src)
18341{
18342 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018343 perViewPositionAllComponents = src->perViewPositionAllComponents;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018344 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018345}
18346
18347safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV(const VkPipelineViewportSwizzleStateCreateInfoNV* in_struct) :
18348 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018349 flags(in_struct->flags),
18350 viewportCount(in_struct->viewportCount),
18351 pViewportSwizzles(nullptr)
18352{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018353 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018354 if (in_struct->pViewportSwizzles) {
18355 pViewportSwizzles = new VkViewportSwizzleNV[in_struct->viewportCount];
18356 memcpy ((void *)pViewportSwizzles, (void *)in_struct->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*in_struct->viewportCount);
18357 }
18358}
18359
18360safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070018361 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018362 pViewportSwizzles(nullptr)
18363{}
18364
18365safe_VkPipelineViewportSwizzleStateCreateInfoNV::safe_VkPipelineViewportSwizzleStateCreateInfoNV(const safe_VkPipelineViewportSwizzleStateCreateInfoNV& src)
18366{
18367 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018368 flags = src.flags;
18369 viewportCount = src.viewportCount;
18370 pViewportSwizzles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018371 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018372 if (src.pViewportSwizzles) {
18373 pViewportSwizzles = new VkViewportSwizzleNV[src.viewportCount];
18374 memcpy ((void *)pViewportSwizzles, (void *)src.pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src.viewportCount);
18375 }
18376}
18377
18378safe_VkPipelineViewportSwizzleStateCreateInfoNV& safe_VkPipelineViewportSwizzleStateCreateInfoNV::operator=(const safe_VkPipelineViewportSwizzleStateCreateInfoNV& src)
18379{
18380 if (&src == this) return *this;
18381
18382 if (pViewportSwizzles)
18383 delete[] pViewportSwizzles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018384 if (pNext)
18385 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018386
18387 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018388 flags = src.flags;
18389 viewportCount = src.viewportCount;
18390 pViewportSwizzles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018391 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018392 if (src.pViewportSwizzles) {
18393 pViewportSwizzles = new VkViewportSwizzleNV[src.viewportCount];
18394 memcpy ((void *)pViewportSwizzles, (void *)src.pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src.viewportCount);
18395 }
18396
18397 return *this;
18398}
18399
18400safe_VkPipelineViewportSwizzleStateCreateInfoNV::~safe_VkPipelineViewportSwizzleStateCreateInfoNV()
18401{
18402 if (pViewportSwizzles)
18403 delete[] pViewportSwizzles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018404 if (pNext)
18405 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018406}
18407
18408void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const VkPipelineViewportSwizzleStateCreateInfoNV* in_struct)
18409{
18410 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018411 flags = in_struct->flags;
18412 viewportCount = in_struct->viewportCount;
18413 pViewportSwizzles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018414 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018415 if (in_struct->pViewportSwizzles) {
18416 pViewportSwizzles = new VkViewportSwizzleNV[in_struct->viewportCount];
18417 memcpy ((void *)pViewportSwizzles, (void *)in_struct->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*in_struct->viewportCount);
18418 }
18419}
18420
18421void safe_VkPipelineViewportSwizzleStateCreateInfoNV::initialize(const safe_VkPipelineViewportSwizzleStateCreateInfoNV* src)
18422{
18423 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018424 flags = src->flags;
18425 viewportCount = src->viewportCount;
18426 pViewportSwizzles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018427 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018428 if (src->pViewportSwizzles) {
18429 pViewportSwizzles = new VkViewportSwizzleNV[src->viewportCount];
18430 memcpy ((void *)pViewportSwizzles, (void *)src->pViewportSwizzles, sizeof(VkViewportSwizzleNV)*src->viewportCount);
18431 }
18432}
18433
18434safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const VkPhysicalDeviceDiscardRectanglePropertiesEXT* in_struct) :
18435 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018436 maxDiscardRectangles(in_struct->maxDiscardRectangles)
18437{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018438 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018439}
18440
Jason Macnak8f28eec2019-08-09 12:57:01 -070018441safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT() :
18442 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018443{}
18444
18445safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& src)
18446{
18447 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018448 maxDiscardRectangles = src.maxDiscardRectangles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018449 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018450}
18451
18452safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::operator=(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT& src)
18453{
18454 if (&src == this) return *this;
18455
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018456 if (pNext)
18457 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018458
18459 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018460 maxDiscardRectangles = src.maxDiscardRectangles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018461 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018462
18463 return *this;
18464}
18465
18466safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::~safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT()
18467{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018468 if (pNext)
18469 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018470}
18471
18472void safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::initialize(const VkPhysicalDeviceDiscardRectanglePropertiesEXT* in_struct)
18473{
18474 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018475 maxDiscardRectangles = in_struct->maxDiscardRectangles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018476 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018477}
18478
18479void safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT::initialize(const safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT* src)
18480{
18481 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018482 maxDiscardRectangles = src->maxDiscardRectangles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018483 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018484}
18485
18486safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const VkPipelineDiscardRectangleStateCreateInfoEXT* in_struct) :
18487 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018488 flags(in_struct->flags),
18489 discardRectangleMode(in_struct->discardRectangleMode),
18490 discardRectangleCount(in_struct->discardRectangleCount),
18491 pDiscardRectangles(nullptr)
18492{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018493 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018494 if (in_struct->pDiscardRectangles) {
18495 pDiscardRectangles = new VkRect2D[in_struct->discardRectangleCount];
18496 memcpy ((void *)pDiscardRectangles, (void *)in_struct->pDiscardRectangles, sizeof(VkRect2D)*in_struct->discardRectangleCount);
18497 }
18498}
18499
18500safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070018501 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018502 pDiscardRectangles(nullptr)
18503{}
18504
18505safe_VkPipelineDiscardRectangleStateCreateInfoEXT::safe_VkPipelineDiscardRectangleStateCreateInfoEXT(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT& src)
18506{
18507 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018508 flags = src.flags;
18509 discardRectangleMode = src.discardRectangleMode;
18510 discardRectangleCount = src.discardRectangleCount;
18511 pDiscardRectangles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018512 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018513 if (src.pDiscardRectangles) {
18514 pDiscardRectangles = new VkRect2D[src.discardRectangleCount];
18515 memcpy ((void *)pDiscardRectangles, (void *)src.pDiscardRectangles, sizeof(VkRect2D)*src.discardRectangleCount);
18516 }
18517}
18518
18519safe_VkPipelineDiscardRectangleStateCreateInfoEXT& safe_VkPipelineDiscardRectangleStateCreateInfoEXT::operator=(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT& src)
18520{
18521 if (&src == this) return *this;
18522
18523 if (pDiscardRectangles)
18524 delete[] pDiscardRectangles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018525 if (pNext)
18526 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018527
18528 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018529 flags = src.flags;
18530 discardRectangleMode = src.discardRectangleMode;
18531 discardRectangleCount = src.discardRectangleCount;
18532 pDiscardRectangles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018533 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018534 if (src.pDiscardRectangles) {
18535 pDiscardRectangles = new VkRect2D[src.discardRectangleCount];
18536 memcpy ((void *)pDiscardRectangles, (void *)src.pDiscardRectangles, sizeof(VkRect2D)*src.discardRectangleCount);
18537 }
18538
18539 return *this;
18540}
18541
18542safe_VkPipelineDiscardRectangleStateCreateInfoEXT::~safe_VkPipelineDiscardRectangleStateCreateInfoEXT()
18543{
18544 if (pDiscardRectangles)
18545 delete[] pDiscardRectangles;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018546 if (pNext)
18547 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018548}
18549
18550void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const VkPipelineDiscardRectangleStateCreateInfoEXT* in_struct)
18551{
18552 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018553 flags = in_struct->flags;
18554 discardRectangleMode = in_struct->discardRectangleMode;
18555 discardRectangleCount = in_struct->discardRectangleCount;
18556 pDiscardRectangles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018557 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018558 if (in_struct->pDiscardRectangles) {
18559 pDiscardRectangles = new VkRect2D[in_struct->discardRectangleCount];
18560 memcpy ((void *)pDiscardRectangles, (void *)in_struct->pDiscardRectangles, sizeof(VkRect2D)*in_struct->discardRectangleCount);
18561 }
18562}
18563
18564void safe_VkPipelineDiscardRectangleStateCreateInfoEXT::initialize(const safe_VkPipelineDiscardRectangleStateCreateInfoEXT* src)
18565{
18566 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018567 flags = src->flags;
18568 discardRectangleMode = src->discardRectangleMode;
18569 discardRectangleCount = src->discardRectangleCount;
18570 pDiscardRectangles = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018571 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018572 if (src->pDiscardRectangles) {
18573 pDiscardRectangles = new VkRect2D[src->discardRectangleCount];
18574 memcpy ((void *)pDiscardRectangles, (void *)src->pDiscardRectangles, sizeof(VkRect2D)*src->discardRectangleCount);
18575 }
18576}
18577
18578safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* in_struct) :
18579 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018580 primitiveOverestimationSize(in_struct->primitiveOverestimationSize),
18581 maxExtraPrimitiveOverestimationSize(in_struct->maxExtraPrimitiveOverestimationSize),
18582 extraPrimitiveOverestimationSizeGranularity(in_struct->extraPrimitiveOverestimationSizeGranularity),
18583 primitiveUnderestimation(in_struct->primitiveUnderestimation),
18584 conservativePointAndLineRasterization(in_struct->conservativePointAndLineRasterization),
18585 degenerateTrianglesRasterized(in_struct->degenerateTrianglesRasterized),
18586 degenerateLinesRasterized(in_struct->degenerateLinesRasterized),
18587 fullyCoveredFragmentShaderInputVariable(in_struct->fullyCoveredFragmentShaderInputVariable),
18588 conservativeRasterizationPostDepthCoverage(in_struct->conservativeRasterizationPostDepthCoverage)
18589{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018590 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018591}
18592
Jason Macnak8f28eec2019-08-09 12:57:01 -070018593safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT() :
18594 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018595{}
18596
18597safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& src)
18598{
18599 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018600 primitiveOverestimationSize = src.primitiveOverestimationSize;
18601 maxExtraPrimitiveOverestimationSize = src.maxExtraPrimitiveOverestimationSize;
18602 extraPrimitiveOverestimationSizeGranularity = src.extraPrimitiveOverestimationSizeGranularity;
18603 primitiveUnderestimation = src.primitiveUnderestimation;
18604 conservativePointAndLineRasterization = src.conservativePointAndLineRasterization;
18605 degenerateTrianglesRasterized = src.degenerateTrianglesRasterized;
18606 degenerateLinesRasterized = src.degenerateLinesRasterized;
18607 fullyCoveredFragmentShaderInputVariable = src.fullyCoveredFragmentShaderInputVariable;
18608 conservativeRasterizationPostDepthCoverage = src.conservativeRasterizationPostDepthCoverage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018609 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018610}
18611
18612safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::operator=(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT& src)
18613{
18614 if (&src == this) return *this;
18615
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018616 if (pNext)
18617 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018618
18619 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018620 primitiveOverestimationSize = src.primitiveOverestimationSize;
18621 maxExtraPrimitiveOverestimationSize = src.maxExtraPrimitiveOverestimationSize;
18622 extraPrimitiveOverestimationSizeGranularity = src.extraPrimitiveOverestimationSizeGranularity;
18623 primitiveUnderestimation = src.primitiveUnderestimation;
18624 conservativePointAndLineRasterization = src.conservativePointAndLineRasterization;
18625 degenerateTrianglesRasterized = src.degenerateTrianglesRasterized;
18626 degenerateLinesRasterized = src.degenerateLinesRasterized;
18627 fullyCoveredFragmentShaderInputVariable = src.fullyCoveredFragmentShaderInputVariable;
18628 conservativeRasterizationPostDepthCoverage = src.conservativeRasterizationPostDepthCoverage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018629 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018630
18631 return *this;
18632}
18633
18634safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::~safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT()
18635{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018636 if (pNext)
18637 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018638}
18639
18640void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* in_struct)
18641{
18642 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018643 primitiveOverestimationSize = in_struct->primitiveOverestimationSize;
18644 maxExtraPrimitiveOverestimationSize = in_struct->maxExtraPrimitiveOverestimationSize;
18645 extraPrimitiveOverestimationSizeGranularity = in_struct->extraPrimitiveOverestimationSizeGranularity;
18646 primitiveUnderestimation = in_struct->primitiveUnderestimation;
18647 conservativePointAndLineRasterization = in_struct->conservativePointAndLineRasterization;
18648 degenerateTrianglesRasterized = in_struct->degenerateTrianglesRasterized;
18649 degenerateLinesRasterized = in_struct->degenerateLinesRasterized;
18650 fullyCoveredFragmentShaderInputVariable = in_struct->fullyCoveredFragmentShaderInputVariable;
18651 conservativeRasterizationPostDepthCoverage = in_struct->conservativeRasterizationPostDepthCoverage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018652 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018653}
18654
18655void safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT::initialize(const safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT* src)
18656{
18657 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018658 primitiveOverestimationSize = src->primitiveOverestimationSize;
18659 maxExtraPrimitiveOverestimationSize = src->maxExtraPrimitiveOverestimationSize;
18660 extraPrimitiveOverestimationSizeGranularity = src->extraPrimitiveOverestimationSizeGranularity;
18661 primitiveUnderestimation = src->primitiveUnderestimation;
18662 conservativePointAndLineRasterization = src->conservativePointAndLineRasterization;
18663 degenerateTrianglesRasterized = src->degenerateTrianglesRasterized;
18664 degenerateLinesRasterized = src->degenerateLinesRasterized;
18665 fullyCoveredFragmentShaderInputVariable = src->fullyCoveredFragmentShaderInputVariable;
18666 conservativeRasterizationPostDepthCoverage = src->conservativeRasterizationPostDepthCoverage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018667 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018668}
18669
18670safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const VkPipelineRasterizationConservativeStateCreateInfoEXT* in_struct) :
18671 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018672 flags(in_struct->flags),
18673 conservativeRasterizationMode(in_struct->conservativeRasterizationMode),
18674 extraPrimitiveOverestimationSize(in_struct->extraPrimitiveOverestimationSize)
18675{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018676 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018677}
18678
Jason Macnak8f28eec2019-08-09 12:57:01 -070018679safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT() :
18680 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018681{}
18682
18683safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::safe_VkPipelineRasterizationConservativeStateCreateInfoEXT(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& src)
18684{
18685 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018686 flags = src.flags;
18687 conservativeRasterizationMode = src.conservativeRasterizationMode;
18688 extraPrimitiveOverestimationSize = src.extraPrimitiveOverestimationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018689 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018690}
18691
18692safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT& src)
18693{
18694 if (&src == this) return *this;
18695
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018696 if (pNext)
18697 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018698
18699 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018700 flags = src.flags;
18701 conservativeRasterizationMode = src.conservativeRasterizationMode;
18702 extraPrimitiveOverestimationSize = src.extraPrimitiveOverestimationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018703 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018704
18705 return *this;
18706}
18707
18708safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::~safe_VkPipelineRasterizationConservativeStateCreateInfoEXT()
18709{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018710 if (pNext)
18711 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018712}
18713
18714void safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::initialize(const VkPipelineRasterizationConservativeStateCreateInfoEXT* in_struct)
18715{
18716 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018717 flags = in_struct->flags;
18718 conservativeRasterizationMode = in_struct->conservativeRasterizationMode;
18719 extraPrimitiveOverestimationSize = in_struct->extraPrimitiveOverestimationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018720 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018721}
18722
18723void safe_VkPipelineRasterizationConservativeStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationConservativeStateCreateInfoEXT* src)
18724{
18725 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018726 flags = src->flags;
18727 conservativeRasterizationMode = src->conservativeRasterizationMode;
18728 extraPrimitiveOverestimationSize = src->extraPrimitiveOverestimationSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018729 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018730}
18731
18732safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const VkPhysicalDeviceDepthClipEnableFeaturesEXT* in_struct) :
18733 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018734 depthClipEnable(in_struct->depthClipEnable)
18735{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018736 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018737}
18738
Jason Macnak8f28eec2019-08-09 12:57:01 -070018739safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT() :
18740 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018741{}
18742
18743safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& src)
18744{
18745 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018746 depthClipEnable = src.depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018747 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018748}
18749
18750safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::operator=(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT& src)
18751{
18752 if (&src == this) return *this;
18753
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018754 if (pNext)
18755 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018756
18757 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018758 depthClipEnable = src.depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018759 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018760
18761 return *this;
18762}
18763
18764safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::~safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT()
18765{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018766 if (pNext)
18767 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018768}
18769
18770void safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::initialize(const VkPhysicalDeviceDepthClipEnableFeaturesEXT* in_struct)
18771{
18772 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018773 depthClipEnable = in_struct->depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018774 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018775}
18776
18777void safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT::initialize(const safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT* src)
18778{
18779 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018780 depthClipEnable = src->depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018781 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018782}
18783
18784safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const VkPipelineRasterizationDepthClipStateCreateInfoEXT* in_struct) :
18785 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018786 flags(in_struct->flags),
18787 depthClipEnable(in_struct->depthClipEnable)
18788{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018789 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018790}
18791
Jason Macnak8f28eec2019-08-09 12:57:01 -070018792safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT() :
18793 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018794{}
18795
18796safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& src)
18797{
18798 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018799 flags = src.flags;
18800 depthClipEnable = src.depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018801 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018802}
18803
18804safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT& src)
18805{
18806 if (&src == this) return *this;
18807
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018808 if (pNext)
18809 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018810
18811 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018812 flags = src.flags;
18813 depthClipEnable = src.depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018814 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018815
18816 return *this;
18817}
18818
18819safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::~safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT()
18820{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018821 if (pNext)
18822 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018823}
18824
18825void safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::initialize(const VkPipelineRasterizationDepthClipStateCreateInfoEXT* in_struct)
18826{
18827 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018828 flags = in_struct->flags;
18829 depthClipEnable = in_struct->depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018830 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018831}
18832
18833void safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT* src)
18834{
18835 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018836 flags = src->flags;
18837 depthClipEnable = src->depthClipEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018838 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018839}
18840
18841safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const VkHdrMetadataEXT* in_struct) :
18842 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018843 displayPrimaryRed(in_struct->displayPrimaryRed),
18844 displayPrimaryGreen(in_struct->displayPrimaryGreen),
18845 displayPrimaryBlue(in_struct->displayPrimaryBlue),
18846 whitePoint(in_struct->whitePoint),
18847 maxLuminance(in_struct->maxLuminance),
18848 minLuminance(in_struct->minLuminance),
18849 maxContentLightLevel(in_struct->maxContentLightLevel),
18850 maxFrameAverageLightLevel(in_struct->maxFrameAverageLightLevel)
18851{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018852 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018853}
18854
Jason Macnak8f28eec2019-08-09 12:57:01 -070018855safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT() :
18856 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018857{}
18858
18859safe_VkHdrMetadataEXT::safe_VkHdrMetadataEXT(const safe_VkHdrMetadataEXT& src)
18860{
18861 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018862 displayPrimaryRed = src.displayPrimaryRed;
18863 displayPrimaryGreen = src.displayPrimaryGreen;
18864 displayPrimaryBlue = src.displayPrimaryBlue;
18865 whitePoint = src.whitePoint;
18866 maxLuminance = src.maxLuminance;
18867 minLuminance = src.minLuminance;
18868 maxContentLightLevel = src.maxContentLightLevel;
18869 maxFrameAverageLightLevel = src.maxFrameAverageLightLevel;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018870 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018871}
18872
18873safe_VkHdrMetadataEXT& safe_VkHdrMetadataEXT::operator=(const safe_VkHdrMetadataEXT& src)
18874{
18875 if (&src == this) return *this;
18876
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018877 if (pNext)
18878 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018879
18880 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018881 displayPrimaryRed = src.displayPrimaryRed;
18882 displayPrimaryGreen = src.displayPrimaryGreen;
18883 displayPrimaryBlue = src.displayPrimaryBlue;
18884 whitePoint = src.whitePoint;
18885 maxLuminance = src.maxLuminance;
18886 minLuminance = src.minLuminance;
18887 maxContentLightLevel = src.maxContentLightLevel;
18888 maxFrameAverageLightLevel = src.maxFrameAverageLightLevel;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018889 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018890
18891 return *this;
18892}
18893
18894safe_VkHdrMetadataEXT::~safe_VkHdrMetadataEXT()
18895{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018896 if (pNext)
18897 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018898}
18899
18900void safe_VkHdrMetadataEXT::initialize(const VkHdrMetadataEXT* in_struct)
18901{
18902 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018903 displayPrimaryRed = in_struct->displayPrimaryRed;
18904 displayPrimaryGreen = in_struct->displayPrimaryGreen;
18905 displayPrimaryBlue = in_struct->displayPrimaryBlue;
18906 whitePoint = in_struct->whitePoint;
18907 maxLuminance = in_struct->maxLuminance;
18908 minLuminance = in_struct->minLuminance;
18909 maxContentLightLevel = in_struct->maxContentLightLevel;
18910 maxFrameAverageLightLevel = in_struct->maxFrameAverageLightLevel;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018911 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018912}
18913
18914void safe_VkHdrMetadataEXT::initialize(const safe_VkHdrMetadataEXT* src)
18915{
18916 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018917 displayPrimaryRed = src->displayPrimaryRed;
18918 displayPrimaryGreen = src->displayPrimaryGreen;
18919 displayPrimaryBlue = src->displayPrimaryBlue;
18920 whitePoint = src->whitePoint;
18921 maxLuminance = src->maxLuminance;
18922 minLuminance = src->minLuminance;
18923 maxContentLightLevel = src->maxContentLightLevel;
18924 maxFrameAverageLightLevel = src->maxFrameAverageLightLevel;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018925 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018926}
18927#ifdef VK_USE_PLATFORM_IOS_MVK
18928
18929
18930safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK(const VkIOSSurfaceCreateInfoMVK* in_struct) :
18931 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018932 flags(in_struct->flags),
18933 pView(in_struct->pView)
18934{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018935 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018936}
18937
Jason Macnak8f28eec2019-08-09 12:57:01 -070018938safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060018939 pNext(nullptr),
18940 pView(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070018941{}
18942
18943safe_VkIOSSurfaceCreateInfoMVK::safe_VkIOSSurfaceCreateInfoMVK(const safe_VkIOSSurfaceCreateInfoMVK& src)
18944{
18945 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018946 flags = src.flags;
18947 pView = src.pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018948 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018949}
18950
18951safe_VkIOSSurfaceCreateInfoMVK& safe_VkIOSSurfaceCreateInfoMVK::operator=(const safe_VkIOSSurfaceCreateInfoMVK& src)
18952{
18953 if (&src == this) return *this;
18954
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018955 if (pNext)
18956 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018957
18958 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018959 flags = src.flags;
18960 pView = src.pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018961 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018962
18963 return *this;
18964}
18965
18966safe_VkIOSSurfaceCreateInfoMVK::~safe_VkIOSSurfaceCreateInfoMVK()
18967{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018968 if (pNext)
18969 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018970}
18971
18972void safe_VkIOSSurfaceCreateInfoMVK::initialize(const VkIOSSurfaceCreateInfoMVK* in_struct)
18973{
18974 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018975 flags = in_struct->flags;
18976 pView = in_struct->pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018977 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018978}
18979
18980void safe_VkIOSSurfaceCreateInfoMVK::initialize(const safe_VkIOSSurfaceCreateInfoMVK* src)
18981{
18982 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070018983 flags = src->flags;
18984 pView = src->pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018985 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018986}
18987#endif // VK_USE_PLATFORM_IOS_MVK
18988
18989#ifdef VK_USE_PLATFORM_MACOS_MVK
18990
18991
18992safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK(const VkMacOSSurfaceCreateInfoMVK* in_struct) :
18993 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070018994 flags(in_struct->flags),
18995 pView(in_struct->pView)
18996{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060018997 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070018998}
18999
Jason Macnak8f28eec2019-08-09 12:57:01 -070019000safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060019001 pNext(nullptr),
19002 pView(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019003{}
19004
19005safe_VkMacOSSurfaceCreateInfoMVK::safe_VkMacOSSurfaceCreateInfoMVK(const safe_VkMacOSSurfaceCreateInfoMVK& src)
19006{
19007 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019008 flags = src.flags;
19009 pView = src.pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019010 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019011}
19012
19013safe_VkMacOSSurfaceCreateInfoMVK& safe_VkMacOSSurfaceCreateInfoMVK::operator=(const safe_VkMacOSSurfaceCreateInfoMVK& src)
19014{
19015 if (&src == this) return *this;
19016
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019017 if (pNext)
19018 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019019
19020 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019021 flags = src.flags;
19022 pView = src.pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019023 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019024
19025 return *this;
19026}
19027
19028safe_VkMacOSSurfaceCreateInfoMVK::~safe_VkMacOSSurfaceCreateInfoMVK()
19029{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019030 if (pNext)
19031 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019032}
19033
19034void safe_VkMacOSSurfaceCreateInfoMVK::initialize(const VkMacOSSurfaceCreateInfoMVK* in_struct)
19035{
19036 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019037 flags = in_struct->flags;
19038 pView = in_struct->pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019039 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019040}
19041
19042void safe_VkMacOSSurfaceCreateInfoMVK::initialize(const safe_VkMacOSSurfaceCreateInfoMVK* src)
19043{
19044 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019045 flags = src->flags;
19046 pView = src->pView;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019047 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019048}
19049#endif // VK_USE_PLATFORM_MACOS_MVK
19050
19051
19052safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT(const VkDebugUtilsObjectNameInfoEXT* in_struct) :
19053 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019054 objectType(in_struct->objectType),
19055 objectHandle(in_struct->objectHandle),
19056 pObjectName(in_struct->pObjectName)
19057{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019058 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019059}
19060
Jason Macnak8f28eec2019-08-09 12:57:01 -070019061safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060019062 pNext(nullptr),
19063 pObjectName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019064{}
19065
19066safe_VkDebugUtilsObjectNameInfoEXT::safe_VkDebugUtilsObjectNameInfoEXT(const safe_VkDebugUtilsObjectNameInfoEXT& src)
19067{
19068 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019069 objectType = src.objectType;
19070 objectHandle = src.objectHandle;
19071 pObjectName = src.pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019072 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019073}
19074
19075safe_VkDebugUtilsObjectNameInfoEXT& safe_VkDebugUtilsObjectNameInfoEXT::operator=(const safe_VkDebugUtilsObjectNameInfoEXT& src)
19076{
19077 if (&src == this) return *this;
19078
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019079 if (pNext)
19080 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019081
19082 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019083 objectType = src.objectType;
19084 objectHandle = src.objectHandle;
19085 pObjectName = src.pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019086 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019087
19088 return *this;
19089}
19090
19091safe_VkDebugUtilsObjectNameInfoEXT::~safe_VkDebugUtilsObjectNameInfoEXT()
19092{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019093 if (pNext)
19094 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019095}
19096
19097void safe_VkDebugUtilsObjectNameInfoEXT::initialize(const VkDebugUtilsObjectNameInfoEXT* in_struct)
19098{
19099 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019100 objectType = in_struct->objectType;
19101 objectHandle = in_struct->objectHandle;
19102 pObjectName = in_struct->pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019103 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019104}
19105
19106void safe_VkDebugUtilsObjectNameInfoEXT::initialize(const safe_VkDebugUtilsObjectNameInfoEXT* src)
19107{
19108 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019109 objectType = src->objectType;
19110 objectHandle = src->objectHandle;
19111 pObjectName = src->pObjectName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019112 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019113}
19114
19115safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT(const VkDebugUtilsObjectTagInfoEXT* in_struct) :
19116 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019117 objectType(in_struct->objectType),
19118 objectHandle(in_struct->objectHandle),
19119 tagName(in_struct->tagName),
19120 tagSize(in_struct->tagSize),
19121 pTag(in_struct->pTag)
19122{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019123 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019124}
19125
Jason Macnak8f28eec2019-08-09 12:57:01 -070019126safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060019127 pNext(nullptr),
19128 pTag(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019129{}
19130
19131safe_VkDebugUtilsObjectTagInfoEXT::safe_VkDebugUtilsObjectTagInfoEXT(const safe_VkDebugUtilsObjectTagInfoEXT& src)
19132{
19133 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019134 objectType = src.objectType;
19135 objectHandle = src.objectHandle;
19136 tagName = src.tagName;
19137 tagSize = src.tagSize;
19138 pTag = src.pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019139 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019140}
19141
19142safe_VkDebugUtilsObjectTagInfoEXT& safe_VkDebugUtilsObjectTagInfoEXT::operator=(const safe_VkDebugUtilsObjectTagInfoEXT& src)
19143{
19144 if (&src == this) return *this;
19145
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019146 if (pNext)
19147 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019148
19149 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019150 objectType = src.objectType;
19151 objectHandle = src.objectHandle;
19152 tagName = src.tagName;
19153 tagSize = src.tagSize;
19154 pTag = src.pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019155 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019156
19157 return *this;
19158}
19159
19160safe_VkDebugUtilsObjectTagInfoEXT::~safe_VkDebugUtilsObjectTagInfoEXT()
19161{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019162 if (pNext)
19163 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019164}
19165
19166void safe_VkDebugUtilsObjectTagInfoEXT::initialize(const VkDebugUtilsObjectTagInfoEXT* in_struct)
19167{
19168 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019169 objectType = in_struct->objectType;
19170 objectHandle = in_struct->objectHandle;
19171 tagName = in_struct->tagName;
19172 tagSize = in_struct->tagSize;
19173 pTag = in_struct->pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019174 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019175}
19176
19177void safe_VkDebugUtilsObjectTagInfoEXT::initialize(const safe_VkDebugUtilsObjectTagInfoEXT* src)
19178{
19179 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019180 objectType = src->objectType;
19181 objectHandle = src->objectHandle;
19182 tagName = src->tagName;
19183 tagSize = src->tagSize;
19184 pTag = src->pTag;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019185 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019186}
19187
19188safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT(const VkDebugUtilsLabelEXT* in_struct) :
19189 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019190 pLabelName(in_struct->pLabelName)
19191{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019192 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019193 for (uint32_t i=0; i<4; ++i) {
19194 color[i] = in_struct->color[i];
19195 }
19196}
19197
Jason Macnak8f28eec2019-08-09 12:57:01 -070019198safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060019199 pNext(nullptr),
19200 pLabelName(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019201{}
19202
19203safe_VkDebugUtilsLabelEXT::safe_VkDebugUtilsLabelEXT(const safe_VkDebugUtilsLabelEXT& src)
19204{
19205 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019206 pLabelName = src.pLabelName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019207 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019208 for (uint32_t i=0; i<4; ++i) {
19209 color[i] = src.color[i];
19210 }
19211}
19212
19213safe_VkDebugUtilsLabelEXT& safe_VkDebugUtilsLabelEXT::operator=(const safe_VkDebugUtilsLabelEXT& src)
19214{
19215 if (&src == this) return *this;
19216
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019217 if (pNext)
19218 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019219
19220 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019221 pLabelName = src.pLabelName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019222 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019223 for (uint32_t i=0; i<4; ++i) {
19224 color[i] = src.color[i];
19225 }
19226
19227 return *this;
19228}
19229
19230safe_VkDebugUtilsLabelEXT::~safe_VkDebugUtilsLabelEXT()
19231{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019232 if (pNext)
19233 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019234}
19235
19236void safe_VkDebugUtilsLabelEXT::initialize(const VkDebugUtilsLabelEXT* in_struct)
19237{
19238 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019239 pLabelName = in_struct->pLabelName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019240 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019241 for (uint32_t i=0; i<4; ++i) {
19242 color[i] = in_struct->color[i];
19243 }
19244}
19245
19246void safe_VkDebugUtilsLabelEXT::initialize(const safe_VkDebugUtilsLabelEXT* src)
19247{
19248 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019249 pLabelName = src->pLabelName;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019250 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019251 for (uint32_t i=0; i<4; ++i) {
19252 color[i] = src->color[i];
19253 }
19254}
19255
19256safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT(const VkDebugUtilsMessengerCallbackDataEXT* in_struct) :
19257 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019258 flags(in_struct->flags),
19259 pMessageIdName(in_struct->pMessageIdName),
19260 messageIdNumber(in_struct->messageIdNumber),
19261 pMessage(in_struct->pMessage),
19262 queueLabelCount(in_struct->queueLabelCount),
19263 pQueueLabels(nullptr),
19264 cmdBufLabelCount(in_struct->cmdBufLabelCount),
19265 pCmdBufLabels(nullptr),
19266 objectCount(in_struct->objectCount),
19267 pObjects(nullptr)
19268{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019269 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019270 if (queueLabelCount && in_struct->pQueueLabels) {
19271 pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19272 for (uint32_t i=0; i<queueLabelCount; ++i) {
19273 pQueueLabels[i].initialize(&in_struct->pQueueLabels[i]);
19274 }
19275 }
19276 if (cmdBufLabelCount && in_struct->pCmdBufLabels) {
19277 pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19278 for (uint32_t i=0; i<cmdBufLabelCount; ++i) {
19279 pCmdBufLabels[i].initialize(&in_struct->pCmdBufLabels[i]);
19280 }
19281 }
19282 if (objectCount && in_struct->pObjects) {
19283 pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19284 for (uint32_t i=0; i<objectCount; ++i) {
19285 pObjects[i].initialize(&in_struct->pObjects[i]);
19286 }
19287 }
19288}
19289
19290safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070019291 pNext(nullptr),
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060019292 pMessageIdName(nullptr),
19293 pMessage(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019294 pQueueLabels(nullptr),
19295 pCmdBufLabels(nullptr),
19296 pObjects(nullptr)
19297{}
19298
19299safe_VkDebugUtilsMessengerCallbackDataEXT::safe_VkDebugUtilsMessengerCallbackDataEXT(const safe_VkDebugUtilsMessengerCallbackDataEXT& src)
19300{
19301 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019302 flags = src.flags;
19303 pMessageIdName = src.pMessageIdName;
19304 messageIdNumber = src.messageIdNumber;
19305 pMessage = src.pMessage;
19306 queueLabelCount = src.queueLabelCount;
19307 pQueueLabels = nullptr;
19308 cmdBufLabelCount = src.cmdBufLabelCount;
19309 pCmdBufLabels = nullptr;
19310 objectCount = src.objectCount;
19311 pObjects = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019312 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019313 if (queueLabelCount && src.pQueueLabels) {
19314 pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19315 for (uint32_t i=0; i<queueLabelCount; ++i) {
19316 pQueueLabels[i].initialize(&src.pQueueLabels[i]);
19317 }
19318 }
19319 if (cmdBufLabelCount && src.pCmdBufLabels) {
19320 pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19321 for (uint32_t i=0; i<cmdBufLabelCount; ++i) {
19322 pCmdBufLabels[i].initialize(&src.pCmdBufLabels[i]);
19323 }
19324 }
19325 if (objectCount && src.pObjects) {
19326 pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19327 for (uint32_t i=0; i<objectCount; ++i) {
19328 pObjects[i].initialize(&src.pObjects[i]);
19329 }
19330 }
19331}
19332
19333safe_VkDebugUtilsMessengerCallbackDataEXT& safe_VkDebugUtilsMessengerCallbackDataEXT::operator=(const safe_VkDebugUtilsMessengerCallbackDataEXT& src)
19334{
19335 if (&src == this) return *this;
19336
19337 if (pQueueLabels)
19338 delete[] pQueueLabels;
19339 if (pCmdBufLabels)
19340 delete[] pCmdBufLabels;
19341 if (pObjects)
19342 delete[] pObjects;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019343 if (pNext)
19344 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019345
19346 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019347 flags = src.flags;
19348 pMessageIdName = src.pMessageIdName;
19349 messageIdNumber = src.messageIdNumber;
19350 pMessage = src.pMessage;
19351 queueLabelCount = src.queueLabelCount;
19352 pQueueLabels = nullptr;
19353 cmdBufLabelCount = src.cmdBufLabelCount;
19354 pCmdBufLabels = nullptr;
19355 objectCount = src.objectCount;
19356 pObjects = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019357 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019358 if (queueLabelCount && src.pQueueLabels) {
19359 pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19360 for (uint32_t i=0; i<queueLabelCount; ++i) {
19361 pQueueLabels[i].initialize(&src.pQueueLabels[i]);
19362 }
19363 }
19364 if (cmdBufLabelCount && src.pCmdBufLabels) {
19365 pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19366 for (uint32_t i=0; i<cmdBufLabelCount; ++i) {
19367 pCmdBufLabels[i].initialize(&src.pCmdBufLabels[i]);
19368 }
19369 }
19370 if (objectCount && src.pObjects) {
19371 pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19372 for (uint32_t i=0; i<objectCount; ++i) {
19373 pObjects[i].initialize(&src.pObjects[i]);
19374 }
19375 }
19376
19377 return *this;
19378}
19379
19380safe_VkDebugUtilsMessengerCallbackDataEXT::~safe_VkDebugUtilsMessengerCallbackDataEXT()
19381{
19382 if (pQueueLabels)
19383 delete[] pQueueLabels;
19384 if (pCmdBufLabels)
19385 delete[] pCmdBufLabels;
19386 if (pObjects)
19387 delete[] pObjects;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019388 if (pNext)
19389 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019390}
19391
19392void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const VkDebugUtilsMessengerCallbackDataEXT* in_struct)
19393{
19394 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019395 flags = in_struct->flags;
19396 pMessageIdName = in_struct->pMessageIdName;
19397 messageIdNumber = in_struct->messageIdNumber;
19398 pMessage = in_struct->pMessage;
19399 queueLabelCount = in_struct->queueLabelCount;
19400 pQueueLabels = nullptr;
19401 cmdBufLabelCount = in_struct->cmdBufLabelCount;
19402 pCmdBufLabels = nullptr;
19403 objectCount = in_struct->objectCount;
19404 pObjects = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019405 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019406 if (queueLabelCount && in_struct->pQueueLabels) {
19407 pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19408 for (uint32_t i=0; i<queueLabelCount; ++i) {
19409 pQueueLabels[i].initialize(&in_struct->pQueueLabels[i]);
19410 }
19411 }
19412 if (cmdBufLabelCount && in_struct->pCmdBufLabels) {
19413 pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19414 for (uint32_t i=0; i<cmdBufLabelCount; ++i) {
19415 pCmdBufLabels[i].initialize(&in_struct->pCmdBufLabels[i]);
19416 }
19417 }
19418 if (objectCount && in_struct->pObjects) {
19419 pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19420 for (uint32_t i=0; i<objectCount; ++i) {
19421 pObjects[i].initialize(&in_struct->pObjects[i]);
19422 }
19423 }
19424}
19425
19426void safe_VkDebugUtilsMessengerCallbackDataEXT::initialize(const safe_VkDebugUtilsMessengerCallbackDataEXT* src)
19427{
19428 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019429 flags = src->flags;
19430 pMessageIdName = src->pMessageIdName;
19431 messageIdNumber = src->messageIdNumber;
19432 pMessage = src->pMessage;
19433 queueLabelCount = src->queueLabelCount;
19434 pQueueLabels = nullptr;
19435 cmdBufLabelCount = src->cmdBufLabelCount;
19436 pCmdBufLabels = nullptr;
19437 objectCount = src->objectCount;
19438 pObjects = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019439 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019440 if (queueLabelCount && src->pQueueLabels) {
19441 pQueueLabels = new safe_VkDebugUtilsLabelEXT[queueLabelCount];
19442 for (uint32_t i=0; i<queueLabelCount; ++i) {
19443 pQueueLabels[i].initialize(&src->pQueueLabels[i]);
19444 }
19445 }
19446 if (cmdBufLabelCount && src->pCmdBufLabels) {
19447 pCmdBufLabels = new safe_VkDebugUtilsLabelEXT[cmdBufLabelCount];
19448 for (uint32_t i=0; i<cmdBufLabelCount; ++i) {
19449 pCmdBufLabels[i].initialize(&src->pCmdBufLabels[i]);
19450 }
19451 }
19452 if (objectCount && src->pObjects) {
19453 pObjects = new safe_VkDebugUtilsObjectNameInfoEXT[objectCount];
19454 for (uint32_t i=0; i<objectCount; ++i) {
19455 pObjects[i].initialize(&src->pObjects[i]);
19456 }
19457 }
19458}
19459
19460safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT(const VkDebugUtilsMessengerCreateInfoEXT* in_struct) :
19461 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019462 flags(in_struct->flags),
19463 messageSeverity(in_struct->messageSeverity),
19464 messageType(in_struct->messageType),
19465 pfnUserCallback(in_struct->pfnUserCallback),
19466 pUserData(in_struct->pUserData)
19467{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019468 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019469}
19470
Jason Macnak8f28eec2019-08-09 12:57:01 -070019471safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060019472 pNext(nullptr),
19473 pUserData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019474{}
19475
19476safe_VkDebugUtilsMessengerCreateInfoEXT::safe_VkDebugUtilsMessengerCreateInfoEXT(const safe_VkDebugUtilsMessengerCreateInfoEXT& src)
19477{
19478 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019479 flags = src.flags;
19480 messageSeverity = src.messageSeverity;
19481 messageType = src.messageType;
19482 pfnUserCallback = src.pfnUserCallback;
19483 pUserData = src.pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019484 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019485}
19486
19487safe_VkDebugUtilsMessengerCreateInfoEXT& safe_VkDebugUtilsMessengerCreateInfoEXT::operator=(const safe_VkDebugUtilsMessengerCreateInfoEXT& src)
19488{
19489 if (&src == this) return *this;
19490
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019491 if (pNext)
19492 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019493
19494 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019495 flags = src.flags;
19496 messageSeverity = src.messageSeverity;
19497 messageType = src.messageType;
19498 pfnUserCallback = src.pfnUserCallback;
19499 pUserData = src.pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019500 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019501
19502 return *this;
19503}
19504
19505safe_VkDebugUtilsMessengerCreateInfoEXT::~safe_VkDebugUtilsMessengerCreateInfoEXT()
19506{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019507 if (pNext)
19508 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019509}
19510
19511void safe_VkDebugUtilsMessengerCreateInfoEXT::initialize(const VkDebugUtilsMessengerCreateInfoEXT* in_struct)
19512{
19513 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019514 flags = in_struct->flags;
19515 messageSeverity = in_struct->messageSeverity;
19516 messageType = in_struct->messageType;
19517 pfnUserCallback = in_struct->pfnUserCallback;
19518 pUserData = in_struct->pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019519 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019520}
19521
19522void safe_VkDebugUtilsMessengerCreateInfoEXT::initialize(const safe_VkDebugUtilsMessengerCreateInfoEXT* src)
19523{
19524 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019525 flags = src->flags;
19526 messageSeverity = src->messageSeverity;
19527 messageType = src->messageType;
19528 pfnUserCallback = src->pfnUserCallback;
19529 pUserData = src->pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019530 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019531}
19532#ifdef VK_USE_PLATFORM_ANDROID_KHR
19533
19534
19535safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID(const VkAndroidHardwareBufferUsageANDROID* in_struct) :
19536 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019537 androidHardwareBufferUsage(in_struct->androidHardwareBufferUsage)
19538{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019539 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019540}
19541
Jason Macnak8f28eec2019-08-09 12:57:01 -070019542safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID() :
19543 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019544{}
19545
19546safe_VkAndroidHardwareBufferUsageANDROID::safe_VkAndroidHardwareBufferUsageANDROID(const safe_VkAndroidHardwareBufferUsageANDROID& src)
19547{
19548 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019549 androidHardwareBufferUsage = src.androidHardwareBufferUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019550 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019551}
19552
19553safe_VkAndroidHardwareBufferUsageANDROID& safe_VkAndroidHardwareBufferUsageANDROID::operator=(const safe_VkAndroidHardwareBufferUsageANDROID& src)
19554{
19555 if (&src == this) return *this;
19556
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019557 if (pNext)
19558 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019559
19560 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019561 androidHardwareBufferUsage = src.androidHardwareBufferUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019562 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019563
19564 return *this;
19565}
19566
19567safe_VkAndroidHardwareBufferUsageANDROID::~safe_VkAndroidHardwareBufferUsageANDROID()
19568{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019569 if (pNext)
19570 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019571}
19572
19573void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const VkAndroidHardwareBufferUsageANDROID* in_struct)
19574{
19575 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019576 androidHardwareBufferUsage = in_struct->androidHardwareBufferUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019577 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019578}
19579
19580void safe_VkAndroidHardwareBufferUsageANDROID::initialize(const safe_VkAndroidHardwareBufferUsageANDROID* src)
19581{
19582 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019583 androidHardwareBufferUsage = src->androidHardwareBufferUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019584 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019585}
19586#endif // VK_USE_PLATFORM_ANDROID_KHR
19587
19588#ifdef VK_USE_PLATFORM_ANDROID_KHR
19589
19590
19591safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID(const VkAndroidHardwareBufferPropertiesANDROID* in_struct) :
19592 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019593 allocationSize(in_struct->allocationSize),
19594 memoryTypeBits(in_struct->memoryTypeBits)
19595{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019596 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019597}
19598
Jason Macnak8f28eec2019-08-09 12:57:01 -070019599safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID() :
19600 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019601{}
19602
19603safe_VkAndroidHardwareBufferPropertiesANDROID::safe_VkAndroidHardwareBufferPropertiesANDROID(const safe_VkAndroidHardwareBufferPropertiesANDROID& src)
19604{
19605 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019606 allocationSize = src.allocationSize;
19607 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019608 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019609}
19610
19611safe_VkAndroidHardwareBufferPropertiesANDROID& safe_VkAndroidHardwareBufferPropertiesANDROID::operator=(const safe_VkAndroidHardwareBufferPropertiesANDROID& src)
19612{
19613 if (&src == this) return *this;
19614
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019615 if (pNext)
19616 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019617
19618 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019619 allocationSize = src.allocationSize;
19620 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019621 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019622
19623 return *this;
19624}
19625
19626safe_VkAndroidHardwareBufferPropertiesANDROID::~safe_VkAndroidHardwareBufferPropertiesANDROID()
19627{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019628 if (pNext)
19629 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019630}
19631
19632void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const VkAndroidHardwareBufferPropertiesANDROID* in_struct)
19633{
19634 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019635 allocationSize = in_struct->allocationSize;
19636 memoryTypeBits = in_struct->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019637 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019638}
19639
19640void safe_VkAndroidHardwareBufferPropertiesANDROID::initialize(const safe_VkAndroidHardwareBufferPropertiesANDROID* src)
19641{
19642 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019643 allocationSize = src->allocationSize;
19644 memoryTypeBits = src->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019645 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019646}
19647#endif // VK_USE_PLATFORM_ANDROID_KHR
19648
19649#ifdef VK_USE_PLATFORM_ANDROID_KHR
19650
19651
19652safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const VkAndroidHardwareBufferFormatPropertiesANDROID* in_struct) :
19653 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019654 format(in_struct->format),
19655 externalFormat(in_struct->externalFormat),
19656 formatFeatures(in_struct->formatFeatures),
19657 samplerYcbcrConversionComponents(in_struct->samplerYcbcrConversionComponents),
19658 suggestedYcbcrModel(in_struct->suggestedYcbcrModel),
19659 suggestedYcbcrRange(in_struct->suggestedYcbcrRange),
19660 suggestedXChromaOffset(in_struct->suggestedXChromaOffset),
19661 suggestedYChromaOffset(in_struct->suggestedYChromaOffset)
19662{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019663 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019664}
19665
Jason Macnak8f28eec2019-08-09 12:57:01 -070019666safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID() :
19667 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019668{}
19669
19670safe_VkAndroidHardwareBufferFormatPropertiesANDROID::safe_VkAndroidHardwareBufferFormatPropertiesANDROID(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID& src)
19671{
19672 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019673 format = src.format;
19674 externalFormat = src.externalFormat;
19675 formatFeatures = src.formatFeatures;
19676 samplerYcbcrConversionComponents = src.samplerYcbcrConversionComponents;
19677 suggestedYcbcrModel = src.suggestedYcbcrModel;
19678 suggestedYcbcrRange = src.suggestedYcbcrRange;
19679 suggestedXChromaOffset = src.suggestedXChromaOffset;
19680 suggestedYChromaOffset = src.suggestedYChromaOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019681 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019682}
19683
19684safe_VkAndroidHardwareBufferFormatPropertiesANDROID& safe_VkAndroidHardwareBufferFormatPropertiesANDROID::operator=(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID& src)
19685{
19686 if (&src == this) return *this;
19687
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019688 if (pNext)
19689 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019690
19691 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019692 format = src.format;
19693 externalFormat = src.externalFormat;
19694 formatFeatures = src.formatFeatures;
19695 samplerYcbcrConversionComponents = src.samplerYcbcrConversionComponents;
19696 suggestedYcbcrModel = src.suggestedYcbcrModel;
19697 suggestedYcbcrRange = src.suggestedYcbcrRange;
19698 suggestedXChromaOffset = src.suggestedXChromaOffset;
19699 suggestedYChromaOffset = src.suggestedYChromaOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019700 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019701
19702 return *this;
19703}
19704
19705safe_VkAndroidHardwareBufferFormatPropertiesANDROID::~safe_VkAndroidHardwareBufferFormatPropertiesANDROID()
19706{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019707 if (pNext)
19708 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019709}
19710
19711void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const VkAndroidHardwareBufferFormatPropertiesANDROID* in_struct)
19712{
19713 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019714 format = in_struct->format;
19715 externalFormat = in_struct->externalFormat;
19716 formatFeatures = in_struct->formatFeatures;
19717 samplerYcbcrConversionComponents = in_struct->samplerYcbcrConversionComponents;
19718 suggestedYcbcrModel = in_struct->suggestedYcbcrModel;
19719 suggestedYcbcrRange = in_struct->suggestedYcbcrRange;
19720 suggestedXChromaOffset = in_struct->suggestedXChromaOffset;
19721 suggestedYChromaOffset = in_struct->suggestedYChromaOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019722 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019723}
19724
19725void safe_VkAndroidHardwareBufferFormatPropertiesANDROID::initialize(const safe_VkAndroidHardwareBufferFormatPropertiesANDROID* src)
19726{
19727 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019728 format = src->format;
19729 externalFormat = src->externalFormat;
19730 formatFeatures = src->formatFeatures;
19731 samplerYcbcrConversionComponents = src->samplerYcbcrConversionComponents;
19732 suggestedYcbcrModel = src->suggestedYcbcrModel;
19733 suggestedYcbcrRange = src->suggestedYcbcrRange;
19734 suggestedXChromaOffset = src->suggestedXChromaOffset;
19735 suggestedYChromaOffset = src->suggestedYChromaOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019736 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019737}
19738#endif // VK_USE_PLATFORM_ANDROID_KHR
19739
19740#ifdef VK_USE_PLATFORM_ANDROID_KHR
19741
19742
19743safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID(const VkImportAndroidHardwareBufferInfoANDROID* in_struct) :
19744 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019745 buffer(nullptr)
19746{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019747 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019748 buffer = in_struct->buffer;
19749}
19750
19751safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070019752 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019753 buffer(nullptr)
19754{}
19755
19756safe_VkImportAndroidHardwareBufferInfoANDROID::safe_VkImportAndroidHardwareBufferInfoANDROID(const safe_VkImportAndroidHardwareBufferInfoANDROID& src)
19757{
19758 sType = src.sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019759 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019760 buffer = src.buffer;
19761}
19762
19763safe_VkImportAndroidHardwareBufferInfoANDROID& safe_VkImportAndroidHardwareBufferInfoANDROID::operator=(const safe_VkImportAndroidHardwareBufferInfoANDROID& src)
19764{
19765 if (&src == this) return *this;
19766
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019767 if (pNext)
19768 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019769
19770 sType = src.sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019771 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019772 buffer = src.buffer;
19773
19774 return *this;
19775}
19776
19777safe_VkImportAndroidHardwareBufferInfoANDROID::~safe_VkImportAndroidHardwareBufferInfoANDROID()
19778{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019779 if (pNext)
19780 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019781}
19782
19783void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const VkImportAndroidHardwareBufferInfoANDROID* in_struct)
19784{
19785 sType = in_struct->sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019786 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019787 buffer = in_struct->buffer;
19788}
19789
19790void safe_VkImportAndroidHardwareBufferInfoANDROID::initialize(const safe_VkImportAndroidHardwareBufferInfoANDROID* src)
19791{
19792 sType = src->sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019793 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019794 buffer = src->buffer;
19795}
19796#endif // VK_USE_PLATFORM_ANDROID_KHR
19797
19798#ifdef VK_USE_PLATFORM_ANDROID_KHR
19799
19800
19801safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const VkMemoryGetAndroidHardwareBufferInfoANDROID* in_struct) :
19802 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019803 memory(in_struct->memory)
19804{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019805 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019806}
19807
Jason Macnak8f28eec2019-08-09 12:57:01 -070019808safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID() :
19809 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019810{}
19811
19812safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::safe_VkMemoryGetAndroidHardwareBufferInfoANDROID(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& src)
19813{
19814 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019815 memory = src.memory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019816 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019817}
19818
19819safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::operator=(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID& src)
19820{
19821 if (&src == this) return *this;
19822
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019823 if (pNext)
19824 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019825
19826 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019827 memory = src.memory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019828 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019829
19830 return *this;
19831}
19832
19833safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::~safe_VkMemoryGetAndroidHardwareBufferInfoANDROID()
19834{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019835 if (pNext)
19836 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019837}
19838
19839void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const VkMemoryGetAndroidHardwareBufferInfoANDROID* in_struct)
19840{
19841 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019842 memory = in_struct->memory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019843 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019844}
19845
19846void safe_VkMemoryGetAndroidHardwareBufferInfoANDROID::initialize(const safe_VkMemoryGetAndroidHardwareBufferInfoANDROID* src)
19847{
19848 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019849 memory = src->memory;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019850 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019851}
19852#endif // VK_USE_PLATFORM_ANDROID_KHR
19853
19854#ifdef VK_USE_PLATFORM_ANDROID_KHR
19855
19856
19857safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID(const VkExternalFormatANDROID* in_struct) :
19858 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019859 externalFormat(in_struct->externalFormat)
19860{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019861 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019862}
19863
Jason Macnak8f28eec2019-08-09 12:57:01 -070019864safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID() :
19865 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019866{}
19867
19868safe_VkExternalFormatANDROID::safe_VkExternalFormatANDROID(const safe_VkExternalFormatANDROID& src)
19869{
19870 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019871 externalFormat = src.externalFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019872 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019873}
19874
19875safe_VkExternalFormatANDROID& safe_VkExternalFormatANDROID::operator=(const safe_VkExternalFormatANDROID& src)
19876{
19877 if (&src == this) return *this;
19878
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019879 if (pNext)
19880 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019881
19882 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019883 externalFormat = src.externalFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019884 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019885
19886 return *this;
19887}
19888
19889safe_VkExternalFormatANDROID::~safe_VkExternalFormatANDROID()
19890{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019891 if (pNext)
19892 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019893}
19894
19895void safe_VkExternalFormatANDROID::initialize(const VkExternalFormatANDROID* in_struct)
19896{
19897 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019898 externalFormat = in_struct->externalFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019899 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019900}
19901
19902void safe_VkExternalFormatANDROID::initialize(const safe_VkExternalFormatANDROID* src)
19903{
19904 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019905 externalFormat = src->externalFormat;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019906 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019907}
19908#endif // VK_USE_PLATFORM_ANDROID_KHR
19909
19910
19911safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT(const VkSamplerReductionModeCreateInfoEXT* in_struct) :
19912 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019913 reductionMode(in_struct->reductionMode)
19914{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019915 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019916}
19917
Jason Macnak8f28eec2019-08-09 12:57:01 -070019918safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT() :
19919 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019920{}
19921
19922safe_VkSamplerReductionModeCreateInfoEXT::safe_VkSamplerReductionModeCreateInfoEXT(const safe_VkSamplerReductionModeCreateInfoEXT& src)
19923{
19924 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019925 reductionMode = src.reductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019926 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019927}
19928
19929safe_VkSamplerReductionModeCreateInfoEXT& safe_VkSamplerReductionModeCreateInfoEXT::operator=(const safe_VkSamplerReductionModeCreateInfoEXT& src)
19930{
19931 if (&src == this) return *this;
19932
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019933 if (pNext)
19934 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019935
19936 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019937 reductionMode = src.reductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019938 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019939
19940 return *this;
19941}
19942
19943safe_VkSamplerReductionModeCreateInfoEXT::~safe_VkSamplerReductionModeCreateInfoEXT()
19944{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019945 if (pNext)
19946 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019947}
19948
19949void safe_VkSamplerReductionModeCreateInfoEXT::initialize(const VkSamplerReductionModeCreateInfoEXT* in_struct)
19950{
19951 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019952 reductionMode = in_struct->reductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019953 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019954}
19955
19956void safe_VkSamplerReductionModeCreateInfoEXT::initialize(const safe_VkSamplerReductionModeCreateInfoEXT* src)
19957{
19958 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019959 reductionMode = src->reductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019960 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019961}
19962
19963safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* in_struct) :
19964 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070019965 filterMinmaxSingleComponentFormats(in_struct->filterMinmaxSingleComponentFormats),
19966 filterMinmaxImageComponentMapping(in_struct->filterMinmaxImageComponentMapping)
19967{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019968 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019969}
19970
Jason Macnak8f28eec2019-08-09 12:57:01 -070019971safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT() :
19972 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070019973{}
19974
19975safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& src)
19976{
19977 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019978 filterMinmaxSingleComponentFormats = src.filterMinmaxSingleComponentFormats;
19979 filterMinmaxImageComponentMapping = src.filterMinmaxImageComponentMapping;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019980 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019981}
19982
19983safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::operator=(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& src)
19984{
19985 if (&src == this) return *this;
19986
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019987 if (pNext)
19988 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019989
19990 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070019991 filterMinmaxSingleComponentFormats = src.filterMinmaxSingleComponentFormats;
19992 filterMinmaxImageComponentMapping = src.filterMinmaxImageComponentMapping;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060019993 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070019994
19995 return *this;
19996}
19997
19998safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::~safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT()
19999{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020000 if (pNext)
20001 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020002}
20003
20004void safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::initialize(const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* in_struct)
20005{
20006 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020007 filterMinmaxSingleComponentFormats = in_struct->filterMinmaxSingleComponentFormats;
20008 filterMinmaxImageComponentMapping = in_struct->filterMinmaxImageComponentMapping;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020009 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020010}
20011
20012void safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT::initialize(const safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* src)
20013{
20014 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020015 filterMinmaxSingleComponentFormats = src->filterMinmaxSingleComponentFormats;
20016 filterMinmaxImageComponentMapping = src->filterMinmaxImageComponentMapping;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020017 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020018}
20019
20020safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* in_struct) :
20021 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020022 inlineUniformBlock(in_struct->inlineUniformBlock),
20023 descriptorBindingInlineUniformBlockUpdateAfterBind(in_struct->descriptorBindingInlineUniformBlockUpdateAfterBind)
20024{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020025 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020026}
20027
Jason Macnak8f28eec2019-08-09 12:57:01 -070020028safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT() :
20029 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020030{}
20031
20032safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& src)
20033{
20034 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020035 inlineUniformBlock = src.inlineUniformBlock;
20036 descriptorBindingInlineUniformBlockUpdateAfterBind = src.descriptorBindingInlineUniformBlockUpdateAfterBind;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020037 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020038}
20039
20040safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::operator=(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT& src)
20041{
20042 if (&src == this) return *this;
20043
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020044 if (pNext)
20045 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020046
20047 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020048 inlineUniformBlock = src.inlineUniformBlock;
20049 descriptorBindingInlineUniformBlockUpdateAfterBind = src.descriptorBindingInlineUniformBlockUpdateAfterBind;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020050 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020051
20052 return *this;
20053}
20054
20055safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::~safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT()
20056{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020057 if (pNext)
20058 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020059}
20060
20061void safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::initialize(const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* in_struct)
20062{
20063 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020064 inlineUniformBlock = in_struct->inlineUniformBlock;
20065 descriptorBindingInlineUniformBlockUpdateAfterBind = in_struct->descriptorBindingInlineUniformBlockUpdateAfterBind;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020066 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020067}
20068
20069void safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT::initialize(const safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT* src)
20070{
20071 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020072 inlineUniformBlock = src->inlineUniformBlock;
20073 descriptorBindingInlineUniformBlockUpdateAfterBind = src->descriptorBindingInlineUniformBlockUpdateAfterBind;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020074 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020075}
20076
20077safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* in_struct) :
20078 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020079 maxInlineUniformBlockSize(in_struct->maxInlineUniformBlockSize),
20080 maxPerStageDescriptorInlineUniformBlocks(in_struct->maxPerStageDescriptorInlineUniformBlocks),
20081 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(in_struct->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks),
20082 maxDescriptorSetInlineUniformBlocks(in_struct->maxDescriptorSetInlineUniformBlocks),
20083 maxDescriptorSetUpdateAfterBindInlineUniformBlocks(in_struct->maxDescriptorSetUpdateAfterBindInlineUniformBlocks)
20084{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020085 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020086}
20087
Jason Macnak8f28eec2019-08-09 12:57:01 -070020088safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT() :
20089 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020090{}
20091
20092safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& src)
20093{
20094 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020095 maxInlineUniformBlockSize = src.maxInlineUniformBlockSize;
20096 maxPerStageDescriptorInlineUniformBlocks = src.maxPerStageDescriptorInlineUniformBlocks;
20097 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20098 maxDescriptorSetInlineUniformBlocks = src.maxDescriptorSetInlineUniformBlocks;
20099 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src.maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020100 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020101}
20102
20103safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::operator=(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT& src)
20104{
20105 if (&src == this) return *this;
20106
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020107 if (pNext)
20108 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020109
20110 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020111 maxInlineUniformBlockSize = src.maxInlineUniformBlockSize;
20112 maxPerStageDescriptorInlineUniformBlocks = src.maxPerStageDescriptorInlineUniformBlocks;
20113 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20114 maxDescriptorSetInlineUniformBlocks = src.maxDescriptorSetInlineUniformBlocks;
20115 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src.maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020116 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020117
20118 return *this;
20119}
20120
20121safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::~safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT()
20122{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020123 if (pNext)
20124 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020125}
20126
20127void safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::initialize(const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* in_struct)
20128{
20129 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020130 maxInlineUniformBlockSize = in_struct->maxInlineUniformBlockSize;
20131 maxPerStageDescriptorInlineUniformBlocks = in_struct->maxPerStageDescriptorInlineUniformBlocks;
20132 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = in_struct->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20133 maxDescriptorSetInlineUniformBlocks = in_struct->maxDescriptorSetInlineUniformBlocks;
20134 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = in_struct->maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020135 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020136}
20137
20138void safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT::initialize(const safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT* src)
20139{
20140 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020141 maxInlineUniformBlockSize = src->maxInlineUniformBlockSize;
20142 maxPerStageDescriptorInlineUniformBlocks = src->maxPerStageDescriptorInlineUniformBlocks;
20143 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = src->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
20144 maxDescriptorSetInlineUniformBlocks = src->maxDescriptorSetInlineUniformBlocks;
20145 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = src->maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020146 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020147}
20148
20149safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT(const VkWriteDescriptorSetInlineUniformBlockEXT* in_struct) :
20150 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020151 dataSize(in_struct->dataSize),
20152 pData(in_struct->pData)
20153{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020154 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020155}
20156
Jason Macnak8f28eec2019-08-09 12:57:01 -070020157safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060020158 pNext(nullptr),
20159 pData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020160{}
20161
20162safe_VkWriteDescriptorSetInlineUniformBlockEXT::safe_VkWriteDescriptorSetInlineUniformBlockEXT(const safe_VkWriteDescriptorSetInlineUniformBlockEXT& src)
20163{
20164 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020165 dataSize = src.dataSize;
20166 pData = src.pData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020167 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020168}
20169
20170safe_VkWriteDescriptorSetInlineUniformBlockEXT& safe_VkWriteDescriptorSetInlineUniformBlockEXT::operator=(const safe_VkWriteDescriptorSetInlineUniformBlockEXT& src)
20171{
20172 if (&src == this) return *this;
20173
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020174 if (pNext)
20175 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020176
20177 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020178 dataSize = src.dataSize;
20179 pData = src.pData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020180 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020181
20182 return *this;
20183}
20184
20185safe_VkWriteDescriptorSetInlineUniformBlockEXT::~safe_VkWriteDescriptorSetInlineUniformBlockEXT()
20186{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020187 if (pNext)
20188 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020189}
20190
20191void safe_VkWriteDescriptorSetInlineUniformBlockEXT::initialize(const VkWriteDescriptorSetInlineUniformBlockEXT* in_struct)
20192{
20193 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020194 dataSize = in_struct->dataSize;
20195 pData = in_struct->pData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020196 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020197}
20198
20199void safe_VkWriteDescriptorSetInlineUniformBlockEXT::initialize(const safe_VkWriteDescriptorSetInlineUniformBlockEXT* src)
20200{
20201 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020202 dataSize = src->dataSize;
20203 pData = src->pData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020204 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020205}
20206
20207safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* in_struct) :
20208 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020209 maxInlineUniformBlockBindings(in_struct->maxInlineUniformBlockBindings)
20210{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020211 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020212}
20213
Jason Macnak8f28eec2019-08-09 12:57:01 -070020214safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT() :
20215 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020216{}
20217
20218safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& src)
20219{
20220 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020221 maxInlineUniformBlockBindings = src.maxInlineUniformBlockBindings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020222 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020223}
20224
20225safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::operator=(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT& src)
20226{
20227 if (&src == this) return *this;
20228
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020229 if (pNext)
20230 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020231
20232 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020233 maxInlineUniformBlockBindings = src.maxInlineUniformBlockBindings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020234 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020235
20236 return *this;
20237}
20238
20239safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::~safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT()
20240{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020241 if (pNext)
20242 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020243}
20244
20245void safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::initialize(const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* in_struct)
20246{
20247 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020248 maxInlineUniformBlockBindings = in_struct->maxInlineUniformBlockBindings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020249 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020250}
20251
20252void safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT::initialize(const safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT* src)
20253{
20254 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020255 maxInlineUniformBlockBindings = src->maxInlineUniformBlockBindings;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020256 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020257}
20258
20259safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const VkSampleLocationsInfoEXT* in_struct) :
20260 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020261 sampleLocationsPerPixel(in_struct->sampleLocationsPerPixel),
20262 sampleLocationGridSize(in_struct->sampleLocationGridSize),
20263 sampleLocationsCount(in_struct->sampleLocationsCount),
20264 pSampleLocations(nullptr)
20265{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020266 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020267 if (in_struct->pSampleLocations) {
20268 pSampleLocations = new VkSampleLocationEXT[in_struct->sampleLocationsCount];
20269 memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkSampleLocationEXT)*in_struct->sampleLocationsCount);
20270 }
20271}
20272
20273safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070020274 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020275 pSampleLocations(nullptr)
20276{}
20277
20278safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const safe_VkSampleLocationsInfoEXT& src)
20279{
20280 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020281 sampleLocationsPerPixel = src.sampleLocationsPerPixel;
20282 sampleLocationGridSize = src.sampleLocationGridSize;
20283 sampleLocationsCount = src.sampleLocationsCount;
20284 pSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020285 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020286 if (src.pSampleLocations) {
20287 pSampleLocations = new VkSampleLocationEXT[src.sampleLocationsCount];
20288 memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkSampleLocationEXT)*src.sampleLocationsCount);
20289 }
20290}
20291
20292safe_VkSampleLocationsInfoEXT& safe_VkSampleLocationsInfoEXT::operator=(const safe_VkSampleLocationsInfoEXT& src)
20293{
20294 if (&src == this) return *this;
20295
20296 if (pSampleLocations)
20297 delete[] pSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020298 if (pNext)
20299 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020300
20301 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020302 sampleLocationsPerPixel = src.sampleLocationsPerPixel;
20303 sampleLocationGridSize = src.sampleLocationGridSize;
20304 sampleLocationsCount = src.sampleLocationsCount;
20305 pSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020306 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020307 if (src.pSampleLocations) {
20308 pSampleLocations = new VkSampleLocationEXT[src.sampleLocationsCount];
20309 memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkSampleLocationEXT)*src.sampleLocationsCount);
20310 }
20311
20312 return *this;
20313}
20314
20315safe_VkSampleLocationsInfoEXT::~safe_VkSampleLocationsInfoEXT()
20316{
20317 if (pSampleLocations)
20318 delete[] pSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020319 if (pNext)
20320 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020321}
20322
20323void safe_VkSampleLocationsInfoEXT::initialize(const VkSampleLocationsInfoEXT* in_struct)
20324{
20325 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020326 sampleLocationsPerPixel = in_struct->sampleLocationsPerPixel;
20327 sampleLocationGridSize = in_struct->sampleLocationGridSize;
20328 sampleLocationsCount = in_struct->sampleLocationsCount;
20329 pSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020330 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020331 if (in_struct->pSampleLocations) {
20332 pSampleLocations = new VkSampleLocationEXT[in_struct->sampleLocationsCount];
20333 memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkSampleLocationEXT)*in_struct->sampleLocationsCount);
20334 }
20335}
20336
20337void safe_VkSampleLocationsInfoEXT::initialize(const safe_VkSampleLocationsInfoEXT* src)
20338{
20339 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020340 sampleLocationsPerPixel = src->sampleLocationsPerPixel;
20341 sampleLocationGridSize = src->sampleLocationGridSize;
20342 sampleLocationsCount = src->sampleLocationsCount;
20343 pSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020344 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020345 if (src->pSampleLocations) {
20346 pSampleLocations = new VkSampleLocationEXT[src->sampleLocationsCount];
20347 memcpy ((void *)pSampleLocations, (void *)src->pSampleLocations, sizeof(VkSampleLocationEXT)*src->sampleLocationsCount);
20348 }
20349}
20350
20351safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT(const VkRenderPassSampleLocationsBeginInfoEXT* in_struct) :
20352 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020353 attachmentInitialSampleLocationsCount(in_struct->attachmentInitialSampleLocationsCount),
20354 pAttachmentInitialSampleLocations(nullptr),
20355 postSubpassSampleLocationsCount(in_struct->postSubpassSampleLocationsCount),
20356 pPostSubpassSampleLocations(nullptr)
20357{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020358 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020359 if (in_struct->pAttachmentInitialSampleLocations) {
20360 pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[in_struct->attachmentInitialSampleLocationsCount];
20361 memcpy ((void *)pAttachmentInitialSampleLocations, (void *)in_struct->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*in_struct->attachmentInitialSampleLocationsCount);
20362 }
20363 if (in_struct->pPostSubpassSampleLocations) {
20364 pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[in_struct->postSubpassSampleLocationsCount];
20365 memcpy ((void *)pPostSubpassSampleLocations, (void *)in_struct->pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*in_struct->postSubpassSampleLocationsCount);
20366 }
20367}
20368
20369safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070020370 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020371 pAttachmentInitialSampleLocations(nullptr),
20372 pPostSubpassSampleLocations(nullptr)
20373{}
20374
20375safe_VkRenderPassSampleLocationsBeginInfoEXT::safe_VkRenderPassSampleLocationsBeginInfoEXT(const safe_VkRenderPassSampleLocationsBeginInfoEXT& src)
20376{
20377 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020378 attachmentInitialSampleLocationsCount = src.attachmentInitialSampleLocationsCount;
20379 pAttachmentInitialSampleLocations = nullptr;
20380 postSubpassSampleLocationsCount = src.postSubpassSampleLocationsCount;
20381 pPostSubpassSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020382 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020383 if (src.pAttachmentInitialSampleLocations) {
20384 pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src.attachmentInitialSampleLocationsCount];
20385 memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src.pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src.attachmentInitialSampleLocationsCount);
20386 }
20387 if (src.pPostSubpassSampleLocations) {
20388 pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[src.postSubpassSampleLocationsCount];
20389 memcpy ((void *)pPostSubpassSampleLocations, (void *)src.pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*src.postSubpassSampleLocationsCount);
20390 }
20391}
20392
20393safe_VkRenderPassSampleLocationsBeginInfoEXT& safe_VkRenderPassSampleLocationsBeginInfoEXT::operator=(const safe_VkRenderPassSampleLocationsBeginInfoEXT& src)
20394{
20395 if (&src == this) return *this;
20396
20397 if (pAttachmentInitialSampleLocations)
20398 delete[] pAttachmentInitialSampleLocations;
20399 if (pPostSubpassSampleLocations)
20400 delete[] pPostSubpassSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020401 if (pNext)
20402 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020403
20404 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020405 attachmentInitialSampleLocationsCount = src.attachmentInitialSampleLocationsCount;
20406 pAttachmentInitialSampleLocations = nullptr;
20407 postSubpassSampleLocationsCount = src.postSubpassSampleLocationsCount;
20408 pPostSubpassSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020409 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020410 if (src.pAttachmentInitialSampleLocations) {
20411 pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src.attachmentInitialSampleLocationsCount];
20412 memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src.pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src.attachmentInitialSampleLocationsCount);
20413 }
20414 if (src.pPostSubpassSampleLocations) {
20415 pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[src.postSubpassSampleLocationsCount];
20416 memcpy ((void *)pPostSubpassSampleLocations, (void *)src.pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*src.postSubpassSampleLocationsCount);
20417 }
20418
20419 return *this;
20420}
20421
20422safe_VkRenderPassSampleLocationsBeginInfoEXT::~safe_VkRenderPassSampleLocationsBeginInfoEXT()
20423{
20424 if (pAttachmentInitialSampleLocations)
20425 delete[] pAttachmentInitialSampleLocations;
20426 if (pPostSubpassSampleLocations)
20427 delete[] pPostSubpassSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020428 if (pNext)
20429 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020430}
20431
20432void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const VkRenderPassSampleLocationsBeginInfoEXT* in_struct)
20433{
20434 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020435 attachmentInitialSampleLocationsCount = in_struct->attachmentInitialSampleLocationsCount;
20436 pAttachmentInitialSampleLocations = nullptr;
20437 postSubpassSampleLocationsCount = in_struct->postSubpassSampleLocationsCount;
20438 pPostSubpassSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020439 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020440 if (in_struct->pAttachmentInitialSampleLocations) {
20441 pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[in_struct->attachmentInitialSampleLocationsCount];
20442 memcpy ((void *)pAttachmentInitialSampleLocations, (void *)in_struct->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*in_struct->attachmentInitialSampleLocationsCount);
20443 }
20444 if (in_struct->pPostSubpassSampleLocations) {
20445 pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[in_struct->postSubpassSampleLocationsCount];
20446 memcpy ((void *)pPostSubpassSampleLocations, (void *)in_struct->pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*in_struct->postSubpassSampleLocationsCount);
20447 }
20448}
20449
20450void safe_VkRenderPassSampleLocationsBeginInfoEXT::initialize(const safe_VkRenderPassSampleLocationsBeginInfoEXT* src)
20451{
20452 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020453 attachmentInitialSampleLocationsCount = src->attachmentInitialSampleLocationsCount;
20454 pAttachmentInitialSampleLocations = nullptr;
20455 postSubpassSampleLocationsCount = src->postSubpassSampleLocationsCount;
20456 pPostSubpassSampleLocations = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020457 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020458 if (src->pAttachmentInitialSampleLocations) {
20459 pAttachmentInitialSampleLocations = new VkAttachmentSampleLocationsEXT[src->attachmentInitialSampleLocationsCount];
20460 memcpy ((void *)pAttachmentInitialSampleLocations, (void *)src->pAttachmentInitialSampleLocations, sizeof(VkAttachmentSampleLocationsEXT)*src->attachmentInitialSampleLocationsCount);
20461 }
20462 if (src->pPostSubpassSampleLocations) {
20463 pPostSubpassSampleLocations = new VkSubpassSampleLocationsEXT[src->postSubpassSampleLocationsCount];
20464 memcpy ((void *)pPostSubpassSampleLocations, (void *)src->pPostSubpassSampleLocations, sizeof(VkSubpassSampleLocationsEXT)*src->postSubpassSampleLocationsCount);
20465 }
20466}
20467
20468safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT(const VkPipelineSampleLocationsStateCreateInfoEXT* in_struct) :
20469 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020470 sampleLocationsEnable(in_struct->sampleLocationsEnable),
20471 sampleLocationsInfo(&in_struct->sampleLocationsInfo)
20472{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020473 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020474}
20475
Jason Macnak8f28eec2019-08-09 12:57:01 -070020476safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT() :
20477 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020478{}
20479
20480safe_VkPipelineSampleLocationsStateCreateInfoEXT::safe_VkPipelineSampleLocationsStateCreateInfoEXT(const safe_VkPipelineSampleLocationsStateCreateInfoEXT& src)
20481{
20482 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020483 sampleLocationsEnable = src.sampleLocationsEnable;
20484 sampleLocationsInfo.initialize(&src.sampleLocationsInfo);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020485 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020486}
20487
20488safe_VkPipelineSampleLocationsStateCreateInfoEXT& safe_VkPipelineSampleLocationsStateCreateInfoEXT::operator=(const safe_VkPipelineSampleLocationsStateCreateInfoEXT& src)
20489{
20490 if (&src == this) return *this;
20491
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020492 if (pNext)
20493 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020494
20495 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020496 sampleLocationsEnable = src.sampleLocationsEnable;
20497 sampleLocationsInfo.initialize(&src.sampleLocationsInfo);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020498 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020499
20500 return *this;
20501}
20502
20503safe_VkPipelineSampleLocationsStateCreateInfoEXT::~safe_VkPipelineSampleLocationsStateCreateInfoEXT()
20504{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020505 if (pNext)
20506 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020507}
20508
20509void safe_VkPipelineSampleLocationsStateCreateInfoEXT::initialize(const VkPipelineSampleLocationsStateCreateInfoEXT* in_struct)
20510{
20511 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020512 sampleLocationsEnable = in_struct->sampleLocationsEnable;
20513 sampleLocationsInfo.initialize(&in_struct->sampleLocationsInfo);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020514 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020515}
20516
20517void safe_VkPipelineSampleLocationsStateCreateInfoEXT::initialize(const safe_VkPipelineSampleLocationsStateCreateInfoEXT* src)
20518{
20519 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020520 sampleLocationsEnable = src->sampleLocationsEnable;
20521 sampleLocationsInfo.initialize(&src->sampleLocationsInfo);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020522 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020523}
20524
20525safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const VkPhysicalDeviceSampleLocationsPropertiesEXT* in_struct) :
20526 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020527 sampleLocationSampleCounts(in_struct->sampleLocationSampleCounts),
20528 maxSampleLocationGridSize(in_struct->maxSampleLocationGridSize),
20529 sampleLocationSubPixelBits(in_struct->sampleLocationSubPixelBits),
20530 variableSampleLocations(in_struct->variableSampleLocations)
20531{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020532 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020533 for (uint32_t i=0; i<2; ++i) {
20534 sampleLocationCoordinateRange[i] = in_struct->sampleLocationCoordinateRange[i];
20535 }
20536}
20537
Jason Macnak8f28eec2019-08-09 12:57:01 -070020538safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT() :
20539 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020540{}
20541
20542safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::safe_VkPhysicalDeviceSampleLocationsPropertiesEXT(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& src)
20543{
20544 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020545 sampleLocationSampleCounts = src.sampleLocationSampleCounts;
20546 maxSampleLocationGridSize = src.maxSampleLocationGridSize;
20547 sampleLocationSubPixelBits = src.sampleLocationSubPixelBits;
20548 variableSampleLocations = src.variableSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020549 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020550 for (uint32_t i=0; i<2; ++i) {
20551 sampleLocationCoordinateRange[i] = src.sampleLocationCoordinateRange[i];
20552 }
20553}
20554
20555safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::operator=(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT& src)
20556{
20557 if (&src == this) return *this;
20558
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020559 if (pNext)
20560 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020561
20562 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020563 sampleLocationSampleCounts = src.sampleLocationSampleCounts;
20564 maxSampleLocationGridSize = src.maxSampleLocationGridSize;
20565 sampleLocationSubPixelBits = src.sampleLocationSubPixelBits;
20566 variableSampleLocations = src.variableSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020567 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020568 for (uint32_t i=0; i<2; ++i) {
20569 sampleLocationCoordinateRange[i] = src.sampleLocationCoordinateRange[i];
20570 }
20571
20572 return *this;
20573}
20574
20575safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::~safe_VkPhysicalDeviceSampleLocationsPropertiesEXT()
20576{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020577 if (pNext)
20578 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020579}
20580
20581void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const VkPhysicalDeviceSampleLocationsPropertiesEXT* in_struct)
20582{
20583 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020584 sampleLocationSampleCounts = in_struct->sampleLocationSampleCounts;
20585 maxSampleLocationGridSize = in_struct->maxSampleLocationGridSize;
20586 sampleLocationSubPixelBits = in_struct->sampleLocationSubPixelBits;
20587 variableSampleLocations = in_struct->variableSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020588 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020589 for (uint32_t i=0; i<2; ++i) {
20590 sampleLocationCoordinateRange[i] = in_struct->sampleLocationCoordinateRange[i];
20591 }
20592}
20593
20594void safe_VkPhysicalDeviceSampleLocationsPropertiesEXT::initialize(const safe_VkPhysicalDeviceSampleLocationsPropertiesEXT* src)
20595{
20596 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020597 sampleLocationSampleCounts = src->sampleLocationSampleCounts;
20598 maxSampleLocationGridSize = src->maxSampleLocationGridSize;
20599 sampleLocationSubPixelBits = src->sampleLocationSubPixelBits;
20600 variableSampleLocations = src->variableSampleLocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020601 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020602 for (uint32_t i=0; i<2; ++i) {
20603 sampleLocationCoordinateRange[i] = src->sampleLocationCoordinateRange[i];
20604 }
20605}
20606
20607safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT(const VkMultisamplePropertiesEXT* in_struct) :
20608 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020609 maxSampleLocationGridSize(in_struct->maxSampleLocationGridSize)
20610{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020611 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020612}
20613
Jason Macnak8f28eec2019-08-09 12:57:01 -070020614safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT() :
20615 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020616{}
20617
20618safe_VkMultisamplePropertiesEXT::safe_VkMultisamplePropertiesEXT(const safe_VkMultisamplePropertiesEXT& src)
20619{
20620 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020621 maxSampleLocationGridSize = src.maxSampleLocationGridSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020622 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020623}
20624
20625safe_VkMultisamplePropertiesEXT& safe_VkMultisamplePropertiesEXT::operator=(const safe_VkMultisamplePropertiesEXT& src)
20626{
20627 if (&src == this) return *this;
20628
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020629 if (pNext)
20630 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020631
20632 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020633 maxSampleLocationGridSize = src.maxSampleLocationGridSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020634 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020635
20636 return *this;
20637}
20638
20639safe_VkMultisamplePropertiesEXT::~safe_VkMultisamplePropertiesEXT()
20640{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020641 if (pNext)
20642 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020643}
20644
20645void safe_VkMultisamplePropertiesEXT::initialize(const VkMultisamplePropertiesEXT* in_struct)
20646{
20647 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020648 maxSampleLocationGridSize = in_struct->maxSampleLocationGridSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020649 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020650}
20651
20652void safe_VkMultisamplePropertiesEXT::initialize(const safe_VkMultisamplePropertiesEXT* src)
20653{
20654 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020655 maxSampleLocationGridSize = src->maxSampleLocationGridSize;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020656 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020657}
20658
20659safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* in_struct) :
20660 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020661 advancedBlendCoherentOperations(in_struct->advancedBlendCoherentOperations)
20662{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020663 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020664}
20665
Jason Macnak8f28eec2019-08-09 12:57:01 -070020666safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT() :
20667 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020668{}
20669
20670safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& src)
20671{
20672 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020673 advancedBlendCoherentOperations = src.advancedBlendCoherentOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020674 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020675}
20676
20677safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::operator=(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& src)
20678{
20679 if (&src == this) return *this;
20680
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020681 if (pNext)
20682 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020683
20684 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020685 advancedBlendCoherentOperations = src.advancedBlendCoherentOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020686 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020687
20688 return *this;
20689}
20690
20691safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::~safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT()
20692{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020693 if (pNext)
20694 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020695}
20696
20697void safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::initialize(const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* in_struct)
20698{
20699 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020700 advancedBlendCoherentOperations = in_struct->advancedBlendCoherentOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020701 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020702}
20703
20704void safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT::initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* src)
20705{
20706 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020707 advancedBlendCoherentOperations = src->advancedBlendCoherentOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020708 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020709}
20710
20711safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* in_struct) :
20712 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020713 advancedBlendMaxColorAttachments(in_struct->advancedBlendMaxColorAttachments),
20714 advancedBlendIndependentBlend(in_struct->advancedBlendIndependentBlend),
20715 advancedBlendNonPremultipliedSrcColor(in_struct->advancedBlendNonPremultipliedSrcColor),
20716 advancedBlendNonPremultipliedDstColor(in_struct->advancedBlendNonPremultipliedDstColor),
20717 advancedBlendCorrelatedOverlap(in_struct->advancedBlendCorrelatedOverlap),
20718 advancedBlendAllOperations(in_struct->advancedBlendAllOperations)
20719{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020720 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020721}
20722
Jason Macnak8f28eec2019-08-09 12:57:01 -070020723safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT() :
20724 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020725{}
20726
20727safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& src)
20728{
20729 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020730 advancedBlendMaxColorAttachments = src.advancedBlendMaxColorAttachments;
20731 advancedBlendIndependentBlend = src.advancedBlendIndependentBlend;
20732 advancedBlendNonPremultipliedSrcColor = src.advancedBlendNonPremultipliedSrcColor;
20733 advancedBlendNonPremultipliedDstColor = src.advancedBlendNonPremultipliedDstColor;
20734 advancedBlendCorrelatedOverlap = src.advancedBlendCorrelatedOverlap;
20735 advancedBlendAllOperations = src.advancedBlendAllOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020736 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020737}
20738
20739safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::operator=(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& src)
20740{
20741 if (&src == this) return *this;
20742
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020743 if (pNext)
20744 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020745
20746 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020747 advancedBlendMaxColorAttachments = src.advancedBlendMaxColorAttachments;
20748 advancedBlendIndependentBlend = src.advancedBlendIndependentBlend;
20749 advancedBlendNonPremultipliedSrcColor = src.advancedBlendNonPremultipliedSrcColor;
20750 advancedBlendNonPremultipliedDstColor = src.advancedBlendNonPremultipliedDstColor;
20751 advancedBlendCorrelatedOverlap = src.advancedBlendCorrelatedOverlap;
20752 advancedBlendAllOperations = src.advancedBlendAllOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020753 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020754
20755 return *this;
20756}
20757
20758safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::~safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT()
20759{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020760 if (pNext)
20761 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020762}
20763
20764void safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::initialize(const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* in_struct)
20765{
20766 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020767 advancedBlendMaxColorAttachments = in_struct->advancedBlendMaxColorAttachments;
20768 advancedBlendIndependentBlend = in_struct->advancedBlendIndependentBlend;
20769 advancedBlendNonPremultipliedSrcColor = in_struct->advancedBlendNonPremultipliedSrcColor;
20770 advancedBlendNonPremultipliedDstColor = in_struct->advancedBlendNonPremultipliedDstColor;
20771 advancedBlendCorrelatedOverlap = in_struct->advancedBlendCorrelatedOverlap;
20772 advancedBlendAllOperations = in_struct->advancedBlendAllOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020773 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020774}
20775
20776void safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT::initialize(const safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* src)
20777{
20778 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020779 advancedBlendMaxColorAttachments = src->advancedBlendMaxColorAttachments;
20780 advancedBlendIndependentBlend = src->advancedBlendIndependentBlend;
20781 advancedBlendNonPremultipliedSrcColor = src->advancedBlendNonPremultipliedSrcColor;
20782 advancedBlendNonPremultipliedDstColor = src->advancedBlendNonPremultipliedDstColor;
20783 advancedBlendCorrelatedOverlap = src->advancedBlendCorrelatedOverlap;
20784 advancedBlendAllOperations = src->advancedBlendAllOperations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020785 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020786}
20787
20788safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const VkPipelineColorBlendAdvancedStateCreateInfoEXT* in_struct) :
20789 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020790 srcPremultiplied(in_struct->srcPremultiplied),
20791 dstPremultiplied(in_struct->dstPremultiplied),
20792 blendOverlap(in_struct->blendOverlap)
20793{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020794 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020795}
20796
Jason Macnak8f28eec2019-08-09 12:57:01 -070020797safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT() :
20798 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020799{}
20800
20801safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& src)
20802{
20803 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020804 srcPremultiplied = src.srcPremultiplied;
20805 dstPremultiplied = src.dstPremultiplied;
20806 blendOverlap = src.blendOverlap;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020807 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020808}
20809
20810safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::operator=(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT& src)
20811{
20812 if (&src == this) return *this;
20813
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020814 if (pNext)
20815 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020816
20817 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020818 srcPremultiplied = src.srcPremultiplied;
20819 dstPremultiplied = src.dstPremultiplied;
20820 blendOverlap = src.blendOverlap;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020821 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020822
20823 return *this;
20824}
20825
20826safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::~safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT()
20827{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020828 if (pNext)
20829 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020830}
20831
20832void safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::initialize(const VkPipelineColorBlendAdvancedStateCreateInfoEXT* in_struct)
20833{
20834 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020835 srcPremultiplied = in_struct->srcPremultiplied;
20836 dstPremultiplied = in_struct->dstPremultiplied;
20837 blendOverlap = in_struct->blendOverlap;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020838 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020839}
20840
20841void safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT::initialize(const safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT* src)
20842{
20843 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020844 srcPremultiplied = src->srcPremultiplied;
20845 dstPremultiplied = src->dstPremultiplied;
20846 blendOverlap = src->blendOverlap;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020847 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020848}
20849
20850safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV(const VkPipelineCoverageToColorStateCreateInfoNV* in_struct) :
20851 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020852 flags(in_struct->flags),
20853 coverageToColorEnable(in_struct->coverageToColorEnable),
20854 coverageToColorLocation(in_struct->coverageToColorLocation)
20855{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020856 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020857}
20858
Jason Macnak8f28eec2019-08-09 12:57:01 -070020859safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV() :
20860 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070020861{}
20862
20863safe_VkPipelineCoverageToColorStateCreateInfoNV::safe_VkPipelineCoverageToColorStateCreateInfoNV(const safe_VkPipelineCoverageToColorStateCreateInfoNV& src)
20864{
20865 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020866 flags = src.flags;
20867 coverageToColorEnable = src.coverageToColorEnable;
20868 coverageToColorLocation = src.coverageToColorLocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020869 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020870}
20871
20872safe_VkPipelineCoverageToColorStateCreateInfoNV& safe_VkPipelineCoverageToColorStateCreateInfoNV::operator=(const safe_VkPipelineCoverageToColorStateCreateInfoNV& src)
20873{
20874 if (&src == this) return *this;
20875
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020876 if (pNext)
20877 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020878
20879 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020880 flags = src.flags;
20881 coverageToColorEnable = src.coverageToColorEnable;
20882 coverageToColorLocation = src.coverageToColorLocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020883 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020884
20885 return *this;
20886}
20887
20888safe_VkPipelineCoverageToColorStateCreateInfoNV::~safe_VkPipelineCoverageToColorStateCreateInfoNV()
20889{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020890 if (pNext)
20891 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020892}
20893
20894void safe_VkPipelineCoverageToColorStateCreateInfoNV::initialize(const VkPipelineCoverageToColorStateCreateInfoNV* in_struct)
20895{
20896 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020897 flags = in_struct->flags;
20898 coverageToColorEnable = in_struct->coverageToColorEnable;
20899 coverageToColorLocation = in_struct->coverageToColorLocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020900 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020901}
20902
20903void safe_VkPipelineCoverageToColorStateCreateInfoNV::initialize(const safe_VkPipelineCoverageToColorStateCreateInfoNV* src)
20904{
20905 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020906 flags = src->flags;
20907 coverageToColorEnable = src->coverageToColorEnable;
20908 coverageToColorLocation = src->coverageToColorLocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020909 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020910}
20911
20912safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV(const VkPipelineCoverageModulationStateCreateInfoNV* in_struct) :
20913 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020914 flags(in_struct->flags),
20915 coverageModulationMode(in_struct->coverageModulationMode),
20916 coverageModulationTableEnable(in_struct->coverageModulationTableEnable),
20917 coverageModulationTableCount(in_struct->coverageModulationTableCount),
20918 pCoverageModulationTable(nullptr)
20919{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020920 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020921 if (in_struct->pCoverageModulationTable) {
20922 pCoverageModulationTable = new float[in_struct->coverageModulationTableCount];
20923 memcpy ((void *)pCoverageModulationTable, (void *)in_struct->pCoverageModulationTable, sizeof(float)*in_struct->coverageModulationTableCount);
20924 }
20925}
20926
20927safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070020928 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070020929 pCoverageModulationTable(nullptr)
20930{}
20931
20932safe_VkPipelineCoverageModulationStateCreateInfoNV::safe_VkPipelineCoverageModulationStateCreateInfoNV(const safe_VkPipelineCoverageModulationStateCreateInfoNV& src)
20933{
20934 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020935 flags = src.flags;
20936 coverageModulationMode = src.coverageModulationMode;
20937 coverageModulationTableEnable = src.coverageModulationTableEnable;
20938 coverageModulationTableCount = src.coverageModulationTableCount;
20939 pCoverageModulationTable = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020940 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020941 if (src.pCoverageModulationTable) {
20942 pCoverageModulationTable = new float[src.coverageModulationTableCount];
20943 memcpy ((void *)pCoverageModulationTable, (void *)src.pCoverageModulationTable, sizeof(float)*src.coverageModulationTableCount);
20944 }
20945}
20946
20947safe_VkPipelineCoverageModulationStateCreateInfoNV& safe_VkPipelineCoverageModulationStateCreateInfoNV::operator=(const safe_VkPipelineCoverageModulationStateCreateInfoNV& src)
20948{
20949 if (&src == this) return *this;
20950
20951 if (pCoverageModulationTable)
20952 delete[] pCoverageModulationTable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020953 if (pNext)
20954 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020955
20956 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020957 flags = src.flags;
20958 coverageModulationMode = src.coverageModulationMode;
20959 coverageModulationTableEnable = src.coverageModulationTableEnable;
20960 coverageModulationTableCount = src.coverageModulationTableCount;
20961 pCoverageModulationTable = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020962 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020963 if (src.pCoverageModulationTable) {
20964 pCoverageModulationTable = new float[src.coverageModulationTableCount];
20965 memcpy ((void *)pCoverageModulationTable, (void *)src.pCoverageModulationTable, sizeof(float)*src.coverageModulationTableCount);
20966 }
20967
20968 return *this;
20969}
20970
20971safe_VkPipelineCoverageModulationStateCreateInfoNV::~safe_VkPipelineCoverageModulationStateCreateInfoNV()
20972{
20973 if (pCoverageModulationTable)
20974 delete[] pCoverageModulationTable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020975 if (pNext)
20976 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020977}
20978
20979void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const VkPipelineCoverageModulationStateCreateInfoNV* in_struct)
20980{
20981 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020982 flags = in_struct->flags;
20983 coverageModulationMode = in_struct->coverageModulationMode;
20984 coverageModulationTableEnable = in_struct->coverageModulationTableEnable;
20985 coverageModulationTableCount = in_struct->coverageModulationTableCount;
20986 pCoverageModulationTable = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060020987 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070020988 if (in_struct->pCoverageModulationTable) {
20989 pCoverageModulationTable = new float[in_struct->coverageModulationTableCount];
20990 memcpy ((void *)pCoverageModulationTable, (void *)in_struct->pCoverageModulationTable, sizeof(float)*in_struct->coverageModulationTableCount);
20991 }
20992}
20993
20994void safe_VkPipelineCoverageModulationStateCreateInfoNV::initialize(const safe_VkPipelineCoverageModulationStateCreateInfoNV* src)
20995{
20996 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070020997 flags = src->flags;
20998 coverageModulationMode = src->coverageModulationMode;
20999 coverageModulationTableEnable = src->coverageModulationTableEnable;
21000 coverageModulationTableCount = src->coverageModulationTableCount;
21001 pCoverageModulationTable = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021002 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021003 if (src->pCoverageModulationTable) {
21004 pCoverageModulationTable = new float[src->coverageModulationTableCount];
21005 memcpy ((void *)pCoverageModulationTable, (void *)src->pCoverageModulationTable, sizeof(float)*src->coverageModulationTableCount);
21006 }
21007}
21008
21009safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* in_struct) :
21010 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021011 shaderSMCount(in_struct->shaderSMCount),
21012 shaderWarpsPerSM(in_struct->shaderWarpsPerSM)
21013{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021014 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021015}
21016
Jason Macnak8f28eec2019-08-09 12:57:01 -070021017safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV() :
21018 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021019{}
21020
21021safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& src)
21022{
21023 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021024 shaderSMCount = src.shaderSMCount;
21025 shaderWarpsPerSM = src.shaderWarpsPerSM;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021026 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021027}
21028
21029safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::operator=(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& src)
21030{
21031 if (&src == this) return *this;
21032
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021033 if (pNext)
21034 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021035
21036 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021037 shaderSMCount = src.shaderSMCount;
21038 shaderWarpsPerSM = src.shaderWarpsPerSM;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021039 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021040
21041 return *this;
21042}
21043
21044safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::~safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV()
21045{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021046 if (pNext)
21047 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021048}
21049
21050void safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::initialize(const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* in_struct)
21051{
21052 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021053 shaderSMCount = in_struct->shaderSMCount;
21054 shaderWarpsPerSM = in_struct->shaderWarpsPerSM;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021055 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021056}
21057
21058void safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV::initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* src)
21059{
21060 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021061 shaderSMCount = src->shaderSMCount;
21062 shaderWarpsPerSM = src->shaderWarpsPerSM;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021063 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021064}
21065
21066safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* in_struct) :
21067 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021068 shaderSMBuiltins(in_struct->shaderSMBuiltins)
21069{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021070 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021071}
21072
Jason Macnak8f28eec2019-08-09 12:57:01 -070021073safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV() :
21074 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021075{}
21076
21077safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& src)
21078{
21079 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021080 shaderSMBuiltins = src.shaderSMBuiltins;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021081 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021082}
21083
21084safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::operator=(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& src)
21085{
21086 if (&src == this) return *this;
21087
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021088 if (pNext)
21089 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021090
21091 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021092 shaderSMBuiltins = src.shaderSMBuiltins;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021093 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021094
21095 return *this;
21096}
21097
21098safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::~safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV()
21099{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021100 if (pNext)
21101 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021102}
21103
21104void safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::initialize(const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* in_struct)
21105{
21106 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021107 shaderSMBuiltins = in_struct->shaderSMBuiltins;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021108 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021109}
21110
21111void safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV::initialize(const safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* src)
21112{
21113 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021114 shaderSMBuiltins = src->shaderSMBuiltins;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021115 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021116}
21117
21118safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT* in_struct) :
21119 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021120 drmFormatModifierCount(in_struct->drmFormatModifierCount),
21121 pDrmFormatModifierProperties(nullptr)
21122{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021123 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021124 if (in_struct->pDrmFormatModifierProperties) {
21125 pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[in_struct->drmFormatModifierCount];
21126 memcpy ((void *)pDrmFormatModifierProperties, (void *)in_struct->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*in_struct->drmFormatModifierCount);
21127 }
21128}
21129
21130safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070021131 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021132 pDrmFormatModifierProperties(nullptr)
21133{}
21134
21135safe_VkDrmFormatModifierPropertiesListEXT::safe_VkDrmFormatModifierPropertiesListEXT(const safe_VkDrmFormatModifierPropertiesListEXT& src)
21136{
21137 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021138 drmFormatModifierCount = src.drmFormatModifierCount;
21139 pDrmFormatModifierProperties = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021140 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021141 if (src.pDrmFormatModifierProperties) {
21142 pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src.drmFormatModifierCount];
21143 memcpy ((void *)pDrmFormatModifierProperties, (void *)src.pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src.drmFormatModifierCount);
21144 }
21145}
21146
21147safe_VkDrmFormatModifierPropertiesListEXT& safe_VkDrmFormatModifierPropertiesListEXT::operator=(const safe_VkDrmFormatModifierPropertiesListEXT& src)
21148{
21149 if (&src == this) return *this;
21150
21151 if (pDrmFormatModifierProperties)
21152 delete[] pDrmFormatModifierProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021153 if (pNext)
21154 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021155
21156 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021157 drmFormatModifierCount = src.drmFormatModifierCount;
21158 pDrmFormatModifierProperties = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021159 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021160 if (src.pDrmFormatModifierProperties) {
21161 pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src.drmFormatModifierCount];
21162 memcpy ((void *)pDrmFormatModifierProperties, (void *)src.pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src.drmFormatModifierCount);
21163 }
21164
21165 return *this;
21166}
21167
21168safe_VkDrmFormatModifierPropertiesListEXT::~safe_VkDrmFormatModifierPropertiesListEXT()
21169{
21170 if (pDrmFormatModifierProperties)
21171 delete[] pDrmFormatModifierProperties;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021172 if (pNext)
21173 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021174}
21175
21176void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const VkDrmFormatModifierPropertiesListEXT* in_struct)
21177{
21178 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021179 drmFormatModifierCount = in_struct->drmFormatModifierCount;
21180 pDrmFormatModifierProperties = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021181 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021182 if (in_struct->pDrmFormatModifierProperties) {
21183 pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[in_struct->drmFormatModifierCount];
21184 memcpy ((void *)pDrmFormatModifierProperties, (void *)in_struct->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*in_struct->drmFormatModifierCount);
21185 }
21186}
21187
21188void safe_VkDrmFormatModifierPropertiesListEXT::initialize(const safe_VkDrmFormatModifierPropertiesListEXT* src)
21189{
21190 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021191 drmFormatModifierCount = src->drmFormatModifierCount;
21192 pDrmFormatModifierProperties = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021193 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021194 if (src->pDrmFormatModifierProperties) {
21195 pDrmFormatModifierProperties = new VkDrmFormatModifierPropertiesEXT[src->drmFormatModifierCount];
21196 memcpy ((void *)pDrmFormatModifierProperties, (void *)src->pDrmFormatModifierProperties, sizeof(VkDrmFormatModifierPropertiesEXT)*src->drmFormatModifierCount);
21197 }
21198}
21199
21200safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* in_struct) :
21201 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021202 drmFormatModifier(in_struct->drmFormatModifier),
21203 sharingMode(in_struct->sharingMode),
21204 queueFamilyIndexCount(in_struct->queueFamilyIndexCount),
21205 pQueueFamilyIndices(nullptr)
21206{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021207 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021208 if (in_struct->pQueueFamilyIndices) {
21209 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
21210 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
21211 }
21212}
21213
21214safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070021215 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021216 pQueueFamilyIndices(nullptr)
21217{}
21218
21219safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& src)
21220{
21221 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021222 drmFormatModifier = src.drmFormatModifier;
21223 sharingMode = src.sharingMode;
21224 queueFamilyIndexCount = src.queueFamilyIndexCount;
21225 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021226 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021227 if (src.pQueueFamilyIndices) {
21228 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
21229 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
21230 }
21231}
21232
21233safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::operator=(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT& src)
21234{
21235 if (&src == this) return *this;
21236
21237 if (pQueueFamilyIndices)
21238 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021239 if (pNext)
21240 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021241
21242 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021243 drmFormatModifier = src.drmFormatModifier;
21244 sharingMode = src.sharingMode;
21245 queueFamilyIndexCount = src.queueFamilyIndexCount;
21246 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021247 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021248 if (src.pQueueFamilyIndices) {
21249 pQueueFamilyIndices = new uint32_t[src.queueFamilyIndexCount];
21250 memcpy ((void *)pQueueFamilyIndices, (void *)src.pQueueFamilyIndices, sizeof(uint32_t)*src.queueFamilyIndexCount);
21251 }
21252
21253 return *this;
21254}
21255
21256safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::~safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT()
21257{
21258 if (pQueueFamilyIndices)
21259 delete[] pQueueFamilyIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021260 if (pNext)
21261 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021262}
21263
21264void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* in_struct)
21265{
21266 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021267 drmFormatModifier = in_struct->drmFormatModifier;
21268 sharingMode = in_struct->sharingMode;
21269 queueFamilyIndexCount = in_struct->queueFamilyIndexCount;
21270 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021271 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021272 if (in_struct->pQueueFamilyIndices) {
21273 pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount];
21274 memcpy ((void *)pQueueFamilyIndices, (void *)in_struct->pQueueFamilyIndices, sizeof(uint32_t)*in_struct->queueFamilyIndexCount);
21275 }
21276}
21277
21278void safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT::initialize(const safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT* src)
21279{
21280 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021281 drmFormatModifier = src->drmFormatModifier;
21282 sharingMode = src->sharingMode;
21283 queueFamilyIndexCount = src->queueFamilyIndexCount;
21284 pQueueFamilyIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021285 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021286 if (src->pQueueFamilyIndices) {
21287 pQueueFamilyIndices = new uint32_t[src->queueFamilyIndexCount];
21288 memcpy ((void *)pQueueFamilyIndices, (void *)src->pQueueFamilyIndices, sizeof(uint32_t)*src->queueFamilyIndexCount);
21289 }
21290}
21291
21292safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT* in_struct) :
21293 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021294 drmFormatModifierCount(in_struct->drmFormatModifierCount),
21295 pDrmFormatModifiers(nullptr)
21296{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021297 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021298 if (in_struct->pDrmFormatModifiers) {
21299 pDrmFormatModifiers = new uint64_t[in_struct->drmFormatModifierCount];
21300 memcpy ((void *)pDrmFormatModifiers, (void *)in_struct->pDrmFormatModifiers, sizeof(uint64_t)*in_struct->drmFormatModifierCount);
21301 }
21302}
21303
21304safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070021305 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021306 pDrmFormatModifiers(nullptr)
21307{}
21308
21309safe_VkImageDrmFormatModifierListCreateInfoEXT::safe_VkImageDrmFormatModifierListCreateInfoEXT(const safe_VkImageDrmFormatModifierListCreateInfoEXT& src)
21310{
21311 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021312 drmFormatModifierCount = src.drmFormatModifierCount;
21313 pDrmFormatModifiers = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021314 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021315 if (src.pDrmFormatModifiers) {
21316 pDrmFormatModifiers = new uint64_t[src.drmFormatModifierCount];
21317 memcpy ((void *)pDrmFormatModifiers, (void *)src.pDrmFormatModifiers, sizeof(uint64_t)*src.drmFormatModifierCount);
21318 }
21319}
21320
21321safe_VkImageDrmFormatModifierListCreateInfoEXT& safe_VkImageDrmFormatModifierListCreateInfoEXT::operator=(const safe_VkImageDrmFormatModifierListCreateInfoEXT& src)
21322{
21323 if (&src == this) return *this;
21324
21325 if (pDrmFormatModifiers)
21326 delete[] pDrmFormatModifiers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021327 if (pNext)
21328 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021329
21330 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021331 drmFormatModifierCount = src.drmFormatModifierCount;
21332 pDrmFormatModifiers = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021333 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021334 if (src.pDrmFormatModifiers) {
21335 pDrmFormatModifiers = new uint64_t[src.drmFormatModifierCount];
21336 memcpy ((void *)pDrmFormatModifiers, (void *)src.pDrmFormatModifiers, sizeof(uint64_t)*src.drmFormatModifierCount);
21337 }
21338
21339 return *this;
21340}
21341
21342safe_VkImageDrmFormatModifierListCreateInfoEXT::~safe_VkImageDrmFormatModifierListCreateInfoEXT()
21343{
21344 if (pDrmFormatModifiers)
21345 delete[] pDrmFormatModifiers;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021346 if (pNext)
21347 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021348}
21349
21350void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const VkImageDrmFormatModifierListCreateInfoEXT* in_struct)
21351{
21352 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021353 drmFormatModifierCount = in_struct->drmFormatModifierCount;
21354 pDrmFormatModifiers = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021355 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021356 if (in_struct->pDrmFormatModifiers) {
21357 pDrmFormatModifiers = new uint64_t[in_struct->drmFormatModifierCount];
21358 memcpy ((void *)pDrmFormatModifiers, (void *)in_struct->pDrmFormatModifiers, sizeof(uint64_t)*in_struct->drmFormatModifierCount);
21359 }
21360}
21361
21362void safe_VkImageDrmFormatModifierListCreateInfoEXT::initialize(const safe_VkImageDrmFormatModifierListCreateInfoEXT* src)
21363{
21364 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021365 drmFormatModifierCount = src->drmFormatModifierCount;
21366 pDrmFormatModifiers = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021367 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021368 if (src->pDrmFormatModifiers) {
21369 pDrmFormatModifiers = new uint64_t[src->drmFormatModifierCount];
21370 memcpy ((void *)pDrmFormatModifiers, (void *)src->pDrmFormatModifiers, sizeof(uint64_t)*src->drmFormatModifierCount);
21371 }
21372}
21373
21374safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT* in_struct) :
21375 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021376 drmFormatModifier(in_struct->drmFormatModifier),
21377 drmFormatModifierPlaneCount(in_struct->drmFormatModifierPlaneCount),
21378 pPlaneLayouts(nullptr)
21379{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021380 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021381 if (in_struct->pPlaneLayouts) {
21382 pPlaneLayouts = new VkSubresourceLayout[in_struct->drmFormatModifierPlaneCount];
21383 memcpy ((void *)pPlaneLayouts, (void *)in_struct->pPlaneLayouts, sizeof(VkSubresourceLayout)*in_struct->drmFormatModifierPlaneCount);
21384 }
21385}
21386
21387safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070021388 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021389 pPlaneLayouts(nullptr)
21390{}
21391
21392safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::safe_VkImageDrmFormatModifierExplicitCreateInfoEXT(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& src)
21393{
21394 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021395 drmFormatModifier = src.drmFormatModifier;
21396 drmFormatModifierPlaneCount = src.drmFormatModifierPlaneCount;
21397 pPlaneLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021398 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021399 if (src.pPlaneLayouts) {
21400 pPlaneLayouts = new VkSubresourceLayout[src.drmFormatModifierPlaneCount];
21401 memcpy ((void *)pPlaneLayouts, (void *)src.pPlaneLayouts, sizeof(VkSubresourceLayout)*src.drmFormatModifierPlaneCount);
21402 }
21403}
21404
21405safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::operator=(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT& src)
21406{
21407 if (&src == this) return *this;
21408
21409 if (pPlaneLayouts)
21410 delete[] pPlaneLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021411 if (pNext)
21412 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021413
21414 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021415 drmFormatModifier = src.drmFormatModifier;
21416 drmFormatModifierPlaneCount = src.drmFormatModifierPlaneCount;
21417 pPlaneLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021418 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021419 if (src.pPlaneLayouts) {
21420 pPlaneLayouts = new VkSubresourceLayout[src.drmFormatModifierPlaneCount];
21421 memcpy ((void *)pPlaneLayouts, (void *)src.pPlaneLayouts, sizeof(VkSubresourceLayout)*src.drmFormatModifierPlaneCount);
21422 }
21423
21424 return *this;
21425}
21426
21427safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::~safe_VkImageDrmFormatModifierExplicitCreateInfoEXT()
21428{
21429 if (pPlaneLayouts)
21430 delete[] pPlaneLayouts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021431 if (pNext)
21432 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021433}
21434
21435void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const VkImageDrmFormatModifierExplicitCreateInfoEXT* in_struct)
21436{
21437 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021438 drmFormatModifier = in_struct->drmFormatModifier;
21439 drmFormatModifierPlaneCount = in_struct->drmFormatModifierPlaneCount;
21440 pPlaneLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021441 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021442 if (in_struct->pPlaneLayouts) {
21443 pPlaneLayouts = new VkSubresourceLayout[in_struct->drmFormatModifierPlaneCount];
21444 memcpy ((void *)pPlaneLayouts, (void *)in_struct->pPlaneLayouts, sizeof(VkSubresourceLayout)*in_struct->drmFormatModifierPlaneCount);
21445 }
21446}
21447
21448void safe_VkImageDrmFormatModifierExplicitCreateInfoEXT::initialize(const safe_VkImageDrmFormatModifierExplicitCreateInfoEXT* src)
21449{
21450 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021451 drmFormatModifier = src->drmFormatModifier;
21452 drmFormatModifierPlaneCount = src->drmFormatModifierPlaneCount;
21453 pPlaneLayouts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021454 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021455 if (src->pPlaneLayouts) {
21456 pPlaneLayouts = new VkSubresourceLayout[src->drmFormatModifierPlaneCount];
21457 memcpy ((void *)pPlaneLayouts, (void *)src->pPlaneLayouts, sizeof(VkSubresourceLayout)*src->drmFormatModifierPlaneCount);
21458 }
21459}
21460
21461safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT* in_struct) :
21462 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021463 drmFormatModifier(in_struct->drmFormatModifier)
21464{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021465 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021466}
21467
Jason Macnak8f28eec2019-08-09 12:57:01 -070021468safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT() :
21469 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021470{}
21471
21472safe_VkImageDrmFormatModifierPropertiesEXT::safe_VkImageDrmFormatModifierPropertiesEXT(const safe_VkImageDrmFormatModifierPropertiesEXT& src)
21473{
21474 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021475 drmFormatModifier = src.drmFormatModifier;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021476 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021477}
21478
21479safe_VkImageDrmFormatModifierPropertiesEXT& safe_VkImageDrmFormatModifierPropertiesEXT::operator=(const safe_VkImageDrmFormatModifierPropertiesEXT& src)
21480{
21481 if (&src == this) return *this;
21482
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021483 if (pNext)
21484 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021485
21486 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021487 drmFormatModifier = src.drmFormatModifier;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021488 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021489
21490 return *this;
21491}
21492
21493safe_VkImageDrmFormatModifierPropertiesEXT::~safe_VkImageDrmFormatModifierPropertiesEXT()
21494{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021495 if (pNext)
21496 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021497}
21498
21499void safe_VkImageDrmFormatModifierPropertiesEXT::initialize(const VkImageDrmFormatModifierPropertiesEXT* in_struct)
21500{
21501 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021502 drmFormatModifier = in_struct->drmFormatModifier;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021503 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021504}
21505
21506void safe_VkImageDrmFormatModifierPropertiesEXT::initialize(const safe_VkImageDrmFormatModifierPropertiesEXT* src)
21507{
21508 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021509 drmFormatModifier = src->drmFormatModifier;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021510 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021511}
21512
21513safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT(const VkValidationCacheCreateInfoEXT* in_struct) :
21514 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021515 flags(in_struct->flags),
21516 initialDataSize(in_struct->initialDataSize),
21517 pInitialData(in_struct->pInitialData)
21518{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021519 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021520}
21521
Jason Macnak8f28eec2019-08-09 12:57:01 -070021522safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060021523 pNext(nullptr),
21524 pInitialData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021525{}
21526
21527safe_VkValidationCacheCreateInfoEXT::safe_VkValidationCacheCreateInfoEXT(const safe_VkValidationCacheCreateInfoEXT& src)
21528{
21529 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021530 flags = src.flags;
21531 initialDataSize = src.initialDataSize;
21532 pInitialData = src.pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021533 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021534}
21535
21536safe_VkValidationCacheCreateInfoEXT& safe_VkValidationCacheCreateInfoEXT::operator=(const safe_VkValidationCacheCreateInfoEXT& src)
21537{
21538 if (&src == this) return *this;
21539
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021540 if (pNext)
21541 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021542
21543 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021544 flags = src.flags;
21545 initialDataSize = src.initialDataSize;
21546 pInitialData = src.pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021547 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021548
21549 return *this;
21550}
21551
21552safe_VkValidationCacheCreateInfoEXT::~safe_VkValidationCacheCreateInfoEXT()
21553{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021554 if (pNext)
21555 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021556}
21557
21558void safe_VkValidationCacheCreateInfoEXT::initialize(const VkValidationCacheCreateInfoEXT* in_struct)
21559{
21560 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021561 flags = in_struct->flags;
21562 initialDataSize = in_struct->initialDataSize;
21563 pInitialData = in_struct->pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021564 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021565}
21566
21567void safe_VkValidationCacheCreateInfoEXT::initialize(const safe_VkValidationCacheCreateInfoEXT* src)
21568{
21569 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021570 flags = src->flags;
21571 initialDataSize = src->initialDataSize;
21572 pInitialData = src->pInitialData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021573 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021574}
21575
21576safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT(const VkShaderModuleValidationCacheCreateInfoEXT* in_struct) :
21577 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021578 validationCache(in_struct->validationCache)
21579{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021580 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021581}
21582
Jason Macnak8f28eec2019-08-09 12:57:01 -070021583safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT() :
21584 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021585{}
21586
21587safe_VkShaderModuleValidationCacheCreateInfoEXT::safe_VkShaderModuleValidationCacheCreateInfoEXT(const safe_VkShaderModuleValidationCacheCreateInfoEXT& src)
21588{
21589 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021590 validationCache = src.validationCache;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021591 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021592}
21593
21594safe_VkShaderModuleValidationCacheCreateInfoEXT& safe_VkShaderModuleValidationCacheCreateInfoEXT::operator=(const safe_VkShaderModuleValidationCacheCreateInfoEXT& src)
21595{
21596 if (&src == this) return *this;
21597
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021598 if (pNext)
21599 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021600
21601 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021602 validationCache = src.validationCache;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021603 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021604
21605 return *this;
21606}
21607
21608safe_VkShaderModuleValidationCacheCreateInfoEXT::~safe_VkShaderModuleValidationCacheCreateInfoEXT()
21609{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021610 if (pNext)
21611 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021612}
21613
21614void safe_VkShaderModuleValidationCacheCreateInfoEXT::initialize(const VkShaderModuleValidationCacheCreateInfoEXT* in_struct)
21615{
21616 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021617 validationCache = in_struct->validationCache;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021618 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021619}
21620
21621void safe_VkShaderModuleValidationCacheCreateInfoEXT::initialize(const safe_VkShaderModuleValidationCacheCreateInfoEXT* src)
21622{
21623 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021624 validationCache = src->validationCache;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021625 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021626}
21627
21628safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* in_struct) :
21629 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021630 bindingCount(in_struct->bindingCount),
21631 pBindingFlags(nullptr)
21632{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021633 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021634 if (in_struct->pBindingFlags) {
21635 pBindingFlags = new VkDescriptorBindingFlagsEXT[in_struct->bindingCount];
21636 memcpy ((void *)pBindingFlags, (void *)in_struct->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*in_struct->bindingCount);
21637 }
21638}
21639
21640safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070021641 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021642 pBindingFlags(nullptr)
21643{}
21644
21645safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& src)
21646{
21647 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021648 bindingCount = src.bindingCount;
21649 pBindingFlags = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021650 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021651 if (src.pBindingFlags) {
21652 pBindingFlags = new VkDescriptorBindingFlagsEXT[src.bindingCount];
21653 memcpy ((void *)pBindingFlags, (void *)src.pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src.bindingCount);
21654 }
21655}
21656
21657safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::operator=(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& src)
21658{
21659 if (&src == this) return *this;
21660
21661 if (pBindingFlags)
21662 delete[] pBindingFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021663 if (pNext)
21664 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021665
21666 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021667 bindingCount = src.bindingCount;
21668 pBindingFlags = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021669 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021670 if (src.pBindingFlags) {
21671 pBindingFlags = new VkDescriptorBindingFlagsEXT[src.bindingCount];
21672 memcpy ((void *)pBindingFlags, (void *)src.pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src.bindingCount);
21673 }
21674
21675 return *this;
21676}
21677
21678safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::~safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT()
21679{
21680 if (pBindingFlags)
21681 delete[] pBindingFlags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021682 if (pNext)
21683 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021684}
21685
21686void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* in_struct)
21687{
21688 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021689 bindingCount = in_struct->bindingCount;
21690 pBindingFlags = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021691 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021692 if (in_struct->pBindingFlags) {
21693 pBindingFlags = new VkDescriptorBindingFlagsEXT[in_struct->bindingCount];
21694 memcpy ((void *)pBindingFlags, (void *)in_struct->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*in_struct->bindingCount);
21695 }
21696}
21697
21698void safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::initialize(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* src)
21699{
21700 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021701 bindingCount = src->bindingCount;
21702 pBindingFlags = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021703 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021704 if (src->pBindingFlags) {
21705 pBindingFlags = new VkDescriptorBindingFlagsEXT[src->bindingCount];
21706 memcpy ((void *)pBindingFlags, (void *)src->pBindingFlags, sizeof(VkDescriptorBindingFlagsEXT)*src->bindingCount);
21707 }
21708}
21709
21710safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* in_struct) :
21711 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021712 shaderInputAttachmentArrayDynamicIndexing(in_struct->shaderInputAttachmentArrayDynamicIndexing),
21713 shaderUniformTexelBufferArrayDynamicIndexing(in_struct->shaderUniformTexelBufferArrayDynamicIndexing),
21714 shaderStorageTexelBufferArrayDynamicIndexing(in_struct->shaderStorageTexelBufferArrayDynamicIndexing),
21715 shaderUniformBufferArrayNonUniformIndexing(in_struct->shaderUniformBufferArrayNonUniformIndexing),
21716 shaderSampledImageArrayNonUniformIndexing(in_struct->shaderSampledImageArrayNonUniformIndexing),
21717 shaderStorageBufferArrayNonUniformIndexing(in_struct->shaderStorageBufferArrayNonUniformIndexing),
21718 shaderStorageImageArrayNonUniformIndexing(in_struct->shaderStorageImageArrayNonUniformIndexing),
21719 shaderInputAttachmentArrayNonUniformIndexing(in_struct->shaderInputAttachmentArrayNonUniformIndexing),
21720 shaderUniformTexelBufferArrayNonUniformIndexing(in_struct->shaderUniformTexelBufferArrayNonUniformIndexing),
21721 shaderStorageTexelBufferArrayNonUniformIndexing(in_struct->shaderStorageTexelBufferArrayNonUniformIndexing),
21722 descriptorBindingUniformBufferUpdateAfterBind(in_struct->descriptorBindingUniformBufferUpdateAfterBind),
21723 descriptorBindingSampledImageUpdateAfterBind(in_struct->descriptorBindingSampledImageUpdateAfterBind),
21724 descriptorBindingStorageImageUpdateAfterBind(in_struct->descriptorBindingStorageImageUpdateAfterBind),
21725 descriptorBindingStorageBufferUpdateAfterBind(in_struct->descriptorBindingStorageBufferUpdateAfterBind),
21726 descriptorBindingUniformTexelBufferUpdateAfterBind(in_struct->descriptorBindingUniformTexelBufferUpdateAfterBind),
21727 descriptorBindingStorageTexelBufferUpdateAfterBind(in_struct->descriptorBindingStorageTexelBufferUpdateAfterBind),
21728 descriptorBindingUpdateUnusedWhilePending(in_struct->descriptorBindingUpdateUnusedWhilePending),
21729 descriptorBindingPartiallyBound(in_struct->descriptorBindingPartiallyBound),
21730 descriptorBindingVariableDescriptorCount(in_struct->descriptorBindingVariableDescriptorCount),
21731 runtimeDescriptorArray(in_struct->runtimeDescriptorArray)
21732{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021733 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021734}
21735
Jason Macnak8f28eec2019-08-09 12:57:01 -070021736safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT() :
21737 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021738{}
21739
21740safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& src)
21741{
21742 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021743 shaderInputAttachmentArrayDynamicIndexing = src.shaderInputAttachmentArrayDynamicIndexing;
21744 shaderUniformTexelBufferArrayDynamicIndexing = src.shaderUniformTexelBufferArrayDynamicIndexing;
21745 shaderStorageTexelBufferArrayDynamicIndexing = src.shaderStorageTexelBufferArrayDynamicIndexing;
21746 shaderUniformBufferArrayNonUniformIndexing = src.shaderUniformBufferArrayNonUniformIndexing;
21747 shaderSampledImageArrayNonUniformIndexing = src.shaderSampledImageArrayNonUniformIndexing;
21748 shaderStorageBufferArrayNonUniformIndexing = src.shaderStorageBufferArrayNonUniformIndexing;
21749 shaderStorageImageArrayNonUniformIndexing = src.shaderStorageImageArrayNonUniformIndexing;
21750 shaderInputAttachmentArrayNonUniformIndexing = src.shaderInputAttachmentArrayNonUniformIndexing;
21751 shaderUniformTexelBufferArrayNonUniformIndexing = src.shaderUniformTexelBufferArrayNonUniformIndexing;
21752 shaderStorageTexelBufferArrayNonUniformIndexing = src.shaderStorageTexelBufferArrayNonUniformIndexing;
21753 descriptorBindingUniformBufferUpdateAfterBind = src.descriptorBindingUniformBufferUpdateAfterBind;
21754 descriptorBindingSampledImageUpdateAfterBind = src.descriptorBindingSampledImageUpdateAfterBind;
21755 descriptorBindingStorageImageUpdateAfterBind = src.descriptorBindingStorageImageUpdateAfterBind;
21756 descriptorBindingStorageBufferUpdateAfterBind = src.descriptorBindingStorageBufferUpdateAfterBind;
21757 descriptorBindingUniformTexelBufferUpdateAfterBind = src.descriptorBindingUniformTexelBufferUpdateAfterBind;
21758 descriptorBindingStorageTexelBufferUpdateAfterBind = src.descriptorBindingStorageTexelBufferUpdateAfterBind;
21759 descriptorBindingUpdateUnusedWhilePending = src.descriptorBindingUpdateUnusedWhilePending;
21760 descriptorBindingPartiallyBound = src.descriptorBindingPartiallyBound;
21761 descriptorBindingVariableDescriptorCount = src.descriptorBindingVariableDescriptorCount;
21762 runtimeDescriptorArray = src.runtimeDescriptorArray;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021763 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021764}
21765
21766safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::operator=(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT& src)
21767{
21768 if (&src == this) return *this;
21769
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021770 if (pNext)
21771 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021772
21773 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021774 shaderInputAttachmentArrayDynamicIndexing = src.shaderInputAttachmentArrayDynamicIndexing;
21775 shaderUniformTexelBufferArrayDynamicIndexing = src.shaderUniformTexelBufferArrayDynamicIndexing;
21776 shaderStorageTexelBufferArrayDynamicIndexing = src.shaderStorageTexelBufferArrayDynamicIndexing;
21777 shaderUniformBufferArrayNonUniformIndexing = src.shaderUniformBufferArrayNonUniformIndexing;
21778 shaderSampledImageArrayNonUniformIndexing = src.shaderSampledImageArrayNonUniformIndexing;
21779 shaderStorageBufferArrayNonUniformIndexing = src.shaderStorageBufferArrayNonUniformIndexing;
21780 shaderStorageImageArrayNonUniformIndexing = src.shaderStorageImageArrayNonUniformIndexing;
21781 shaderInputAttachmentArrayNonUniformIndexing = src.shaderInputAttachmentArrayNonUniformIndexing;
21782 shaderUniformTexelBufferArrayNonUniformIndexing = src.shaderUniformTexelBufferArrayNonUniformIndexing;
21783 shaderStorageTexelBufferArrayNonUniformIndexing = src.shaderStorageTexelBufferArrayNonUniformIndexing;
21784 descriptorBindingUniformBufferUpdateAfterBind = src.descriptorBindingUniformBufferUpdateAfterBind;
21785 descriptorBindingSampledImageUpdateAfterBind = src.descriptorBindingSampledImageUpdateAfterBind;
21786 descriptorBindingStorageImageUpdateAfterBind = src.descriptorBindingStorageImageUpdateAfterBind;
21787 descriptorBindingStorageBufferUpdateAfterBind = src.descriptorBindingStorageBufferUpdateAfterBind;
21788 descriptorBindingUniformTexelBufferUpdateAfterBind = src.descriptorBindingUniformTexelBufferUpdateAfterBind;
21789 descriptorBindingStorageTexelBufferUpdateAfterBind = src.descriptorBindingStorageTexelBufferUpdateAfterBind;
21790 descriptorBindingUpdateUnusedWhilePending = src.descriptorBindingUpdateUnusedWhilePending;
21791 descriptorBindingPartiallyBound = src.descriptorBindingPartiallyBound;
21792 descriptorBindingVariableDescriptorCount = src.descriptorBindingVariableDescriptorCount;
21793 runtimeDescriptorArray = src.runtimeDescriptorArray;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021794 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021795
21796 return *this;
21797}
21798
21799safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::~safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT()
21800{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021801 if (pNext)
21802 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021803}
21804
21805void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* in_struct)
21806{
21807 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021808 shaderInputAttachmentArrayDynamicIndexing = in_struct->shaderInputAttachmentArrayDynamicIndexing;
21809 shaderUniformTexelBufferArrayDynamicIndexing = in_struct->shaderUniformTexelBufferArrayDynamicIndexing;
21810 shaderStorageTexelBufferArrayDynamicIndexing = in_struct->shaderStorageTexelBufferArrayDynamicIndexing;
21811 shaderUniformBufferArrayNonUniformIndexing = in_struct->shaderUniformBufferArrayNonUniformIndexing;
21812 shaderSampledImageArrayNonUniformIndexing = in_struct->shaderSampledImageArrayNonUniformIndexing;
21813 shaderStorageBufferArrayNonUniformIndexing = in_struct->shaderStorageBufferArrayNonUniformIndexing;
21814 shaderStorageImageArrayNonUniformIndexing = in_struct->shaderStorageImageArrayNonUniformIndexing;
21815 shaderInputAttachmentArrayNonUniformIndexing = in_struct->shaderInputAttachmentArrayNonUniformIndexing;
21816 shaderUniformTexelBufferArrayNonUniformIndexing = in_struct->shaderUniformTexelBufferArrayNonUniformIndexing;
21817 shaderStorageTexelBufferArrayNonUniformIndexing = in_struct->shaderStorageTexelBufferArrayNonUniformIndexing;
21818 descriptorBindingUniformBufferUpdateAfterBind = in_struct->descriptorBindingUniformBufferUpdateAfterBind;
21819 descriptorBindingSampledImageUpdateAfterBind = in_struct->descriptorBindingSampledImageUpdateAfterBind;
21820 descriptorBindingStorageImageUpdateAfterBind = in_struct->descriptorBindingStorageImageUpdateAfterBind;
21821 descriptorBindingStorageBufferUpdateAfterBind = in_struct->descriptorBindingStorageBufferUpdateAfterBind;
21822 descriptorBindingUniformTexelBufferUpdateAfterBind = in_struct->descriptorBindingUniformTexelBufferUpdateAfterBind;
21823 descriptorBindingStorageTexelBufferUpdateAfterBind = in_struct->descriptorBindingStorageTexelBufferUpdateAfterBind;
21824 descriptorBindingUpdateUnusedWhilePending = in_struct->descriptorBindingUpdateUnusedWhilePending;
21825 descriptorBindingPartiallyBound = in_struct->descriptorBindingPartiallyBound;
21826 descriptorBindingVariableDescriptorCount = in_struct->descriptorBindingVariableDescriptorCount;
21827 runtimeDescriptorArray = in_struct->runtimeDescriptorArray;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021828 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021829}
21830
21831void safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT::initialize(const safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT* src)
21832{
21833 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021834 shaderInputAttachmentArrayDynamicIndexing = src->shaderInputAttachmentArrayDynamicIndexing;
21835 shaderUniformTexelBufferArrayDynamicIndexing = src->shaderUniformTexelBufferArrayDynamicIndexing;
21836 shaderStorageTexelBufferArrayDynamicIndexing = src->shaderStorageTexelBufferArrayDynamicIndexing;
21837 shaderUniformBufferArrayNonUniformIndexing = src->shaderUniformBufferArrayNonUniformIndexing;
21838 shaderSampledImageArrayNonUniformIndexing = src->shaderSampledImageArrayNonUniformIndexing;
21839 shaderStorageBufferArrayNonUniformIndexing = src->shaderStorageBufferArrayNonUniformIndexing;
21840 shaderStorageImageArrayNonUniformIndexing = src->shaderStorageImageArrayNonUniformIndexing;
21841 shaderInputAttachmentArrayNonUniformIndexing = src->shaderInputAttachmentArrayNonUniformIndexing;
21842 shaderUniformTexelBufferArrayNonUniformIndexing = src->shaderUniformTexelBufferArrayNonUniformIndexing;
21843 shaderStorageTexelBufferArrayNonUniformIndexing = src->shaderStorageTexelBufferArrayNonUniformIndexing;
21844 descriptorBindingUniformBufferUpdateAfterBind = src->descriptorBindingUniformBufferUpdateAfterBind;
21845 descriptorBindingSampledImageUpdateAfterBind = src->descriptorBindingSampledImageUpdateAfterBind;
21846 descriptorBindingStorageImageUpdateAfterBind = src->descriptorBindingStorageImageUpdateAfterBind;
21847 descriptorBindingStorageBufferUpdateAfterBind = src->descriptorBindingStorageBufferUpdateAfterBind;
21848 descriptorBindingUniformTexelBufferUpdateAfterBind = src->descriptorBindingUniformTexelBufferUpdateAfterBind;
21849 descriptorBindingStorageTexelBufferUpdateAfterBind = src->descriptorBindingStorageTexelBufferUpdateAfterBind;
21850 descriptorBindingUpdateUnusedWhilePending = src->descriptorBindingUpdateUnusedWhilePending;
21851 descriptorBindingPartiallyBound = src->descriptorBindingPartiallyBound;
21852 descriptorBindingVariableDescriptorCount = src->descriptorBindingVariableDescriptorCount;
21853 runtimeDescriptorArray = src->runtimeDescriptorArray;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021854 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021855}
21856
21857safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* in_struct) :
21858 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070021859 maxUpdateAfterBindDescriptorsInAllPools(in_struct->maxUpdateAfterBindDescriptorsInAllPools),
21860 shaderUniformBufferArrayNonUniformIndexingNative(in_struct->shaderUniformBufferArrayNonUniformIndexingNative),
21861 shaderSampledImageArrayNonUniformIndexingNative(in_struct->shaderSampledImageArrayNonUniformIndexingNative),
21862 shaderStorageBufferArrayNonUniformIndexingNative(in_struct->shaderStorageBufferArrayNonUniformIndexingNative),
21863 shaderStorageImageArrayNonUniformIndexingNative(in_struct->shaderStorageImageArrayNonUniformIndexingNative),
21864 shaderInputAttachmentArrayNonUniformIndexingNative(in_struct->shaderInputAttachmentArrayNonUniformIndexingNative),
21865 robustBufferAccessUpdateAfterBind(in_struct->robustBufferAccessUpdateAfterBind),
21866 quadDivergentImplicitLod(in_struct->quadDivergentImplicitLod),
21867 maxPerStageDescriptorUpdateAfterBindSamplers(in_struct->maxPerStageDescriptorUpdateAfterBindSamplers),
21868 maxPerStageDescriptorUpdateAfterBindUniformBuffers(in_struct->maxPerStageDescriptorUpdateAfterBindUniformBuffers),
21869 maxPerStageDescriptorUpdateAfterBindStorageBuffers(in_struct->maxPerStageDescriptorUpdateAfterBindStorageBuffers),
21870 maxPerStageDescriptorUpdateAfterBindSampledImages(in_struct->maxPerStageDescriptorUpdateAfterBindSampledImages),
21871 maxPerStageDescriptorUpdateAfterBindStorageImages(in_struct->maxPerStageDescriptorUpdateAfterBindStorageImages),
21872 maxPerStageDescriptorUpdateAfterBindInputAttachments(in_struct->maxPerStageDescriptorUpdateAfterBindInputAttachments),
21873 maxPerStageUpdateAfterBindResources(in_struct->maxPerStageUpdateAfterBindResources),
21874 maxDescriptorSetUpdateAfterBindSamplers(in_struct->maxDescriptorSetUpdateAfterBindSamplers),
21875 maxDescriptorSetUpdateAfterBindUniformBuffers(in_struct->maxDescriptorSetUpdateAfterBindUniformBuffers),
21876 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(in_struct->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic),
21877 maxDescriptorSetUpdateAfterBindStorageBuffers(in_struct->maxDescriptorSetUpdateAfterBindStorageBuffers),
21878 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(in_struct->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic),
21879 maxDescriptorSetUpdateAfterBindSampledImages(in_struct->maxDescriptorSetUpdateAfterBindSampledImages),
21880 maxDescriptorSetUpdateAfterBindStorageImages(in_struct->maxDescriptorSetUpdateAfterBindStorageImages),
21881 maxDescriptorSetUpdateAfterBindInputAttachments(in_struct->maxDescriptorSetUpdateAfterBindInputAttachments)
21882{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021883 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021884}
21885
Jason Macnak8f28eec2019-08-09 12:57:01 -070021886safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT() :
21887 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070021888{}
21889
21890safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& src)
21891{
21892 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021893 maxUpdateAfterBindDescriptorsInAllPools = src.maxUpdateAfterBindDescriptorsInAllPools;
21894 shaderUniformBufferArrayNonUniformIndexingNative = src.shaderUniformBufferArrayNonUniformIndexingNative;
21895 shaderSampledImageArrayNonUniformIndexingNative = src.shaderSampledImageArrayNonUniformIndexingNative;
21896 shaderStorageBufferArrayNonUniformIndexingNative = src.shaderStorageBufferArrayNonUniformIndexingNative;
21897 shaderStorageImageArrayNonUniformIndexingNative = src.shaderStorageImageArrayNonUniformIndexingNative;
21898 shaderInputAttachmentArrayNonUniformIndexingNative = src.shaderInputAttachmentArrayNonUniformIndexingNative;
21899 robustBufferAccessUpdateAfterBind = src.robustBufferAccessUpdateAfterBind;
21900 quadDivergentImplicitLod = src.quadDivergentImplicitLod;
21901 maxPerStageDescriptorUpdateAfterBindSamplers = src.maxPerStageDescriptorUpdateAfterBindSamplers;
21902 maxPerStageDescriptorUpdateAfterBindUniformBuffers = src.maxPerStageDescriptorUpdateAfterBindUniformBuffers;
21903 maxPerStageDescriptorUpdateAfterBindStorageBuffers = src.maxPerStageDescriptorUpdateAfterBindStorageBuffers;
21904 maxPerStageDescriptorUpdateAfterBindSampledImages = src.maxPerStageDescriptorUpdateAfterBindSampledImages;
21905 maxPerStageDescriptorUpdateAfterBindStorageImages = src.maxPerStageDescriptorUpdateAfterBindStorageImages;
21906 maxPerStageDescriptorUpdateAfterBindInputAttachments = src.maxPerStageDescriptorUpdateAfterBindInputAttachments;
21907 maxPerStageUpdateAfterBindResources = src.maxPerStageUpdateAfterBindResources;
21908 maxDescriptorSetUpdateAfterBindSamplers = src.maxDescriptorSetUpdateAfterBindSamplers;
21909 maxDescriptorSetUpdateAfterBindUniformBuffers = src.maxDescriptorSetUpdateAfterBindUniformBuffers;
21910 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = src.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
21911 maxDescriptorSetUpdateAfterBindStorageBuffers = src.maxDescriptorSetUpdateAfterBindStorageBuffers;
21912 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = src.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
21913 maxDescriptorSetUpdateAfterBindSampledImages = src.maxDescriptorSetUpdateAfterBindSampledImages;
21914 maxDescriptorSetUpdateAfterBindStorageImages = src.maxDescriptorSetUpdateAfterBindStorageImages;
21915 maxDescriptorSetUpdateAfterBindInputAttachments = src.maxDescriptorSetUpdateAfterBindInputAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021916 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021917}
21918
21919safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::operator=(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT& src)
21920{
21921 if (&src == this) return *this;
21922
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021923 if (pNext)
21924 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021925
21926 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021927 maxUpdateAfterBindDescriptorsInAllPools = src.maxUpdateAfterBindDescriptorsInAllPools;
21928 shaderUniformBufferArrayNonUniformIndexingNative = src.shaderUniformBufferArrayNonUniformIndexingNative;
21929 shaderSampledImageArrayNonUniformIndexingNative = src.shaderSampledImageArrayNonUniformIndexingNative;
21930 shaderStorageBufferArrayNonUniformIndexingNative = src.shaderStorageBufferArrayNonUniformIndexingNative;
21931 shaderStorageImageArrayNonUniformIndexingNative = src.shaderStorageImageArrayNonUniformIndexingNative;
21932 shaderInputAttachmentArrayNonUniformIndexingNative = src.shaderInputAttachmentArrayNonUniformIndexingNative;
21933 robustBufferAccessUpdateAfterBind = src.robustBufferAccessUpdateAfterBind;
21934 quadDivergentImplicitLod = src.quadDivergentImplicitLod;
21935 maxPerStageDescriptorUpdateAfterBindSamplers = src.maxPerStageDescriptorUpdateAfterBindSamplers;
21936 maxPerStageDescriptorUpdateAfterBindUniformBuffers = src.maxPerStageDescriptorUpdateAfterBindUniformBuffers;
21937 maxPerStageDescriptorUpdateAfterBindStorageBuffers = src.maxPerStageDescriptorUpdateAfterBindStorageBuffers;
21938 maxPerStageDescriptorUpdateAfterBindSampledImages = src.maxPerStageDescriptorUpdateAfterBindSampledImages;
21939 maxPerStageDescriptorUpdateAfterBindStorageImages = src.maxPerStageDescriptorUpdateAfterBindStorageImages;
21940 maxPerStageDescriptorUpdateAfterBindInputAttachments = src.maxPerStageDescriptorUpdateAfterBindInputAttachments;
21941 maxPerStageUpdateAfterBindResources = src.maxPerStageUpdateAfterBindResources;
21942 maxDescriptorSetUpdateAfterBindSamplers = src.maxDescriptorSetUpdateAfterBindSamplers;
21943 maxDescriptorSetUpdateAfterBindUniformBuffers = src.maxDescriptorSetUpdateAfterBindUniformBuffers;
21944 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = src.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
21945 maxDescriptorSetUpdateAfterBindStorageBuffers = src.maxDescriptorSetUpdateAfterBindStorageBuffers;
21946 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = src.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
21947 maxDescriptorSetUpdateAfterBindSampledImages = src.maxDescriptorSetUpdateAfterBindSampledImages;
21948 maxDescriptorSetUpdateAfterBindStorageImages = src.maxDescriptorSetUpdateAfterBindStorageImages;
21949 maxDescriptorSetUpdateAfterBindInputAttachments = src.maxDescriptorSetUpdateAfterBindInputAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021950 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021951
21952 return *this;
21953}
21954
21955safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::~safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT()
21956{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021957 if (pNext)
21958 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021959}
21960
21961void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* in_struct)
21962{
21963 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021964 maxUpdateAfterBindDescriptorsInAllPools = in_struct->maxUpdateAfterBindDescriptorsInAllPools;
21965 shaderUniformBufferArrayNonUniformIndexingNative = in_struct->shaderUniformBufferArrayNonUniformIndexingNative;
21966 shaderSampledImageArrayNonUniformIndexingNative = in_struct->shaderSampledImageArrayNonUniformIndexingNative;
21967 shaderStorageBufferArrayNonUniformIndexingNative = in_struct->shaderStorageBufferArrayNonUniformIndexingNative;
21968 shaderStorageImageArrayNonUniformIndexingNative = in_struct->shaderStorageImageArrayNonUniformIndexingNative;
21969 shaderInputAttachmentArrayNonUniformIndexingNative = in_struct->shaderInputAttachmentArrayNonUniformIndexingNative;
21970 robustBufferAccessUpdateAfterBind = in_struct->robustBufferAccessUpdateAfterBind;
21971 quadDivergentImplicitLod = in_struct->quadDivergentImplicitLod;
21972 maxPerStageDescriptorUpdateAfterBindSamplers = in_struct->maxPerStageDescriptorUpdateAfterBindSamplers;
21973 maxPerStageDescriptorUpdateAfterBindUniformBuffers = in_struct->maxPerStageDescriptorUpdateAfterBindUniformBuffers;
21974 maxPerStageDescriptorUpdateAfterBindStorageBuffers = in_struct->maxPerStageDescriptorUpdateAfterBindStorageBuffers;
21975 maxPerStageDescriptorUpdateAfterBindSampledImages = in_struct->maxPerStageDescriptorUpdateAfterBindSampledImages;
21976 maxPerStageDescriptorUpdateAfterBindStorageImages = in_struct->maxPerStageDescriptorUpdateAfterBindStorageImages;
21977 maxPerStageDescriptorUpdateAfterBindInputAttachments = in_struct->maxPerStageDescriptorUpdateAfterBindInputAttachments;
21978 maxPerStageUpdateAfterBindResources = in_struct->maxPerStageUpdateAfterBindResources;
21979 maxDescriptorSetUpdateAfterBindSamplers = in_struct->maxDescriptorSetUpdateAfterBindSamplers;
21980 maxDescriptorSetUpdateAfterBindUniformBuffers = in_struct->maxDescriptorSetUpdateAfterBindUniformBuffers;
21981 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = in_struct->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
21982 maxDescriptorSetUpdateAfterBindStorageBuffers = in_struct->maxDescriptorSetUpdateAfterBindStorageBuffers;
21983 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = in_struct->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
21984 maxDescriptorSetUpdateAfterBindSampledImages = in_struct->maxDescriptorSetUpdateAfterBindSampledImages;
21985 maxDescriptorSetUpdateAfterBindStorageImages = in_struct->maxDescriptorSetUpdateAfterBindStorageImages;
21986 maxDescriptorSetUpdateAfterBindInputAttachments = in_struct->maxDescriptorSetUpdateAfterBindInputAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060021987 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070021988}
21989
21990void safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT::initialize(const safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT* src)
21991{
21992 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070021993 maxUpdateAfterBindDescriptorsInAllPools = src->maxUpdateAfterBindDescriptorsInAllPools;
21994 shaderUniformBufferArrayNonUniformIndexingNative = src->shaderUniformBufferArrayNonUniformIndexingNative;
21995 shaderSampledImageArrayNonUniformIndexingNative = src->shaderSampledImageArrayNonUniformIndexingNative;
21996 shaderStorageBufferArrayNonUniformIndexingNative = src->shaderStorageBufferArrayNonUniformIndexingNative;
21997 shaderStorageImageArrayNonUniformIndexingNative = src->shaderStorageImageArrayNonUniformIndexingNative;
21998 shaderInputAttachmentArrayNonUniformIndexingNative = src->shaderInputAttachmentArrayNonUniformIndexingNative;
21999 robustBufferAccessUpdateAfterBind = src->robustBufferAccessUpdateAfterBind;
22000 quadDivergentImplicitLod = src->quadDivergentImplicitLod;
22001 maxPerStageDescriptorUpdateAfterBindSamplers = src->maxPerStageDescriptorUpdateAfterBindSamplers;
22002 maxPerStageDescriptorUpdateAfterBindUniformBuffers = src->maxPerStageDescriptorUpdateAfterBindUniformBuffers;
22003 maxPerStageDescriptorUpdateAfterBindStorageBuffers = src->maxPerStageDescriptorUpdateAfterBindStorageBuffers;
22004 maxPerStageDescriptorUpdateAfterBindSampledImages = src->maxPerStageDescriptorUpdateAfterBindSampledImages;
22005 maxPerStageDescriptorUpdateAfterBindStorageImages = src->maxPerStageDescriptorUpdateAfterBindStorageImages;
22006 maxPerStageDescriptorUpdateAfterBindInputAttachments = src->maxPerStageDescriptorUpdateAfterBindInputAttachments;
22007 maxPerStageUpdateAfterBindResources = src->maxPerStageUpdateAfterBindResources;
22008 maxDescriptorSetUpdateAfterBindSamplers = src->maxDescriptorSetUpdateAfterBindSamplers;
22009 maxDescriptorSetUpdateAfterBindUniformBuffers = src->maxDescriptorSetUpdateAfterBindUniformBuffers;
22010 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = src->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
22011 maxDescriptorSetUpdateAfterBindStorageBuffers = src->maxDescriptorSetUpdateAfterBindStorageBuffers;
22012 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = src->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
22013 maxDescriptorSetUpdateAfterBindSampledImages = src->maxDescriptorSetUpdateAfterBindSampledImages;
22014 maxDescriptorSetUpdateAfterBindStorageImages = src->maxDescriptorSetUpdateAfterBindStorageImages;
22015 maxDescriptorSetUpdateAfterBindInputAttachments = src->maxDescriptorSetUpdateAfterBindInputAttachments;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022016 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022017}
22018
22019safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* in_struct) :
22020 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022021 descriptorSetCount(in_struct->descriptorSetCount),
22022 pDescriptorCounts(nullptr)
22023{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022024 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022025 if (in_struct->pDescriptorCounts) {
22026 pDescriptorCounts = new uint32_t[in_struct->descriptorSetCount];
22027 memcpy ((void *)pDescriptorCounts, (void *)in_struct->pDescriptorCounts, sizeof(uint32_t)*in_struct->descriptorSetCount);
22028 }
22029}
22030
22031safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070022032 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022033 pDescriptorCounts(nullptr)
22034{}
22035
22036safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& src)
22037{
22038 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022039 descriptorSetCount = src.descriptorSetCount;
22040 pDescriptorCounts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022041 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022042 if (src.pDescriptorCounts) {
22043 pDescriptorCounts = new uint32_t[src.descriptorSetCount];
22044 memcpy ((void *)pDescriptorCounts, (void *)src.pDescriptorCounts, sizeof(uint32_t)*src.descriptorSetCount);
22045 }
22046}
22047
22048safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::operator=(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& src)
22049{
22050 if (&src == this) return *this;
22051
22052 if (pDescriptorCounts)
22053 delete[] pDescriptorCounts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022054 if (pNext)
22055 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022056
22057 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022058 descriptorSetCount = src.descriptorSetCount;
22059 pDescriptorCounts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022060 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022061 if (src.pDescriptorCounts) {
22062 pDescriptorCounts = new uint32_t[src.descriptorSetCount];
22063 memcpy ((void *)pDescriptorCounts, (void *)src.pDescriptorCounts, sizeof(uint32_t)*src.descriptorSetCount);
22064 }
22065
22066 return *this;
22067}
22068
22069safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::~safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT()
22070{
22071 if (pDescriptorCounts)
22072 delete[] pDescriptorCounts;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022073 if (pNext)
22074 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022075}
22076
22077void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* in_struct)
22078{
22079 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022080 descriptorSetCount = in_struct->descriptorSetCount;
22081 pDescriptorCounts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022082 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022083 if (in_struct->pDescriptorCounts) {
22084 pDescriptorCounts = new uint32_t[in_struct->descriptorSetCount];
22085 memcpy ((void *)pDescriptorCounts, (void *)in_struct->pDescriptorCounts, sizeof(uint32_t)*in_struct->descriptorSetCount);
22086 }
22087}
22088
22089void safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT::initialize(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* src)
22090{
22091 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022092 descriptorSetCount = src->descriptorSetCount;
22093 pDescriptorCounts = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022094 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022095 if (src->pDescriptorCounts) {
22096 pDescriptorCounts = new uint32_t[src->descriptorSetCount];
22097 memcpy ((void *)pDescriptorCounts, (void *)src->pDescriptorCounts, sizeof(uint32_t)*src->descriptorSetCount);
22098 }
22099}
22100
22101safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* in_struct) :
22102 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022103 maxVariableDescriptorCount(in_struct->maxVariableDescriptorCount)
22104{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022105 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022106}
22107
Jason Macnak8f28eec2019-08-09 12:57:01 -070022108safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT() :
22109 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070022110{}
22111
22112safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& src)
22113{
22114 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022115 maxVariableDescriptorCount = src.maxVariableDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022116 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022117}
22118
22119safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::operator=(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& src)
22120{
22121 if (&src == this) return *this;
22122
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022123 if (pNext)
22124 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022125
22126 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022127 maxVariableDescriptorCount = src.maxVariableDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022128 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022129
22130 return *this;
22131}
22132
22133safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::~safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT()
22134{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022135 if (pNext)
22136 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022137}
22138
22139void safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::initialize(const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* in_struct)
22140{
22141 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022142 maxVariableDescriptorCount = in_struct->maxVariableDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022143 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022144}
22145
22146void safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT::initialize(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* src)
22147{
22148 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022149 maxVariableDescriptorCount = src->maxVariableDescriptorCount;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022150 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022151}
22152
22153safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV(const VkShadingRatePaletteNV* in_struct) :
22154 shadingRatePaletteEntryCount(in_struct->shadingRatePaletteEntryCount),
22155 pShadingRatePaletteEntries(nullptr)
22156{
22157 if (in_struct->pShadingRatePaletteEntries) {
22158 pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[in_struct->shadingRatePaletteEntryCount];
22159 memcpy ((void *)pShadingRatePaletteEntries, (void *)in_struct->pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*in_struct->shadingRatePaletteEntryCount);
22160 }
22161}
22162
22163safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV() :
22164 pShadingRatePaletteEntries(nullptr)
22165{}
22166
22167safe_VkShadingRatePaletteNV::safe_VkShadingRatePaletteNV(const safe_VkShadingRatePaletteNV& src)
22168{
22169 shadingRatePaletteEntryCount = src.shadingRatePaletteEntryCount;
22170 pShadingRatePaletteEntries = nullptr;
22171 if (src.pShadingRatePaletteEntries) {
22172 pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[src.shadingRatePaletteEntryCount];
22173 memcpy ((void *)pShadingRatePaletteEntries, (void *)src.pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*src.shadingRatePaletteEntryCount);
22174 }
22175}
22176
22177safe_VkShadingRatePaletteNV& safe_VkShadingRatePaletteNV::operator=(const safe_VkShadingRatePaletteNV& src)
22178{
22179 if (&src == this) return *this;
22180
22181 if (pShadingRatePaletteEntries)
22182 delete[] pShadingRatePaletteEntries;
22183
22184 shadingRatePaletteEntryCount = src.shadingRatePaletteEntryCount;
22185 pShadingRatePaletteEntries = nullptr;
22186 if (src.pShadingRatePaletteEntries) {
22187 pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[src.shadingRatePaletteEntryCount];
22188 memcpy ((void *)pShadingRatePaletteEntries, (void *)src.pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*src.shadingRatePaletteEntryCount);
22189 }
22190
22191 return *this;
22192}
22193
22194safe_VkShadingRatePaletteNV::~safe_VkShadingRatePaletteNV()
22195{
22196 if (pShadingRatePaletteEntries)
22197 delete[] pShadingRatePaletteEntries;
22198}
22199
22200void safe_VkShadingRatePaletteNV::initialize(const VkShadingRatePaletteNV* in_struct)
22201{
22202 shadingRatePaletteEntryCount = in_struct->shadingRatePaletteEntryCount;
22203 pShadingRatePaletteEntries = nullptr;
22204 if (in_struct->pShadingRatePaletteEntries) {
22205 pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[in_struct->shadingRatePaletteEntryCount];
22206 memcpy ((void *)pShadingRatePaletteEntries, (void *)in_struct->pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*in_struct->shadingRatePaletteEntryCount);
22207 }
22208}
22209
22210void safe_VkShadingRatePaletteNV::initialize(const safe_VkShadingRatePaletteNV* src)
22211{
22212 shadingRatePaletteEntryCount = src->shadingRatePaletteEntryCount;
22213 pShadingRatePaletteEntries = nullptr;
22214 if (src->pShadingRatePaletteEntries) {
22215 pShadingRatePaletteEntries = new VkShadingRatePaletteEntryNV[src->shadingRatePaletteEntryCount];
22216 memcpy ((void *)pShadingRatePaletteEntries, (void *)src->pShadingRatePaletteEntries, sizeof(VkShadingRatePaletteEntryNV)*src->shadingRatePaletteEntryCount);
22217 }
22218}
22219
22220safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const VkPipelineViewportShadingRateImageStateCreateInfoNV* in_struct) :
22221 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022222 shadingRateImageEnable(in_struct->shadingRateImageEnable),
22223 viewportCount(in_struct->viewportCount),
22224 pShadingRatePalettes(nullptr)
22225{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022226 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022227 if (viewportCount && in_struct->pShadingRatePalettes) {
22228 pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22229 for (uint32_t i=0; i<viewportCount; ++i) {
22230 pShadingRatePalettes[i].initialize(&in_struct->pShadingRatePalettes[i]);
22231 }
22232 }
22233}
22234
22235safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070022236 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022237 pShadingRatePalettes(nullptr)
22238{}
22239
22240safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::safe_VkPipelineViewportShadingRateImageStateCreateInfoNV(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& src)
22241{
22242 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022243 shadingRateImageEnable = src.shadingRateImageEnable;
22244 viewportCount = src.viewportCount;
22245 pShadingRatePalettes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022246 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022247 if (viewportCount && src.pShadingRatePalettes) {
22248 pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22249 for (uint32_t i=0; i<viewportCount; ++i) {
22250 pShadingRatePalettes[i].initialize(&src.pShadingRatePalettes[i]);
22251 }
22252 }
22253}
22254
22255safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::operator=(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV& src)
22256{
22257 if (&src == this) return *this;
22258
22259 if (pShadingRatePalettes)
22260 delete[] pShadingRatePalettes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022261 if (pNext)
22262 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022263
22264 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022265 shadingRateImageEnable = src.shadingRateImageEnable;
22266 viewportCount = src.viewportCount;
22267 pShadingRatePalettes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022268 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022269 if (viewportCount && src.pShadingRatePalettes) {
22270 pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22271 for (uint32_t i=0; i<viewportCount; ++i) {
22272 pShadingRatePalettes[i].initialize(&src.pShadingRatePalettes[i]);
22273 }
22274 }
22275
22276 return *this;
22277}
22278
22279safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::~safe_VkPipelineViewportShadingRateImageStateCreateInfoNV()
22280{
22281 if (pShadingRatePalettes)
22282 delete[] pShadingRatePalettes;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022283 if (pNext)
22284 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022285}
22286
22287void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const VkPipelineViewportShadingRateImageStateCreateInfoNV* in_struct)
22288{
22289 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022290 shadingRateImageEnable = in_struct->shadingRateImageEnable;
22291 viewportCount = in_struct->viewportCount;
22292 pShadingRatePalettes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022293 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022294 if (viewportCount && in_struct->pShadingRatePalettes) {
22295 pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22296 for (uint32_t i=0; i<viewportCount; ++i) {
22297 pShadingRatePalettes[i].initialize(&in_struct->pShadingRatePalettes[i]);
22298 }
22299 }
22300}
22301
22302void safe_VkPipelineViewportShadingRateImageStateCreateInfoNV::initialize(const safe_VkPipelineViewportShadingRateImageStateCreateInfoNV* src)
22303{
22304 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022305 shadingRateImageEnable = src->shadingRateImageEnable;
22306 viewportCount = src->viewportCount;
22307 pShadingRatePalettes = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022308 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022309 if (viewportCount && src->pShadingRatePalettes) {
22310 pShadingRatePalettes = new safe_VkShadingRatePaletteNV[viewportCount];
22311 for (uint32_t i=0; i<viewportCount; ++i) {
22312 pShadingRatePalettes[i].initialize(&src->pShadingRatePalettes[i]);
22313 }
22314 }
22315}
22316
22317safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const VkPhysicalDeviceShadingRateImageFeaturesNV* in_struct) :
22318 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022319 shadingRateImage(in_struct->shadingRateImage),
22320 shadingRateCoarseSampleOrder(in_struct->shadingRateCoarseSampleOrder)
22321{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022322 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022323}
22324
Jason Macnak8f28eec2019-08-09 12:57:01 -070022325safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV() :
22326 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070022327{}
22328
22329safe_VkPhysicalDeviceShadingRateImageFeaturesNV::safe_VkPhysicalDeviceShadingRateImageFeaturesNV(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV& src)
22330{
22331 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022332 shadingRateImage = src.shadingRateImage;
22333 shadingRateCoarseSampleOrder = src.shadingRateCoarseSampleOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022334 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022335}
22336
22337safe_VkPhysicalDeviceShadingRateImageFeaturesNV& safe_VkPhysicalDeviceShadingRateImageFeaturesNV::operator=(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV& src)
22338{
22339 if (&src == this) return *this;
22340
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022341 if (pNext)
22342 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022343
22344 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022345 shadingRateImage = src.shadingRateImage;
22346 shadingRateCoarseSampleOrder = src.shadingRateCoarseSampleOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022347 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022348
22349 return *this;
22350}
22351
22352safe_VkPhysicalDeviceShadingRateImageFeaturesNV::~safe_VkPhysicalDeviceShadingRateImageFeaturesNV()
22353{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022354 if (pNext)
22355 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022356}
22357
22358void safe_VkPhysicalDeviceShadingRateImageFeaturesNV::initialize(const VkPhysicalDeviceShadingRateImageFeaturesNV* in_struct)
22359{
22360 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022361 shadingRateImage = in_struct->shadingRateImage;
22362 shadingRateCoarseSampleOrder = in_struct->shadingRateCoarseSampleOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022363 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022364}
22365
22366void safe_VkPhysicalDeviceShadingRateImageFeaturesNV::initialize(const safe_VkPhysicalDeviceShadingRateImageFeaturesNV* src)
22367{
22368 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022369 shadingRateImage = src->shadingRateImage;
22370 shadingRateCoarseSampleOrder = src->shadingRateCoarseSampleOrder;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022371 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022372}
22373
22374safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const VkPhysicalDeviceShadingRateImagePropertiesNV* in_struct) :
22375 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022376 shadingRateTexelSize(in_struct->shadingRateTexelSize),
22377 shadingRatePaletteSize(in_struct->shadingRatePaletteSize),
22378 shadingRateMaxCoarseSamples(in_struct->shadingRateMaxCoarseSamples)
22379{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022380 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022381}
22382
Jason Macnak8f28eec2019-08-09 12:57:01 -070022383safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV() :
22384 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070022385{}
22386
22387safe_VkPhysicalDeviceShadingRateImagePropertiesNV::safe_VkPhysicalDeviceShadingRateImagePropertiesNV(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV& src)
22388{
22389 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022390 shadingRateTexelSize = src.shadingRateTexelSize;
22391 shadingRatePaletteSize = src.shadingRatePaletteSize;
22392 shadingRateMaxCoarseSamples = src.shadingRateMaxCoarseSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022393 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022394}
22395
22396safe_VkPhysicalDeviceShadingRateImagePropertiesNV& safe_VkPhysicalDeviceShadingRateImagePropertiesNV::operator=(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV& src)
22397{
22398 if (&src == this) return *this;
22399
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022400 if (pNext)
22401 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022402
22403 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022404 shadingRateTexelSize = src.shadingRateTexelSize;
22405 shadingRatePaletteSize = src.shadingRatePaletteSize;
22406 shadingRateMaxCoarseSamples = src.shadingRateMaxCoarseSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022407 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022408
22409 return *this;
22410}
22411
22412safe_VkPhysicalDeviceShadingRateImagePropertiesNV::~safe_VkPhysicalDeviceShadingRateImagePropertiesNV()
22413{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022414 if (pNext)
22415 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022416}
22417
22418void safe_VkPhysicalDeviceShadingRateImagePropertiesNV::initialize(const VkPhysicalDeviceShadingRateImagePropertiesNV* in_struct)
22419{
22420 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022421 shadingRateTexelSize = in_struct->shadingRateTexelSize;
22422 shadingRatePaletteSize = in_struct->shadingRatePaletteSize;
22423 shadingRateMaxCoarseSamples = in_struct->shadingRateMaxCoarseSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022424 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022425}
22426
22427void safe_VkPhysicalDeviceShadingRateImagePropertiesNV::initialize(const safe_VkPhysicalDeviceShadingRateImagePropertiesNV* src)
22428{
22429 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022430 shadingRateTexelSize = src->shadingRateTexelSize;
22431 shadingRatePaletteSize = src->shadingRatePaletteSize;
22432 shadingRateMaxCoarseSamples = src->shadingRateMaxCoarseSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022433 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022434}
22435
22436safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV(const VkCoarseSampleOrderCustomNV* in_struct) :
22437 shadingRate(in_struct->shadingRate),
22438 sampleCount(in_struct->sampleCount),
22439 sampleLocationCount(in_struct->sampleLocationCount),
22440 pSampleLocations(nullptr)
22441{
22442 if (in_struct->pSampleLocations) {
22443 pSampleLocations = new VkCoarseSampleLocationNV[in_struct->sampleLocationCount];
22444 memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkCoarseSampleLocationNV)*in_struct->sampleLocationCount);
22445 }
22446}
22447
22448safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV() :
22449 pSampleLocations(nullptr)
22450{}
22451
22452safe_VkCoarseSampleOrderCustomNV::safe_VkCoarseSampleOrderCustomNV(const safe_VkCoarseSampleOrderCustomNV& src)
22453{
22454 shadingRate = src.shadingRate;
22455 sampleCount = src.sampleCount;
22456 sampleLocationCount = src.sampleLocationCount;
22457 pSampleLocations = nullptr;
22458 if (src.pSampleLocations) {
22459 pSampleLocations = new VkCoarseSampleLocationNV[src.sampleLocationCount];
22460 memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkCoarseSampleLocationNV)*src.sampleLocationCount);
22461 }
22462}
22463
22464safe_VkCoarseSampleOrderCustomNV& safe_VkCoarseSampleOrderCustomNV::operator=(const safe_VkCoarseSampleOrderCustomNV& src)
22465{
22466 if (&src == this) return *this;
22467
22468 if (pSampleLocations)
22469 delete[] pSampleLocations;
22470
22471 shadingRate = src.shadingRate;
22472 sampleCount = src.sampleCount;
22473 sampleLocationCount = src.sampleLocationCount;
22474 pSampleLocations = nullptr;
22475 if (src.pSampleLocations) {
22476 pSampleLocations = new VkCoarseSampleLocationNV[src.sampleLocationCount];
22477 memcpy ((void *)pSampleLocations, (void *)src.pSampleLocations, sizeof(VkCoarseSampleLocationNV)*src.sampleLocationCount);
22478 }
22479
22480 return *this;
22481}
22482
22483safe_VkCoarseSampleOrderCustomNV::~safe_VkCoarseSampleOrderCustomNV()
22484{
22485 if (pSampleLocations)
22486 delete[] pSampleLocations;
22487}
22488
22489void safe_VkCoarseSampleOrderCustomNV::initialize(const VkCoarseSampleOrderCustomNV* in_struct)
22490{
22491 shadingRate = in_struct->shadingRate;
22492 sampleCount = in_struct->sampleCount;
22493 sampleLocationCount = in_struct->sampleLocationCount;
22494 pSampleLocations = nullptr;
22495 if (in_struct->pSampleLocations) {
22496 pSampleLocations = new VkCoarseSampleLocationNV[in_struct->sampleLocationCount];
22497 memcpy ((void *)pSampleLocations, (void *)in_struct->pSampleLocations, sizeof(VkCoarseSampleLocationNV)*in_struct->sampleLocationCount);
22498 }
22499}
22500
22501void safe_VkCoarseSampleOrderCustomNV::initialize(const safe_VkCoarseSampleOrderCustomNV* src)
22502{
22503 shadingRate = src->shadingRate;
22504 sampleCount = src->sampleCount;
22505 sampleLocationCount = src->sampleLocationCount;
22506 pSampleLocations = nullptr;
22507 if (src->pSampleLocations) {
22508 pSampleLocations = new VkCoarseSampleLocationNV[src->sampleLocationCount];
22509 memcpy ((void *)pSampleLocations, (void *)src->pSampleLocations, sizeof(VkCoarseSampleLocationNV)*src->sampleLocationCount);
22510 }
22511}
22512
22513safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* in_struct) :
22514 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022515 sampleOrderType(in_struct->sampleOrderType),
22516 customSampleOrderCount(in_struct->customSampleOrderCount),
22517 pCustomSampleOrders(nullptr)
22518{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022519 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022520 if (customSampleOrderCount && in_struct->pCustomSampleOrders) {
22521 pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22522 for (uint32_t i=0; i<customSampleOrderCount; ++i) {
22523 pCustomSampleOrders[i].initialize(&in_struct->pCustomSampleOrders[i]);
22524 }
22525 }
22526}
22527
22528safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070022529 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022530 pCustomSampleOrders(nullptr)
22531{}
22532
22533safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& src)
22534{
22535 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022536 sampleOrderType = src.sampleOrderType;
22537 customSampleOrderCount = src.customSampleOrderCount;
22538 pCustomSampleOrders = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022539 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022540 if (customSampleOrderCount && src.pCustomSampleOrders) {
22541 pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22542 for (uint32_t i=0; i<customSampleOrderCount; ++i) {
22543 pCustomSampleOrders[i].initialize(&src.pCustomSampleOrders[i]);
22544 }
22545 }
22546}
22547
22548safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::operator=(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& src)
22549{
22550 if (&src == this) return *this;
22551
22552 if (pCustomSampleOrders)
22553 delete[] pCustomSampleOrders;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022554 if (pNext)
22555 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022556
22557 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022558 sampleOrderType = src.sampleOrderType;
22559 customSampleOrderCount = src.customSampleOrderCount;
22560 pCustomSampleOrders = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022561 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022562 if (customSampleOrderCount && src.pCustomSampleOrders) {
22563 pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22564 for (uint32_t i=0; i<customSampleOrderCount; ++i) {
22565 pCustomSampleOrders[i].initialize(&src.pCustomSampleOrders[i]);
22566 }
22567 }
22568
22569 return *this;
22570}
22571
22572safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::~safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV()
22573{
22574 if (pCustomSampleOrders)
22575 delete[] pCustomSampleOrders;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022576 if (pNext)
22577 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022578}
22579
22580void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* in_struct)
22581{
22582 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022583 sampleOrderType = in_struct->sampleOrderType;
22584 customSampleOrderCount = in_struct->customSampleOrderCount;
22585 pCustomSampleOrders = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022586 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022587 if (customSampleOrderCount && in_struct->pCustomSampleOrders) {
22588 pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22589 for (uint32_t i=0; i<customSampleOrderCount; ++i) {
22590 pCustomSampleOrders[i].initialize(&in_struct->pCustomSampleOrders[i]);
22591 }
22592 }
22593}
22594
22595void safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV::initialize(const safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* src)
22596{
22597 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022598 sampleOrderType = src->sampleOrderType;
22599 customSampleOrderCount = src->customSampleOrderCount;
22600 pCustomSampleOrders = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022601 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022602 if (customSampleOrderCount && src->pCustomSampleOrders) {
22603 pCustomSampleOrders = new safe_VkCoarseSampleOrderCustomNV[customSampleOrderCount];
22604 for (uint32_t i=0; i<customSampleOrderCount; ++i) {
22605 pCustomSampleOrders[i].initialize(&src->pCustomSampleOrders[i]);
22606 }
22607 }
22608}
22609
22610safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV(const VkRayTracingShaderGroupCreateInfoNV* in_struct) :
22611 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022612 type(in_struct->type),
22613 generalShader(in_struct->generalShader),
22614 closestHitShader(in_struct->closestHitShader),
22615 anyHitShader(in_struct->anyHitShader),
22616 intersectionShader(in_struct->intersectionShader)
22617{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022618 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022619}
22620
Jason Macnak8f28eec2019-08-09 12:57:01 -070022621safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV() :
22622 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070022623{}
22624
22625safe_VkRayTracingShaderGroupCreateInfoNV::safe_VkRayTracingShaderGroupCreateInfoNV(const safe_VkRayTracingShaderGroupCreateInfoNV& src)
22626{
22627 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022628 type = src.type;
22629 generalShader = src.generalShader;
22630 closestHitShader = src.closestHitShader;
22631 anyHitShader = src.anyHitShader;
22632 intersectionShader = src.intersectionShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022633 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022634}
22635
22636safe_VkRayTracingShaderGroupCreateInfoNV& safe_VkRayTracingShaderGroupCreateInfoNV::operator=(const safe_VkRayTracingShaderGroupCreateInfoNV& src)
22637{
22638 if (&src == this) return *this;
22639
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022640 if (pNext)
22641 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022642
22643 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022644 type = src.type;
22645 generalShader = src.generalShader;
22646 closestHitShader = src.closestHitShader;
22647 anyHitShader = src.anyHitShader;
22648 intersectionShader = src.intersectionShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022649 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022650
22651 return *this;
22652}
22653
22654safe_VkRayTracingShaderGroupCreateInfoNV::~safe_VkRayTracingShaderGroupCreateInfoNV()
22655{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022656 if (pNext)
22657 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022658}
22659
22660void safe_VkRayTracingShaderGroupCreateInfoNV::initialize(const VkRayTracingShaderGroupCreateInfoNV* in_struct)
22661{
22662 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022663 type = in_struct->type;
22664 generalShader = in_struct->generalShader;
22665 closestHitShader = in_struct->closestHitShader;
22666 anyHitShader = in_struct->anyHitShader;
22667 intersectionShader = in_struct->intersectionShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022668 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022669}
22670
22671void safe_VkRayTracingShaderGroupCreateInfoNV::initialize(const safe_VkRayTracingShaderGroupCreateInfoNV* src)
22672{
22673 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022674 type = src->type;
22675 generalShader = src->generalShader;
22676 closestHitShader = src->closestHitShader;
22677 anyHitShader = src->anyHitShader;
22678 intersectionShader = src->intersectionShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022679 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022680}
22681
22682safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(const VkRayTracingPipelineCreateInfoNV* in_struct) :
22683 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022684 flags(in_struct->flags),
22685 stageCount(in_struct->stageCount),
22686 pStages(nullptr),
22687 groupCount(in_struct->groupCount),
22688 pGroups(nullptr),
22689 maxRecursionDepth(in_struct->maxRecursionDepth),
22690 layout(in_struct->layout),
22691 basePipelineHandle(in_struct->basePipelineHandle),
22692 basePipelineIndex(in_struct->basePipelineIndex)
22693{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022694 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022695 if (stageCount && in_struct->pStages) {
22696 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22697 for (uint32_t i=0; i<stageCount; ++i) {
22698 pStages[i].initialize(&in_struct->pStages[i]);
22699 }
22700 }
22701 if (groupCount && in_struct->pGroups) {
22702 pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22703 for (uint32_t i=0; i<groupCount; ++i) {
22704 pGroups[i].initialize(&in_struct->pGroups[i]);
22705 }
22706 }
22707}
22708
22709safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070022710 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022711 pStages(nullptr),
22712 pGroups(nullptr)
22713{}
22714
22715safe_VkRayTracingPipelineCreateInfoNV::safe_VkRayTracingPipelineCreateInfoNV(const safe_VkRayTracingPipelineCreateInfoNV& src)
22716{
22717 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022718 flags = src.flags;
22719 stageCount = src.stageCount;
22720 pStages = nullptr;
22721 groupCount = src.groupCount;
22722 pGroups = nullptr;
22723 maxRecursionDepth = src.maxRecursionDepth;
22724 layout = src.layout;
22725 basePipelineHandle = src.basePipelineHandle;
22726 basePipelineIndex = src.basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022727 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022728 if (stageCount && src.pStages) {
22729 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22730 for (uint32_t i=0; i<stageCount; ++i) {
22731 pStages[i].initialize(&src.pStages[i]);
22732 }
22733 }
22734 if (groupCount && src.pGroups) {
22735 pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22736 for (uint32_t i=0; i<groupCount; ++i) {
22737 pGroups[i].initialize(&src.pGroups[i]);
22738 }
22739 }
22740}
22741
22742safe_VkRayTracingPipelineCreateInfoNV& safe_VkRayTracingPipelineCreateInfoNV::operator=(const safe_VkRayTracingPipelineCreateInfoNV& src)
22743{
22744 if (&src == this) return *this;
22745
22746 if (pStages)
22747 delete[] pStages;
22748 if (pGroups)
22749 delete[] pGroups;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022750 if (pNext)
22751 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022752
22753 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022754 flags = src.flags;
22755 stageCount = src.stageCount;
22756 pStages = nullptr;
22757 groupCount = src.groupCount;
22758 pGroups = nullptr;
22759 maxRecursionDepth = src.maxRecursionDepth;
22760 layout = src.layout;
22761 basePipelineHandle = src.basePipelineHandle;
22762 basePipelineIndex = src.basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022763 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022764 if (stageCount && src.pStages) {
22765 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22766 for (uint32_t i=0; i<stageCount; ++i) {
22767 pStages[i].initialize(&src.pStages[i]);
22768 }
22769 }
22770 if (groupCount && src.pGroups) {
22771 pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22772 for (uint32_t i=0; i<groupCount; ++i) {
22773 pGroups[i].initialize(&src.pGroups[i]);
22774 }
22775 }
22776
22777 return *this;
22778}
22779
22780safe_VkRayTracingPipelineCreateInfoNV::~safe_VkRayTracingPipelineCreateInfoNV()
22781{
22782 if (pStages)
22783 delete[] pStages;
22784 if (pGroups)
22785 delete[] pGroups;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022786 if (pNext)
22787 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022788}
22789
22790void safe_VkRayTracingPipelineCreateInfoNV::initialize(const VkRayTracingPipelineCreateInfoNV* in_struct)
22791{
22792 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022793 flags = in_struct->flags;
22794 stageCount = in_struct->stageCount;
22795 pStages = nullptr;
22796 groupCount = in_struct->groupCount;
22797 pGroups = nullptr;
22798 maxRecursionDepth = in_struct->maxRecursionDepth;
22799 layout = in_struct->layout;
22800 basePipelineHandle = in_struct->basePipelineHandle;
22801 basePipelineIndex = in_struct->basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022802 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022803 if (stageCount && in_struct->pStages) {
22804 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22805 for (uint32_t i=0; i<stageCount; ++i) {
22806 pStages[i].initialize(&in_struct->pStages[i]);
22807 }
22808 }
22809 if (groupCount && in_struct->pGroups) {
22810 pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22811 for (uint32_t i=0; i<groupCount; ++i) {
22812 pGroups[i].initialize(&in_struct->pGroups[i]);
22813 }
22814 }
22815}
22816
22817void safe_VkRayTracingPipelineCreateInfoNV::initialize(const safe_VkRayTracingPipelineCreateInfoNV* src)
22818{
22819 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022820 flags = src->flags;
22821 stageCount = src->stageCount;
22822 pStages = nullptr;
22823 groupCount = src->groupCount;
22824 pGroups = nullptr;
22825 maxRecursionDepth = src->maxRecursionDepth;
22826 layout = src->layout;
22827 basePipelineHandle = src->basePipelineHandle;
22828 basePipelineIndex = src->basePipelineIndex;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022829 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022830 if (stageCount && src->pStages) {
22831 pStages = new safe_VkPipelineShaderStageCreateInfo[stageCount];
22832 for (uint32_t i=0; i<stageCount; ++i) {
22833 pStages[i].initialize(&src->pStages[i]);
22834 }
22835 }
22836 if (groupCount && src->pGroups) {
22837 pGroups = new safe_VkRayTracingShaderGroupCreateInfoNV[groupCount];
22838 for (uint32_t i=0; i<groupCount; ++i) {
22839 pGroups[i].initialize(&src->pGroups[i]);
22840 }
22841 }
22842}
22843
22844safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const VkGeometryTrianglesNV* in_struct) :
22845 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022846 vertexData(in_struct->vertexData),
22847 vertexOffset(in_struct->vertexOffset),
22848 vertexCount(in_struct->vertexCount),
22849 vertexStride(in_struct->vertexStride),
22850 vertexFormat(in_struct->vertexFormat),
22851 indexData(in_struct->indexData),
22852 indexOffset(in_struct->indexOffset),
22853 indexCount(in_struct->indexCount),
22854 indexType(in_struct->indexType),
22855 transformData(in_struct->transformData),
22856 transformOffset(in_struct->transformOffset)
22857{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022858 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022859}
22860
Jason Macnak8f28eec2019-08-09 12:57:01 -070022861safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV() :
22862 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070022863{}
22864
22865safe_VkGeometryTrianglesNV::safe_VkGeometryTrianglesNV(const safe_VkGeometryTrianglesNV& src)
22866{
22867 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022868 vertexData = src.vertexData;
22869 vertexOffset = src.vertexOffset;
22870 vertexCount = src.vertexCount;
22871 vertexStride = src.vertexStride;
22872 vertexFormat = src.vertexFormat;
22873 indexData = src.indexData;
22874 indexOffset = src.indexOffset;
22875 indexCount = src.indexCount;
22876 indexType = src.indexType;
22877 transformData = src.transformData;
22878 transformOffset = src.transformOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022879 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022880}
22881
22882safe_VkGeometryTrianglesNV& safe_VkGeometryTrianglesNV::operator=(const safe_VkGeometryTrianglesNV& src)
22883{
22884 if (&src == this) return *this;
22885
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022886 if (pNext)
22887 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022888
22889 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022890 vertexData = src.vertexData;
22891 vertexOffset = src.vertexOffset;
22892 vertexCount = src.vertexCount;
22893 vertexStride = src.vertexStride;
22894 vertexFormat = src.vertexFormat;
22895 indexData = src.indexData;
22896 indexOffset = src.indexOffset;
22897 indexCount = src.indexCount;
22898 indexType = src.indexType;
22899 transformData = src.transformData;
22900 transformOffset = src.transformOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022901 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022902
22903 return *this;
22904}
22905
22906safe_VkGeometryTrianglesNV::~safe_VkGeometryTrianglesNV()
22907{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022908 if (pNext)
22909 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022910}
22911
22912void safe_VkGeometryTrianglesNV::initialize(const VkGeometryTrianglesNV* in_struct)
22913{
22914 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022915 vertexData = in_struct->vertexData;
22916 vertexOffset = in_struct->vertexOffset;
22917 vertexCount = in_struct->vertexCount;
22918 vertexStride = in_struct->vertexStride;
22919 vertexFormat = in_struct->vertexFormat;
22920 indexData = in_struct->indexData;
22921 indexOffset = in_struct->indexOffset;
22922 indexCount = in_struct->indexCount;
22923 indexType = in_struct->indexType;
22924 transformData = in_struct->transformData;
22925 transformOffset = in_struct->transformOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022926 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022927}
22928
22929void safe_VkGeometryTrianglesNV::initialize(const safe_VkGeometryTrianglesNV* src)
22930{
22931 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022932 vertexData = src->vertexData;
22933 vertexOffset = src->vertexOffset;
22934 vertexCount = src->vertexCount;
22935 vertexStride = src->vertexStride;
22936 vertexFormat = src->vertexFormat;
22937 indexData = src->indexData;
22938 indexOffset = src->indexOffset;
22939 indexCount = src->indexCount;
22940 indexType = src->indexType;
22941 transformData = src->transformData;
22942 transformOffset = src->transformOffset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022943 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022944}
22945
22946safe_VkGeometryAABBNV::safe_VkGeometryAABBNV(const VkGeometryAABBNV* in_struct) :
22947 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070022948 aabbData(in_struct->aabbData),
22949 numAABBs(in_struct->numAABBs),
22950 stride(in_struct->stride),
22951 offset(in_struct->offset)
22952{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022953 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022954}
22955
Jason Macnak8f28eec2019-08-09 12:57:01 -070022956safe_VkGeometryAABBNV::safe_VkGeometryAABBNV() :
22957 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070022958{}
22959
22960safe_VkGeometryAABBNV::safe_VkGeometryAABBNV(const safe_VkGeometryAABBNV& src)
22961{
22962 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022963 aabbData = src.aabbData;
22964 numAABBs = src.numAABBs;
22965 stride = src.stride;
22966 offset = src.offset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022967 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022968}
22969
22970safe_VkGeometryAABBNV& safe_VkGeometryAABBNV::operator=(const safe_VkGeometryAABBNV& src)
22971{
22972 if (&src == this) return *this;
22973
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022974 if (pNext)
22975 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022976
22977 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022978 aabbData = src.aabbData;
22979 numAABBs = src.numAABBs;
22980 stride = src.stride;
22981 offset = src.offset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022982 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022983
22984 return *this;
22985}
22986
22987safe_VkGeometryAABBNV::~safe_VkGeometryAABBNV()
22988{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060022989 if (pNext)
22990 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070022991}
22992
22993void safe_VkGeometryAABBNV::initialize(const VkGeometryAABBNV* in_struct)
22994{
22995 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070022996 aabbData = in_struct->aabbData;
22997 numAABBs = in_struct->numAABBs;
22998 stride = in_struct->stride;
22999 offset = in_struct->offset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023000 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023001}
23002
23003void safe_VkGeometryAABBNV::initialize(const safe_VkGeometryAABBNV* src)
23004{
23005 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023006 aabbData = src->aabbData;
23007 numAABBs = src->numAABBs;
23008 stride = src->stride;
23009 offset = src->offset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023010 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023011}
23012
23013safe_VkGeometryNV::safe_VkGeometryNV(const VkGeometryNV* in_struct) :
23014 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023015 geometryType(in_struct->geometryType),
23016 geometry(in_struct->geometry),
23017 flags(in_struct->flags)
23018{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023019 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023020}
23021
Jason Macnak8f28eec2019-08-09 12:57:01 -070023022safe_VkGeometryNV::safe_VkGeometryNV() :
23023 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023024{}
23025
23026safe_VkGeometryNV::safe_VkGeometryNV(const safe_VkGeometryNV& src)
23027{
23028 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023029 geometryType = src.geometryType;
23030 geometry = src.geometry;
23031 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023032 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023033}
23034
23035safe_VkGeometryNV& safe_VkGeometryNV::operator=(const safe_VkGeometryNV& src)
23036{
23037 if (&src == this) return *this;
23038
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023039 if (pNext)
23040 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023041
23042 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023043 geometryType = src.geometryType;
23044 geometry = src.geometry;
23045 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023046 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023047
23048 return *this;
23049}
23050
23051safe_VkGeometryNV::~safe_VkGeometryNV()
23052{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023053 if (pNext)
23054 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023055}
23056
23057void safe_VkGeometryNV::initialize(const VkGeometryNV* in_struct)
23058{
23059 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023060 geometryType = in_struct->geometryType;
23061 geometry = in_struct->geometry;
23062 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023063 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023064}
23065
23066void safe_VkGeometryNV::initialize(const safe_VkGeometryNV* src)
23067{
23068 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023069 geometryType = src->geometryType;
23070 geometry = src->geometry;
23071 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023072 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023073}
23074
23075safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV(const VkAccelerationStructureInfoNV* in_struct) :
23076 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023077 type(in_struct->type),
23078 flags(in_struct->flags),
23079 instanceCount(in_struct->instanceCount),
23080 geometryCount(in_struct->geometryCount),
23081 pGeometries(nullptr)
23082{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023083 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023084 if (geometryCount && in_struct->pGeometries) {
23085 pGeometries = new safe_VkGeometryNV[geometryCount];
23086 for (uint32_t i=0; i<geometryCount; ++i) {
23087 pGeometries[i].initialize(&in_struct->pGeometries[i]);
23088 }
23089 }
23090}
23091
23092safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070023093 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023094 pGeometries(nullptr)
23095{}
23096
23097safe_VkAccelerationStructureInfoNV::safe_VkAccelerationStructureInfoNV(const safe_VkAccelerationStructureInfoNV& src)
23098{
23099 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023100 type = src.type;
23101 flags = src.flags;
23102 instanceCount = src.instanceCount;
23103 geometryCount = src.geometryCount;
23104 pGeometries = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023105 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023106 if (geometryCount && src.pGeometries) {
23107 pGeometries = new safe_VkGeometryNV[geometryCount];
23108 for (uint32_t i=0; i<geometryCount; ++i) {
23109 pGeometries[i].initialize(&src.pGeometries[i]);
23110 }
23111 }
23112}
23113
23114safe_VkAccelerationStructureInfoNV& safe_VkAccelerationStructureInfoNV::operator=(const safe_VkAccelerationStructureInfoNV& src)
23115{
23116 if (&src == this) return *this;
23117
23118 if (pGeometries)
23119 delete[] pGeometries;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023120 if (pNext)
23121 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023122
23123 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023124 type = src.type;
23125 flags = src.flags;
23126 instanceCount = src.instanceCount;
23127 geometryCount = src.geometryCount;
23128 pGeometries = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023129 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023130 if (geometryCount && src.pGeometries) {
23131 pGeometries = new safe_VkGeometryNV[geometryCount];
23132 for (uint32_t i=0; i<geometryCount; ++i) {
23133 pGeometries[i].initialize(&src.pGeometries[i]);
23134 }
23135 }
23136
23137 return *this;
23138}
23139
23140safe_VkAccelerationStructureInfoNV::~safe_VkAccelerationStructureInfoNV()
23141{
23142 if (pGeometries)
23143 delete[] pGeometries;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023144 if (pNext)
23145 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023146}
23147
23148void safe_VkAccelerationStructureInfoNV::initialize(const VkAccelerationStructureInfoNV* in_struct)
23149{
23150 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023151 type = in_struct->type;
23152 flags = in_struct->flags;
23153 instanceCount = in_struct->instanceCount;
23154 geometryCount = in_struct->geometryCount;
23155 pGeometries = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023156 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023157 if (geometryCount && in_struct->pGeometries) {
23158 pGeometries = new safe_VkGeometryNV[geometryCount];
23159 for (uint32_t i=0; i<geometryCount; ++i) {
23160 pGeometries[i].initialize(&in_struct->pGeometries[i]);
23161 }
23162 }
23163}
23164
23165void safe_VkAccelerationStructureInfoNV::initialize(const safe_VkAccelerationStructureInfoNV* src)
23166{
23167 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023168 type = src->type;
23169 flags = src->flags;
23170 instanceCount = src->instanceCount;
23171 geometryCount = src->geometryCount;
23172 pGeometries = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023173 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023174 if (geometryCount && src->pGeometries) {
23175 pGeometries = new safe_VkGeometryNV[geometryCount];
23176 for (uint32_t i=0; i<geometryCount; ++i) {
23177 pGeometries[i].initialize(&src->pGeometries[i]);
23178 }
23179 }
23180}
23181
23182safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV(const VkAccelerationStructureCreateInfoNV* in_struct) :
23183 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023184 compactedSize(in_struct->compactedSize),
23185 info(&in_struct->info)
23186{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023187 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023188}
23189
Jason Macnak8f28eec2019-08-09 12:57:01 -070023190safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV() :
23191 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023192{}
23193
23194safe_VkAccelerationStructureCreateInfoNV::safe_VkAccelerationStructureCreateInfoNV(const safe_VkAccelerationStructureCreateInfoNV& src)
23195{
23196 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023197 compactedSize = src.compactedSize;
23198 info.initialize(&src.info);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023199 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023200}
23201
23202safe_VkAccelerationStructureCreateInfoNV& safe_VkAccelerationStructureCreateInfoNV::operator=(const safe_VkAccelerationStructureCreateInfoNV& src)
23203{
23204 if (&src == this) return *this;
23205
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023206 if (pNext)
23207 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023208
23209 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023210 compactedSize = src.compactedSize;
23211 info.initialize(&src.info);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023212 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023213
23214 return *this;
23215}
23216
23217safe_VkAccelerationStructureCreateInfoNV::~safe_VkAccelerationStructureCreateInfoNV()
23218{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023219 if (pNext)
23220 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023221}
23222
23223void safe_VkAccelerationStructureCreateInfoNV::initialize(const VkAccelerationStructureCreateInfoNV* in_struct)
23224{
23225 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023226 compactedSize = in_struct->compactedSize;
23227 info.initialize(&in_struct->info);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023228 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023229}
23230
23231void safe_VkAccelerationStructureCreateInfoNV::initialize(const safe_VkAccelerationStructureCreateInfoNV* src)
23232{
23233 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023234 compactedSize = src->compactedSize;
23235 info.initialize(&src->info);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023236 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023237}
23238
23239safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV(const VkBindAccelerationStructureMemoryInfoNV* in_struct) :
23240 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023241 accelerationStructure(in_struct->accelerationStructure),
23242 memory(in_struct->memory),
23243 memoryOffset(in_struct->memoryOffset),
23244 deviceIndexCount(in_struct->deviceIndexCount),
23245 pDeviceIndices(nullptr)
23246{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023247 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023248 if (in_struct->pDeviceIndices) {
23249 pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
23250 memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
23251 }
23252}
23253
23254safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070023255 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023256 pDeviceIndices(nullptr)
23257{}
23258
23259safe_VkBindAccelerationStructureMemoryInfoNV::safe_VkBindAccelerationStructureMemoryInfoNV(const safe_VkBindAccelerationStructureMemoryInfoNV& src)
23260{
23261 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023262 accelerationStructure = src.accelerationStructure;
23263 memory = src.memory;
23264 memoryOffset = src.memoryOffset;
23265 deviceIndexCount = src.deviceIndexCount;
23266 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023267 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023268 if (src.pDeviceIndices) {
23269 pDeviceIndices = new uint32_t[src.deviceIndexCount];
23270 memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
23271 }
23272}
23273
23274safe_VkBindAccelerationStructureMemoryInfoNV& safe_VkBindAccelerationStructureMemoryInfoNV::operator=(const safe_VkBindAccelerationStructureMemoryInfoNV& src)
23275{
23276 if (&src == this) return *this;
23277
23278 if (pDeviceIndices)
23279 delete[] pDeviceIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023280 if (pNext)
23281 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023282
23283 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023284 accelerationStructure = src.accelerationStructure;
23285 memory = src.memory;
23286 memoryOffset = src.memoryOffset;
23287 deviceIndexCount = src.deviceIndexCount;
23288 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023289 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023290 if (src.pDeviceIndices) {
23291 pDeviceIndices = new uint32_t[src.deviceIndexCount];
23292 memcpy ((void *)pDeviceIndices, (void *)src.pDeviceIndices, sizeof(uint32_t)*src.deviceIndexCount);
23293 }
23294
23295 return *this;
23296}
23297
23298safe_VkBindAccelerationStructureMemoryInfoNV::~safe_VkBindAccelerationStructureMemoryInfoNV()
23299{
23300 if (pDeviceIndices)
23301 delete[] pDeviceIndices;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023302 if (pNext)
23303 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023304}
23305
23306void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const VkBindAccelerationStructureMemoryInfoNV* in_struct)
23307{
23308 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023309 accelerationStructure = in_struct->accelerationStructure;
23310 memory = in_struct->memory;
23311 memoryOffset = in_struct->memoryOffset;
23312 deviceIndexCount = in_struct->deviceIndexCount;
23313 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023314 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023315 if (in_struct->pDeviceIndices) {
23316 pDeviceIndices = new uint32_t[in_struct->deviceIndexCount];
23317 memcpy ((void *)pDeviceIndices, (void *)in_struct->pDeviceIndices, sizeof(uint32_t)*in_struct->deviceIndexCount);
23318 }
23319}
23320
23321void safe_VkBindAccelerationStructureMemoryInfoNV::initialize(const safe_VkBindAccelerationStructureMemoryInfoNV* src)
23322{
23323 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023324 accelerationStructure = src->accelerationStructure;
23325 memory = src->memory;
23326 memoryOffset = src->memoryOffset;
23327 deviceIndexCount = src->deviceIndexCount;
23328 pDeviceIndices = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023329 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023330 if (src->pDeviceIndices) {
23331 pDeviceIndices = new uint32_t[src->deviceIndexCount];
23332 memcpy ((void *)pDeviceIndices, (void *)src->pDeviceIndices, sizeof(uint32_t)*src->deviceIndexCount);
23333 }
23334}
23335
23336safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV(const VkWriteDescriptorSetAccelerationStructureNV* in_struct) :
23337 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023338 accelerationStructureCount(in_struct->accelerationStructureCount),
23339 pAccelerationStructures(nullptr)
23340{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023341 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023342 if (accelerationStructureCount && in_struct->pAccelerationStructures) {
23343 pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23344 for (uint32_t i=0; i<accelerationStructureCount; ++i) {
23345 pAccelerationStructures[i] = in_struct->pAccelerationStructures[i];
23346 }
23347 }
23348}
23349
23350safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070023351 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023352 pAccelerationStructures(nullptr)
23353{}
23354
23355safe_VkWriteDescriptorSetAccelerationStructureNV::safe_VkWriteDescriptorSetAccelerationStructureNV(const safe_VkWriteDescriptorSetAccelerationStructureNV& src)
23356{
23357 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023358 accelerationStructureCount = src.accelerationStructureCount;
23359 pAccelerationStructures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023360 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023361 if (accelerationStructureCount && src.pAccelerationStructures) {
23362 pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23363 for (uint32_t i=0; i<accelerationStructureCount; ++i) {
23364 pAccelerationStructures[i] = src.pAccelerationStructures[i];
23365 }
23366 }
23367}
23368
23369safe_VkWriteDescriptorSetAccelerationStructureNV& safe_VkWriteDescriptorSetAccelerationStructureNV::operator=(const safe_VkWriteDescriptorSetAccelerationStructureNV& src)
23370{
23371 if (&src == this) return *this;
23372
23373 if (pAccelerationStructures)
23374 delete[] pAccelerationStructures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023375 if (pNext)
23376 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023377
23378 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023379 accelerationStructureCount = src.accelerationStructureCount;
23380 pAccelerationStructures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023381 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023382 if (accelerationStructureCount && src.pAccelerationStructures) {
23383 pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23384 for (uint32_t i=0; i<accelerationStructureCount; ++i) {
23385 pAccelerationStructures[i] = src.pAccelerationStructures[i];
23386 }
23387 }
23388
23389 return *this;
23390}
23391
23392safe_VkWriteDescriptorSetAccelerationStructureNV::~safe_VkWriteDescriptorSetAccelerationStructureNV()
23393{
23394 if (pAccelerationStructures)
23395 delete[] pAccelerationStructures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023396 if (pNext)
23397 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023398}
23399
23400void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const VkWriteDescriptorSetAccelerationStructureNV* in_struct)
23401{
23402 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023403 accelerationStructureCount = in_struct->accelerationStructureCount;
23404 pAccelerationStructures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023405 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023406 if (accelerationStructureCount && in_struct->pAccelerationStructures) {
23407 pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23408 for (uint32_t i=0; i<accelerationStructureCount; ++i) {
23409 pAccelerationStructures[i] = in_struct->pAccelerationStructures[i];
23410 }
23411 }
23412}
23413
23414void safe_VkWriteDescriptorSetAccelerationStructureNV::initialize(const safe_VkWriteDescriptorSetAccelerationStructureNV* src)
23415{
23416 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023417 accelerationStructureCount = src->accelerationStructureCount;
23418 pAccelerationStructures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023419 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023420 if (accelerationStructureCount && src->pAccelerationStructures) {
23421 pAccelerationStructures = new VkAccelerationStructureNV[accelerationStructureCount];
23422 for (uint32_t i=0; i<accelerationStructureCount; ++i) {
23423 pAccelerationStructures[i] = src->pAccelerationStructures[i];
23424 }
23425 }
23426}
23427
23428safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV(const VkAccelerationStructureMemoryRequirementsInfoNV* in_struct) :
23429 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023430 type(in_struct->type),
23431 accelerationStructure(in_struct->accelerationStructure)
23432{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023433 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023434}
23435
Jason Macnak8f28eec2019-08-09 12:57:01 -070023436safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV() :
23437 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023438{}
23439
23440safe_VkAccelerationStructureMemoryRequirementsInfoNV::safe_VkAccelerationStructureMemoryRequirementsInfoNV(const safe_VkAccelerationStructureMemoryRequirementsInfoNV& src)
23441{
23442 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023443 type = src.type;
23444 accelerationStructure = src.accelerationStructure;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023445 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023446}
23447
23448safe_VkAccelerationStructureMemoryRequirementsInfoNV& safe_VkAccelerationStructureMemoryRequirementsInfoNV::operator=(const safe_VkAccelerationStructureMemoryRequirementsInfoNV& src)
23449{
23450 if (&src == this) return *this;
23451
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023452 if (pNext)
23453 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023454
23455 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023456 type = src.type;
23457 accelerationStructure = src.accelerationStructure;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023458 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023459
23460 return *this;
23461}
23462
23463safe_VkAccelerationStructureMemoryRequirementsInfoNV::~safe_VkAccelerationStructureMemoryRequirementsInfoNV()
23464{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023465 if (pNext)
23466 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023467}
23468
23469void safe_VkAccelerationStructureMemoryRequirementsInfoNV::initialize(const VkAccelerationStructureMemoryRequirementsInfoNV* in_struct)
23470{
23471 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023472 type = in_struct->type;
23473 accelerationStructure = in_struct->accelerationStructure;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023474 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023475}
23476
23477void safe_VkAccelerationStructureMemoryRequirementsInfoNV::initialize(const safe_VkAccelerationStructureMemoryRequirementsInfoNV* src)
23478{
23479 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023480 type = src->type;
23481 accelerationStructure = src->accelerationStructure;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023482 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023483}
23484
23485safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV(const VkPhysicalDeviceRayTracingPropertiesNV* in_struct) :
23486 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023487 shaderGroupHandleSize(in_struct->shaderGroupHandleSize),
23488 maxRecursionDepth(in_struct->maxRecursionDepth),
23489 maxShaderGroupStride(in_struct->maxShaderGroupStride),
23490 shaderGroupBaseAlignment(in_struct->shaderGroupBaseAlignment),
23491 maxGeometryCount(in_struct->maxGeometryCount),
23492 maxInstanceCount(in_struct->maxInstanceCount),
23493 maxTriangleCount(in_struct->maxTriangleCount),
23494 maxDescriptorSetAccelerationStructures(in_struct->maxDescriptorSetAccelerationStructures)
23495{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023496 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023497}
23498
Jason Macnak8f28eec2019-08-09 12:57:01 -070023499safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV() :
23500 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023501{}
23502
23503safe_VkPhysicalDeviceRayTracingPropertiesNV::safe_VkPhysicalDeviceRayTracingPropertiesNV(const safe_VkPhysicalDeviceRayTracingPropertiesNV& src)
23504{
23505 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023506 shaderGroupHandleSize = src.shaderGroupHandleSize;
23507 maxRecursionDepth = src.maxRecursionDepth;
23508 maxShaderGroupStride = src.maxShaderGroupStride;
23509 shaderGroupBaseAlignment = src.shaderGroupBaseAlignment;
23510 maxGeometryCount = src.maxGeometryCount;
23511 maxInstanceCount = src.maxInstanceCount;
23512 maxTriangleCount = src.maxTriangleCount;
23513 maxDescriptorSetAccelerationStructures = src.maxDescriptorSetAccelerationStructures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023514 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023515}
23516
23517safe_VkPhysicalDeviceRayTracingPropertiesNV& safe_VkPhysicalDeviceRayTracingPropertiesNV::operator=(const safe_VkPhysicalDeviceRayTracingPropertiesNV& src)
23518{
23519 if (&src == this) return *this;
23520
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023521 if (pNext)
23522 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023523
23524 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023525 shaderGroupHandleSize = src.shaderGroupHandleSize;
23526 maxRecursionDepth = src.maxRecursionDepth;
23527 maxShaderGroupStride = src.maxShaderGroupStride;
23528 shaderGroupBaseAlignment = src.shaderGroupBaseAlignment;
23529 maxGeometryCount = src.maxGeometryCount;
23530 maxInstanceCount = src.maxInstanceCount;
23531 maxTriangleCount = src.maxTriangleCount;
23532 maxDescriptorSetAccelerationStructures = src.maxDescriptorSetAccelerationStructures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023533 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023534
23535 return *this;
23536}
23537
23538safe_VkPhysicalDeviceRayTracingPropertiesNV::~safe_VkPhysicalDeviceRayTracingPropertiesNV()
23539{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023540 if (pNext)
23541 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023542}
23543
23544void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const VkPhysicalDeviceRayTracingPropertiesNV* in_struct)
23545{
23546 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023547 shaderGroupHandleSize = in_struct->shaderGroupHandleSize;
23548 maxRecursionDepth = in_struct->maxRecursionDepth;
23549 maxShaderGroupStride = in_struct->maxShaderGroupStride;
23550 shaderGroupBaseAlignment = in_struct->shaderGroupBaseAlignment;
23551 maxGeometryCount = in_struct->maxGeometryCount;
23552 maxInstanceCount = in_struct->maxInstanceCount;
23553 maxTriangleCount = in_struct->maxTriangleCount;
23554 maxDescriptorSetAccelerationStructures = in_struct->maxDescriptorSetAccelerationStructures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023555 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023556}
23557
23558void safe_VkPhysicalDeviceRayTracingPropertiesNV::initialize(const safe_VkPhysicalDeviceRayTracingPropertiesNV* src)
23559{
23560 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023561 shaderGroupHandleSize = src->shaderGroupHandleSize;
23562 maxRecursionDepth = src->maxRecursionDepth;
23563 maxShaderGroupStride = src->maxShaderGroupStride;
23564 shaderGroupBaseAlignment = src->shaderGroupBaseAlignment;
23565 maxGeometryCount = src->maxGeometryCount;
23566 maxInstanceCount = src->maxInstanceCount;
23567 maxTriangleCount = src->maxTriangleCount;
23568 maxDescriptorSetAccelerationStructures = src->maxDescriptorSetAccelerationStructures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023569 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023570}
23571
23572safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* in_struct) :
23573 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023574 representativeFragmentTest(in_struct->representativeFragmentTest)
23575{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023576 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023577}
23578
Jason Macnak8f28eec2019-08-09 12:57:01 -070023579safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV() :
23580 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023581{}
23582
23583safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& src)
23584{
23585 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023586 representativeFragmentTest = src.representativeFragmentTest;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023587 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023588}
23589
23590safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::operator=(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& src)
23591{
23592 if (&src == this) return *this;
23593
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023594 if (pNext)
23595 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023596
23597 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023598 representativeFragmentTest = src.representativeFragmentTest;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023599 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023600
23601 return *this;
23602}
23603
23604safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::~safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV()
23605{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023606 if (pNext)
23607 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023608}
23609
23610void safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::initialize(const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* in_struct)
23611{
23612 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023613 representativeFragmentTest = in_struct->representativeFragmentTest;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023614 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023615}
23616
23617void safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV::initialize(const safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* src)
23618{
23619 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023620 representativeFragmentTest = src->representativeFragmentTest;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023621 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023622}
23623
23624safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* in_struct) :
23625 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023626 representativeFragmentTestEnable(in_struct->representativeFragmentTestEnable)
23627{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023628 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023629}
23630
Jason Macnak8f28eec2019-08-09 12:57:01 -070023631safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV() :
23632 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023633{}
23634
23635safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& src)
23636{
23637 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023638 representativeFragmentTestEnable = src.representativeFragmentTestEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023639 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023640}
23641
23642safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::operator=(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV& src)
23643{
23644 if (&src == this) return *this;
23645
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023646 if (pNext)
23647 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023648
23649 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023650 representativeFragmentTestEnable = src.representativeFragmentTestEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023651 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023652
23653 return *this;
23654}
23655
23656safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::~safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV()
23657{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023658 if (pNext)
23659 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023660}
23661
23662void safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::initialize(const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* in_struct)
23663{
23664 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023665 representativeFragmentTestEnable = in_struct->representativeFragmentTestEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023666 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023667}
23668
23669void safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV::initialize(const safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV* src)
23670{
23671 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023672 representativeFragmentTestEnable = src->representativeFragmentTestEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023673 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023674}
23675
23676safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const VkPhysicalDeviceImageViewImageFormatInfoEXT* in_struct) :
23677 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023678 imageViewType(in_struct->imageViewType)
23679{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023680 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023681}
23682
Jason Macnak8f28eec2019-08-09 12:57:01 -070023683safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT() :
23684 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023685{}
23686
23687safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::safe_VkPhysicalDeviceImageViewImageFormatInfoEXT(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& src)
23688{
23689 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023690 imageViewType = src.imageViewType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023691 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023692}
23693
23694safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::operator=(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT& src)
23695{
23696 if (&src == this) return *this;
23697
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023698 if (pNext)
23699 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023700
23701 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023702 imageViewType = src.imageViewType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023703 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023704
23705 return *this;
23706}
23707
23708safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::~safe_VkPhysicalDeviceImageViewImageFormatInfoEXT()
23709{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023710 if (pNext)
23711 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023712}
23713
23714void safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::initialize(const VkPhysicalDeviceImageViewImageFormatInfoEXT* in_struct)
23715{
23716 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023717 imageViewType = in_struct->imageViewType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023718 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023719}
23720
23721void safe_VkPhysicalDeviceImageViewImageFormatInfoEXT::initialize(const safe_VkPhysicalDeviceImageViewImageFormatInfoEXT* src)
23722{
23723 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023724 imageViewType = src->imageViewType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023725 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023726}
23727
23728safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const VkFilterCubicImageViewImageFormatPropertiesEXT* in_struct) :
23729 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023730 filterCubic(in_struct->filterCubic),
23731 filterCubicMinmax(in_struct->filterCubicMinmax)
23732{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023733 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023734}
23735
Jason Macnak8f28eec2019-08-09 12:57:01 -070023736safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT() :
23737 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023738{}
23739
23740safe_VkFilterCubicImageViewImageFormatPropertiesEXT::safe_VkFilterCubicImageViewImageFormatPropertiesEXT(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT& src)
23741{
23742 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023743 filterCubic = src.filterCubic;
23744 filterCubicMinmax = src.filterCubicMinmax;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023745 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023746}
23747
23748safe_VkFilterCubicImageViewImageFormatPropertiesEXT& safe_VkFilterCubicImageViewImageFormatPropertiesEXT::operator=(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT& src)
23749{
23750 if (&src == this) return *this;
23751
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023752 if (pNext)
23753 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023754
23755 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023756 filterCubic = src.filterCubic;
23757 filterCubicMinmax = src.filterCubicMinmax;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023758 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023759
23760 return *this;
23761}
23762
23763safe_VkFilterCubicImageViewImageFormatPropertiesEXT::~safe_VkFilterCubicImageViewImageFormatPropertiesEXT()
23764{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023765 if (pNext)
23766 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023767}
23768
23769void safe_VkFilterCubicImageViewImageFormatPropertiesEXT::initialize(const VkFilterCubicImageViewImageFormatPropertiesEXT* in_struct)
23770{
23771 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023772 filterCubic = in_struct->filterCubic;
23773 filterCubicMinmax = in_struct->filterCubicMinmax;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023774 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023775}
23776
23777void safe_VkFilterCubicImageViewImageFormatPropertiesEXT::initialize(const safe_VkFilterCubicImageViewImageFormatPropertiesEXT* src)
23778{
23779 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023780 filterCubic = src->filterCubic;
23781 filterCubicMinmax = src->filterCubicMinmax;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023782 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023783}
23784
23785safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const VkDeviceQueueGlobalPriorityCreateInfoEXT* in_struct) :
23786 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023787 globalPriority(in_struct->globalPriority)
23788{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023789 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023790}
23791
Jason Macnak8f28eec2019-08-09 12:57:01 -070023792safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT() :
23793 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023794{}
23795
23796safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::safe_VkDeviceQueueGlobalPriorityCreateInfoEXT(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& src)
23797{
23798 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023799 globalPriority = src.globalPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023800 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023801}
23802
23803safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::operator=(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT& src)
23804{
23805 if (&src == this) return *this;
23806
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023807 if (pNext)
23808 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023809
23810 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023811 globalPriority = src.globalPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023812 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023813
23814 return *this;
23815}
23816
23817safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::~safe_VkDeviceQueueGlobalPriorityCreateInfoEXT()
23818{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023819 if (pNext)
23820 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023821}
23822
23823void safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::initialize(const VkDeviceQueueGlobalPriorityCreateInfoEXT* in_struct)
23824{
23825 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023826 globalPriority = in_struct->globalPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023827 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023828}
23829
23830void safe_VkDeviceQueueGlobalPriorityCreateInfoEXT::initialize(const safe_VkDeviceQueueGlobalPriorityCreateInfoEXT* src)
23831{
23832 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023833 globalPriority = src->globalPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023834 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023835}
23836
23837safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT(const VkImportMemoryHostPointerInfoEXT* in_struct) :
23838 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023839 handleType(in_struct->handleType),
23840 pHostPointer(in_struct->pHostPointer)
23841{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023842 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023843}
23844
Jason Macnak8f28eec2019-08-09 12:57:01 -070023845safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060023846 pNext(nullptr),
23847 pHostPointer(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023848{}
23849
23850safe_VkImportMemoryHostPointerInfoEXT::safe_VkImportMemoryHostPointerInfoEXT(const safe_VkImportMemoryHostPointerInfoEXT& src)
23851{
23852 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023853 handleType = src.handleType;
23854 pHostPointer = src.pHostPointer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023855 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023856}
23857
23858safe_VkImportMemoryHostPointerInfoEXT& safe_VkImportMemoryHostPointerInfoEXT::operator=(const safe_VkImportMemoryHostPointerInfoEXT& src)
23859{
23860 if (&src == this) return *this;
23861
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023862 if (pNext)
23863 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023864
23865 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023866 handleType = src.handleType;
23867 pHostPointer = src.pHostPointer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023868 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023869
23870 return *this;
23871}
23872
23873safe_VkImportMemoryHostPointerInfoEXT::~safe_VkImportMemoryHostPointerInfoEXT()
23874{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023875 if (pNext)
23876 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023877}
23878
23879void safe_VkImportMemoryHostPointerInfoEXT::initialize(const VkImportMemoryHostPointerInfoEXT* in_struct)
23880{
23881 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023882 handleType = in_struct->handleType;
23883 pHostPointer = in_struct->pHostPointer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023884 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023885}
23886
23887void safe_VkImportMemoryHostPointerInfoEXT::initialize(const safe_VkImportMemoryHostPointerInfoEXT* src)
23888{
23889 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023890 handleType = src->handleType;
23891 pHostPointer = src->pHostPointer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023892 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023893}
23894
23895safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT(const VkMemoryHostPointerPropertiesEXT* in_struct) :
23896 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023897 memoryTypeBits(in_struct->memoryTypeBits)
23898{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023899 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023900}
23901
Jason Macnak8f28eec2019-08-09 12:57:01 -070023902safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT() :
23903 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023904{}
23905
23906safe_VkMemoryHostPointerPropertiesEXT::safe_VkMemoryHostPointerPropertiesEXT(const safe_VkMemoryHostPointerPropertiesEXT& src)
23907{
23908 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023909 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023910 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023911}
23912
23913safe_VkMemoryHostPointerPropertiesEXT& safe_VkMemoryHostPointerPropertiesEXT::operator=(const safe_VkMemoryHostPointerPropertiesEXT& src)
23914{
23915 if (&src == this) return *this;
23916
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023917 if (pNext)
23918 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023919
23920 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023921 memoryTypeBits = src.memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023922 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023923
23924 return *this;
23925}
23926
23927safe_VkMemoryHostPointerPropertiesEXT::~safe_VkMemoryHostPointerPropertiesEXT()
23928{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023929 if (pNext)
23930 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023931}
23932
23933void safe_VkMemoryHostPointerPropertiesEXT::initialize(const VkMemoryHostPointerPropertiesEXT* in_struct)
23934{
23935 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023936 memoryTypeBits = in_struct->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023937 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023938}
23939
23940void safe_VkMemoryHostPointerPropertiesEXT::initialize(const safe_VkMemoryHostPointerPropertiesEXT* src)
23941{
23942 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023943 memoryTypeBits = src->memoryTypeBits;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023944 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023945}
23946
23947safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* in_struct) :
23948 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070023949 minImportedHostPointerAlignment(in_struct->minImportedHostPointerAlignment)
23950{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023951 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023952}
23953
Jason Macnak8f28eec2019-08-09 12:57:01 -070023954safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT() :
23955 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070023956{}
23957
23958safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& src)
23959{
23960 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023961 minImportedHostPointerAlignment = src.minImportedHostPointerAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023962 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023963}
23964
23965safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::operator=(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT& src)
23966{
23967 if (&src == this) return *this;
23968
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023969 if (pNext)
23970 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023971
23972 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023973 minImportedHostPointerAlignment = src.minImportedHostPointerAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023974 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023975
23976 return *this;
23977}
23978
23979safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::~safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT()
23980{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023981 if (pNext)
23982 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023983}
23984
23985void safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::initialize(const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* in_struct)
23986{
23987 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023988 minImportedHostPointerAlignment = in_struct->minImportedHostPointerAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023989 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023990}
23991
23992void safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT::initialize(const safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT* src)
23993{
23994 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070023995 minImportedHostPointerAlignment = src->minImportedHostPointerAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060023996 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070023997}
23998
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060023999safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD(const VkPipelineCompilerControlCreateInfoAMD* in_struct) :
24000 sType(in_struct->sType),
24001 compilerControlFlags(in_struct->compilerControlFlags)
24002{
24003 pNext = SafePnextCopy(in_struct->pNext);
24004}
24005
24006safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD() :
24007 pNext(nullptr)
24008{}
24009
24010safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD(const safe_VkPipelineCompilerControlCreateInfoAMD& src)
24011{
24012 sType = src.sType;
24013 compilerControlFlags = src.compilerControlFlags;
24014 pNext = SafePnextCopy(src.pNext);
24015}
24016
24017safe_VkPipelineCompilerControlCreateInfoAMD& safe_VkPipelineCompilerControlCreateInfoAMD::operator=(const safe_VkPipelineCompilerControlCreateInfoAMD& src)
24018{
24019 if (&src == this) return *this;
24020
24021 if (pNext)
24022 FreePnextChain(pNext);
24023
24024 sType = src.sType;
24025 compilerControlFlags = src.compilerControlFlags;
24026 pNext = SafePnextCopy(src.pNext);
24027
24028 return *this;
24029}
24030
24031safe_VkPipelineCompilerControlCreateInfoAMD::~safe_VkPipelineCompilerControlCreateInfoAMD()
24032{
24033 if (pNext)
24034 FreePnextChain(pNext);
24035}
24036
24037void safe_VkPipelineCompilerControlCreateInfoAMD::initialize(const VkPipelineCompilerControlCreateInfoAMD* in_struct)
24038{
24039 sType = in_struct->sType;
24040 compilerControlFlags = in_struct->compilerControlFlags;
24041 pNext = SafePnextCopy(in_struct->pNext);
24042}
24043
24044void safe_VkPipelineCompilerControlCreateInfoAMD::initialize(const safe_VkPipelineCompilerControlCreateInfoAMD* src)
24045{
24046 sType = src->sType;
24047 compilerControlFlags = src->compilerControlFlags;
24048 pNext = SafePnextCopy(src->pNext);
24049}
24050
Mike Schuchardt440d4642019-06-20 17:14:57 -070024051safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT(const VkCalibratedTimestampInfoEXT* in_struct) :
24052 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024053 timeDomain(in_struct->timeDomain)
24054{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024055 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024056}
24057
Jason Macnak8f28eec2019-08-09 12:57:01 -070024058safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT() :
24059 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024060{}
24061
24062safe_VkCalibratedTimestampInfoEXT::safe_VkCalibratedTimestampInfoEXT(const safe_VkCalibratedTimestampInfoEXT& src)
24063{
24064 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024065 timeDomain = src.timeDomain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024066 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024067}
24068
24069safe_VkCalibratedTimestampInfoEXT& safe_VkCalibratedTimestampInfoEXT::operator=(const safe_VkCalibratedTimestampInfoEXT& src)
24070{
24071 if (&src == this) return *this;
24072
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024073 if (pNext)
24074 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024075
24076 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024077 timeDomain = src.timeDomain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024078 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024079
24080 return *this;
24081}
24082
24083safe_VkCalibratedTimestampInfoEXT::~safe_VkCalibratedTimestampInfoEXT()
24084{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024085 if (pNext)
24086 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024087}
24088
24089void safe_VkCalibratedTimestampInfoEXT::initialize(const VkCalibratedTimestampInfoEXT* in_struct)
24090{
24091 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024092 timeDomain = in_struct->timeDomain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024093 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024094}
24095
24096void safe_VkCalibratedTimestampInfoEXT::initialize(const safe_VkCalibratedTimestampInfoEXT* src)
24097{
24098 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024099 timeDomain = src->timeDomain;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024100 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024101}
24102
24103safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD(const VkPhysicalDeviceShaderCorePropertiesAMD* in_struct) :
24104 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024105 shaderEngineCount(in_struct->shaderEngineCount),
24106 shaderArraysPerEngineCount(in_struct->shaderArraysPerEngineCount),
24107 computeUnitsPerShaderArray(in_struct->computeUnitsPerShaderArray),
24108 simdPerComputeUnit(in_struct->simdPerComputeUnit),
24109 wavefrontsPerSimd(in_struct->wavefrontsPerSimd),
24110 wavefrontSize(in_struct->wavefrontSize),
24111 sgprsPerSimd(in_struct->sgprsPerSimd),
24112 minSgprAllocation(in_struct->minSgprAllocation),
24113 maxSgprAllocation(in_struct->maxSgprAllocation),
24114 sgprAllocationGranularity(in_struct->sgprAllocationGranularity),
24115 vgprsPerSimd(in_struct->vgprsPerSimd),
24116 minVgprAllocation(in_struct->minVgprAllocation),
24117 maxVgprAllocation(in_struct->maxVgprAllocation),
24118 vgprAllocationGranularity(in_struct->vgprAllocationGranularity)
24119{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024120 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024121}
24122
Jason Macnak8f28eec2019-08-09 12:57:01 -070024123safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD() :
24124 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024125{}
24126
24127safe_VkPhysicalDeviceShaderCorePropertiesAMD::safe_VkPhysicalDeviceShaderCorePropertiesAMD(const safe_VkPhysicalDeviceShaderCorePropertiesAMD& src)
24128{
24129 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024130 shaderEngineCount = src.shaderEngineCount;
24131 shaderArraysPerEngineCount = src.shaderArraysPerEngineCount;
24132 computeUnitsPerShaderArray = src.computeUnitsPerShaderArray;
24133 simdPerComputeUnit = src.simdPerComputeUnit;
24134 wavefrontsPerSimd = src.wavefrontsPerSimd;
24135 wavefrontSize = src.wavefrontSize;
24136 sgprsPerSimd = src.sgprsPerSimd;
24137 minSgprAllocation = src.minSgprAllocation;
24138 maxSgprAllocation = src.maxSgprAllocation;
24139 sgprAllocationGranularity = src.sgprAllocationGranularity;
24140 vgprsPerSimd = src.vgprsPerSimd;
24141 minVgprAllocation = src.minVgprAllocation;
24142 maxVgprAllocation = src.maxVgprAllocation;
24143 vgprAllocationGranularity = src.vgprAllocationGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024144 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024145}
24146
24147safe_VkPhysicalDeviceShaderCorePropertiesAMD& safe_VkPhysicalDeviceShaderCorePropertiesAMD::operator=(const safe_VkPhysicalDeviceShaderCorePropertiesAMD& src)
24148{
24149 if (&src == this) return *this;
24150
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024151 if (pNext)
24152 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024153
24154 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024155 shaderEngineCount = src.shaderEngineCount;
24156 shaderArraysPerEngineCount = src.shaderArraysPerEngineCount;
24157 computeUnitsPerShaderArray = src.computeUnitsPerShaderArray;
24158 simdPerComputeUnit = src.simdPerComputeUnit;
24159 wavefrontsPerSimd = src.wavefrontsPerSimd;
24160 wavefrontSize = src.wavefrontSize;
24161 sgprsPerSimd = src.sgprsPerSimd;
24162 minSgprAllocation = src.minSgprAllocation;
24163 maxSgprAllocation = src.maxSgprAllocation;
24164 sgprAllocationGranularity = src.sgprAllocationGranularity;
24165 vgprsPerSimd = src.vgprsPerSimd;
24166 minVgprAllocation = src.minVgprAllocation;
24167 maxVgprAllocation = src.maxVgprAllocation;
24168 vgprAllocationGranularity = src.vgprAllocationGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024169 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024170
24171 return *this;
24172}
24173
24174safe_VkPhysicalDeviceShaderCorePropertiesAMD::~safe_VkPhysicalDeviceShaderCorePropertiesAMD()
24175{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024176 if (pNext)
24177 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024178}
24179
24180void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const VkPhysicalDeviceShaderCorePropertiesAMD* in_struct)
24181{
24182 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024183 shaderEngineCount = in_struct->shaderEngineCount;
24184 shaderArraysPerEngineCount = in_struct->shaderArraysPerEngineCount;
24185 computeUnitsPerShaderArray = in_struct->computeUnitsPerShaderArray;
24186 simdPerComputeUnit = in_struct->simdPerComputeUnit;
24187 wavefrontsPerSimd = in_struct->wavefrontsPerSimd;
24188 wavefrontSize = in_struct->wavefrontSize;
24189 sgprsPerSimd = in_struct->sgprsPerSimd;
24190 minSgprAllocation = in_struct->minSgprAllocation;
24191 maxSgprAllocation = in_struct->maxSgprAllocation;
24192 sgprAllocationGranularity = in_struct->sgprAllocationGranularity;
24193 vgprsPerSimd = in_struct->vgprsPerSimd;
24194 minVgprAllocation = in_struct->minVgprAllocation;
24195 maxVgprAllocation = in_struct->maxVgprAllocation;
24196 vgprAllocationGranularity = in_struct->vgprAllocationGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024197 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024198}
24199
24200void safe_VkPhysicalDeviceShaderCorePropertiesAMD::initialize(const safe_VkPhysicalDeviceShaderCorePropertiesAMD* src)
24201{
24202 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024203 shaderEngineCount = src->shaderEngineCount;
24204 shaderArraysPerEngineCount = src->shaderArraysPerEngineCount;
24205 computeUnitsPerShaderArray = src->computeUnitsPerShaderArray;
24206 simdPerComputeUnit = src->simdPerComputeUnit;
24207 wavefrontsPerSimd = src->wavefrontsPerSimd;
24208 wavefrontSize = src->wavefrontSize;
24209 sgprsPerSimd = src->sgprsPerSimd;
24210 minSgprAllocation = src->minSgprAllocation;
24211 maxSgprAllocation = src->maxSgprAllocation;
24212 sgprAllocationGranularity = src->sgprAllocationGranularity;
24213 vgprsPerSimd = src->vgprsPerSimd;
24214 minVgprAllocation = src->minVgprAllocation;
24215 maxVgprAllocation = src->maxVgprAllocation;
24216 vgprAllocationGranularity = src->vgprAllocationGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024217 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024218}
24219
24220safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD(const VkDeviceMemoryOverallocationCreateInfoAMD* in_struct) :
24221 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024222 overallocationBehavior(in_struct->overallocationBehavior)
24223{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024224 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024225}
24226
Jason Macnak8f28eec2019-08-09 12:57:01 -070024227safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD() :
24228 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024229{}
24230
24231safe_VkDeviceMemoryOverallocationCreateInfoAMD::safe_VkDeviceMemoryOverallocationCreateInfoAMD(const safe_VkDeviceMemoryOverallocationCreateInfoAMD& src)
24232{
24233 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024234 overallocationBehavior = src.overallocationBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024235 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024236}
24237
24238safe_VkDeviceMemoryOverallocationCreateInfoAMD& safe_VkDeviceMemoryOverallocationCreateInfoAMD::operator=(const safe_VkDeviceMemoryOverallocationCreateInfoAMD& src)
24239{
24240 if (&src == this) return *this;
24241
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024242 if (pNext)
24243 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024244
24245 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024246 overallocationBehavior = src.overallocationBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024247 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024248
24249 return *this;
24250}
24251
24252safe_VkDeviceMemoryOverallocationCreateInfoAMD::~safe_VkDeviceMemoryOverallocationCreateInfoAMD()
24253{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024254 if (pNext)
24255 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024256}
24257
24258void safe_VkDeviceMemoryOverallocationCreateInfoAMD::initialize(const VkDeviceMemoryOverallocationCreateInfoAMD* in_struct)
24259{
24260 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024261 overallocationBehavior = in_struct->overallocationBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024262 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024263}
24264
24265void safe_VkDeviceMemoryOverallocationCreateInfoAMD::initialize(const safe_VkDeviceMemoryOverallocationCreateInfoAMD* src)
24266{
24267 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024268 overallocationBehavior = src->overallocationBehavior;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024269 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024270}
24271
24272safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* in_struct) :
24273 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024274 maxVertexAttribDivisor(in_struct->maxVertexAttribDivisor)
24275{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024276 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024277}
24278
Jason Macnak8f28eec2019-08-09 12:57:01 -070024279safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT() :
24280 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024281{}
24282
24283safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& src)
24284{
24285 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024286 maxVertexAttribDivisor = src.maxVertexAttribDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024287 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024288}
24289
24290safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::operator=(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& src)
24291{
24292 if (&src == this) return *this;
24293
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024294 if (pNext)
24295 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024296
24297 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024298 maxVertexAttribDivisor = src.maxVertexAttribDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024299 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024300
24301 return *this;
24302}
24303
24304safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::~safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT()
24305{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024306 if (pNext)
24307 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024308}
24309
24310void safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::initialize(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* in_struct)
24311{
24312 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024313 maxVertexAttribDivisor = in_struct->maxVertexAttribDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024314 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024315}
24316
24317void safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT::initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* src)
24318{
24319 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024320 maxVertexAttribDivisor = src->maxVertexAttribDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024321 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024322}
24323
24324safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const VkPipelineVertexInputDivisorStateCreateInfoEXT* in_struct) :
24325 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024326 vertexBindingDivisorCount(in_struct->vertexBindingDivisorCount),
24327 pVertexBindingDivisors(nullptr)
24328{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024329 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024330 if (in_struct->pVertexBindingDivisors) {
24331 pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[in_struct->vertexBindingDivisorCount];
24332 memcpy ((void *)pVertexBindingDivisors, (void *)in_struct->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*in_struct->vertexBindingDivisorCount);
24333 }
24334}
24335
24336safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070024337 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024338 pVertexBindingDivisors(nullptr)
24339{}
24340
24341safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::safe_VkPipelineVertexInputDivisorStateCreateInfoEXT(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& src)
24342{
24343 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024344 vertexBindingDivisorCount = src.vertexBindingDivisorCount;
24345 pVertexBindingDivisors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024346 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024347 if (src.pVertexBindingDivisors) {
24348 pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src.vertexBindingDivisorCount];
24349 memcpy ((void *)pVertexBindingDivisors, (void *)src.pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src.vertexBindingDivisorCount);
24350 }
24351}
24352
24353safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::operator=(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT& src)
24354{
24355 if (&src == this) return *this;
24356
24357 if (pVertexBindingDivisors)
24358 delete[] pVertexBindingDivisors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024359 if (pNext)
24360 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024361
24362 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024363 vertexBindingDivisorCount = src.vertexBindingDivisorCount;
24364 pVertexBindingDivisors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024365 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024366 if (src.pVertexBindingDivisors) {
24367 pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src.vertexBindingDivisorCount];
24368 memcpy ((void *)pVertexBindingDivisors, (void *)src.pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src.vertexBindingDivisorCount);
24369 }
24370
24371 return *this;
24372}
24373
24374safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::~safe_VkPipelineVertexInputDivisorStateCreateInfoEXT()
24375{
24376 if (pVertexBindingDivisors)
24377 delete[] pVertexBindingDivisors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024378 if (pNext)
24379 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024380}
24381
24382void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const VkPipelineVertexInputDivisorStateCreateInfoEXT* in_struct)
24383{
24384 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024385 vertexBindingDivisorCount = in_struct->vertexBindingDivisorCount;
24386 pVertexBindingDivisors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024387 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024388 if (in_struct->pVertexBindingDivisors) {
24389 pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[in_struct->vertexBindingDivisorCount];
24390 memcpy ((void *)pVertexBindingDivisors, (void *)in_struct->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*in_struct->vertexBindingDivisorCount);
24391 }
24392}
24393
24394void safe_VkPipelineVertexInputDivisorStateCreateInfoEXT::initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfoEXT* src)
24395{
24396 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024397 vertexBindingDivisorCount = src->vertexBindingDivisorCount;
24398 pVertexBindingDivisors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024399 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024400 if (src->pVertexBindingDivisors) {
24401 pVertexBindingDivisors = new VkVertexInputBindingDivisorDescriptionEXT[src->vertexBindingDivisorCount];
24402 memcpy ((void *)pVertexBindingDivisors, (void *)src->pVertexBindingDivisors, sizeof(VkVertexInputBindingDivisorDescriptionEXT)*src->vertexBindingDivisorCount);
24403 }
24404}
24405
24406safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* in_struct) :
24407 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024408 vertexAttributeInstanceRateDivisor(in_struct->vertexAttributeInstanceRateDivisor),
24409 vertexAttributeInstanceRateZeroDivisor(in_struct->vertexAttributeInstanceRateZeroDivisor)
24410{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024411 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024412}
24413
Jason Macnak8f28eec2019-08-09 12:57:01 -070024414safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT() :
24415 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024416{}
24417
24418safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& src)
24419{
24420 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024421 vertexAttributeInstanceRateDivisor = src.vertexAttributeInstanceRateDivisor;
24422 vertexAttributeInstanceRateZeroDivisor = src.vertexAttributeInstanceRateZeroDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024423 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024424}
24425
24426safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::operator=(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& src)
24427{
24428 if (&src == this) return *this;
24429
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024430 if (pNext)
24431 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024432
24433 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024434 vertexAttributeInstanceRateDivisor = src.vertexAttributeInstanceRateDivisor;
24435 vertexAttributeInstanceRateZeroDivisor = src.vertexAttributeInstanceRateZeroDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024436 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024437
24438 return *this;
24439}
24440
24441safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::~safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT()
24442{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024443 if (pNext)
24444 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024445}
24446
24447void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::initialize(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* in_struct)
24448{
24449 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024450 vertexAttributeInstanceRateDivisor = in_struct->vertexAttributeInstanceRateDivisor;
24451 vertexAttributeInstanceRateZeroDivisor = in_struct->vertexAttributeInstanceRateZeroDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024452 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024453}
24454
24455void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT::initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* src)
24456{
24457 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024458 vertexAttributeInstanceRateDivisor = src->vertexAttributeInstanceRateDivisor;
24459 vertexAttributeInstanceRateZeroDivisor = src->vertexAttributeInstanceRateZeroDivisor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024460 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024461}
24462#ifdef VK_USE_PLATFORM_GGP
24463
24464
24465safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP(const VkPresentFrameTokenGGP* in_struct) :
24466 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024467 frameToken(in_struct->frameToken)
24468{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024469 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024470}
24471
Jason Macnak8f28eec2019-08-09 12:57:01 -070024472safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP() :
24473 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024474{}
24475
24476safe_VkPresentFrameTokenGGP::safe_VkPresentFrameTokenGGP(const safe_VkPresentFrameTokenGGP& src)
24477{
24478 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024479 frameToken = src.frameToken;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024480 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024481}
24482
24483safe_VkPresentFrameTokenGGP& safe_VkPresentFrameTokenGGP::operator=(const safe_VkPresentFrameTokenGGP& src)
24484{
24485 if (&src == this) return *this;
24486
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024487 if (pNext)
24488 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024489
24490 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024491 frameToken = src.frameToken;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024492 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024493
24494 return *this;
24495}
24496
24497safe_VkPresentFrameTokenGGP::~safe_VkPresentFrameTokenGGP()
24498{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024499 if (pNext)
24500 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024501}
24502
24503void safe_VkPresentFrameTokenGGP::initialize(const VkPresentFrameTokenGGP* in_struct)
24504{
24505 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024506 frameToken = in_struct->frameToken;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024507 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024508}
24509
24510void safe_VkPresentFrameTokenGGP::initialize(const safe_VkPresentFrameTokenGGP* src)
24511{
24512 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024513 frameToken = src->frameToken;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024514 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024515}
24516#endif // VK_USE_PLATFORM_GGP
24517
24518
24519safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT(const VkPipelineCreationFeedbackCreateInfoEXT* in_struct) :
24520 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024521 pPipelineCreationFeedback(nullptr),
24522 pipelineStageCreationFeedbackCount(in_struct->pipelineStageCreationFeedbackCount),
24523 pPipelineStageCreationFeedbacks(nullptr)
24524{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024525 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024526 if (in_struct->pPipelineCreationFeedback) {
24527 pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*in_struct->pPipelineCreationFeedback);
24528 }
24529 if (in_struct->pPipelineStageCreationFeedbacks) {
24530 pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[in_struct->pipelineStageCreationFeedbackCount];
24531 memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)in_struct->pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*in_struct->pipelineStageCreationFeedbackCount);
24532 }
24533}
24534
24535safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070024536 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024537 pPipelineCreationFeedback(nullptr),
24538 pPipelineStageCreationFeedbacks(nullptr)
24539{}
24540
24541safe_VkPipelineCreationFeedbackCreateInfoEXT::safe_VkPipelineCreationFeedbackCreateInfoEXT(const safe_VkPipelineCreationFeedbackCreateInfoEXT& src)
24542{
24543 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024544 pPipelineCreationFeedback = nullptr;
24545 pipelineStageCreationFeedbackCount = src.pipelineStageCreationFeedbackCount;
24546 pPipelineStageCreationFeedbacks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024547 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024548 if (src.pPipelineCreationFeedback) {
24549 pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src.pPipelineCreationFeedback);
24550 }
24551 if (src.pPipelineStageCreationFeedbacks) {
24552 pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[src.pipelineStageCreationFeedbackCount];
24553 memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)src.pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*src.pipelineStageCreationFeedbackCount);
24554 }
24555}
24556
24557safe_VkPipelineCreationFeedbackCreateInfoEXT& safe_VkPipelineCreationFeedbackCreateInfoEXT::operator=(const safe_VkPipelineCreationFeedbackCreateInfoEXT& src)
24558{
24559 if (&src == this) return *this;
24560
24561 if (pPipelineCreationFeedback)
24562 delete pPipelineCreationFeedback;
24563 if (pPipelineStageCreationFeedbacks)
24564 delete[] pPipelineStageCreationFeedbacks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024565 if (pNext)
24566 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024567
24568 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024569 pPipelineCreationFeedback = nullptr;
24570 pipelineStageCreationFeedbackCount = src.pipelineStageCreationFeedbackCount;
24571 pPipelineStageCreationFeedbacks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024572 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024573 if (src.pPipelineCreationFeedback) {
24574 pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src.pPipelineCreationFeedback);
24575 }
24576 if (src.pPipelineStageCreationFeedbacks) {
24577 pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[src.pipelineStageCreationFeedbackCount];
24578 memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)src.pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*src.pipelineStageCreationFeedbackCount);
24579 }
24580
24581 return *this;
24582}
24583
24584safe_VkPipelineCreationFeedbackCreateInfoEXT::~safe_VkPipelineCreationFeedbackCreateInfoEXT()
24585{
24586 if (pPipelineCreationFeedback)
24587 delete pPipelineCreationFeedback;
24588 if (pPipelineStageCreationFeedbacks)
24589 delete[] pPipelineStageCreationFeedbacks;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024590 if (pNext)
24591 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024592}
24593
24594void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const VkPipelineCreationFeedbackCreateInfoEXT* in_struct)
24595{
24596 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024597 pPipelineCreationFeedback = nullptr;
24598 pipelineStageCreationFeedbackCount = in_struct->pipelineStageCreationFeedbackCount;
24599 pPipelineStageCreationFeedbacks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024600 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024601 if (in_struct->pPipelineCreationFeedback) {
24602 pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*in_struct->pPipelineCreationFeedback);
24603 }
24604 if (in_struct->pPipelineStageCreationFeedbacks) {
24605 pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[in_struct->pipelineStageCreationFeedbackCount];
24606 memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)in_struct->pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*in_struct->pipelineStageCreationFeedbackCount);
24607 }
24608}
24609
24610void safe_VkPipelineCreationFeedbackCreateInfoEXT::initialize(const safe_VkPipelineCreationFeedbackCreateInfoEXT* src)
24611{
24612 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024613 pPipelineCreationFeedback = nullptr;
24614 pipelineStageCreationFeedbackCount = src->pipelineStageCreationFeedbackCount;
24615 pPipelineStageCreationFeedbacks = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024616 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024617 if (src->pPipelineCreationFeedback) {
24618 pPipelineCreationFeedback = new VkPipelineCreationFeedbackEXT(*src->pPipelineCreationFeedback);
24619 }
24620 if (src->pPipelineStageCreationFeedbacks) {
24621 pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedbackEXT[src->pipelineStageCreationFeedbackCount];
24622 memcpy ((void *)pPipelineStageCreationFeedbacks, (void *)src->pPipelineStageCreationFeedbacks, sizeof(VkPipelineCreationFeedbackEXT)*src->pipelineStageCreationFeedbackCount);
24623 }
24624}
24625
24626safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* in_struct) :
24627 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024628 computeDerivativeGroupQuads(in_struct->computeDerivativeGroupQuads),
24629 computeDerivativeGroupLinear(in_struct->computeDerivativeGroupLinear)
24630{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024631 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024632}
24633
Jason Macnak8f28eec2019-08-09 12:57:01 -070024634safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV() :
24635 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024636{}
24637
24638safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& src)
24639{
24640 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024641 computeDerivativeGroupQuads = src.computeDerivativeGroupQuads;
24642 computeDerivativeGroupLinear = src.computeDerivativeGroupLinear;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024643 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024644}
24645
24646safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::operator=(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& src)
24647{
24648 if (&src == this) return *this;
24649
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024650 if (pNext)
24651 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024652
24653 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024654 computeDerivativeGroupQuads = src.computeDerivativeGroupQuads;
24655 computeDerivativeGroupLinear = src.computeDerivativeGroupLinear;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024656 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024657
24658 return *this;
24659}
24660
24661safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::~safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV()
24662{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024663 if (pNext)
24664 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024665}
24666
24667void safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::initialize(const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* in_struct)
24668{
24669 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024670 computeDerivativeGroupQuads = in_struct->computeDerivativeGroupQuads;
24671 computeDerivativeGroupLinear = in_struct->computeDerivativeGroupLinear;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024672 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024673}
24674
24675void safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV::initialize(const safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* src)
24676{
24677 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024678 computeDerivativeGroupQuads = src->computeDerivativeGroupQuads;
24679 computeDerivativeGroupLinear = src->computeDerivativeGroupLinear;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024680 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024681}
24682
24683safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV(const VkPhysicalDeviceMeshShaderFeaturesNV* in_struct) :
24684 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024685 taskShader(in_struct->taskShader),
24686 meshShader(in_struct->meshShader)
24687{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024688 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024689}
24690
Jason Macnak8f28eec2019-08-09 12:57:01 -070024691safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV() :
24692 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024693{}
24694
24695safe_VkPhysicalDeviceMeshShaderFeaturesNV::safe_VkPhysicalDeviceMeshShaderFeaturesNV(const safe_VkPhysicalDeviceMeshShaderFeaturesNV& src)
24696{
24697 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024698 taskShader = src.taskShader;
24699 meshShader = src.meshShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024700 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024701}
24702
24703safe_VkPhysicalDeviceMeshShaderFeaturesNV& safe_VkPhysicalDeviceMeshShaderFeaturesNV::operator=(const safe_VkPhysicalDeviceMeshShaderFeaturesNV& src)
24704{
24705 if (&src == this) return *this;
24706
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024707 if (pNext)
24708 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024709
24710 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024711 taskShader = src.taskShader;
24712 meshShader = src.meshShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024713 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024714
24715 return *this;
24716}
24717
24718safe_VkPhysicalDeviceMeshShaderFeaturesNV::~safe_VkPhysicalDeviceMeshShaderFeaturesNV()
24719{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024720 if (pNext)
24721 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024722}
24723
24724void safe_VkPhysicalDeviceMeshShaderFeaturesNV::initialize(const VkPhysicalDeviceMeshShaderFeaturesNV* in_struct)
24725{
24726 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024727 taskShader = in_struct->taskShader;
24728 meshShader = in_struct->meshShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024729 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024730}
24731
24732void safe_VkPhysicalDeviceMeshShaderFeaturesNV::initialize(const safe_VkPhysicalDeviceMeshShaderFeaturesNV* src)
24733{
24734 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024735 taskShader = src->taskShader;
24736 meshShader = src->meshShader;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024737 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024738}
24739
24740safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV(const VkPhysicalDeviceMeshShaderPropertiesNV* in_struct) :
24741 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024742 maxDrawMeshTasksCount(in_struct->maxDrawMeshTasksCount),
24743 maxTaskWorkGroupInvocations(in_struct->maxTaskWorkGroupInvocations),
24744 maxTaskTotalMemorySize(in_struct->maxTaskTotalMemorySize),
24745 maxTaskOutputCount(in_struct->maxTaskOutputCount),
24746 maxMeshWorkGroupInvocations(in_struct->maxMeshWorkGroupInvocations),
24747 maxMeshTotalMemorySize(in_struct->maxMeshTotalMemorySize),
24748 maxMeshOutputVertices(in_struct->maxMeshOutputVertices),
24749 maxMeshOutputPrimitives(in_struct->maxMeshOutputPrimitives),
24750 maxMeshMultiviewViewCount(in_struct->maxMeshMultiviewViewCount),
24751 meshOutputPerVertexGranularity(in_struct->meshOutputPerVertexGranularity),
24752 meshOutputPerPrimitiveGranularity(in_struct->meshOutputPerPrimitiveGranularity)
24753{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024754 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024755 for (uint32_t i=0; i<3; ++i) {
24756 maxTaskWorkGroupSize[i] = in_struct->maxTaskWorkGroupSize[i];
24757 }
24758 for (uint32_t i=0; i<3; ++i) {
24759 maxMeshWorkGroupSize[i] = in_struct->maxMeshWorkGroupSize[i];
24760 }
24761}
24762
Jason Macnak8f28eec2019-08-09 12:57:01 -070024763safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV() :
24764 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024765{}
24766
24767safe_VkPhysicalDeviceMeshShaderPropertiesNV::safe_VkPhysicalDeviceMeshShaderPropertiesNV(const safe_VkPhysicalDeviceMeshShaderPropertiesNV& src)
24768{
24769 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024770 maxDrawMeshTasksCount = src.maxDrawMeshTasksCount;
24771 maxTaskWorkGroupInvocations = src.maxTaskWorkGroupInvocations;
24772 maxTaskTotalMemorySize = src.maxTaskTotalMemorySize;
24773 maxTaskOutputCount = src.maxTaskOutputCount;
24774 maxMeshWorkGroupInvocations = src.maxMeshWorkGroupInvocations;
24775 maxMeshTotalMemorySize = src.maxMeshTotalMemorySize;
24776 maxMeshOutputVertices = src.maxMeshOutputVertices;
24777 maxMeshOutputPrimitives = src.maxMeshOutputPrimitives;
24778 maxMeshMultiviewViewCount = src.maxMeshMultiviewViewCount;
24779 meshOutputPerVertexGranularity = src.meshOutputPerVertexGranularity;
24780 meshOutputPerPrimitiveGranularity = src.meshOutputPerPrimitiveGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024781 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024782 for (uint32_t i=0; i<3; ++i) {
24783 maxTaskWorkGroupSize[i] = src.maxTaskWorkGroupSize[i];
24784 }
24785 for (uint32_t i=0; i<3; ++i) {
24786 maxMeshWorkGroupSize[i] = src.maxMeshWorkGroupSize[i];
24787 }
24788}
24789
24790safe_VkPhysicalDeviceMeshShaderPropertiesNV& safe_VkPhysicalDeviceMeshShaderPropertiesNV::operator=(const safe_VkPhysicalDeviceMeshShaderPropertiesNV& src)
24791{
24792 if (&src == this) return *this;
24793
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024794 if (pNext)
24795 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024796
24797 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024798 maxDrawMeshTasksCount = src.maxDrawMeshTasksCount;
24799 maxTaskWorkGroupInvocations = src.maxTaskWorkGroupInvocations;
24800 maxTaskTotalMemorySize = src.maxTaskTotalMemorySize;
24801 maxTaskOutputCount = src.maxTaskOutputCount;
24802 maxMeshWorkGroupInvocations = src.maxMeshWorkGroupInvocations;
24803 maxMeshTotalMemorySize = src.maxMeshTotalMemorySize;
24804 maxMeshOutputVertices = src.maxMeshOutputVertices;
24805 maxMeshOutputPrimitives = src.maxMeshOutputPrimitives;
24806 maxMeshMultiviewViewCount = src.maxMeshMultiviewViewCount;
24807 meshOutputPerVertexGranularity = src.meshOutputPerVertexGranularity;
24808 meshOutputPerPrimitiveGranularity = src.meshOutputPerPrimitiveGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024809 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024810 for (uint32_t i=0; i<3; ++i) {
24811 maxTaskWorkGroupSize[i] = src.maxTaskWorkGroupSize[i];
24812 }
24813 for (uint32_t i=0; i<3; ++i) {
24814 maxMeshWorkGroupSize[i] = src.maxMeshWorkGroupSize[i];
24815 }
24816
24817 return *this;
24818}
24819
24820safe_VkPhysicalDeviceMeshShaderPropertiesNV::~safe_VkPhysicalDeviceMeshShaderPropertiesNV()
24821{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024822 if (pNext)
24823 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024824}
24825
24826void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const VkPhysicalDeviceMeshShaderPropertiesNV* in_struct)
24827{
24828 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024829 maxDrawMeshTasksCount = in_struct->maxDrawMeshTasksCount;
24830 maxTaskWorkGroupInvocations = in_struct->maxTaskWorkGroupInvocations;
24831 maxTaskTotalMemorySize = in_struct->maxTaskTotalMemorySize;
24832 maxTaskOutputCount = in_struct->maxTaskOutputCount;
24833 maxMeshWorkGroupInvocations = in_struct->maxMeshWorkGroupInvocations;
24834 maxMeshTotalMemorySize = in_struct->maxMeshTotalMemorySize;
24835 maxMeshOutputVertices = in_struct->maxMeshOutputVertices;
24836 maxMeshOutputPrimitives = in_struct->maxMeshOutputPrimitives;
24837 maxMeshMultiviewViewCount = in_struct->maxMeshMultiviewViewCount;
24838 meshOutputPerVertexGranularity = in_struct->meshOutputPerVertexGranularity;
24839 meshOutputPerPrimitiveGranularity = in_struct->meshOutputPerPrimitiveGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024840 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024841 for (uint32_t i=0; i<3; ++i) {
24842 maxTaskWorkGroupSize[i] = in_struct->maxTaskWorkGroupSize[i];
24843 }
24844 for (uint32_t i=0; i<3; ++i) {
24845 maxMeshWorkGroupSize[i] = in_struct->maxMeshWorkGroupSize[i];
24846 }
24847}
24848
24849void safe_VkPhysicalDeviceMeshShaderPropertiesNV::initialize(const safe_VkPhysicalDeviceMeshShaderPropertiesNV* src)
24850{
24851 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024852 maxDrawMeshTasksCount = src->maxDrawMeshTasksCount;
24853 maxTaskWorkGroupInvocations = src->maxTaskWorkGroupInvocations;
24854 maxTaskTotalMemorySize = src->maxTaskTotalMemorySize;
24855 maxTaskOutputCount = src->maxTaskOutputCount;
24856 maxMeshWorkGroupInvocations = src->maxMeshWorkGroupInvocations;
24857 maxMeshTotalMemorySize = src->maxMeshTotalMemorySize;
24858 maxMeshOutputVertices = src->maxMeshOutputVertices;
24859 maxMeshOutputPrimitives = src->maxMeshOutputPrimitives;
24860 maxMeshMultiviewViewCount = src->maxMeshMultiviewViewCount;
24861 meshOutputPerVertexGranularity = src->meshOutputPerVertexGranularity;
24862 meshOutputPerPrimitiveGranularity = src->meshOutputPerPrimitiveGranularity;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024863 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024864 for (uint32_t i=0; i<3; ++i) {
24865 maxTaskWorkGroupSize[i] = src->maxTaskWorkGroupSize[i];
24866 }
24867 for (uint32_t i=0; i<3; ++i) {
24868 maxMeshWorkGroupSize[i] = src->maxMeshWorkGroupSize[i];
24869 }
24870}
24871
24872safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* in_struct) :
24873 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024874 fragmentShaderBarycentric(in_struct->fragmentShaderBarycentric)
24875{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024876 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024877}
24878
Jason Macnak8f28eec2019-08-09 12:57:01 -070024879safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV() :
24880 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024881{}
24882
24883safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& src)
24884{
24885 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024886 fragmentShaderBarycentric = src.fragmentShaderBarycentric;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024887 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024888}
24889
24890safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::operator=(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& src)
24891{
24892 if (&src == this) return *this;
24893
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024894 if (pNext)
24895 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024896
24897 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024898 fragmentShaderBarycentric = src.fragmentShaderBarycentric;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024899 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024900
24901 return *this;
24902}
24903
24904safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::~safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV()
24905{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024906 if (pNext)
24907 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024908}
24909
24910void safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::initialize(const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* in_struct)
24911{
24912 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024913 fragmentShaderBarycentric = in_struct->fragmentShaderBarycentric;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024914 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024915}
24916
24917void safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV::initialize(const safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* src)
24918{
24919 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024920 fragmentShaderBarycentric = src->fragmentShaderBarycentric;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024921 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024922}
24923
24924safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const VkPhysicalDeviceShaderImageFootprintFeaturesNV* in_struct) :
24925 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024926 imageFootprint(in_struct->imageFootprint)
24927{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024928 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024929}
24930
Jason Macnak8f28eec2019-08-09 12:57:01 -070024931safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV() :
24932 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070024933{}
24934
24935safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& src)
24936{
24937 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024938 imageFootprint = src.imageFootprint;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024939 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024940}
24941
24942safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::operator=(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV& src)
24943{
24944 if (&src == this) return *this;
24945
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024946 if (pNext)
24947 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024948
24949 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024950 imageFootprint = src.imageFootprint;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024951 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024952
24953 return *this;
24954}
24955
24956safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::~safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV()
24957{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024958 if (pNext)
24959 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024960}
24961
24962void safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::initialize(const VkPhysicalDeviceShaderImageFootprintFeaturesNV* in_struct)
24963{
24964 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024965 imageFootprint = in_struct->imageFootprint;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024966 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024967}
24968
24969void safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV::initialize(const safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV* src)
24970{
24971 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024972 imageFootprint = src->imageFootprint;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024973 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024974}
24975
24976safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const VkPipelineViewportExclusiveScissorStateCreateInfoNV* in_struct) :
24977 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024978 exclusiveScissorCount(in_struct->exclusiveScissorCount),
24979 pExclusiveScissors(nullptr)
24980{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024981 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024982 if (in_struct->pExclusiveScissors) {
24983 pExclusiveScissors = new VkRect2D[in_struct->exclusiveScissorCount];
24984 memcpy ((void *)pExclusiveScissors, (void *)in_struct->pExclusiveScissors, sizeof(VkRect2D)*in_struct->exclusiveScissorCount);
24985 }
24986}
24987
24988safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070024989 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070024990 pExclusiveScissors(nullptr)
24991{}
24992
24993safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& src)
24994{
24995 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070024996 exclusiveScissorCount = src.exclusiveScissorCount;
24997 pExclusiveScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060024998 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070024999 if (src.pExclusiveScissors) {
25000 pExclusiveScissors = new VkRect2D[src.exclusiveScissorCount];
25001 memcpy ((void *)pExclusiveScissors, (void *)src.pExclusiveScissors, sizeof(VkRect2D)*src.exclusiveScissorCount);
25002 }
25003}
25004
25005safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::operator=(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV& src)
25006{
25007 if (&src == this) return *this;
25008
25009 if (pExclusiveScissors)
25010 delete[] pExclusiveScissors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025011 if (pNext)
25012 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025013
25014 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025015 exclusiveScissorCount = src.exclusiveScissorCount;
25016 pExclusiveScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025017 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025018 if (src.pExclusiveScissors) {
25019 pExclusiveScissors = new VkRect2D[src.exclusiveScissorCount];
25020 memcpy ((void *)pExclusiveScissors, (void *)src.pExclusiveScissors, sizeof(VkRect2D)*src.exclusiveScissorCount);
25021 }
25022
25023 return *this;
25024}
25025
25026safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::~safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV()
25027{
25028 if (pExclusiveScissors)
25029 delete[] pExclusiveScissors;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025030 if (pNext)
25031 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025032}
25033
25034void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const VkPipelineViewportExclusiveScissorStateCreateInfoNV* in_struct)
25035{
25036 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025037 exclusiveScissorCount = in_struct->exclusiveScissorCount;
25038 pExclusiveScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025039 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025040 if (in_struct->pExclusiveScissors) {
25041 pExclusiveScissors = new VkRect2D[in_struct->exclusiveScissorCount];
25042 memcpy ((void *)pExclusiveScissors, (void *)in_struct->pExclusiveScissors, sizeof(VkRect2D)*in_struct->exclusiveScissorCount);
25043 }
25044}
25045
25046void safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV::initialize(const safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV* src)
25047{
25048 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025049 exclusiveScissorCount = src->exclusiveScissorCount;
25050 pExclusiveScissors = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025051 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025052 if (src->pExclusiveScissors) {
25053 pExclusiveScissors = new VkRect2D[src->exclusiveScissorCount];
25054 memcpy ((void *)pExclusiveScissors, (void *)src->pExclusiveScissors, sizeof(VkRect2D)*src->exclusiveScissorCount);
25055 }
25056}
25057
25058safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const VkPhysicalDeviceExclusiveScissorFeaturesNV* in_struct) :
25059 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025060 exclusiveScissor(in_struct->exclusiveScissor)
25061{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025062 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025063}
25064
Jason Macnak8f28eec2019-08-09 12:57:01 -070025065safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV() :
25066 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025067{}
25068
25069safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::safe_VkPhysicalDeviceExclusiveScissorFeaturesNV(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& src)
25070{
25071 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025072 exclusiveScissor = src.exclusiveScissor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025073 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025074}
25075
25076safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::operator=(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV& src)
25077{
25078 if (&src == this) return *this;
25079
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025080 if (pNext)
25081 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025082
25083 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025084 exclusiveScissor = src.exclusiveScissor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025085 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025086
25087 return *this;
25088}
25089
25090safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::~safe_VkPhysicalDeviceExclusiveScissorFeaturesNV()
25091{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025092 if (pNext)
25093 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025094}
25095
25096void safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::initialize(const VkPhysicalDeviceExclusiveScissorFeaturesNV* in_struct)
25097{
25098 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025099 exclusiveScissor = in_struct->exclusiveScissor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025100 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025101}
25102
25103void safe_VkPhysicalDeviceExclusiveScissorFeaturesNV::initialize(const safe_VkPhysicalDeviceExclusiveScissorFeaturesNV* src)
25104{
25105 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025106 exclusiveScissor = src->exclusiveScissor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025107 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025108}
25109
25110safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV(const VkQueueFamilyCheckpointPropertiesNV* in_struct) :
25111 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025112 checkpointExecutionStageMask(in_struct->checkpointExecutionStageMask)
25113{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025114 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025115}
25116
Jason Macnak8f28eec2019-08-09 12:57:01 -070025117safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV() :
25118 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025119{}
25120
25121safe_VkQueueFamilyCheckpointPropertiesNV::safe_VkQueueFamilyCheckpointPropertiesNV(const safe_VkQueueFamilyCheckpointPropertiesNV& src)
25122{
25123 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025124 checkpointExecutionStageMask = src.checkpointExecutionStageMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025125 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025126}
25127
25128safe_VkQueueFamilyCheckpointPropertiesNV& safe_VkQueueFamilyCheckpointPropertiesNV::operator=(const safe_VkQueueFamilyCheckpointPropertiesNV& src)
25129{
25130 if (&src == this) return *this;
25131
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025132 if (pNext)
25133 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025134
25135 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025136 checkpointExecutionStageMask = src.checkpointExecutionStageMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025137 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025138
25139 return *this;
25140}
25141
25142safe_VkQueueFamilyCheckpointPropertiesNV::~safe_VkQueueFamilyCheckpointPropertiesNV()
25143{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025144 if (pNext)
25145 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025146}
25147
25148void safe_VkQueueFamilyCheckpointPropertiesNV::initialize(const VkQueueFamilyCheckpointPropertiesNV* in_struct)
25149{
25150 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025151 checkpointExecutionStageMask = in_struct->checkpointExecutionStageMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025152 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025153}
25154
25155void safe_VkQueueFamilyCheckpointPropertiesNV::initialize(const safe_VkQueueFamilyCheckpointPropertiesNV* src)
25156{
25157 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025158 checkpointExecutionStageMask = src->checkpointExecutionStageMask;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025159 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025160}
25161
25162safe_VkCheckpointDataNV::safe_VkCheckpointDataNV(const VkCheckpointDataNV* in_struct) :
25163 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025164 stage(in_struct->stage),
25165 pCheckpointMarker(in_struct->pCheckpointMarker)
25166{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025167 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025168}
25169
Jason Macnak8f28eec2019-08-09 12:57:01 -070025170safe_VkCheckpointDataNV::safe_VkCheckpointDataNV() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060025171 pNext(nullptr),
25172 pCheckpointMarker(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025173{}
25174
25175safe_VkCheckpointDataNV::safe_VkCheckpointDataNV(const safe_VkCheckpointDataNV& src)
25176{
25177 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025178 stage = src.stage;
25179 pCheckpointMarker = src.pCheckpointMarker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025180 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025181}
25182
25183safe_VkCheckpointDataNV& safe_VkCheckpointDataNV::operator=(const safe_VkCheckpointDataNV& src)
25184{
25185 if (&src == this) return *this;
25186
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025187 if (pNext)
25188 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025189
25190 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025191 stage = src.stage;
25192 pCheckpointMarker = src.pCheckpointMarker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025193 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025194
25195 return *this;
25196}
25197
25198safe_VkCheckpointDataNV::~safe_VkCheckpointDataNV()
25199{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025200 if (pNext)
25201 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025202}
25203
25204void safe_VkCheckpointDataNV::initialize(const VkCheckpointDataNV* in_struct)
25205{
25206 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025207 stage = in_struct->stage;
25208 pCheckpointMarker = in_struct->pCheckpointMarker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025209 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025210}
25211
25212void safe_VkCheckpointDataNV::initialize(const safe_VkCheckpointDataNV* src)
25213{
25214 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025215 stage = src->stage;
25216 pCheckpointMarker = src->pCheckpointMarker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025217 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025218}
25219
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025220safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* in_struct) :
Mike Schuchardt440d4642019-06-20 17:14:57 -070025221 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025222 shaderIntegerFunctions2(in_struct->shaderIntegerFunctions2)
25223{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025224 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025225}
25226
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025227safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070025228 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025229{}
25230
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025231safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& src)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025232{
25233 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025234 shaderIntegerFunctions2 = src.shaderIntegerFunctions2;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025235 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025236}
25237
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025238safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::operator=(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& src)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025239{
25240 if (&src == this) return *this;
25241
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025242 if (pNext)
25243 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025244
25245 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025246 shaderIntegerFunctions2 = src.shaderIntegerFunctions2;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025247 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025248
25249 return *this;
25250}
25251
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025252safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::~safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL()
Mike Schuchardt440d4642019-06-20 17:14:57 -070025253{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025254 if (pNext)
25255 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025256}
25257
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025258void safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::initialize(const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* in_struct)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025259{
25260 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025261 shaderIntegerFunctions2 = in_struct->shaderIntegerFunctions2;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025262 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025263}
25264
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060025265void safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::initialize(const safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* src)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025266{
25267 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025268 shaderIntegerFunctions2 = src->shaderIntegerFunctions2;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025269 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025270}
25271
25272safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const VkPerformanceValueDataINTEL* in_struct) :
25273 value32(in_struct->value32),
25274 value64(in_struct->value64),
25275 valueFloat(in_struct->valueFloat),
25276 valueBool(in_struct->valueBool),
25277 valueString(in_struct->valueString)
25278{
25279}
25280
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060025281safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL() :
25282 valueString(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025283{}
25284
25285safe_VkPerformanceValueDataINTEL::safe_VkPerformanceValueDataINTEL(const safe_VkPerformanceValueDataINTEL& src)
25286{
25287 value32 = src.value32;
25288 value64 = src.value64;
25289 valueFloat = src.valueFloat;
25290 valueBool = src.valueBool;
25291 valueString = src.valueString;
25292}
25293
25294safe_VkPerformanceValueDataINTEL& safe_VkPerformanceValueDataINTEL::operator=(const safe_VkPerformanceValueDataINTEL& src)
25295{
25296 if (&src == this) return *this;
25297
25298
25299 value32 = src.value32;
25300 value64 = src.value64;
25301 valueFloat = src.valueFloat;
25302 valueBool = src.valueBool;
25303 valueString = src.valueString;
25304
25305 return *this;
25306}
25307
25308safe_VkPerformanceValueDataINTEL::~safe_VkPerformanceValueDataINTEL()
25309{
25310}
25311
25312void safe_VkPerformanceValueDataINTEL::initialize(const VkPerformanceValueDataINTEL* in_struct)
25313{
25314 value32 = in_struct->value32;
25315 value64 = in_struct->value64;
25316 valueFloat = in_struct->valueFloat;
25317 valueBool = in_struct->valueBool;
25318 valueString = in_struct->valueString;
25319}
25320
25321void safe_VkPerformanceValueDataINTEL::initialize(const safe_VkPerformanceValueDataINTEL* src)
25322{
25323 value32 = src->value32;
25324 value64 = src->value64;
25325 valueFloat = src->valueFloat;
25326 valueBool = src->valueBool;
25327 valueString = src->valueString;
25328}
25329
25330safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL(const VkInitializePerformanceApiInfoINTEL* in_struct) :
25331 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025332 pUserData(in_struct->pUserData)
25333{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025334 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025335}
25336
Jason Macnak8f28eec2019-08-09 12:57:01 -070025337safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL() :
Mark Lobodzinski692f3f32019-08-13 14:00:52 -060025338 pNext(nullptr),
25339 pUserData(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025340{}
25341
25342safe_VkInitializePerformanceApiInfoINTEL::safe_VkInitializePerformanceApiInfoINTEL(const safe_VkInitializePerformanceApiInfoINTEL& src)
25343{
25344 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025345 pUserData = src.pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025346 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025347}
25348
25349safe_VkInitializePerformanceApiInfoINTEL& safe_VkInitializePerformanceApiInfoINTEL::operator=(const safe_VkInitializePerformanceApiInfoINTEL& src)
25350{
25351 if (&src == this) return *this;
25352
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025353 if (pNext)
25354 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025355
25356 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025357 pUserData = src.pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025358 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025359
25360 return *this;
25361}
25362
25363safe_VkInitializePerformanceApiInfoINTEL::~safe_VkInitializePerformanceApiInfoINTEL()
25364{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025365 if (pNext)
25366 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025367}
25368
25369void safe_VkInitializePerformanceApiInfoINTEL::initialize(const VkInitializePerformanceApiInfoINTEL* in_struct)
25370{
25371 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025372 pUserData = in_struct->pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025373 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025374}
25375
25376void safe_VkInitializePerformanceApiInfoINTEL::initialize(const safe_VkInitializePerformanceApiInfoINTEL* src)
25377{
25378 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025379 pUserData = src->pUserData;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025380 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025381}
25382
25383safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL(const VkQueryPoolCreateInfoINTEL* in_struct) :
25384 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025385 performanceCountersSampling(in_struct->performanceCountersSampling)
25386{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025387 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025388}
25389
Jason Macnak8f28eec2019-08-09 12:57:01 -070025390safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL() :
25391 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025392{}
25393
25394safe_VkQueryPoolCreateInfoINTEL::safe_VkQueryPoolCreateInfoINTEL(const safe_VkQueryPoolCreateInfoINTEL& src)
25395{
25396 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025397 performanceCountersSampling = src.performanceCountersSampling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025398 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025399}
25400
25401safe_VkQueryPoolCreateInfoINTEL& safe_VkQueryPoolCreateInfoINTEL::operator=(const safe_VkQueryPoolCreateInfoINTEL& src)
25402{
25403 if (&src == this) return *this;
25404
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025405 if (pNext)
25406 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025407
25408 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025409 performanceCountersSampling = src.performanceCountersSampling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025410 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025411
25412 return *this;
25413}
25414
25415safe_VkQueryPoolCreateInfoINTEL::~safe_VkQueryPoolCreateInfoINTEL()
25416{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025417 if (pNext)
25418 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025419}
25420
25421void safe_VkQueryPoolCreateInfoINTEL::initialize(const VkQueryPoolCreateInfoINTEL* in_struct)
25422{
25423 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025424 performanceCountersSampling = in_struct->performanceCountersSampling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025425 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025426}
25427
25428void safe_VkQueryPoolCreateInfoINTEL::initialize(const safe_VkQueryPoolCreateInfoINTEL* src)
25429{
25430 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025431 performanceCountersSampling = src->performanceCountersSampling;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025432 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025433}
25434
25435safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL(const VkPerformanceMarkerInfoINTEL* in_struct) :
25436 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025437 marker(in_struct->marker)
25438{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025439 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025440}
25441
Jason Macnak8f28eec2019-08-09 12:57:01 -070025442safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL() :
25443 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025444{}
25445
25446safe_VkPerformanceMarkerInfoINTEL::safe_VkPerformanceMarkerInfoINTEL(const safe_VkPerformanceMarkerInfoINTEL& src)
25447{
25448 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025449 marker = src.marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025450 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025451}
25452
25453safe_VkPerformanceMarkerInfoINTEL& safe_VkPerformanceMarkerInfoINTEL::operator=(const safe_VkPerformanceMarkerInfoINTEL& src)
25454{
25455 if (&src == this) return *this;
25456
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025457 if (pNext)
25458 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025459
25460 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025461 marker = src.marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025462 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025463
25464 return *this;
25465}
25466
25467safe_VkPerformanceMarkerInfoINTEL::~safe_VkPerformanceMarkerInfoINTEL()
25468{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025469 if (pNext)
25470 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025471}
25472
25473void safe_VkPerformanceMarkerInfoINTEL::initialize(const VkPerformanceMarkerInfoINTEL* in_struct)
25474{
25475 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025476 marker = in_struct->marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025477 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025478}
25479
25480void safe_VkPerformanceMarkerInfoINTEL::initialize(const safe_VkPerformanceMarkerInfoINTEL* src)
25481{
25482 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025483 marker = src->marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025484 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025485}
25486
25487safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL(const VkPerformanceStreamMarkerInfoINTEL* in_struct) :
25488 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025489 marker(in_struct->marker)
25490{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025491 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025492}
25493
Jason Macnak8f28eec2019-08-09 12:57:01 -070025494safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL() :
25495 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025496{}
25497
25498safe_VkPerformanceStreamMarkerInfoINTEL::safe_VkPerformanceStreamMarkerInfoINTEL(const safe_VkPerformanceStreamMarkerInfoINTEL& src)
25499{
25500 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025501 marker = src.marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025502 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025503}
25504
25505safe_VkPerformanceStreamMarkerInfoINTEL& safe_VkPerformanceStreamMarkerInfoINTEL::operator=(const safe_VkPerformanceStreamMarkerInfoINTEL& src)
25506{
25507 if (&src == this) return *this;
25508
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025509 if (pNext)
25510 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025511
25512 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025513 marker = src.marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025514 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025515
25516 return *this;
25517}
25518
25519safe_VkPerformanceStreamMarkerInfoINTEL::~safe_VkPerformanceStreamMarkerInfoINTEL()
25520{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025521 if (pNext)
25522 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025523}
25524
25525void safe_VkPerformanceStreamMarkerInfoINTEL::initialize(const VkPerformanceStreamMarkerInfoINTEL* in_struct)
25526{
25527 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025528 marker = in_struct->marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025529 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025530}
25531
25532void safe_VkPerformanceStreamMarkerInfoINTEL::initialize(const safe_VkPerformanceStreamMarkerInfoINTEL* src)
25533{
25534 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025535 marker = src->marker;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025536 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025537}
25538
25539safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL(const VkPerformanceOverrideInfoINTEL* in_struct) :
25540 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025541 type(in_struct->type),
25542 enable(in_struct->enable),
25543 parameter(in_struct->parameter)
25544{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025545 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025546}
25547
Jason Macnak8f28eec2019-08-09 12:57:01 -070025548safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL() :
25549 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025550{}
25551
25552safe_VkPerformanceOverrideInfoINTEL::safe_VkPerformanceOverrideInfoINTEL(const safe_VkPerformanceOverrideInfoINTEL& src)
25553{
25554 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025555 type = src.type;
25556 enable = src.enable;
25557 parameter = src.parameter;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025558 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025559}
25560
25561safe_VkPerformanceOverrideInfoINTEL& safe_VkPerformanceOverrideInfoINTEL::operator=(const safe_VkPerformanceOverrideInfoINTEL& src)
25562{
25563 if (&src == this) return *this;
25564
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025565 if (pNext)
25566 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025567
25568 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025569 type = src.type;
25570 enable = src.enable;
25571 parameter = src.parameter;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025572 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025573
25574 return *this;
25575}
25576
25577safe_VkPerformanceOverrideInfoINTEL::~safe_VkPerformanceOverrideInfoINTEL()
25578{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025579 if (pNext)
25580 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025581}
25582
25583void safe_VkPerformanceOverrideInfoINTEL::initialize(const VkPerformanceOverrideInfoINTEL* in_struct)
25584{
25585 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025586 type = in_struct->type;
25587 enable = in_struct->enable;
25588 parameter = in_struct->parameter;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025589 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025590}
25591
25592void safe_VkPerformanceOverrideInfoINTEL::initialize(const safe_VkPerformanceOverrideInfoINTEL* src)
25593{
25594 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025595 type = src->type;
25596 enable = src->enable;
25597 parameter = src->parameter;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025598 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025599}
25600
25601safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL(const VkPerformanceConfigurationAcquireInfoINTEL* in_struct) :
25602 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025603 type(in_struct->type)
25604{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025605 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025606}
25607
Jason Macnak8f28eec2019-08-09 12:57:01 -070025608safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL() :
25609 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025610{}
25611
25612safe_VkPerformanceConfigurationAcquireInfoINTEL::safe_VkPerformanceConfigurationAcquireInfoINTEL(const safe_VkPerformanceConfigurationAcquireInfoINTEL& src)
25613{
25614 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025615 type = src.type;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025616 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025617}
25618
25619safe_VkPerformanceConfigurationAcquireInfoINTEL& safe_VkPerformanceConfigurationAcquireInfoINTEL::operator=(const safe_VkPerformanceConfigurationAcquireInfoINTEL& src)
25620{
25621 if (&src == this) return *this;
25622
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025623 if (pNext)
25624 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025625
25626 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025627 type = src.type;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025628 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025629
25630 return *this;
25631}
25632
25633safe_VkPerformanceConfigurationAcquireInfoINTEL::~safe_VkPerformanceConfigurationAcquireInfoINTEL()
25634{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025635 if (pNext)
25636 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025637}
25638
25639void safe_VkPerformanceConfigurationAcquireInfoINTEL::initialize(const VkPerformanceConfigurationAcquireInfoINTEL* in_struct)
25640{
25641 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025642 type = in_struct->type;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025643 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025644}
25645
25646void safe_VkPerformanceConfigurationAcquireInfoINTEL::initialize(const safe_VkPerformanceConfigurationAcquireInfoINTEL* src)
25647{
25648 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025649 type = src->type;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025650 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025651}
25652
25653safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct) :
25654 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025655 pciDomain(in_struct->pciDomain),
25656 pciBus(in_struct->pciBus),
25657 pciDevice(in_struct->pciDevice),
25658 pciFunction(in_struct->pciFunction)
25659{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025660 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025661}
25662
Jason Macnak8f28eec2019-08-09 12:57:01 -070025663safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT() :
25664 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025665{}
25666
25667safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& src)
25668{
25669 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025670 pciDomain = src.pciDomain;
25671 pciBus = src.pciBus;
25672 pciDevice = src.pciDevice;
25673 pciFunction = src.pciFunction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025674 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025675}
25676
25677safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::operator=(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT& src)
25678{
25679 if (&src == this) return *this;
25680
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025681 if (pNext)
25682 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025683
25684 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025685 pciDomain = src.pciDomain;
25686 pciBus = src.pciBus;
25687 pciDevice = src.pciDevice;
25688 pciFunction = src.pciFunction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025689 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025690
25691 return *this;
25692}
25693
25694safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::~safe_VkPhysicalDevicePCIBusInfoPropertiesEXT()
25695{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025696 if (pNext)
25697 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025698}
25699
25700void safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::initialize(const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct)
25701{
25702 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025703 pciDomain = in_struct->pciDomain;
25704 pciBus = in_struct->pciBus;
25705 pciDevice = in_struct->pciDevice;
25706 pciFunction = in_struct->pciFunction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025707 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025708}
25709
25710void safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::initialize(const safe_VkPhysicalDevicePCIBusInfoPropertiesEXT* src)
25711{
25712 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025713 pciDomain = src->pciDomain;
25714 pciBus = src->pciBus;
25715 pciDevice = src->pciDevice;
25716 pciFunction = src->pciFunction;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025717 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025718}
25719
25720safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const VkDisplayNativeHdrSurfaceCapabilitiesAMD* in_struct) :
25721 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025722 localDimmingSupport(in_struct->localDimmingSupport)
25723{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025724 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025725}
25726
Jason Macnak8f28eec2019-08-09 12:57:01 -070025727safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD() :
25728 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025729{}
25730
25731safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& src)
25732{
25733 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025734 localDimmingSupport = src.localDimmingSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025735 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025736}
25737
25738safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::operator=(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD& src)
25739{
25740 if (&src == this) return *this;
25741
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025742 if (pNext)
25743 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025744
25745 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025746 localDimmingSupport = src.localDimmingSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025747 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025748
25749 return *this;
25750}
25751
25752safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::~safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD()
25753{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025754 if (pNext)
25755 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025756}
25757
25758void safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::initialize(const VkDisplayNativeHdrSurfaceCapabilitiesAMD* in_struct)
25759{
25760 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025761 localDimmingSupport = in_struct->localDimmingSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025762 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025763}
25764
25765void safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD::initialize(const safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD* src)
25766{
25767 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025768 localDimmingSupport = src->localDimmingSupport;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025769 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025770}
25771
25772safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const VkSwapchainDisplayNativeHdrCreateInfoAMD* in_struct) :
25773 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025774 localDimmingEnable(in_struct->localDimmingEnable)
25775{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025776 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025777}
25778
Jason Macnak8f28eec2019-08-09 12:57:01 -070025779safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD() :
25780 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025781{}
25782
25783safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::safe_VkSwapchainDisplayNativeHdrCreateInfoAMD(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& src)
25784{
25785 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025786 localDimmingEnable = src.localDimmingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025787 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025788}
25789
25790safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::operator=(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD& src)
25791{
25792 if (&src == this) return *this;
25793
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025794 if (pNext)
25795 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025796
25797 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025798 localDimmingEnable = src.localDimmingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025799 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025800
25801 return *this;
25802}
25803
25804safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::~safe_VkSwapchainDisplayNativeHdrCreateInfoAMD()
25805{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025806 if (pNext)
25807 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025808}
25809
25810void safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::initialize(const VkSwapchainDisplayNativeHdrCreateInfoAMD* in_struct)
25811{
25812 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025813 localDimmingEnable = in_struct->localDimmingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025814 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025815}
25816
25817void safe_VkSwapchainDisplayNativeHdrCreateInfoAMD::initialize(const safe_VkSwapchainDisplayNativeHdrCreateInfoAMD* src)
25818{
25819 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025820 localDimmingEnable = src->localDimmingEnable;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025821 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025822}
25823#ifdef VK_USE_PLATFORM_FUCHSIA
25824
25825
25826safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const VkImagePipeSurfaceCreateInfoFUCHSIA* in_struct) :
25827 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025828 flags(in_struct->flags),
25829 imagePipeHandle(in_struct->imagePipeHandle)
25830{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025831 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025832}
25833
Jason Macnak8f28eec2019-08-09 12:57:01 -070025834safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA() :
25835 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025836{}
25837
25838safe_VkImagePipeSurfaceCreateInfoFUCHSIA::safe_VkImagePipeSurfaceCreateInfoFUCHSIA(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA& src)
25839{
25840 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025841 flags = src.flags;
25842 imagePipeHandle = src.imagePipeHandle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025843 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025844}
25845
25846safe_VkImagePipeSurfaceCreateInfoFUCHSIA& safe_VkImagePipeSurfaceCreateInfoFUCHSIA::operator=(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA& src)
25847{
25848 if (&src == this) return *this;
25849
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025850 if (pNext)
25851 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025852
25853 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025854 flags = src.flags;
25855 imagePipeHandle = src.imagePipeHandle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025856 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025857
25858 return *this;
25859}
25860
25861safe_VkImagePipeSurfaceCreateInfoFUCHSIA::~safe_VkImagePipeSurfaceCreateInfoFUCHSIA()
25862{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025863 if (pNext)
25864 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025865}
25866
25867void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const VkImagePipeSurfaceCreateInfoFUCHSIA* in_struct)
25868{
25869 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025870 flags = in_struct->flags;
25871 imagePipeHandle = in_struct->imagePipeHandle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025872 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025873}
25874
25875void safe_VkImagePipeSurfaceCreateInfoFUCHSIA::initialize(const safe_VkImagePipeSurfaceCreateInfoFUCHSIA* src)
25876{
25877 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025878 flags = src->flags;
25879 imagePipeHandle = src->imagePipeHandle;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025880 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025881}
25882#endif // VK_USE_PLATFORM_FUCHSIA
25883
25884#ifdef VK_USE_PLATFORM_METAL_EXT
25885
25886
25887safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT(const VkMetalSurfaceCreateInfoEXT* in_struct) :
25888 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025889 flags(in_struct->flags),
25890 pLayer(nullptr)
25891{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025892 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025893 if (in_struct->pLayer) {
25894 pLayer = new CAMetalLayer(*in_struct->pLayer);
25895 }
25896}
25897
25898safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070025899 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025900 pLayer(nullptr)
25901{}
25902
25903safe_VkMetalSurfaceCreateInfoEXT::safe_VkMetalSurfaceCreateInfoEXT(const safe_VkMetalSurfaceCreateInfoEXT& src)
25904{
25905 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025906 flags = src.flags;
25907 pLayer = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025908 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025909 if (src.pLayer) {
25910 pLayer = new CAMetalLayer(*src.pLayer);
25911 }
25912}
25913
25914safe_VkMetalSurfaceCreateInfoEXT& safe_VkMetalSurfaceCreateInfoEXT::operator=(const safe_VkMetalSurfaceCreateInfoEXT& src)
25915{
25916 if (&src == this) return *this;
25917
25918 if (pLayer)
25919 delete pLayer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025920 if (pNext)
25921 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025922
25923 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025924 flags = src.flags;
25925 pLayer = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025926 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025927 if (src.pLayer) {
25928 pLayer = new CAMetalLayer(*src.pLayer);
25929 }
25930
25931 return *this;
25932}
25933
25934safe_VkMetalSurfaceCreateInfoEXT::~safe_VkMetalSurfaceCreateInfoEXT()
25935{
25936 if (pLayer)
25937 delete pLayer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025938 if (pNext)
25939 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025940}
25941
25942void safe_VkMetalSurfaceCreateInfoEXT::initialize(const VkMetalSurfaceCreateInfoEXT* in_struct)
25943{
25944 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025945 flags = in_struct->flags;
25946 pLayer = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025947 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025948 if (in_struct->pLayer) {
25949 pLayer = new CAMetalLayer(*in_struct->pLayer);
25950 }
25951}
25952
25953void safe_VkMetalSurfaceCreateInfoEXT::initialize(const safe_VkMetalSurfaceCreateInfoEXT* src)
25954{
25955 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025956 flags = src->flags;
25957 pLayer = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025958 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025959 if (src->pLayer) {
25960 pLayer = new CAMetalLayer(*src->pLayer);
25961 }
25962}
25963#endif // VK_USE_PLATFORM_METAL_EXT
25964
25965
25966safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* in_struct) :
25967 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070025968 fragmentDensityMap(in_struct->fragmentDensityMap),
25969 fragmentDensityMapDynamic(in_struct->fragmentDensityMapDynamic),
25970 fragmentDensityMapNonSubsampledImages(in_struct->fragmentDensityMapNonSubsampledImages)
25971{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025972 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025973}
25974
Jason Macnak8f28eec2019-08-09 12:57:01 -070025975safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT() :
25976 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070025977{}
25978
25979safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& src)
25980{
25981 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025982 fragmentDensityMap = src.fragmentDensityMap;
25983 fragmentDensityMapDynamic = src.fragmentDensityMapDynamic;
25984 fragmentDensityMapNonSubsampledImages = src.fragmentDensityMapNonSubsampledImages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025985 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025986}
25987
25988safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::operator=(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT& src)
25989{
25990 if (&src == this) return *this;
25991
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025992 if (pNext)
25993 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070025994
25995 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070025996 fragmentDensityMap = src.fragmentDensityMap;
25997 fragmentDensityMapDynamic = src.fragmentDensityMapDynamic;
25998 fragmentDensityMapNonSubsampledImages = src.fragmentDensityMapNonSubsampledImages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060025999 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026000
26001 return *this;
26002}
26003
26004safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::~safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT()
26005{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026006 if (pNext)
26007 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026008}
26009
26010void safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::initialize(const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* in_struct)
26011{
26012 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026013 fragmentDensityMap = in_struct->fragmentDensityMap;
26014 fragmentDensityMapDynamic = in_struct->fragmentDensityMapDynamic;
26015 fragmentDensityMapNonSubsampledImages = in_struct->fragmentDensityMapNonSubsampledImages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026016 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026017}
26018
26019void safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT::initialize(const safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT* src)
26020{
26021 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026022 fragmentDensityMap = src->fragmentDensityMap;
26023 fragmentDensityMapDynamic = src->fragmentDensityMapDynamic;
26024 fragmentDensityMapNonSubsampledImages = src->fragmentDensityMapNonSubsampledImages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026025 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026026}
26027
26028safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* in_struct) :
26029 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026030 minFragmentDensityTexelSize(in_struct->minFragmentDensityTexelSize),
26031 maxFragmentDensityTexelSize(in_struct->maxFragmentDensityTexelSize),
26032 fragmentDensityInvocations(in_struct->fragmentDensityInvocations)
26033{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026034 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026035}
26036
Jason Macnak8f28eec2019-08-09 12:57:01 -070026037safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT() :
26038 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026039{}
26040
26041safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& src)
26042{
26043 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026044 minFragmentDensityTexelSize = src.minFragmentDensityTexelSize;
26045 maxFragmentDensityTexelSize = src.maxFragmentDensityTexelSize;
26046 fragmentDensityInvocations = src.fragmentDensityInvocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026047 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026048}
26049
26050safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::operator=(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT& src)
26051{
26052 if (&src == this) return *this;
26053
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026054 if (pNext)
26055 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026056
26057 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026058 minFragmentDensityTexelSize = src.minFragmentDensityTexelSize;
26059 maxFragmentDensityTexelSize = src.maxFragmentDensityTexelSize;
26060 fragmentDensityInvocations = src.fragmentDensityInvocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026061 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026062
26063 return *this;
26064}
26065
26066safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::~safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT()
26067{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026068 if (pNext)
26069 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026070}
26071
26072void safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::initialize(const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* in_struct)
26073{
26074 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026075 minFragmentDensityTexelSize = in_struct->minFragmentDensityTexelSize;
26076 maxFragmentDensityTexelSize = in_struct->maxFragmentDensityTexelSize;
26077 fragmentDensityInvocations = in_struct->fragmentDensityInvocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026078 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026079}
26080
26081void safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT::initialize(const safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT* src)
26082{
26083 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026084 minFragmentDensityTexelSize = src->minFragmentDensityTexelSize;
26085 maxFragmentDensityTexelSize = src->maxFragmentDensityTexelSize;
26086 fragmentDensityInvocations = src->fragmentDensityInvocations;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026087 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026088}
26089
26090safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const VkRenderPassFragmentDensityMapCreateInfoEXT* in_struct) :
26091 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026092 fragmentDensityMapAttachment(in_struct->fragmentDensityMapAttachment)
26093{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026094 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026095}
26096
Jason Macnak8f28eec2019-08-09 12:57:01 -070026097safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT() :
26098 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026099{}
26100
26101safe_VkRenderPassFragmentDensityMapCreateInfoEXT::safe_VkRenderPassFragmentDensityMapCreateInfoEXT(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT& src)
26102{
26103 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026104 fragmentDensityMapAttachment = src.fragmentDensityMapAttachment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026105 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026106}
26107
26108safe_VkRenderPassFragmentDensityMapCreateInfoEXT& safe_VkRenderPassFragmentDensityMapCreateInfoEXT::operator=(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT& src)
26109{
26110 if (&src == this) return *this;
26111
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026112 if (pNext)
26113 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026114
26115 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026116 fragmentDensityMapAttachment = src.fragmentDensityMapAttachment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026117 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026118
26119 return *this;
26120}
26121
26122safe_VkRenderPassFragmentDensityMapCreateInfoEXT::~safe_VkRenderPassFragmentDensityMapCreateInfoEXT()
26123{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026124 if (pNext)
26125 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026126}
26127
26128void safe_VkRenderPassFragmentDensityMapCreateInfoEXT::initialize(const VkRenderPassFragmentDensityMapCreateInfoEXT* in_struct)
26129{
26130 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026131 fragmentDensityMapAttachment = in_struct->fragmentDensityMapAttachment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026132 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026133}
26134
26135void safe_VkRenderPassFragmentDensityMapCreateInfoEXT::initialize(const safe_VkRenderPassFragmentDensityMapCreateInfoEXT* src)
26136{
26137 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026138 fragmentDensityMapAttachment = src->fragmentDensityMapAttachment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026139 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026140}
26141
26142safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* in_struct) :
26143 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026144 scalarBlockLayout(in_struct->scalarBlockLayout)
26145{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026146 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026147}
26148
Jason Macnak8f28eec2019-08-09 12:57:01 -070026149safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT() :
26150 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026151{}
26152
26153safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& src)
26154{
26155 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026156 scalarBlockLayout = src.scalarBlockLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026157 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026158}
26159
26160safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::operator=(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& src)
26161{
26162 if (&src == this) return *this;
26163
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026164 if (pNext)
26165 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026166
26167 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026168 scalarBlockLayout = src.scalarBlockLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026169 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026170
26171 return *this;
26172}
26173
26174safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::~safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT()
26175{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026176 if (pNext)
26177 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026178}
26179
26180void safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::initialize(const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* in_struct)
26181{
26182 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026183 scalarBlockLayout = in_struct->scalarBlockLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026184 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026185}
26186
26187void safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT::initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT* src)
26188{
26189 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026190 scalarBlockLayout = src->scalarBlockLayout;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026191 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026192}
26193
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060026194safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* in_struct) :
26195 sType(in_struct->sType),
26196 subgroupSizeControl(in_struct->subgroupSizeControl),
26197 computeFullSubgroups(in_struct->computeFullSubgroups)
26198{
26199 pNext = SafePnextCopy(in_struct->pNext);
26200}
26201
26202safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT() :
26203 pNext(nullptr)
26204{}
26205
26206safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& src)
26207{
26208 sType = src.sType;
26209 subgroupSizeControl = src.subgroupSizeControl;
26210 computeFullSubgroups = src.computeFullSubgroups;
26211 pNext = SafePnextCopy(src.pNext);
26212}
26213
26214safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::operator=(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& src)
26215{
26216 if (&src == this) return *this;
26217
26218 if (pNext)
26219 FreePnextChain(pNext);
26220
26221 sType = src.sType;
26222 subgroupSizeControl = src.subgroupSizeControl;
26223 computeFullSubgroups = src.computeFullSubgroups;
26224 pNext = SafePnextCopy(src.pNext);
26225
26226 return *this;
26227}
26228
26229safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::~safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT()
26230{
26231 if (pNext)
26232 FreePnextChain(pNext);
26233}
26234
26235void safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::initialize(const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* in_struct)
26236{
26237 sType = in_struct->sType;
26238 subgroupSizeControl = in_struct->subgroupSizeControl;
26239 computeFullSubgroups = in_struct->computeFullSubgroups;
26240 pNext = SafePnextCopy(in_struct->pNext);
26241}
26242
26243void safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT::initialize(const safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* src)
26244{
26245 sType = src->sType;
26246 subgroupSizeControl = src->subgroupSizeControl;
26247 computeFullSubgroups = src->computeFullSubgroups;
26248 pNext = SafePnextCopy(src->pNext);
26249}
26250
26251safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* in_struct) :
26252 sType(in_struct->sType),
26253 minSubgroupSize(in_struct->minSubgroupSize),
26254 maxSubgroupSize(in_struct->maxSubgroupSize),
26255 maxComputeWorkgroupSubgroups(in_struct->maxComputeWorkgroupSubgroups),
26256 requiredSubgroupSizeStages(in_struct->requiredSubgroupSizeStages)
26257{
26258 pNext = SafePnextCopy(in_struct->pNext);
26259}
26260
26261safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT() :
26262 pNext(nullptr)
26263{}
26264
26265safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& src)
26266{
26267 sType = src.sType;
26268 minSubgroupSize = src.minSubgroupSize;
26269 maxSubgroupSize = src.maxSubgroupSize;
26270 maxComputeWorkgroupSubgroups = src.maxComputeWorkgroupSubgroups;
26271 requiredSubgroupSizeStages = src.requiredSubgroupSizeStages;
26272 pNext = SafePnextCopy(src.pNext);
26273}
26274
26275safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::operator=(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& src)
26276{
26277 if (&src == this) return *this;
26278
26279 if (pNext)
26280 FreePnextChain(pNext);
26281
26282 sType = src.sType;
26283 minSubgroupSize = src.minSubgroupSize;
26284 maxSubgroupSize = src.maxSubgroupSize;
26285 maxComputeWorkgroupSubgroups = src.maxComputeWorkgroupSubgroups;
26286 requiredSubgroupSizeStages = src.requiredSubgroupSizeStages;
26287 pNext = SafePnextCopy(src.pNext);
26288
26289 return *this;
26290}
26291
26292safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::~safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT()
26293{
26294 if (pNext)
26295 FreePnextChain(pNext);
26296}
26297
26298void safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::initialize(const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* in_struct)
26299{
26300 sType = in_struct->sType;
26301 minSubgroupSize = in_struct->minSubgroupSize;
26302 maxSubgroupSize = in_struct->maxSubgroupSize;
26303 maxComputeWorkgroupSubgroups = in_struct->maxComputeWorkgroupSubgroups;
26304 requiredSubgroupSizeStages = in_struct->requiredSubgroupSizeStages;
26305 pNext = SafePnextCopy(in_struct->pNext);
26306}
26307
26308void safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT::initialize(const safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* src)
26309{
26310 sType = src->sType;
26311 minSubgroupSize = src->minSubgroupSize;
26312 maxSubgroupSize = src->maxSubgroupSize;
26313 maxComputeWorkgroupSubgroups = src->maxComputeWorkgroupSubgroups;
26314 requiredSubgroupSizeStages = src->requiredSubgroupSizeStages;
26315 pNext = SafePnextCopy(src->pNext);
26316}
26317
26318safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* in_struct) :
26319 sType(in_struct->sType),
26320 requiredSubgroupSize(in_struct->requiredSubgroupSize)
26321{
26322 pNext = SafePnextCopy(in_struct->pNext);
26323}
26324
26325safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT() :
26326 pNext(nullptr)
26327{}
26328
26329safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& src)
26330{
26331 sType = src.sType;
26332 requiredSubgroupSize = src.requiredSubgroupSize;
26333 pNext = SafePnextCopy(src.pNext);
26334}
26335
26336safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::operator=(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& src)
26337{
26338 if (&src == this) return *this;
26339
26340 if (pNext)
26341 FreePnextChain(pNext);
26342
26343 sType = src.sType;
26344 requiredSubgroupSize = src.requiredSubgroupSize;
26345 pNext = SafePnextCopy(src.pNext);
26346
26347 return *this;
26348}
26349
26350safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::~safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT()
26351{
26352 if (pNext)
26353 FreePnextChain(pNext);
26354}
26355
26356void safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::initialize(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* in_struct)
26357{
26358 sType = in_struct->sType;
26359 requiredSubgroupSize = in_struct->requiredSubgroupSize;
26360 pNext = SafePnextCopy(in_struct->pNext);
26361}
26362
26363void safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT::initialize(const safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* src)
26364{
26365 sType = src->sType;
26366 requiredSubgroupSize = src->requiredSubgroupSize;
26367 pNext = SafePnextCopy(src->pNext);
26368}
26369
26370safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD(const VkPhysicalDeviceShaderCoreProperties2AMD* in_struct) :
26371 sType(in_struct->sType),
26372 shaderCoreFeatures(in_struct->shaderCoreFeatures),
26373 activeComputeUnitCount(in_struct->activeComputeUnitCount)
26374{
26375 pNext = SafePnextCopy(in_struct->pNext);
26376}
26377
26378safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD() :
26379 pNext(nullptr)
26380{}
26381
26382safe_VkPhysicalDeviceShaderCoreProperties2AMD::safe_VkPhysicalDeviceShaderCoreProperties2AMD(const safe_VkPhysicalDeviceShaderCoreProperties2AMD& src)
26383{
26384 sType = src.sType;
26385 shaderCoreFeatures = src.shaderCoreFeatures;
26386 activeComputeUnitCount = src.activeComputeUnitCount;
26387 pNext = SafePnextCopy(src.pNext);
26388}
26389
26390safe_VkPhysicalDeviceShaderCoreProperties2AMD& safe_VkPhysicalDeviceShaderCoreProperties2AMD::operator=(const safe_VkPhysicalDeviceShaderCoreProperties2AMD& src)
26391{
26392 if (&src == this) return *this;
26393
26394 if (pNext)
26395 FreePnextChain(pNext);
26396
26397 sType = src.sType;
26398 shaderCoreFeatures = src.shaderCoreFeatures;
26399 activeComputeUnitCount = src.activeComputeUnitCount;
26400 pNext = SafePnextCopy(src.pNext);
26401
26402 return *this;
26403}
26404
26405safe_VkPhysicalDeviceShaderCoreProperties2AMD::~safe_VkPhysicalDeviceShaderCoreProperties2AMD()
26406{
26407 if (pNext)
26408 FreePnextChain(pNext);
26409}
26410
26411void safe_VkPhysicalDeviceShaderCoreProperties2AMD::initialize(const VkPhysicalDeviceShaderCoreProperties2AMD* in_struct)
26412{
26413 sType = in_struct->sType;
26414 shaderCoreFeatures = in_struct->shaderCoreFeatures;
26415 activeComputeUnitCount = in_struct->activeComputeUnitCount;
26416 pNext = SafePnextCopy(in_struct->pNext);
26417}
26418
26419void safe_VkPhysicalDeviceShaderCoreProperties2AMD::initialize(const safe_VkPhysicalDeviceShaderCoreProperties2AMD* src)
26420{
26421 sType = src->sType;
26422 shaderCoreFeatures = src->shaderCoreFeatures;
26423 activeComputeUnitCount = src->activeComputeUnitCount;
26424 pNext = SafePnextCopy(src->pNext);
26425}
26426
Mike Schuchardt440d4642019-06-20 17:14:57 -070026427safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct) :
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026428 sType(in_struct->sType)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026429{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026430 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026431 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26432 heapBudget[i] = in_struct->heapBudget[i];
26433 }
26434 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26435 heapUsage[i] = in_struct->heapUsage[i];
26436 }
26437}
26438
Jason Macnak8f28eec2019-08-09 12:57:01 -070026439safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT() :
26440 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026441{}
26442
26443safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& src)
26444{
26445 sType = src.sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026446 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026447 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26448 heapBudget[i] = src.heapBudget[i];
26449 }
26450 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26451 heapUsage[i] = src.heapUsage[i];
26452 }
26453}
26454
26455safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::operator=(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT& src)
26456{
26457 if (&src == this) return *this;
26458
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026459 if (pNext)
26460 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026461
26462 sType = src.sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026463 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026464 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26465 heapBudget[i] = src.heapBudget[i];
26466 }
26467 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26468 heapUsage[i] = src.heapUsage[i];
26469 }
26470
26471 return *this;
26472}
26473
26474safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::~safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT()
26475{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026476 if (pNext)
26477 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026478}
26479
26480void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const VkPhysicalDeviceMemoryBudgetPropertiesEXT* in_struct)
26481{
26482 sType = in_struct->sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026483 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026484 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26485 heapBudget[i] = in_struct->heapBudget[i];
26486 }
26487 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26488 heapUsage[i] = in_struct->heapUsage[i];
26489 }
26490}
26491
26492void safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT::initialize(const safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT* src)
26493{
26494 sType = src->sType;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026495 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026496 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26497 heapBudget[i] = src->heapBudget[i];
26498 }
26499 for (uint32_t i=0; i<VK_MAX_MEMORY_HEAPS; ++i) {
26500 heapUsage[i] = src->heapUsage[i];
26501 }
26502}
26503
26504safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const VkPhysicalDeviceMemoryPriorityFeaturesEXT* in_struct) :
26505 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026506 memoryPriority(in_struct->memoryPriority)
26507{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026508 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026509}
26510
Jason Macnak8f28eec2019-08-09 12:57:01 -070026511safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT() :
26512 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026513{}
26514
26515safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& src)
26516{
26517 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026518 memoryPriority = src.memoryPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026519 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026520}
26521
26522safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::operator=(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT& src)
26523{
26524 if (&src == this) return *this;
26525
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026526 if (pNext)
26527 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026528
26529 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026530 memoryPriority = src.memoryPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026531 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026532
26533 return *this;
26534}
26535
26536safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::~safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT()
26537{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026538 if (pNext)
26539 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026540}
26541
26542void safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::initialize(const VkPhysicalDeviceMemoryPriorityFeaturesEXT* in_struct)
26543{
26544 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026545 memoryPriority = in_struct->memoryPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026546 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026547}
26548
26549void safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT::initialize(const safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT* src)
26550{
26551 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026552 memoryPriority = src->memoryPriority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026553 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026554}
26555
26556safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT(const VkMemoryPriorityAllocateInfoEXT* in_struct) :
26557 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026558 priority(in_struct->priority)
26559{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026560 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026561}
26562
Jason Macnak8f28eec2019-08-09 12:57:01 -070026563safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT() :
26564 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026565{}
26566
26567safe_VkMemoryPriorityAllocateInfoEXT::safe_VkMemoryPriorityAllocateInfoEXT(const safe_VkMemoryPriorityAllocateInfoEXT& src)
26568{
26569 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026570 priority = src.priority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026571 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026572}
26573
26574safe_VkMemoryPriorityAllocateInfoEXT& safe_VkMemoryPriorityAllocateInfoEXT::operator=(const safe_VkMemoryPriorityAllocateInfoEXT& src)
26575{
26576 if (&src == this) return *this;
26577
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026578 if (pNext)
26579 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026580
26581 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026582 priority = src.priority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026583 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026584
26585 return *this;
26586}
26587
26588safe_VkMemoryPriorityAllocateInfoEXT::~safe_VkMemoryPriorityAllocateInfoEXT()
26589{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026590 if (pNext)
26591 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026592}
26593
26594void safe_VkMemoryPriorityAllocateInfoEXT::initialize(const VkMemoryPriorityAllocateInfoEXT* in_struct)
26595{
26596 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026597 priority = in_struct->priority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026598 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026599}
26600
26601void safe_VkMemoryPriorityAllocateInfoEXT::initialize(const safe_VkMemoryPriorityAllocateInfoEXT* src)
26602{
26603 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026604 priority = src->priority;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026605 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026606}
26607
26608safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* in_struct) :
26609 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026610 dedicatedAllocationImageAliasing(in_struct->dedicatedAllocationImageAliasing)
26611{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026612 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026613}
26614
Jason Macnak8f28eec2019-08-09 12:57:01 -070026615safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV() :
26616 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026617{}
26618
26619safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& src)
26620{
26621 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026622 dedicatedAllocationImageAliasing = src.dedicatedAllocationImageAliasing;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026623 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026624}
26625
26626safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::operator=(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& src)
26627{
26628 if (&src == this) return *this;
26629
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026630 if (pNext)
26631 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026632
26633 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026634 dedicatedAllocationImageAliasing = src.dedicatedAllocationImageAliasing;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026635 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026636
26637 return *this;
26638}
26639
26640safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::~safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV()
26641{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026642 if (pNext)
26643 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026644}
26645
26646void safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::initialize(const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* in_struct)
26647{
26648 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026649 dedicatedAllocationImageAliasing = in_struct->dedicatedAllocationImageAliasing;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026650 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026651}
26652
26653void safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV::initialize(const safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* src)
26654{
26655 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026656 dedicatedAllocationImageAliasing = src->dedicatedAllocationImageAliasing;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026657 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026658}
26659
26660safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* in_struct) :
26661 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026662 bufferDeviceAddress(in_struct->bufferDeviceAddress),
26663 bufferDeviceAddressCaptureReplay(in_struct->bufferDeviceAddressCaptureReplay),
26664 bufferDeviceAddressMultiDevice(in_struct->bufferDeviceAddressMultiDevice)
26665{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026666 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026667}
26668
Jason Macnak8f28eec2019-08-09 12:57:01 -070026669safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT() :
26670 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026671{}
26672
26673safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& src)
26674{
26675 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026676 bufferDeviceAddress = src.bufferDeviceAddress;
26677 bufferDeviceAddressCaptureReplay = src.bufferDeviceAddressCaptureReplay;
26678 bufferDeviceAddressMultiDevice = src.bufferDeviceAddressMultiDevice;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026679 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026680}
26681
26682safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::operator=(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& src)
26683{
26684 if (&src == this) return *this;
26685
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026686 if (pNext)
26687 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026688
26689 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026690 bufferDeviceAddress = src.bufferDeviceAddress;
26691 bufferDeviceAddressCaptureReplay = src.bufferDeviceAddressCaptureReplay;
26692 bufferDeviceAddressMultiDevice = src.bufferDeviceAddressMultiDevice;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026693 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026694
26695 return *this;
26696}
26697
26698safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::~safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT()
26699{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026700 if (pNext)
26701 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026702}
26703
26704void safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::initialize(const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* in_struct)
26705{
26706 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026707 bufferDeviceAddress = in_struct->bufferDeviceAddress;
26708 bufferDeviceAddressCaptureReplay = in_struct->bufferDeviceAddressCaptureReplay;
26709 bufferDeviceAddressMultiDevice = in_struct->bufferDeviceAddressMultiDevice;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026710 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026711}
26712
26713void safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::initialize(const safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* src)
26714{
26715 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026716 bufferDeviceAddress = src->bufferDeviceAddress;
26717 bufferDeviceAddressCaptureReplay = src->bufferDeviceAddressCaptureReplay;
26718 bufferDeviceAddressMultiDevice = src->bufferDeviceAddressMultiDevice;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026719 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026720}
26721
26722safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT(const VkBufferDeviceAddressInfoEXT* in_struct) :
26723 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026724 buffer(in_struct->buffer)
26725{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026726 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026727}
26728
Jason Macnak8f28eec2019-08-09 12:57:01 -070026729safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT() :
26730 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026731{}
26732
26733safe_VkBufferDeviceAddressInfoEXT::safe_VkBufferDeviceAddressInfoEXT(const safe_VkBufferDeviceAddressInfoEXT& src)
26734{
26735 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026736 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026737 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026738}
26739
26740safe_VkBufferDeviceAddressInfoEXT& safe_VkBufferDeviceAddressInfoEXT::operator=(const safe_VkBufferDeviceAddressInfoEXT& src)
26741{
26742 if (&src == this) return *this;
26743
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026744 if (pNext)
26745 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026746
26747 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026748 buffer = src.buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026749 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026750
26751 return *this;
26752}
26753
26754safe_VkBufferDeviceAddressInfoEXT::~safe_VkBufferDeviceAddressInfoEXT()
26755{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026756 if (pNext)
26757 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026758}
26759
26760void safe_VkBufferDeviceAddressInfoEXT::initialize(const VkBufferDeviceAddressInfoEXT* in_struct)
26761{
26762 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026763 buffer = in_struct->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026764 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026765}
26766
26767void safe_VkBufferDeviceAddressInfoEXT::initialize(const safe_VkBufferDeviceAddressInfoEXT* src)
26768{
26769 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026770 buffer = src->buffer;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026771 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026772}
26773
26774safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT(const VkBufferDeviceAddressCreateInfoEXT* in_struct) :
26775 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026776 deviceAddress(in_struct->deviceAddress)
26777{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026778 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026779}
26780
Jason Macnak8f28eec2019-08-09 12:57:01 -070026781safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT() :
26782 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026783{}
26784
26785safe_VkBufferDeviceAddressCreateInfoEXT::safe_VkBufferDeviceAddressCreateInfoEXT(const safe_VkBufferDeviceAddressCreateInfoEXT& src)
26786{
26787 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026788 deviceAddress = src.deviceAddress;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026789 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026790}
26791
26792safe_VkBufferDeviceAddressCreateInfoEXT& safe_VkBufferDeviceAddressCreateInfoEXT::operator=(const safe_VkBufferDeviceAddressCreateInfoEXT& src)
26793{
26794 if (&src == this) return *this;
26795
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026796 if (pNext)
26797 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026798
26799 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026800 deviceAddress = src.deviceAddress;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026801 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026802
26803 return *this;
26804}
26805
26806safe_VkBufferDeviceAddressCreateInfoEXT::~safe_VkBufferDeviceAddressCreateInfoEXT()
26807{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026808 if (pNext)
26809 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026810}
26811
26812void safe_VkBufferDeviceAddressCreateInfoEXT::initialize(const VkBufferDeviceAddressCreateInfoEXT* in_struct)
26813{
26814 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026815 deviceAddress = in_struct->deviceAddress;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026816 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026817}
26818
26819void safe_VkBufferDeviceAddressCreateInfoEXT::initialize(const safe_VkBufferDeviceAddressCreateInfoEXT* src)
26820{
26821 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026822 deviceAddress = src->deviceAddress;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026823 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026824}
26825
26826safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT(const VkImageStencilUsageCreateInfoEXT* in_struct) :
26827 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026828 stencilUsage(in_struct->stencilUsage)
26829{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026830 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026831}
26832
Jason Macnak8f28eec2019-08-09 12:57:01 -070026833safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT() :
26834 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070026835{}
26836
26837safe_VkImageStencilUsageCreateInfoEXT::safe_VkImageStencilUsageCreateInfoEXT(const safe_VkImageStencilUsageCreateInfoEXT& src)
26838{
26839 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026840 stencilUsage = src.stencilUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026841 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026842}
26843
26844safe_VkImageStencilUsageCreateInfoEXT& safe_VkImageStencilUsageCreateInfoEXT::operator=(const safe_VkImageStencilUsageCreateInfoEXT& src)
26845{
26846 if (&src == this) return *this;
26847
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026848 if (pNext)
26849 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026850
26851 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026852 stencilUsage = src.stencilUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026853 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026854
26855 return *this;
26856}
26857
26858safe_VkImageStencilUsageCreateInfoEXT::~safe_VkImageStencilUsageCreateInfoEXT()
26859{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026860 if (pNext)
26861 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026862}
26863
26864void safe_VkImageStencilUsageCreateInfoEXT::initialize(const VkImageStencilUsageCreateInfoEXT* in_struct)
26865{
26866 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026867 stencilUsage = in_struct->stencilUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026868 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026869}
26870
26871void safe_VkImageStencilUsageCreateInfoEXT::initialize(const safe_VkImageStencilUsageCreateInfoEXT* src)
26872{
26873 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026874 stencilUsage = src->stencilUsage;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026875 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026876}
26877
26878safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const VkValidationFeaturesEXT* in_struct) :
26879 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026880 enabledValidationFeatureCount(in_struct->enabledValidationFeatureCount),
26881 pEnabledValidationFeatures(nullptr),
26882 disabledValidationFeatureCount(in_struct->disabledValidationFeatureCount),
26883 pDisabledValidationFeatures(nullptr)
26884{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026885 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026886 if (in_struct->pEnabledValidationFeatures) {
26887 pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[in_struct->enabledValidationFeatureCount];
26888 memcpy ((void *)pEnabledValidationFeatures, (void *)in_struct->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*in_struct->enabledValidationFeatureCount);
26889 }
26890 if (in_struct->pDisabledValidationFeatures) {
26891 pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[in_struct->disabledValidationFeatureCount];
26892 memcpy ((void *)pDisabledValidationFeatures, (void *)in_struct->pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*in_struct->disabledValidationFeatureCount);
26893 }
26894}
26895
26896safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT() :
Jason Macnak8f28eec2019-08-09 12:57:01 -070026897 pNext(nullptr),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026898 pEnabledValidationFeatures(nullptr),
26899 pDisabledValidationFeatures(nullptr)
26900{}
26901
26902safe_VkValidationFeaturesEXT::safe_VkValidationFeaturesEXT(const safe_VkValidationFeaturesEXT& src)
26903{
26904 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026905 enabledValidationFeatureCount = src.enabledValidationFeatureCount;
26906 pEnabledValidationFeatures = nullptr;
26907 disabledValidationFeatureCount = src.disabledValidationFeatureCount;
26908 pDisabledValidationFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026909 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026910 if (src.pEnabledValidationFeatures) {
26911 pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src.enabledValidationFeatureCount];
26912 memcpy ((void *)pEnabledValidationFeatures, (void *)src.pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src.enabledValidationFeatureCount);
26913 }
26914 if (src.pDisabledValidationFeatures) {
26915 pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[src.disabledValidationFeatureCount];
26916 memcpy ((void *)pDisabledValidationFeatures, (void *)src.pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*src.disabledValidationFeatureCount);
26917 }
26918}
26919
26920safe_VkValidationFeaturesEXT& safe_VkValidationFeaturesEXT::operator=(const safe_VkValidationFeaturesEXT& src)
26921{
26922 if (&src == this) return *this;
26923
26924 if (pEnabledValidationFeatures)
26925 delete[] pEnabledValidationFeatures;
26926 if (pDisabledValidationFeatures)
26927 delete[] pDisabledValidationFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026928 if (pNext)
26929 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026930
26931 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026932 enabledValidationFeatureCount = src.enabledValidationFeatureCount;
26933 pEnabledValidationFeatures = nullptr;
26934 disabledValidationFeatureCount = src.disabledValidationFeatureCount;
26935 pDisabledValidationFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026936 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026937 if (src.pEnabledValidationFeatures) {
26938 pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src.enabledValidationFeatureCount];
26939 memcpy ((void *)pEnabledValidationFeatures, (void *)src.pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src.enabledValidationFeatureCount);
26940 }
26941 if (src.pDisabledValidationFeatures) {
26942 pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[src.disabledValidationFeatureCount];
26943 memcpy ((void *)pDisabledValidationFeatures, (void *)src.pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*src.disabledValidationFeatureCount);
26944 }
26945
26946 return *this;
26947}
26948
26949safe_VkValidationFeaturesEXT::~safe_VkValidationFeaturesEXT()
26950{
26951 if (pEnabledValidationFeatures)
26952 delete[] pEnabledValidationFeatures;
26953 if (pDisabledValidationFeatures)
26954 delete[] pDisabledValidationFeatures;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026955 if (pNext)
26956 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026957}
26958
26959void safe_VkValidationFeaturesEXT::initialize(const VkValidationFeaturesEXT* in_struct)
26960{
26961 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026962 enabledValidationFeatureCount = in_struct->enabledValidationFeatureCount;
26963 pEnabledValidationFeatures = nullptr;
26964 disabledValidationFeatureCount = in_struct->disabledValidationFeatureCount;
26965 pDisabledValidationFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026966 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026967 if (in_struct->pEnabledValidationFeatures) {
26968 pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[in_struct->enabledValidationFeatureCount];
26969 memcpy ((void *)pEnabledValidationFeatures, (void *)in_struct->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*in_struct->enabledValidationFeatureCount);
26970 }
26971 if (in_struct->pDisabledValidationFeatures) {
26972 pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[in_struct->disabledValidationFeatureCount];
26973 memcpy ((void *)pDisabledValidationFeatures, (void *)in_struct->pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*in_struct->disabledValidationFeatureCount);
26974 }
26975}
26976
26977void safe_VkValidationFeaturesEXT::initialize(const safe_VkValidationFeaturesEXT* src)
26978{
26979 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070026980 enabledValidationFeatureCount = src->enabledValidationFeatureCount;
26981 pEnabledValidationFeatures = nullptr;
26982 disabledValidationFeatureCount = src->disabledValidationFeatureCount;
26983 pDisabledValidationFeatures = nullptr;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060026984 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070026985 if (src->pEnabledValidationFeatures) {
26986 pEnabledValidationFeatures = new VkValidationFeatureEnableEXT[src->enabledValidationFeatureCount];
26987 memcpy ((void *)pEnabledValidationFeatures, (void *)src->pEnabledValidationFeatures, sizeof(VkValidationFeatureEnableEXT)*src->enabledValidationFeatureCount);
26988 }
26989 if (src->pDisabledValidationFeatures) {
26990 pDisabledValidationFeatures = new VkValidationFeatureDisableEXT[src->disabledValidationFeatureCount];
26991 memcpy ((void *)pDisabledValidationFeatures, (void *)src->pDisabledValidationFeatures, sizeof(VkValidationFeatureDisableEXT)*src->disabledValidationFeatureCount);
26992 }
26993}
26994
26995safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const VkCooperativeMatrixPropertiesNV* in_struct) :
26996 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070026997 MSize(in_struct->MSize),
26998 NSize(in_struct->NSize),
26999 KSize(in_struct->KSize),
27000 AType(in_struct->AType),
27001 BType(in_struct->BType),
27002 CType(in_struct->CType),
27003 DType(in_struct->DType),
27004 scope(in_struct->scope)
27005{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027006 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027007}
27008
Jason Macnak8f28eec2019-08-09 12:57:01 -070027009safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV() :
27010 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027011{}
27012
27013safe_VkCooperativeMatrixPropertiesNV::safe_VkCooperativeMatrixPropertiesNV(const safe_VkCooperativeMatrixPropertiesNV& src)
27014{
27015 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027016 MSize = src.MSize;
27017 NSize = src.NSize;
27018 KSize = src.KSize;
27019 AType = src.AType;
27020 BType = src.BType;
27021 CType = src.CType;
27022 DType = src.DType;
27023 scope = src.scope;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027024 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027025}
27026
27027safe_VkCooperativeMatrixPropertiesNV& safe_VkCooperativeMatrixPropertiesNV::operator=(const safe_VkCooperativeMatrixPropertiesNV& src)
27028{
27029 if (&src == this) return *this;
27030
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027031 if (pNext)
27032 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027033
27034 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027035 MSize = src.MSize;
27036 NSize = src.NSize;
27037 KSize = src.KSize;
27038 AType = src.AType;
27039 BType = src.BType;
27040 CType = src.CType;
27041 DType = src.DType;
27042 scope = src.scope;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027043 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027044
27045 return *this;
27046}
27047
27048safe_VkCooperativeMatrixPropertiesNV::~safe_VkCooperativeMatrixPropertiesNV()
27049{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027050 if (pNext)
27051 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027052}
27053
27054void safe_VkCooperativeMatrixPropertiesNV::initialize(const VkCooperativeMatrixPropertiesNV* in_struct)
27055{
27056 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027057 MSize = in_struct->MSize;
27058 NSize = in_struct->NSize;
27059 KSize = in_struct->KSize;
27060 AType = in_struct->AType;
27061 BType = in_struct->BType;
27062 CType = in_struct->CType;
27063 DType = in_struct->DType;
27064 scope = in_struct->scope;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027065 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027066}
27067
27068void safe_VkCooperativeMatrixPropertiesNV::initialize(const safe_VkCooperativeMatrixPropertiesNV* src)
27069{
27070 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027071 MSize = src->MSize;
27072 NSize = src->NSize;
27073 KSize = src->KSize;
27074 AType = src->AType;
27075 BType = src->BType;
27076 CType = src->CType;
27077 DType = src->DType;
27078 scope = src->scope;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027079 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027080}
27081
27082safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const VkPhysicalDeviceCooperativeMatrixFeaturesNV* in_struct) :
27083 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027084 cooperativeMatrix(in_struct->cooperativeMatrix),
27085 cooperativeMatrixRobustBufferAccess(in_struct->cooperativeMatrixRobustBufferAccess)
27086{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027087 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027088}
27089
Jason Macnak8f28eec2019-08-09 12:57:01 -070027090safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV() :
27091 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027092{}
27093
27094safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& src)
27095{
27096 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027097 cooperativeMatrix = src.cooperativeMatrix;
27098 cooperativeMatrixRobustBufferAccess = src.cooperativeMatrixRobustBufferAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027099 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027100}
27101
27102safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::operator=(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV& src)
27103{
27104 if (&src == this) return *this;
27105
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027106 if (pNext)
27107 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027108
27109 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027110 cooperativeMatrix = src.cooperativeMatrix;
27111 cooperativeMatrixRobustBufferAccess = src.cooperativeMatrixRobustBufferAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027112 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027113
27114 return *this;
27115}
27116
27117safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::~safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV()
27118{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027119 if (pNext)
27120 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027121}
27122
27123void safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::initialize(const VkPhysicalDeviceCooperativeMatrixFeaturesNV* in_struct)
27124{
27125 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027126 cooperativeMatrix = in_struct->cooperativeMatrix;
27127 cooperativeMatrixRobustBufferAccess = in_struct->cooperativeMatrixRobustBufferAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027128 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027129}
27130
27131void safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV::initialize(const safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV* src)
27132{
27133 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027134 cooperativeMatrix = src->cooperativeMatrix;
27135 cooperativeMatrixRobustBufferAccess = src->cooperativeMatrixRobustBufferAccess;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027136 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027137}
27138
27139safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const VkPhysicalDeviceCooperativeMatrixPropertiesNV* in_struct) :
27140 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027141 cooperativeMatrixSupportedStages(in_struct->cooperativeMatrixSupportedStages)
27142{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027143 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027144}
27145
Jason Macnak8f28eec2019-08-09 12:57:01 -070027146safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV() :
27147 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027148{}
27149
27150safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& src)
27151{
27152 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027153 cooperativeMatrixSupportedStages = src.cooperativeMatrixSupportedStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027154 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027155}
27156
27157safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::operator=(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV& src)
27158{
27159 if (&src == this) return *this;
27160
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027161 if (pNext)
27162 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027163
27164 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027165 cooperativeMatrixSupportedStages = src.cooperativeMatrixSupportedStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027166 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027167
27168 return *this;
27169}
27170
27171safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::~safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV()
27172{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027173 if (pNext)
27174 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027175}
27176
27177void safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::initialize(const VkPhysicalDeviceCooperativeMatrixPropertiesNV* in_struct)
27178{
27179 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027180 cooperativeMatrixSupportedStages = in_struct->cooperativeMatrixSupportedStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027181 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027182}
27183
27184void safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV::initialize(const safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV* src)
27185{
27186 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027187 cooperativeMatrixSupportedStages = src->cooperativeMatrixSupportedStages;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027188 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027189}
27190
27191safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const VkPhysicalDeviceCoverageReductionModeFeaturesNV* in_struct) :
27192 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027193 coverageReductionMode(in_struct->coverageReductionMode)
27194{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027195 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027196}
27197
Jason Macnak8f28eec2019-08-09 12:57:01 -070027198safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV() :
27199 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027200{}
27201
27202safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& src)
27203{
27204 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027205 coverageReductionMode = src.coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027206 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027207}
27208
27209safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::operator=(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV& src)
27210{
27211 if (&src == this) return *this;
27212
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027213 if (pNext)
27214 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027215
27216 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027217 coverageReductionMode = src.coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027218 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027219
27220 return *this;
27221}
27222
27223safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::~safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV()
27224{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027225 if (pNext)
27226 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027227}
27228
27229void safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::initialize(const VkPhysicalDeviceCoverageReductionModeFeaturesNV* in_struct)
27230{
27231 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027232 coverageReductionMode = in_struct->coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027233 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027234}
27235
27236void safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV::initialize(const safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV* src)
27237{
27238 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027239 coverageReductionMode = src->coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027240 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027241}
27242
27243safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV(const VkPipelineCoverageReductionStateCreateInfoNV* in_struct) :
27244 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027245 flags(in_struct->flags),
27246 coverageReductionMode(in_struct->coverageReductionMode)
27247{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027248 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027249}
27250
Jason Macnak8f28eec2019-08-09 12:57:01 -070027251safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV() :
27252 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027253{}
27254
27255safe_VkPipelineCoverageReductionStateCreateInfoNV::safe_VkPipelineCoverageReductionStateCreateInfoNV(const safe_VkPipelineCoverageReductionStateCreateInfoNV& src)
27256{
27257 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027258 flags = src.flags;
27259 coverageReductionMode = src.coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027260 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027261}
27262
27263safe_VkPipelineCoverageReductionStateCreateInfoNV& safe_VkPipelineCoverageReductionStateCreateInfoNV::operator=(const safe_VkPipelineCoverageReductionStateCreateInfoNV& src)
27264{
27265 if (&src == this) return *this;
27266
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027267 if (pNext)
27268 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027269
27270 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027271 flags = src.flags;
27272 coverageReductionMode = src.coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027273 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027274
27275 return *this;
27276}
27277
27278safe_VkPipelineCoverageReductionStateCreateInfoNV::~safe_VkPipelineCoverageReductionStateCreateInfoNV()
27279{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027280 if (pNext)
27281 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027282}
27283
27284void safe_VkPipelineCoverageReductionStateCreateInfoNV::initialize(const VkPipelineCoverageReductionStateCreateInfoNV* in_struct)
27285{
27286 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027287 flags = in_struct->flags;
27288 coverageReductionMode = in_struct->coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027289 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027290}
27291
27292void safe_VkPipelineCoverageReductionStateCreateInfoNV::initialize(const safe_VkPipelineCoverageReductionStateCreateInfoNV* src)
27293{
27294 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027295 flags = src->flags;
27296 coverageReductionMode = src->coverageReductionMode;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027297 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027298}
27299
27300safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV(const VkFramebufferMixedSamplesCombinationNV* in_struct) :
27301 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027302 coverageReductionMode(in_struct->coverageReductionMode),
27303 rasterizationSamples(in_struct->rasterizationSamples),
27304 depthStencilSamples(in_struct->depthStencilSamples),
27305 colorSamples(in_struct->colorSamples)
27306{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027307 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027308}
27309
Jason Macnak8f28eec2019-08-09 12:57:01 -070027310safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV() :
27311 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027312{}
27313
27314safe_VkFramebufferMixedSamplesCombinationNV::safe_VkFramebufferMixedSamplesCombinationNV(const safe_VkFramebufferMixedSamplesCombinationNV& src)
27315{
27316 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027317 coverageReductionMode = src.coverageReductionMode;
27318 rasterizationSamples = src.rasterizationSamples;
27319 depthStencilSamples = src.depthStencilSamples;
27320 colorSamples = src.colorSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027321 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027322}
27323
27324safe_VkFramebufferMixedSamplesCombinationNV& safe_VkFramebufferMixedSamplesCombinationNV::operator=(const safe_VkFramebufferMixedSamplesCombinationNV& src)
27325{
27326 if (&src == this) return *this;
27327
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027328 if (pNext)
27329 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027330
27331 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027332 coverageReductionMode = src.coverageReductionMode;
27333 rasterizationSamples = src.rasterizationSamples;
27334 depthStencilSamples = src.depthStencilSamples;
27335 colorSamples = src.colorSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027336 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027337
27338 return *this;
27339}
27340
27341safe_VkFramebufferMixedSamplesCombinationNV::~safe_VkFramebufferMixedSamplesCombinationNV()
27342{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027343 if (pNext)
27344 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027345}
27346
27347void safe_VkFramebufferMixedSamplesCombinationNV::initialize(const VkFramebufferMixedSamplesCombinationNV* in_struct)
27348{
27349 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027350 coverageReductionMode = in_struct->coverageReductionMode;
27351 rasterizationSamples = in_struct->rasterizationSamples;
27352 depthStencilSamples = in_struct->depthStencilSamples;
27353 colorSamples = in_struct->colorSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027354 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027355}
27356
27357void safe_VkFramebufferMixedSamplesCombinationNV::initialize(const safe_VkFramebufferMixedSamplesCombinationNV* src)
27358{
27359 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027360 coverageReductionMode = src->coverageReductionMode;
27361 rasterizationSamples = src->rasterizationSamples;
27362 depthStencilSamples = src->depthStencilSamples;
27363 colorSamples = src->colorSamples;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027364 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027365}
27366
27367safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* in_struct) :
27368 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027369 fragmentShaderSampleInterlock(in_struct->fragmentShaderSampleInterlock),
27370 fragmentShaderPixelInterlock(in_struct->fragmentShaderPixelInterlock),
27371 fragmentShaderShadingRateInterlock(in_struct->fragmentShaderShadingRateInterlock)
27372{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027373 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027374}
27375
Jason Macnak8f28eec2019-08-09 12:57:01 -070027376safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT() :
27377 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027378{}
27379
27380safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& src)
27381{
27382 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027383 fragmentShaderSampleInterlock = src.fragmentShaderSampleInterlock;
27384 fragmentShaderPixelInterlock = src.fragmentShaderPixelInterlock;
27385 fragmentShaderShadingRateInterlock = src.fragmentShaderShadingRateInterlock;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027386 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027387}
27388
27389safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::operator=(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& src)
27390{
27391 if (&src == this) return *this;
27392
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027393 if (pNext)
27394 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027395
27396 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027397 fragmentShaderSampleInterlock = src.fragmentShaderSampleInterlock;
27398 fragmentShaderPixelInterlock = src.fragmentShaderPixelInterlock;
27399 fragmentShaderShadingRateInterlock = src.fragmentShaderShadingRateInterlock;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027400 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027401
27402 return *this;
27403}
27404
27405safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::~safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT()
27406{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027407 if (pNext)
27408 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027409}
27410
27411void safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::initialize(const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* in_struct)
27412{
27413 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027414 fragmentShaderSampleInterlock = in_struct->fragmentShaderSampleInterlock;
27415 fragmentShaderPixelInterlock = in_struct->fragmentShaderPixelInterlock;
27416 fragmentShaderShadingRateInterlock = in_struct->fragmentShaderShadingRateInterlock;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027417 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027418}
27419
27420void safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT::initialize(const safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* src)
27421{
27422 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027423 fragmentShaderSampleInterlock = src->fragmentShaderSampleInterlock;
27424 fragmentShaderPixelInterlock = src->fragmentShaderPixelInterlock;
27425 fragmentShaderShadingRateInterlock = src->fragmentShaderShadingRateInterlock;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027426 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027427}
27428
27429safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* in_struct) :
27430 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027431 ycbcrImageArrays(in_struct->ycbcrImageArrays)
27432{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027433 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027434}
27435
Jason Macnak8f28eec2019-08-09 12:57:01 -070027436safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT() :
27437 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027438{}
27439
27440safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& src)
27441{
27442 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027443 ycbcrImageArrays = src.ycbcrImageArrays;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027444 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027445}
27446
27447safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::operator=(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& src)
27448{
27449 if (&src == this) return *this;
27450
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027451 if (pNext)
27452 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027453
27454 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027455 ycbcrImageArrays = src.ycbcrImageArrays;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027456 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027457
27458 return *this;
27459}
27460
27461safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::~safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT()
27462{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027463 if (pNext)
27464 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027465}
27466
27467void safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::initialize(const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* in_struct)
27468{
27469 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027470 ycbcrImageArrays = in_struct->ycbcrImageArrays;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027471 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027472}
27473
27474void safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT::initialize(const safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* src)
27475{
27476 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027477 ycbcrImageArrays = src->ycbcrImageArrays;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027478 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027479}
27480#ifdef VK_USE_PLATFORM_WIN32_KHR
27481
27482
27483safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT(const VkSurfaceFullScreenExclusiveInfoEXT* in_struct) :
27484 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027485 fullScreenExclusive(in_struct->fullScreenExclusive)
27486{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027487 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027488}
27489
Jason Macnak8f28eec2019-08-09 12:57:01 -070027490safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT() :
27491 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027492{}
27493
27494safe_VkSurfaceFullScreenExclusiveInfoEXT::safe_VkSurfaceFullScreenExclusiveInfoEXT(const safe_VkSurfaceFullScreenExclusiveInfoEXT& src)
27495{
27496 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027497 fullScreenExclusive = src.fullScreenExclusive;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027498 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027499}
27500
27501safe_VkSurfaceFullScreenExclusiveInfoEXT& safe_VkSurfaceFullScreenExclusiveInfoEXT::operator=(const safe_VkSurfaceFullScreenExclusiveInfoEXT& src)
27502{
27503 if (&src == this) return *this;
27504
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027505 if (pNext)
27506 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027507
27508 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027509 fullScreenExclusive = src.fullScreenExclusive;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027510 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027511
27512 return *this;
27513}
27514
27515safe_VkSurfaceFullScreenExclusiveInfoEXT::~safe_VkSurfaceFullScreenExclusiveInfoEXT()
27516{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027517 if (pNext)
27518 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027519}
27520
27521void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const VkSurfaceFullScreenExclusiveInfoEXT* in_struct)
27522{
27523 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027524 fullScreenExclusive = in_struct->fullScreenExclusive;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027525 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027526}
27527
27528void safe_VkSurfaceFullScreenExclusiveInfoEXT::initialize(const safe_VkSurfaceFullScreenExclusiveInfoEXT* src)
27529{
27530 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027531 fullScreenExclusive = src->fullScreenExclusive;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027532 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027533}
27534#endif // VK_USE_PLATFORM_WIN32_KHR
27535
27536#ifdef VK_USE_PLATFORM_WIN32_KHR
27537
27538
27539safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const VkSurfaceCapabilitiesFullScreenExclusiveEXT* in_struct) :
27540 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027541 fullScreenExclusiveSupported(in_struct->fullScreenExclusiveSupported)
27542{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027543 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027544}
27545
Jason Macnak8f28eec2019-08-09 12:57:01 -070027546safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT() :
27547 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027548{}
27549
27550safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& src)
27551{
27552 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027553 fullScreenExclusiveSupported = src.fullScreenExclusiveSupported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027554 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027555}
27556
27557safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::operator=(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT& src)
27558{
27559 if (&src == this) return *this;
27560
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027561 if (pNext)
27562 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027563
27564 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027565 fullScreenExclusiveSupported = src.fullScreenExclusiveSupported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027566 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027567
27568 return *this;
27569}
27570
27571safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::~safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT()
27572{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027573 if (pNext)
27574 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027575}
27576
27577void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const VkSurfaceCapabilitiesFullScreenExclusiveEXT* in_struct)
27578{
27579 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027580 fullScreenExclusiveSupported = in_struct->fullScreenExclusiveSupported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027581 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027582}
27583
27584void safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT::initialize(const safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT* src)
27585{
27586 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027587 fullScreenExclusiveSupported = src->fullScreenExclusiveSupported;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027588 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027589}
27590#endif // VK_USE_PLATFORM_WIN32_KHR
27591
27592#ifdef VK_USE_PLATFORM_WIN32_KHR
27593
27594
27595safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const VkSurfaceFullScreenExclusiveWin32InfoEXT* in_struct) :
27596 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027597 hmonitor(in_struct->hmonitor)
27598{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027599 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027600}
27601
Jason Macnak8f28eec2019-08-09 12:57:01 -070027602safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT() :
27603 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027604{}
27605
27606safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& src)
27607{
27608 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027609 hmonitor = src.hmonitor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027610 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027611}
27612
27613safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::operator=(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT& src)
27614{
27615 if (&src == this) return *this;
27616
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027617 if (pNext)
27618 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027619
27620 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027621 hmonitor = src.hmonitor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027622 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027623
27624 return *this;
27625}
27626
27627safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::~safe_VkSurfaceFullScreenExclusiveWin32InfoEXT()
27628{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027629 if (pNext)
27630 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027631}
27632
27633void safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::initialize(const VkSurfaceFullScreenExclusiveWin32InfoEXT* in_struct)
27634{
27635 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027636 hmonitor = in_struct->hmonitor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027637 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027638}
27639
27640void safe_VkSurfaceFullScreenExclusiveWin32InfoEXT::initialize(const safe_VkSurfaceFullScreenExclusiveWin32InfoEXT* src)
27641{
27642 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027643 hmonitor = src->hmonitor;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027644 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027645}
27646#endif // VK_USE_PLATFORM_WIN32_KHR
27647
27648
27649safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT(const VkHeadlessSurfaceCreateInfoEXT* in_struct) :
27650 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027651 flags(in_struct->flags)
27652{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027653 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027654}
27655
Jason Macnak8f28eec2019-08-09 12:57:01 -070027656safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT() :
27657 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027658{}
27659
27660safe_VkHeadlessSurfaceCreateInfoEXT::safe_VkHeadlessSurfaceCreateInfoEXT(const safe_VkHeadlessSurfaceCreateInfoEXT& src)
27661{
27662 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027663 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027664 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027665}
27666
27667safe_VkHeadlessSurfaceCreateInfoEXT& safe_VkHeadlessSurfaceCreateInfoEXT::operator=(const safe_VkHeadlessSurfaceCreateInfoEXT& src)
27668{
27669 if (&src == this) return *this;
27670
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027671 if (pNext)
27672 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027673
27674 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027675 flags = src.flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027676 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027677
27678 return *this;
27679}
27680
27681safe_VkHeadlessSurfaceCreateInfoEXT::~safe_VkHeadlessSurfaceCreateInfoEXT()
27682{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027683 if (pNext)
27684 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027685}
27686
27687void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const VkHeadlessSurfaceCreateInfoEXT* in_struct)
27688{
27689 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027690 flags = in_struct->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027691 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027692}
27693
27694void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const safe_VkHeadlessSurfaceCreateInfoEXT* src)
27695{
27696 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027697 flags = src->flags;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027698 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027699}
27700
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060027701safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct) :
27702 sType(in_struct->sType),
27703 rectangularLines(in_struct->rectangularLines),
27704 bresenhamLines(in_struct->bresenhamLines),
27705 smoothLines(in_struct->smoothLines),
27706 stippledRectangularLines(in_struct->stippledRectangularLines),
27707 stippledBresenhamLines(in_struct->stippledBresenhamLines),
27708 stippledSmoothLines(in_struct->stippledSmoothLines)
27709{
27710 pNext = SafePnextCopy(in_struct->pNext);
27711}
27712
27713safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT() :
27714 pNext(nullptr)
27715{}
27716
27717safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& src)
27718{
27719 sType = src.sType;
27720 rectangularLines = src.rectangularLines;
27721 bresenhamLines = src.bresenhamLines;
27722 smoothLines = src.smoothLines;
27723 stippledRectangularLines = src.stippledRectangularLines;
27724 stippledBresenhamLines = src.stippledBresenhamLines;
27725 stippledSmoothLines = src.stippledSmoothLines;
27726 pNext = SafePnextCopy(src.pNext);
27727}
27728
27729safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::operator=(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& src)
27730{
27731 if (&src == this) return *this;
27732
27733 if (pNext)
27734 FreePnextChain(pNext);
27735
27736 sType = src.sType;
27737 rectangularLines = src.rectangularLines;
27738 bresenhamLines = src.bresenhamLines;
27739 smoothLines = src.smoothLines;
27740 stippledRectangularLines = src.stippledRectangularLines;
27741 stippledBresenhamLines = src.stippledBresenhamLines;
27742 stippledSmoothLines = src.stippledSmoothLines;
27743 pNext = SafePnextCopy(src.pNext);
27744
27745 return *this;
27746}
27747
27748safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::~safe_VkPhysicalDeviceLineRasterizationFeaturesEXT()
27749{
27750 if (pNext)
27751 FreePnextChain(pNext);
27752}
27753
27754void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct)
27755{
27756 sType = in_struct->sType;
27757 rectangularLines = in_struct->rectangularLines;
27758 bresenhamLines = in_struct->bresenhamLines;
27759 smoothLines = in_struct->smoothLines;
27760 stippledRectangularLines = in_struct->stippledRectangularLines;
27761 stippledBresenhamLines = in_struct->stippledBresenhamLines;
27762 stippledSmoothLines = in_struct->stippledSmoothLines;
27763 pNext = SafePnextCopy(in_struct->pNext);
27764}
27765
27766void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT* src)
27767{
27768 sType = src->sType;
27769 rectangularLines = src->rectangularLines;
27770 bresenhamLines = src->bresenhamLines;
27771 smoothLines = src->smoothLines;
27772 stippledRectangularLines = src->stippledRectangularLines;
27773 stippledBresenhamLines = src->stippledBresenhamLines;
27774 stippledSmoothLines = src->stippledSmoothLines;
27775 pNext = SafePnextCopy(src->pNext);
27776}
27777
27778safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct) :
27779 sType(in_struct->sType),
27780 lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits)
27781{
27782 pNext = SafePnextCopy(in_struct->pNext);
27783}
27784
27785safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT() :
27786 pNext(nullptr)
27787{}
27788
27789safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& src)
27790{
27791 sType = src.sType;
27792 lineSubPixelPrecisionBits = src.lineSubPixelPrecisionBits;
27793 pNext = SafePnextCopy(src.pNext);
27794}
27795
27796safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::operator=(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& src)
27797{
27798 if (&src == this) return *this;
27799
27800 if (pNext)
27801 FreePnextChain(pNext);
27802
27803 sType = src.sType;
27804 lineSubPixelPrecisionBits = src.lineSubPixelPrecisionBits;
27805 pNext = SafePnextCopy(src.pNext);
27806
27807 return *this;
27808}
27809
27810safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::~safe_VkPhysicalDeviceLineRasterizationPropertiesEXT()
27811{
27812 if (pNext)
27813 FreePnextChain(pNext);
27814}
27815
27816void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct)
27817{
27818 sType = in_struct->sType;
27819 lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits;
27820 pNext = SafePnextCopy(in_struct->pNext);
27821}
27822
27823void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT* src)
27824{
27825 sType = src->sType;
27826 lineSubPixelPrecisionBits = src->lineSubPixelPrecisionBits;
27827 pNext = SafePnextCopy(src->pNext);
27828}
27829
27830safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct) :
27831 sType(in_struct->sType),
27832 lineRasterizationMode(in_struct->lineRasterizationMode),
27833 stippledLineEnable(in_struct->stippledLineEnable),
27834 lineStippleFactor(in_struct->lineStippleFactor),
27835 lineStipplePattern(in_struct->lineStipplePattern)
27836{
27837 pNext = SafePnextCopy(in_struct->pNext);
27838}
27839
27840safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT() :
27841 pNext(nullptr)
27842{}
27843
27844safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& src)
27845{
27846 sType = src.sType;
27847 lineRasterizationMode = src.lineRasterizationMode;
27848 stippledLineEnable = src.stippledLineEnable;
27849 lineStippleFactor = src.lineStippleFactor;
27850 lineStipplePattern = src.lineStipplePattern;
27851 pNext = SafePnextCopy(src.pNext);
27852}
27853
27854safe_VkPipelineRasterizationLineStateCreateInfoEXT& safe_VkPipelineRasterizationLineStateCreateInfoEXT::operator=(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& src)
27855{
27856 if (&src == this) return *this;
27857
27858 if (pNext)
27859 FreePnextChain(pNext);
27860
27861 sType = src.sType;
27862 lineRasterizationMode = src.lineRasterizationMode;
27863 stippledLineEnable = src.stippledLineEnable;
27864 lineStippleFactor = src.lineStippleFactor;
27865 lineStipplePattern = src.lineStipplePattern;
27866 pNext = SafePnextCopy(src.pNext);
27867
27868 return *this;
27869}
27870
27871safe_VkPipelineRasterizationLineStateCreateInfoEXT::~safe_VkPipelineRasterizationLineStateCreateInfoEXT()
27872{
27873 if (pNext)
27874 FreePnextChain(pNext);
27875}
27876
27877void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct)
27878{
27879 sType = in_struct->sType;
27880 lineRasterizationMode = in_struct->lineRasterizationMode;
27881 stippledLineEnable = in_struct->stippledLineEnable;
27882 lineStippleFactor = in_struct->lineStippleFactor;
27883 lineStipplePattern = in_struct->lineStipplePattern;
27884 pNext = SafePnextCopy(in_struct->pNext);
27885}
27886
27887void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const safe_VkPipelineRasterizationLineStateCreateInfoEXT* src)
27888{
27889 sType = src->sType;
27890 lineRasterizationMode = src->lineRasterizationMode;
27891 stippledLineEnable = src->stippledLineEnable;
27892 lineStippleFactor = src->lineStippleFactor;
27893 lineStipplePattern = src->lineStipplePattern;
27894 pNext = SafePnextCopy(src->pNext);
27895}
27896
Mike Schuchardt440d4642019-06-20 17:14:57 -070027897safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const VkPhysicalDeviceHostQueryResetFeaturesEXT* in_struct) :
27898 sType(in_struct->sType),
Mike Schuchardt440d4642019-06-20 17:14:57 -070027899 hostQueryReset(in_struct->hostQueryReset)
27900{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027901 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027902}
27903
Jason Macnak8f28eec2019-08-09 12:57:01 -070027904safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT() :
27905 pNext(nullptr)
Mike Schuchardt440d4642019-06-20 17:14:57 -070027906{}
27907
27908safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::safe_VkPhysicalDeviceHostQueryResetFeaturesEXT(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& src)
27909{
27910 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027911 hostQueryReset = src.hostQueryReset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027912 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027913}
27914
27915safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::operator=(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT& src)
27916{
27917 if (&src == this) return *this;
27918
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027919 if (pNext)
27920 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027921
27922 sType = src.sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027923 hostQueryReset = src.hostQueryReset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027924 pNext = SafePnextCopy(src.pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027925
27926 return *this;
27927}
27928
27929safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::~safe_VkPhysicalDeviceHostQueryResetFeaturesEXT()
27930{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027931 if (pNext)
27932 FreePnextChain(pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027933}
27934
27935void safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::initialize(const VkPhysicalDeviceHostQueryResetFeaturesEXT* in_struct)
27936{
27937 sType = in_struct->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027938 hostQueryReset = in_struct->hostQueryReset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027939 pNext = SafePnextCopy(in_struct->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027940}
27941
27942void safe_VkPhysicalDeviceHostQueryResetFeaturesEXT::initialize(const safe_VkPhysicalDeviceHostQueryResetFeaturesEXT* src)
27943{
27944 sType = src->sType;
Mike Schuchardt440d4642019-06-20 17:14:57 -070027945 hostQueryReset = src->hostQueryReset;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060027946 pNext = SafePnextCopy(src->pNext);
Mike Schuchardt440d4642019-06-20 17:14:57 -070027947}
Shannon McPherson0e65e192019-07-17 16:52:21 -060027948
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060027949safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct) :
27950 sType(in_struct->sType),
27951 indexTypeUint8(in_struct->indexTypeUint8)
27952{
27953 pNext = SafePnextCopy(in_struct->pNext);
27954}
27955
27956safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT() :
27957 pNext(nullptr)
27958{}
27959
27960safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& src)
27961{
27962 sType = src.sType;
27963 indexTypeUint8 = src.indexTypeUint8;
27964 pNext = SafePnextCopy(src.pNext);
27965}
27966
27967safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::operator=(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& src)
27968{
27969 if (&src == this) return *this;
27970
27971 if (pNext)
27972 FreePnextChain(pNext);
27973
27974 sType = src.sType;
27975 indexTypeUint8 = src.indexTypeUint8;
27976 pNext = SafePnextCopy(src.pNext);
27977
27978 return *this;
27979}
27980
27981safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::~safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT()
27982{
27983 if (pNext)
27984 FreePnextChain(pNext);
27985}
27986
27987void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct)
27988{
27989 sType = in_struct->sType;
27990 indexTypeUint8 = in_struct->indexTypeUint8;
27991 pNext = SafePnextCopy(in_struct->pNext);
27992}
27993
27994void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT* src)
27995{
27996 sType = src->sType;
27997 indexTypeUint8 = src->indexTypeUint8;
27998 pNext = SafePnextCopy(src->pNext);
27999}
28000
Shannon McPherson0e65e192019-07-17 16:52:21 -060028001safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* in_struct) :
28002 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060028003 shaderDemoteToHelperInvocation(in_struct->shaderDemoteToHelperInvocation)
28004{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028005 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028006}
28007
Jason Macnak8f28eec2019-08-09 12:57:01 -070028008safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT() :
28009 pNext(nullptr)
Shannon McPherson0e65e192019-07-17 16:52:21 -060028010{}
28011
28012safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& src)
28013{
28014 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028015 shaderDemoteToHelperInvocation = src.shaderDemoteToHelperInvocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028016 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028017}
28018
28019safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::operator=(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& src)
28020{
28021 if (&src == this) return *this;
28022
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028023 if (pNext)
28024 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028025
28026 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028027 shaderDemoteToHelperInvocation = src.shaderDemoteToHelperInvocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028028 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028029
28030 return *this;
28031}
28032
28033safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT()
28034{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028035 if (pNext)
28036 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028037}
28038
28039void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::initialize(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* in_struct)
28040{
28041 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028042 shaderDemoteToHelperInvocation = in_struct->shaderDemoteToHelperInvocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028043 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028044}
28045
28046void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT::initialize(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* src)
28047{
28048 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028049 shaderDemoteToHelperInvocation = src->shaderDemoteToHelperInvocation;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028050 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028051}
28052
28053safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct) :
28054 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060028055 texelBufferAlignment(in_struct->texelBufferAlignment)
28056{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028057 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028058}
28059
Jason Macnak8f28eec2019-08-09 12:57:01 -070028060safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT() :
28061 pNext(nullptr)
Shannon McPherson0e65e192019-07-17 16:52:21 -060028062{}
28063
28064safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& src)
28065{
28066 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028067 texelBufferAlignment = src.texelBufferAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028068 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028069}
28070
28071safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::operator=(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& src)
28072{
28073 if (&src == this) return *this;
28074
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028075 if (pNext)
28076 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028077
28078 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028079 texelBufferAlignment = src.texelBufferAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028080 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028081
28082 return *this;
28083}
28084
28085safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::~safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT()
28086{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028087 if (pNext)
28088 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028089}
28090
28091void safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::initialize(const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct)
28092{
28093 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028094 texelBufferAlignment = in_struct->texelBufferAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028095 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028096}
28097
28098void safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* src)
28099{
28100 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028101 texelBufferAlignment = src->texelBufferAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028102 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028103}
28104
28105safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* in_struct) :
28106 sType(in_struct->sType),
Shannon McPherson0e65e192019-07-17 16:52:21 -060028107 storageTexelBufferOffsetAlignmentBytes(in_struct->storageTexelBufferOffsetAlignmentBytes),
28108 storageTexelBufferOffsetSingleTexelAlignment(in_struct->storageTexelBufferOffsetSingleTexelAlignment),
28109 uniformTexelBufferOffsetAlignmentBytes(in_struct->uniformTexelBufferOffsetAlignmentBytes),
28110 uniformTexelBufferOffsetSingleTexelAlignment(in_struct->uniformTexelBufferOffsetSingleTexelAlignment)
28111{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028112 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028113}
28114
Jason Macnak8f28eec2019-08-09 12:57:01 -070028115safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT() :
28116 pNext(nullptr)
Shannon McPherson0e65e192019-07-17 16:52:21 -060028117{}
28118
28119safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& src)
28120{
28121 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028122 storageTexelBufferOffsetAlignmentBytes = src.storageTexelBufferOffsetAlignmentBytes;
28123 storageTexelBufferOffsetSingleTexelAlignment = src.storageTexelBufferOffsetSingleTexelAlignment;
28124 uniformTexelBufferOffsetAlignmentBytes = src.uniformTexelBufferOffsetAlignmentBytes;
28125 uniformTexelBufferOffsetSingleTexelAlignment = src.uniformTexelBufferOffsetSingleTexelAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028126 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028127}
28128
28129safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::operator=(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& src)
28130{
28131 if (&src == this) return *this;
28132
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028133 if (pNext)
28134 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028135
28136 sType = src.sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028137 storageTexelBufferOffsetAlignmentBytes = src.storageTexelBufferOffsetAlignmentBytes;
28138 storageTexelBufferOffsetSingleTexelAlignment = src.storageTexelBufferOffsetSingleTexelAlignment;
28139 uniformTexelBufferOffsetAlignmentBytes = src.uniformTexelBufferOffsetAlignmentBytes;
28140 uniformTexelBufferOffsetSingleTexelAlignment = src.uniformTexelBufferOffsetSingleTexelAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028141 pNext = SafePnextCopy(src.pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028142
28143 return *this;
28144}
28145
28146safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::~safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT()
28147{
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028148 if (pNext)
28149 FreePnextChain(pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028150}
28151
28152void safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::initialize(const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* in_struct)
28153{
28154 sType = in_struct->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028155 storageTexelBufferOffsetAlignmentBytes = in_struct->storageTexelBufferOffsetAlignmentBytes;
28156 storageTexelBufferOffsetSingleTexelAlignment = in_struct->storageTexelBufferOffsetSingleTexelAlignment;
28157 uniformTexelBufferOffsetAlignmentBytes = in_struct->uniformTexelBufferOffsetAlignmentBytes;
28158 uniformTexelBufferOffsetSingleTexelAlignment = in_struct->uniformTexelBufferOffsetSingleTexelAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028159 pNext = SafePnextCopy(in_struct->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028160}
28161
28162void safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT::initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* src)
28163{
28164 sType = src->sType;
Shannon McPherson0e65e192019-07-17 16:52:21 -060028165 storageTexelBufferOffsetAlignmentBytes = src->storageTexelBufferOffsetAlignmentBytes;
28166 storageTexelBufferOffsetSingleTexelAlignment = src->storageTexelBufferOffsetSingleTexelAlignment;
28167 uniformTexelBufferOffsetAlignmentBytes = src->uniformTexelBufferOffsetAlignmentBytes;
28168 uniformTexelBufferOffsetSingleTexelAlignment = src->uniformTexelBufferOffsetSingleTexelAlignment;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028169 pNext = SafePnextCopy(src->pNext);
Shannon McPherson0e65e192019-07-17 16:52:21 -060028170}
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028171
Mark Lobodzinski256ba552019-08-13 14:59:17 -060028172const char *SafeStringCopy(const char *in_string) {
28173 if (nullptr == in_string) return nullptr;
28174 char* dest = new char[std::strlen(in_string) + 1];
28175 return std::strcpy(dest, in_string);
28176}
28177
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028178void *SafePnextCopy(const void *pNext) {
28179 void *cur_pnext = const_cast<void *>(pNext);
28180 void *cur_ext_struct = NULL;
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028181 bool unrecognized_stype = true;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028182
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028183 while (unrecognized_stype) {
28184 unrecognized_stype = false;
28185 if (cur_pnext == nullptr) {
28186 return nullptr;
28187 } else {
28188 VkBaseOutStructure *header = reinterpret_cast<VkBaseOutStructure *>(cur_pnext);
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028189
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028190 switch (header->sType) {
Mark Lobodzinskidb8affe2019-08-08 13:25:07 -060028191
28192 // Special-case Loader Instance Struct passed to/from layer in pNext chain
28193 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: {
28194 VkLayerInstanceCreateInfo *safe_struct = new VkLayerInstanceCreateInfo;
28195 memcpy((void *)safe_struct, (void *)cur_pnext, sizeof(VkLayerInstanceCreateInfo));
28196 safe_struct->pNext = SafePnextCopy(safe_struct->pNext);
28197 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28198 } break;
28199
28200 // Special-case Loader Device Struct passed to/from layer in pNext chain
28201 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: {
28202 VkLayerDeviceCreateInfo *safe_struct = new VkLayerDeviceCreateInfo;
28203 memcpy((void *)safe_struct, (void *)cur_pnext, sizeof(VkLayerDeviceCreateInfo));
28204 safe_struct->pNext = SafePnextCopy(safe_struct->pNext);
28205 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28206 } break;
28207
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028208 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
28209 safe_VkPhysicalDeviceSubgroupProperties *safe_struct = new safe_VkPhysicalDeviceSubgroupProperties;
28210 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>(cur_pnext));
28211 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28212 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028213
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028214 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
28215 safe_VkPhysicalDevice16BitStorageFeatures *safe_struct = new safe_VkPhysicalDevice16BitStorageFeatures;
28216 safe_struct->initialize(reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>(cur_pnext));
28217 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28218 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028219
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028220 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
28221 safe_VkMemoryDedicatedRequirements *safe_struct = new safe_VkMemoryDedicatedRequirements;
28222 safe_struct->initialize(reinterpret_cast<const VkMemoryDedicatedRequirements *>(cur_pnext));
28223 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28224 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028225
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028226 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
28227 safe_VkMemoryDedicatedAllocateInfo *safe_struct = new safe_VkMemoryDedicatedAllocateInfo;
28228 safe_struct->initialize(reinterpret_cast<const VkMemoryDedicatedAllocateInfo *>(cur_pnext));
28229 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28230 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028231
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028232 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
28233 safe_VkMemoryAllocateFlagsInfo *safe_struct = new safe_VkMemoryAllocateFlagsInfo;
28234 safe_struct->initialize(reinterpret_cast<const VkMemoryAllocateFlagsInfo *>(cur_pnext));
28235 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28236 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028237
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028238 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
28239 safe_VkDeviceGroupRenderPassBeginInfo *safe_struct = new safe_VkDeviceGroupRenderPassBeginInfo;
28240 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>(cur_pnext));
28241 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28242 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028243
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028244 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
28245 safe_VkDeviceGroupCommandBufferBeginInfo *safe_struct = new safe_VkDeviceGroupCommandBufferBeginInfo;
28246 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>(cur_pnext));
28247 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28248 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028249
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028250 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
28251 safe_VkDeviceGroupSubmitInfo *safe_struct = new safe_VkDeviceGroupSubmitInfo;
28252 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupSubmitInfo *>(cur_pnext));
28253 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28254 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028255
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028256 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
28257 safe_VkDeviceGroupBindSparseInfo *safe_struct = new safe_VkDeviceGroupBindSparseInfo;
28258 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupBindSparseInfo *>(cur_pnext));
28259 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28260 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028261
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028262 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
28263 safe_VkBindBufferMemoryDeviceGroupInfo *safe_struct = new safe_VkBindBufferMemoryDeviceGroupInfo;
28264 safe_struct->initialize(reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>(cur_pnext));
28265 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28266 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028267
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028268 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
28269 safe_VkBindImageMemoryDeviceGroupInfo *safe_struct = new safe_VkBindImageMemoryDeviceGroupInfo;
28270 safe_struct->initialize(reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>(cur_pnext));
28271 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28272 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028273
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028274 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
28275 safe_VkDeviceGroupDeviceCreateInfo *safe_struct = new safe_VkDeviceGroupDeviceCreateInfo;
28276 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>(cur_pnext));
28277 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28278 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028279
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028280 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
28281 safe_VkPhysicalDeviceFeatures2 *safe_struct = new safe_VkPhysicalDeviceFeatures2;
28282 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceFeatures2 *>(cur_pnext));
28283 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28284 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028285
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028286 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
28287 safe_VkPhysicalDevicePointClippingProperties *safe_struct = new safe_VkPhysicalDevicePointClippingProperties;
28288 safe_struct->initialize(reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>(cur_pnext));
28289 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28290 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028291
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028292 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
28293 safe_VkRenderPassInputAttachmentAspectCreateInfo *safe_struct = new safe_VkRenderPassInputAttachmentAspectCreateInfo;
28294 safe_struct->initialize(reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>(cur_pnext));
28295 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28296 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028297
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028298 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
28299 safe_VkImageViewUsageCreateInfo *safe_struct = new safe_VkImageViewUsageCreateInfo;
28300 safe_struct->initialize(reinterpret_cast<const VkImageViewUsageCreateInfo *>(cur_pnext));
28301 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28302 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028303
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028304 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
28305 safe_VkPipelineTessellationDomainOriginStateCreateInfo *safe_struct = new safe_VkPipelineTessellationDomainOriginStateCreateInfo;
28306 safe_struct->initialize(reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>(cur_pnext));
28307 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28308 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028309
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028310 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
28311 safe_VkRenderPassMultiviewCreateInfo *safe_struct = new safe_VkRenderPassMultiviewCreateInfo;
28312 safe_struct->initialize(reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>(cur_pnext));
28313 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28314 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028315
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028316 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
28317 safe_VkPhysicalDeviceMultiviewFeatures *safe_struct = new safe_VkPhysicalDeviceMultiviewFeatures;
28318 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>(cur_pnext));
28319 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28320 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028321
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028322 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
28323 safe_VkPhysicalDeviceMultiviewProperties *safe_struct = new safe_VkPhysicalDeviceMultiviewProperties;
28324 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>(cur_pnext));
28325 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28326 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028327
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028328 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
28329 safe_VkPhysicalDeviceVariablePointersFeatures *safe_struct = new safe_VkPhysicalDeviceVariablePointersFeatures;
28330 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>(cur_pnext));
28331 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28332 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028333
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028334 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
28335 safe_VkPhysicalDeviceProtectedMemoryFeatures *safe_struct = new safe_VkPhysicalDeviceProtectedMemoryFeatures;
28336 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>(cur_pnext));
28337 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28338 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028339
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028340 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
28341 safe_VkPhysicalDeviceProtectedMemoryProperties *safe_struct = new safe_VkPhysicalDeviceProtectedMemoryProperties;
28342 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties *>(cur_pnext));
28343 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28344 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028345
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028346 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
28347 safe_VkProtectedSubmitInfo *safe_struct = new safe_VkProtectedSubmitInfo;
28348 safe_struct->initialize(reinterpret_cast<const VkProtectedSubmitInfo *>(cur_pnext));
28349 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28350 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028351
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028352 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
28353 safe_VkSamplerYcbcrConversionInfo *safe_struct = new safe_VkSamplerYcbcrConversionInfo;
28354 safe_struct->initialize(reinterpret_cast<const VkSamplerYcbcrConversionInfo *>(cur_pnext));
28355 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28356 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028357
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028358 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
28359 safe_VkBindImagePlaneMemoryInfo *safe_struct = new safe_VkBindImagePlaneMemoryInfo;
28360 safe_struct->initialize(reinterpret_cast<const VkBindImagePlaneMemoryInfo *>(cur_pnext));
28361 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28362 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028363
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028364 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
28365 safe_VkImagePlaneMemoryRequirementsInfo *safe_struct = new safe_VkImagePlaneMemoryRequirementsInfo;
28366 safe_struct->initialize(reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>(cur_pnext));
28367 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28368 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028369
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028370 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
28371 safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures *safe_struct = new safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures;
28372 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(cur_pnext));
28373 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28374 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028375
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028376 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
28377 safe_VkSamplerYcbcrConversionImageFormatProperties *safe_struct = new safe_VkSamplerYcbcrConversionImageFormatProperties;
28378 safe_struct->initialize(reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>(cur_pnext));
28379 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28380 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028381
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028382 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
28383 safe_VkPhysicalDeviceExternalImageFormatInfo *safe_struct = new safe_VkPhysicalDeviceExternalImageFormatInfo;
28384 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>(cur_pnext));
28385 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28386 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028387
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028388 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
28389 safe_VkExternalImageFormatProperties *safe_struct = new safe_VkExternalImageFormatProperties;
28390 safe_struct->initialize(reinterpret_cast<const VkExternalImageFormatProperties *>(cur_pnext));
28391 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28392 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028393
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028394 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
28395 safe_VkPhysicalDeviceIDProperties *safe_struct = new safe_VkPhysicalDeviceIDProperties;
28396 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceIDProperties *>(cur_pnext));
28397 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28398 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028399
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028400 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
28401 safe_VkExternalMemoryImageCreateInfo *safe_struct = new safe_VkExternalMemoryImageCreateInfo;
28402 safe_struct->initialize(reinterpret_cast<const VkExternalMemoryImageCreateInfo *>(cur_pnext));
28403 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28404 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028405
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028406 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
28407 safe_VkExternalMemoryBufferCreateInfo *safe_struct = new safe_VkExternalMemoryBufferCreateInfo;
28408 safe_struct->initialize(reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>(cur_pnext));
28409 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28410 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028411
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028412 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
28413 safe_VkExportMemoryAllocateInfo *safe_struct = new safe_VkExportMemoryAllocateInfo;
28414 safe_struct->initialize(reinterpret_cast<const VkExportMemoryAllocateInfo *>(cur_pnext));
28415 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28416 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028417
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028418 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
28419 safe_VkExportFenceCreateInfo *safe_struct = new safe_VkExportFenceCreateInfo;
28420 safe_struct->initialize(reinterpret_cast<const VkExportFenceCreateInfo *>(cur_pnext));
28421 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28422 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028423
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028424 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
28425 safe_VkExportSemaphoreCreateInfo *safe_struct = new safe_VkExportSemaphoreCreateInfo;
28426 safe_struct->initialize(reinterpret_cast<const VkExportSemaphoreCreateInfo *>(cur_pnext));
28427 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28428 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028429
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028430 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
28431 safe_VkPhysicalDeviceMaintenance3Properties *safe_struct = new safe_VkPhysicalDeviceMaintenance3Properties;
28432 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>(cur_pnext));
28433 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28434 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028435
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028436 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
28437 safe_VkPhysicalDeviceShaderDrawParametersFeatures *safe_struct = new safe_VkPhysicalDeviceShaderDrawParametersFeatures;
28438 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures *>(cur_pnext));
28439 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28440 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028441
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028442 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
28443 safe_VkImageSwapchainCreateInfoKHR *safe_struct = new safe_VkImageSwapchainCreateInfoKHR;
28444 safe_struct->initialize(reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>(cur_pnext));
28445 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28446 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028447
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028448 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
28449 safe_VkBindImageMemorySwapchainInfoKHR *safe_struct = new safe_VkBindImageMemorySwapchainInfoKHR;
28450 safe_struct->initialize(reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>(cur_pnext));
28451 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28452 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028453
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028454 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
28455 safe_VkDeviceGroupPresentInfoKHR *safe_struct = new safe_VkDeviceGroupPresentInfoKHR;
28456 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>(cur_pnext));
28457 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28458 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028459
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028460 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
28461 safe_VkDeviceGroupSwapchainCreateInfoKHR *safe_struct = new safe_VkDeviceGroupSwapchainCreateInfoKHR;
28462 safe_struct->initialize(reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>(cur_pnext));
28463 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28464 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028465
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028466 case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
28467 safe_VkDisplayPresentInfoKHR *safe_struct = new safe_VkDisplayPresentInfoKHR;
28468 safe_struct->initialize(reinterpret_cast<const VkDisplayPresentInfoKHR *>(cur_pnext));
28469 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28470 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028471
28472#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028473 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
28474 safe_VkImportMemoryWin32HandleInfoKHR *safe_struct = new safe_VkImportMemoryWin32HandleInfoKHR;
28475 safe_struct->initialize(reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR *>(cur_pnext));
28476 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28477 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028478#endif // VK_USE_PLATFORM_WIN32_KHR
28479
28480#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028481 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
28482 safe_VkExportMemoryWin32HandleInfoKHR *safe_struct = new safe_VkExportMemoryWin32HandleInfoKHR;
28483 safe_struct->initialize(reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>(cur_pnext));
28484 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28485 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028486#endif // VK_USE_PLATFORM_WIN32_KHR
28487
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028488 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
28489 safe_VkImportMemoryFdInfoKHR *safe_struct = new safe_VkImportMemoryFdInfoKHR;
28490 safe_struct->initialize(reinterpret_cast<const VkImportMemoryFdInfoKHR *>(cur_pnext));
28491 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28492 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028493
28494#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028495 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
28496 safe_VkWin32KeyedMutexAcquireReleaseInfoKHR *safe_struct = new safe_VkWin32KeyedMutexAcquireReleaseInfoKHR;
28497 safe_struct->initialize(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR *>(cur_pnext));
28498 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28499 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028500#endif // VK_USE_PLATFORM_WIN32_KHR
28501
28502#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028503 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: {
28504 safe_VkExportSemaphoreWin32HandleInfoKHR *safe_struct = new safe_VkExportSemaphoreWin32HandleInfoKHR;
28505 safe_struct->initialize(reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>(cur_pnext));
28506 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28507 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028508#endif // VK_USE_PLATFORM_WIN32_KHR
28509
28510#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028511 case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: {
28512 safe_VkD3D12FenceSubmitInfoKHR *safe_struct = new safe_VkD3D12FenceSubmitInfoKHR;
28513 safe_struct->initialize(reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>(cur_pnext));
28514 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28515 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028516#endif // VK_USE_PLATFORM_WIN32_KHR
28517
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028518 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
28519 safe_VkPhysicalDevicePushDescriptorPropertiesKHR *safe_struct = new safe_VkPhysicalDevicePushDescriptorPropertiesKHR;
28520 safe_struct->initialize(reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR *>(cur_pnext));
28521 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28522 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028523
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060028524 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR: {
28525 safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *safe_struct = new safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
28526 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *>(cur_pnext));
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028527 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28528 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028529
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028530 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
28531 safe_VkPresentRegionsKHR *safe_struct = new safe_VkPresentRegionsKHR;
28532 safe_struct->initialize(reinterpret_cast<const VkPresentRegionsKHR *>(cur_pnext));
28533 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28534 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028535
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028536 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR: {
28537 safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR *safe_struct = new safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
28538 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeaturesKHR *>(cur_pnext));
28539 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28540 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028541
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028542 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR: {
28543 safe_VkFramebufferAttachmentsCreateInfoKHR *safe_struct = new safe_VkFramebufferAttachmentsCreateInfoKHR;
28544 safe_struct->initialize(reinterpret_cast<const VkFramebufferAttachmentsCreateInfoKHR *>(cur_pnext));
28545 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28546 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028547
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028548 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR: {
28549 safe_VkRenderPassAttachmentBeginInfoKHR *safe_struct = new safe_VkRenderPassAttachmentBeginInfoKHR;
28550 safe_struct->initialize(reinterpret_cast<const VkRenderPassAttachmentBeginInfoKHR *>(cur_pnext));
28551 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28552 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028553
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028554 case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
28555 safe_VkSharedPresentSurfaceCapabilitiesKHR *safe_struct = new safe_VkSharedPresentSurfaceCapabilitiesKHR;
28556 safe_struct->initialize(reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR *>(cur_pnext));
28557 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28558 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028559
28560#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028561 case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
28562 safe_VkExportFenceWin32HandleInfoKHR *safe_struct = new safe_VkExportFenceWin32HandleInfoKHR;
28563 safe_struct->initialize(reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>(cur_pnext));
28564 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28565 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028566#endif // VK_USE_PLATFORM_WIN32_KHR
28567
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028568 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: {
28569 safe_VkImageFormatListCreateInfoKHR *safe_struct = new safe_VkImageFormatListCreateInfoKHR;
28570 safe_struct->initialize(reinterpret_cast<const VkImageFormatListCreateInfoKHR *>(cur_pnext));
28571 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28572 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028573
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028574 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: {
28575 safe_VkPhysicalDevice8BitStorageFeaturesKHR *safe_struct = new safe_VkPhysicalDevice8BitStorageFeaturesKHR;
28576 safe_struct->initialize(reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR *>(cur_pnext));
28577 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28578 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028579
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028580 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: {
28581 safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *safe_struct = new safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
28582 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *>(cur_pnext));
28583 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28584 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028585
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028586 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: {
28587 safe_VkPhysicalDeviceDriverPropertiesKHR *safe_struct = new safe_VkPhysicalDeviceDriverPropertiesKHR;
28588 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDriverPropertiesKHR *>(cur_pnext));
28589 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28590 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028591
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028592 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: {
28593 safe_VkPhysicalDeviceFloatControlsPropertiesKHR *safe_struct = new safe_VkPhysicalDeviceFloatControlsPropertiesKHR;
28594 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceFloatControlsPropertiesKHR *>(cur_pnext));
28595 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28596 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028597
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028598 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: {
28599 safe_VkSubpassDescriptionDepthStencilResolveKHR *safe_struct = new safe_VkSubpassDescriptionDepthStencilResolveKHR;
28600 safe_struct->initialize(reinterpret_cast<const VkSubpassDescriptionDepthStencilResolveKHR *>(cur_pnext));
28601 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28602 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028603
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028604 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: {
28605 safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR *safe_struct = new safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
28606 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDepthStencilResolvePropertiesKHR *>(cur_pnext));
28607 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28608 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028609
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: {
28611 safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *safe_struct = new safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
28612 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *>(cur_pnext));
28613 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28614 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028615
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028616 case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
28617 safe_VkSurfaceProtectedCapabilitiesKHR *safe_struct = new safe_VkSurfaceProtectedCapabilitiesKHR;
28618 safe_struct->initialize(reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR *>(cur_pnext));
28619 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28620 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028621
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: {
28623 safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *safe_struct = new safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
28624 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *>(cur_pnext));
28625 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28626 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028627
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028628 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
28629 safe_VkDebugReportCallbackCreateInfoEXT *safe_struct = new safe_VkDebugReportCallbackCreateInfoEXT;
28630 safe_struct->initialize(reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(cur_pnext));
28631 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28632 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028633
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028634 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
28635 safe_VkPipelineRasterizationStateRasterizationOrderAMD *safe_struct = new safe_VkPipelineRasterizationStateRasterizationOrderAMD;
28636 safe_struct->initialize(reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD *>(cur_pnext));
28637 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28638 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028639
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028640 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
28641 safe_VkDedicatedAllocationImageCreateInfoNV *safe_struct = new safe_VkDedicatedAllocationImageCreateInfoNV;
28642 safe_struct->initialize(reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>(cur_pnext));
28643 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28644 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028645
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028646 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
28647 safe_VkDedicatedAllocationBufferCreateInfoNV *safe_struct = new safe_VkDedicatedAllocationBufferCreateInfoNV;
28648 safe_struct->initialize(reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>(cur_pnext));
28649 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28650 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028651
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028652 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
28653 safe_VkDedicatedAllocationMemoryAllocateInfoNV *safe_struct = new safe_VkDedicatedAllocationMemoryAllocateInfoNV;
28654 safe_struct->initialize(reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>(cur_pnext));
28655 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28656 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028657
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028658 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
28659 safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT;
28660 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(cur_pnext));
28661 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28662 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028663
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028664 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
28665 safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT;
28666 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(cur_pnext));
28667 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28668 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028669
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028670 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
28671 safe_VkPipelineRasterizationStateStreamCreateInfoEXT *safe_struct = new safe_VkPipelineRasterizationStateStreamCreateInfoEXT;
28672 safe_struct->initialize(reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT *>(cur_pnext));
28673 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28674 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028675
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028676 case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
28677 safe_VkTextureLODGatherFormatPropertiesAMD *safe_struct = new safe_VkTextureLODGatherFormatPropertiesAMD;
28678 safe_struct->initialize(reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD *>(cur_pnext));
28679 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28680 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028681
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
28683 safe_VkPhysicalDeviceCornerSampledImageFeaturesNV *safe_struct = new safe_VkPhysicalDeviceCornerSampledImageFeaturesNV;
28684 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV *>(cur_pnext));
28685 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28686 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028687
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028688 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
28689 safe_VkExternalMemoryImageCreateInfoNV *safe_struct = new safe_VkExternalMemoryImageCreateInfoNV;
28690 safe_struct->initialize(reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>(cur_pnext));
28691 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28692 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028693
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028694 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
28695 safe_VkExportMemoryAllocateInfoNV *safe_struct = new safe_VkExportMemoryAllocateInfoNV;
28696 safe_struct->initialize(reinterpret_cast<const VkExportMemoryAllocateInfoNV *>(cur_pnext));
28697 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28698 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028699
28700#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028701 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
28702 safe_VkImportMemoryWin32HandleInfoNV *safe_struct = new safe_VkImportMemoryWin32HandleInfoNV;
28703 safe_struct->initialize(reinterpret_cast<const VkImportMemoryWin32HandleInfoNV *>(cur_pnext));
28704 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28705 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028706#endif // VK_USE_PLATFORM_WIN32_KHR
28707
28708#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028709 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
28710 safe_VkExportMemoryWin32HandleInfoNV *safe_struct = new safe_VkExportMemoryWin32HandleInfoNV;
28711 safe_struct->initialize(reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>(cur_pnext));
28712 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28713 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028714#endif // VK_USE_PLATFORM_WIN32_KHR
28715
28716#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028717 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
28718 safe_VkWin32KeyedMutexAcquireReleaseInfoNV *safe_struct = new safe_VkWin32KeyedMutexAcquireReleaseInfoNV;
28719 safe_struct->initialize(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV *>(cur_pnext));
28720 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28721 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028722#endif // VK_USE_PLATFORM_WIN32_KHR
28723
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028724 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
28725 safe_VkValidationFlagsEXT *safe_struct = new safe_VkValidationFlagsEXT;
28726 safe_struct->initialize(reinterpret_cast<const VkValidationFlagsEXT *>(cur_pnext));
28727 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28728 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028729
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060028730 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: {
28731 safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
28732 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(cur_pnext));
28733 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28734 } break;
28735
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028736 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
28737 safe_VkImageViewASTCDecodeModeEXT *safe_struct = new safe_VkImageViewASTCDecodeModeEXT;
28738 safe_struct->initialize(reinterpret_cast<const VkImageViewASTCDecodeModeEXT *>(cur_pnext));
28739 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28740 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028741
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028742 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
28743 safe_VkPhysicalDeviceASTCDecodeFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceASTCDecodeFeaturesEXT;
28744 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT *>(cur_pnext));
28745 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28746 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028747
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028748 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
28749 safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT;
28750 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(cur_pnext));
28751 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28752 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028753
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028754 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
28755 safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT *safe_struct = new safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT;
28756 safe_struct->initialize(reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(cur_pnext));
28757 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28758 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028759
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028760 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
28761 safe_VkPipelineViewportWScalingStateCreateInfoNV *safe_struct = new safe_VkPipelineViewportWScalingStateCreateInfoNV;
28762 safe_struct->initialize(reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV *>(cur_pnext));
28763 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28764 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028765
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028766 case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
28767 safe_VkSwapchainCounterCreateInfoEXT *safe_struct = new safe_VkSwapchainCounterCreateInfoEXT;
28768 safe_struct->initialize(reinterpret_cast<const VkSwapchainCounterCreateInfoEXT *>(cur_pnext));
28769 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28770 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028771
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028772 case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
28773 safe_VkPresentTimesInfoGOOGLE *safe_struct = new safe_VkPresentTimesInfoGOOGLE;
28774 safe_struct->initialize(reinterpret_cast<const VkPresentTimesInfoGOOGLE *>(cur_pnext));
28775 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28776 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028777
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028778 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
28779 safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *safe_struct = new safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
28780 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(cur_pnext));
28781 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28782 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028783
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028784 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
28785 safe_VkPipelineViewportSwizzleStateCreateInfoNV *safe_struct = new safe_VkPipelineViewportSwizzleStateCreateInfoNV;
28786 safe_struct->initialize(reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV *>(cur_pnext));
28787 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28788 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028789
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028790 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
28791 safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT *safe_struct = new safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT;
28792 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(cur_pnext));
28793 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28794 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028795
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028796 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
28797 safe_VkPipelineDiscardRectangleStateCreateInfoEXT *safe_struct = new safe_VkPipelineDiscardRectangleStateCreateInfoEXT;
28798 safe_struct->initialize(reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT *>(cur_pnext));
28799 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28800 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028801
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028802 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
28803 safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
28804 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(cur_pnext));
28805 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28806 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028807
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028808 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
28809 safe_VkPipelineRasterizationConservativeStateCreateInfoEXT *safe_struct = new safe_VkPipelineRasterizationConservativeStateCreateInfoEXT;
28810 safe_struct->initialize(reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT *>(cur_pnext));
28811 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28812 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028813
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028814 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
28815 safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT;
28816 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(cur_pnext));
28817 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28818 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028819
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028820 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
28821 safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT *safe_struct = new safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT;
28822 safe_struct->initialize(reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(cur_pnext));
28823 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28824 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028825
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028826 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
28827 safe_VkDebugUtilsMessengerCreateInfoEXT *safe_struct = new safe_VkDebugUtilsMessengerCreateInfoEXT;
28828 safe_struct->initialize(reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(cur_pnext));
28829 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28830 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028831
28832#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028833 case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: {
28834 safe_VkAndroidHardwareBufferUsageANDROID *safe_struct = new safe_VkAndroidHardwareBufferUsageANDROID;
28835 safe_struct->initialize(reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>(cur_pnext));
28836 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28837 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028838#endif // VK_USE_PLATFORM_ANDROID_KHR
28839
28840#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028841 case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: {
28842 safe_VkAndroidHardwareBufferFormatPropertiesANDROID *safe_struct = new safe_VkAndroidHardwareBufferFormatPropertiesANDROID;
28843 safe_struct->initialize(reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>(cur_pnext));
28844 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28845 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028846#endif // VK_USE_PLATFORM_ANDROID_KHR
28847
28848#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028849 case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
28850 safe_VkImportAndroidHardwareBufferInfoANDROID *safe_struct = new safe_VkImportAndroidHardwareBufferInfoANDROID;
28851 safe_struct->initialize(reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID *>(cur_pnext));
28852 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28853 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028854#endif // VK_USE_PLATFORM_ANDROID_KHR
28855
28856#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028857 case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: {
28858 safe_VkExternalFormatANDROID *safe_struct = new safe_VkExternalFormatANDROID;
28859 safe_struct->initialize(reinterpret_cast<const VkExternalFormatANDROID *>(cur_pnext));
28860 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28861 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028862#endif // VK_USE_PLATFORM_ANDROID_KHR
28863
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028864 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: {
28865 safe_VkSamplerReductionModeCreateInfoEXT *safe_struct = new safe_VkSamplerReductionModeCreateInfoEXT;
28866 safe_struct->initialize(reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT *>(cur_pnext));
28867 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28868 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028869
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028870 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: {
28871 safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
28872 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *>(cur_pnext));
28873 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28874 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028875
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028876 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: {
28877 safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
28878 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(cur_pnext));
28879 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28880 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028881
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028882 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: {
28883 safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
28884 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(cur_pnext));
28885 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28886 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028887
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028888 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: {
28889 safe_VkWriteDescriptorSetInlineUniformBlockEXT *safe_struct = new safe_VkWriteDescriptorSetInlineUniformBlockEXT;
28890 safe_struct->initialize(reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT *>(cur_pnext));
28891 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28892 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028893
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028894 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: {
28895 safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT *safe_struct = new safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
28896 safe_struct->initialize(reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(cur_pnext));
28897 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28898 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028899
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028900 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
28901 safe_VkSampleLocationsInfoEXT *safe_struct = new safe_VkSampleLocationsInfoEXT;
28902 safe_struct->initialize(reinterpret_cast<const VkSampleLocationsInfoEXT *>(cur_pnext));
28903 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28904 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028905
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028906 case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
28907 safe_VkRenderPassSampleLocationsBeginInfoEXT *safe_struct = new safe_VkRenderPassSampleLocationsBeginInfoEXT;
28908 safe_struct->initialize(reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT *>(cur_pnext));
28909 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28910 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028911
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028912 case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
28913 safe_VkPipelineSampleLocationsStateCreateInfoEXT *safe_struct = new safe_VkPipelineSampleLocationsStateCreateInfoEXT;
28914 safe_struct->initialize(reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT *>(cur_pnext));
28915 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28916 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028917
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028918 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
28919 safe_VkPhysicalDeviceSampleLocationsPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceSampleLocationsPropertiesEXT;
28920 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT *>(cur_pnext));
28921 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28922 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028923
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028924 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
28925 safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
28926 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(cur_pnext));
28927 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28928 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028929
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028930 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
28931 safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
28932 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(cur_pnext));
28933 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28934 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028935
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028936 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
28937 safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT *safe_struct = new safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT;
28938 safe_struct->initialize(reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(cur_pnext));
28939 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28940 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028941
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028942 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
28943 safe_VkPipelineCoverageToColorStateCreateInfoNV *safe_struct = new safe_VkPipelineCoverageToColorStateCreateInfoNV;
28944 safe_struct->initialize(reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV *>(cur_pnext));
28945 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28946 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028947
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028948 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
28949 safe_VkPipelineCoverageModulationStateCreateInfoNV *safe_struct = new safe_VkPipelineCoverageModulationStateCreateInfoNV;
28950 safe_struct->initialize(reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV *>(cur_pnext));
28951 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28952 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028953
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028954 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
28955 safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *safe_struct = new safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
28956 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(cur_pnext));
28957 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28958 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028959
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028960 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
28961 safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *safe_struct = new safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
28962 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(cur_pnext));
28963 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28964 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028965
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028966 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
28967 safe_VkDrmFormatModifierPropertiesListEXT *safe_struct = new safe_VkDrmFormatModifierPropertiesListEXT;
28968 safe_struct->initialize(reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>(cur_pnext));
28969 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28970 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028971
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028972 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
28973 safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT *safe_struct = new safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
28974 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(cur_pnext));
28975 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28976 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028977
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028978 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
28979 safe_VkImageDrmFormatModifierListCreateInfoEXT *safe_struct = new safe_VkImageDrmFormatModifierListCreateInfoEXT;
28980 safe_struct->initialize(reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT *>(cur_pnext));
28981 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28982 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028983
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028984 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
28985 safe_VkImageDrmFormatModifierExplicitCreateInfoEXT *safe_struct = new safe_VkImageDrmFormatModifierExplicitCreateInfoEXT;
28986 safe_struct->initialize(reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT *>(cur_pnext));
28987 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28988 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028989
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028990 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
28991 safe_VkShaderModuleValidationCacheCreateInfoEXT *safe_struct = new safe_VkShaderModuleValidationCacheCreateInfoEXT;
28992 safe_struct->initialize(reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT *>(cur_pnext));
28993 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
28994 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060028995
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060028996 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: {
28997 safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *safe_struct = new safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
28998 safe_struct->initialize(reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *>(cur_pnext));
28999 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29000 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029001
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029002 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: {
29003 safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
29004 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT *>(cur_pnext));
29005 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29006 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029007
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: {
29009 safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
29010 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT *>(cur_pnext));
29011 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29012 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029013
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029014 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: {
29015 safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *safe_struct = new safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
29016 safe_struct->initialize(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *>(cur_pnext));
29017 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29018 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029019
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029020 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: {
29021 safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *safe_struct = new safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
29022 safe_struct->initialize(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *>(cur_pnext));
29023 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29024 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029025
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029026 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
29027 safe_VkPipelineViewportShadingRateImageStateCreateInfoNV *safe_struct = new safe_VkPipelineViewportShadingRateImageStateCreateInfoNV;
29028 safe_struct->initialize(reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV *>(cur_pnext));
29029 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29030 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029031
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029032 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
29033 safe_VkPhysicalDeviceShadingRateImageFeaturesNV *safe_struct = new safe_VkPhysicalDeviceShadingRateImageFeaturesNV;
29034 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV *>(cur_pnext));
29035 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29036 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029037
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029038 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
29039 safe_VkPhysicalDeviceShadingRateImagePropertiesNV *safe_struct = new safe_VkPhysicalDeviceShadingRateImagePropertiesNV;
29040 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV *>(cur_pnext));
29041 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29042 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029043
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029044 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
29045 safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *safe_struct = new safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
29046 safe_struct->initialize(reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(cur_pnext));
29047 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29048 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029049
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029050 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
29051 safe_VkWriteDescriptorSetAccelerationStructureNV *safe_struct = new safe_VkWriteDescriptorSetAccelerationStructureNV;
29052 safe_struct->initialize(reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV *>(cur_pnext));
29053 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29054 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029055
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029056 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
29057 safe_VkPhysicalDeviceRayTracingPropertiesNV *safe_struct = new safe_VkPhysicalDeviceRayTracingPropertiesNV;
29058 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV *>(cur_pnext));
29059 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29060 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029061
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029062 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
29063 safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *safe_struct = new safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
29064 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(cur_pnext));
29065 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29066 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029067
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029068 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
29069 safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV *safe_struct = new safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
29070 safe_struct->initialize(reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(cur_pnext));
29071 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29072 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029073
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029074 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
29075 safe_VkPhysicalDeviceImageViewImageFormatInfoEXT *safe_struct = new safe_VkPhysicalDeviceImageViewImageFormatInfoEXT;
29076 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT *>(cur_pnext));
29077 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29078 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029079
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029080 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
29081 safe_VkFilterCubicImageViewImageFormatPropertiesEXT *safe_struct = new safe_VkFilterCubicImageViewImageFormatPropertiesEXT;
29082 safe_struct->initialize(reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>(cur_pnext));
29083 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29084 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029085
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029086 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: {
29087 safe_VkDeviceQueueGlobalPriorityCreateInfoEXT *safe_struct = new safe_VkDeviceQueueGlobalPriorityCreateInfoEXT;
29088 safe_struct->initialize(reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT *>(cur_pnext));
29089 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29090 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029091
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029092 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
29093 safe_VkImportMemoryHostPointerInfoEXT *safe_struct = new safe_VkImportMemoryHostPointerInfoEXT;
29094 safe_struct->initialize(reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>(cur_pnext));
29095 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29096 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029097
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029098 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
29099 safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
29100 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(cur_pnext));
29101 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29102 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029103
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029104 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
29105 safe_VkPipelineCompilerControlCreateInfoAMD *safe_struct = new safe_VkPipelineCompilerControlCreateInfoAMD;
29106 safe_struct->initialize(reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD *>(cur_pnext));
29107 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29108 } break;
29109
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029110 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
29111 safe_VkPhysicalDeviceShaderCorePropertiesAMD *safe_struct = new safe_VkPhysicalDeviceShaderCorePropertiesAMD;
29112 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD *>(cur_pnext));
29113 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29114 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029115
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029116 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
29117 safe_VkDeviceMemoryOverallocationCreateInfoAMD *safe_struct = new safe_VkDeviceMemoryOverallocationCreateInfoAMD;
29118 safe_struct->initialize(reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>(cur_pnext));
29119 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29120 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029121
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029122 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
29123 safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
29124 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(cur_pnext));
29125 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29126 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029127
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029128 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
29129 safe_VkPipelineVertexInputDivisorStateCreateInfoEXT *safe_struct = new safe_VkPipelineVertexInputDivisorStateCreateInfoEXT;
29130 safe_struct->initialize(reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT *>(cur_pnext));
29131 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29132 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029133
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029134 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
29135 safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
29136 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(cur_pnext));
29137 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29138 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029139
29140#ifdef VK_USE_PLATFORM_GGP
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029141 case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
29142 safe_VkPresentFrameTokenGGP *safe_struct = new safe_VkPresentFrameTokenGGP;
29143 safe_struct->initialize(reinterpret_cast<const VkPresentFrameTokenGGP *>(cur_pnext));
29144 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29145 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029146#endif // VK_USE_PLATFORM_GGP
29147
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029148 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: {
29149 safe_VkPipelineCreationFeedbackCreateInfoEXT *safe_struct = new safe_VkPipelineCreationFeedbackCreateInfoEXT;
29150 safe_struct->initialize(reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT *>(cur_pnext));
29151 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29152 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029153
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029154 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
29155 safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *safe_struct = new safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
29156 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(cur_pnext));
29157 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29158 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029159
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029160 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
29161 safe_VkPhysicalDeviceMeshShaderFeaturesNV *safe_struct = new safe_VkPhysicalDeviceMeshShaderFeaturesNV;
29162 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV *>(cur_pnext));
29163 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29164 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029165
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029166 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
29167 safe_VkPhysicalDeviceMeshShaderPropertiesNV *safe_struct = new safe_VkPhysicalDeviceMeshShaderPropertiesNV;
29168 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV *>(cur_pnext));
29169 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29170 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029171
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029172 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: {
29173 safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *safe_struct = new safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
29174 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(cur_pnext));
29175 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29176 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029177
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029178 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
29179 safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV *safe_struct = new safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV;
29180 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(cur_pnext));
29181 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29182 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029183
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029184 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
29185 safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV *safe_struct = new safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV;
29186 safe_struct->initialize(reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(cur_pnext));
29187 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29188 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029189
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029190 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
29191 safe_VkPhysicalDeviceExclusiveScissorFeaturesNV *safe_struct = new safe_VkPhysicalDeviceExclusiveScissorFeaturesNV;
29192 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV *>(cur_pnext));
29193 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29194 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029195
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029196 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: {
29197 safe_VkQueueFamilyCheckpointPropertiesNV *safe_struct = new safe_VkQueueFamilyCheckpointPropertiesNV;
29198 safe_struct->initialize(reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV *>(cur_pnext));
29199 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29200 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029201
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029202 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
29203 safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *safe_struct = new safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
29204 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(cur_pnext));
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029205 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29206 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029207
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029208 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
29209 safe_VkPhysicalDevicePCIBusInfoPropertiesEXT *safe_struct = new safe_VkPhysicalDevicePCIBusInfoPropertiesEXT;
29210 safe_struct->initialize(reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT *>(cur_pnext));
29211 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29212 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029213
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029214 case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
29215 safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD *safe_struct = new safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD;
29216 safe_struct->initialize(reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(cur_pnext));
29217 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29218 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029219
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029220 case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
29221 safe_VkSwapchainDisplayNativeHdrCreateInfoAMD *safe_struct = new safe_VkSwapchainDisplayNativeHdrCreateInfoAMD;
29222 safe_struct->initialize(reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD *>(cur_pnext));
29223 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29224 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029225
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029226 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
29227 safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
29228 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(cur_pnext));
29229 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29230 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029231
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029232 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
29233 safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
29234 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(cur_pnext));
29235 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29236 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029237
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029238 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
29239 safe_VkRenderPassFragmentDensityMapCreateInfoEXT *safe_struct = new safe_VkRenderPassFragmentDensityMapCreateInfoEXT;
29240 safe_struct->initialize(reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT *>(cur_pnext));
29241 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29242 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029243
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029244 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: {
29245 safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
29246 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *>(cur_pnext));
29247 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29248 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029249
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: {
29251 safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
29252 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(cur_pnext));
29253 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29254 } break;
29255
29256 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: {
29257 safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
29258 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(cur_pnext));
29259 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29260 } break;
29261
29262 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: {
29263 safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *safe_struct = new safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
29264 safe_struct->initialize(reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(cur_pnext));
29265 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29266 } break;
29267
29268 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
29269 safe_VkPhysicalDeviceShaderCoreProperties2AMD *safe_struct = new safe_VkPhysicalDeviceShaderCoreProperties2AMD;
29270 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD *>(cur_pnext));
29271 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29272 } break;
29273
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029274 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
29275 safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT;
29276 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(cur_pnext));
29277 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29278 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029279
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029280 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
29281 safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT;
29282 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(cur_pnext));
29283 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29284 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029285
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029286 case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
29287 safe_VkMemoryPriorityAllocateInfoEXT *safe_struct = new safe_VkMemoryPriorityAllocateInfoEXT;
29288 safe_struct->initialize(reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT *>(cur_pnext));
29289 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29290 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029291
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029292 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
29293 safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *safe_struct = new safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
29294 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(cur_pnext));
29295 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29296 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029297
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029298 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
29299 safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
29300 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(cur_pnext));
29301 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29302 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029303
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029304 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
29305 safe_VkBufferDeviceAddressCreateInfoEXT *safe_struct = new safe_VkBufferDeviceAddressCreateInfoEXT;
29306 safe_struct->initialize(reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>(cur_pnext));
29307 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29308 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029309
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029310 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: {
29311 safe_VkImageStencilUsageCreateInfoEXT *safe_struct = new safe_VkImageStencilUsageCreateInfoEXT;
29312 safe_struct->initialize(reinterpret_cast<const VkImageStencilUsageCreateInfoEXT *>(cur_pnext));
29313 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29314 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029315
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029316 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
29317 safe_VkValidationFeaturesEXT *safe_struct = new safe_VkValidationFeaturesEXT;
29318 safe_struct->initialize(reinterpret_cast<const VkValidationFeaturesEXT *>(cur_pnext));
29319 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29320 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029321
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029322 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
29323 safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV *safe_struct = new safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV;
29324 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(cur_pnext));
29325 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29326 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029327
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029328 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
29329 safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV *safe_struct = new safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV;
29330 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(cur_pnext));
29331 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29332 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029333
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029334 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
29335 safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV *safe_struct = new safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV;
29336 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(cur_pnext));
29337 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29338 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029339
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029340 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
29341 safe_VkPipelineCoverageReductionStateCreateInfoNV *safe_struct = new safe_VkPipelineCoverageReductionStateCreateInfoNV;
29342 safe_struct->initialize(reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV *>(cur_pnext));
29343 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29344 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029345
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029346 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
29347 safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
29348 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(cur_pnext));
29349 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29350 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029351
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029352 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
29353 safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
29354 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(cur_pnext));
29355 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29356 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029357
29358#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029359 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
29360 safe_VkSurfaceFullScreenExclusiveInfoEXT *safe_struct = new safe_VkSurfaceFullScreenExclusiveInfoEXT;
29361 safe_struct->initialize(reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT *>(cur_pnext));
29362 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29363 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029364#endif // VK_USE_PLATFORM_WIN32_KHR
29365
29366#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029367 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
29368 safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT *safe_struct = new safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT;
29369 safe_struct->initialize(reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(cur_pnext));
29370 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29371 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029372#endif // VK_USE_PLATFORM_WIN32_KHR
29373
29374#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029375 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
29376 safe_VkSurfaceFullScreenExclusiveWin32InfoEXT *safe_struct = new safe_VkSurfaceFullScreenExclusiveWin32InfoEXT;
29377 safe_struct->initialize(reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT *>(cur_pnext));
29378 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29379 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029380#endif // VK_USE_PLATFORM_WIN32_KHR
29381
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029382 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
29383 safe_VkPhysicalDeviceLineRasterizationFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceLineRasterizationFeaturesEXT;
29384 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT *>(cur_pnext));
29385 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29386 } break;
29387
29388 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
29389 safe_VkPhysicalDeviceLineRasterizationPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceLineRasterizationPropertiesEXT;
29390 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT *>(cur_pnext));
29391 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29392 } break;
29393
29394 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
29395 safe_VkPipelineRasterizationLineStateCreateInfoEXT *safe_struct = new safe_VkPipelineRasterizationLineStateCreateInfoEXT;
29396 safe_struct->initialize(reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT *>(cur_pnext));
29397 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29398 } break;
29399
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029400 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
29401 safe_VkPhysicalDeviceHostQueryResetFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceHostQueryResetFeaturesEXT;
29402 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeaturesEXT *>(cur_pnext));
29403 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29404 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029405
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029406 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
29407 safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT *safe_struct = new safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
29408 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(cur_pnext));
29409 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29410 } break;
29411
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029412 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: {
29413 safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
29414 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(cur_pnext));
29415 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29416 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029417
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029418 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
29419 safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *safe_struct = new safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
29420 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(cur_pnext));
29421 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29422 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029423
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029424 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: {
29425 safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *safe_struct = new safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
29426 safe_struct->initialize(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(cur_pnext));
29427 cur_ext_struct = reinterpret_cast<void *>(safe_struct);
29428 } break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029429
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029430 default:
29431 // Encountered an unknown sType -- skip (do not copy) this entry in the chain
29432 unrecognized_stype = true;
29433 cur_pnext = header->pNext;
29434 break;
29435 }
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029436 }
29437 }
29438 return cur_ext_struct;
29439}
29440
29441
29442
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029443// Free a const pNext extension chain
29444void FreePnextChain(const void *head) {
29445 FreePnextChain(const_cast<void *>(head));
29446}
29447
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029448// Free a pNext extension chain
29449void FreePnextChain(void *head) {
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029450 if (nullptr == head) return;
29451 VkBaseOutStructure *header = reinterpret_cast<VkBaseOutStructure *>(head);
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029452
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029453 switch (header->sType) {
Mark Lobodzinskidb8affe2019-08-08 13:25:07 -060029454
29455 // Special-case Loader Instance Struct passed to/from layer in pNext chain
29456 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: {
29457 if (header->pNext) FreePnextChain(header->pNext);
29458 delete reinterpret_cast<VkLayerInstanceCreateInfo *>(head);
29459 } break;
29460
29461 // Special-case Loader Device Struct passed to/from layer in pNext chain
29462 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: {
29463 if (header->pNext) FreePnextChain(header->pNext);
29464 delete reinterpret_cast<VkLayerDeviceCreateInfo *>(head);
29465 } break;
29466
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029467 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
29468 delete reinterpret_cast<safe_VkPhysicalDeviceSubgroupProperties *>(header);
29469 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029470
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029471 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
29472 delete reinterpret_cast<safe_VkPhysicalDevice16BitStorageFeatures *>(header);
29473 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029474
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029475 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
29476 delete reinterpret_cast<safe_VkMemoryDedicatedRequirements *>(header);
29477 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029478
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029479 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
29480 delete reinterpret_cast<safe_VkMemoryDedicatedAllocateInfo *>(header);
29481 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029482
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029483 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
29484 delete reinterpret_cast<safe_VkMemoryAllocateFlagsInfo *>(header);
29485 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029486
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029487 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
29488 delete reinterpret_cast<safe_VkDeviceGroupRenderPassBeginInfo *>(header);
29489 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029490
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029491 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
29492 delete reinterpret_cast<safe_VkDeviceGroupCommandBufferBeginInfo *>(header);
29493 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029494
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029495 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
29496 delete reinterpret_cast<safe_VkDeviceGroupSubmitInfo *>(header);
29497 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029498
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029499 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
29500 delete reinterpret_cast<safe_VkDeviceGroupBindSparseInfo *>(header);
29501 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029502
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029503 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
29504 delete reinterpret_cast<safe_VkBindBufferMemoryDeviceGroupInfo *>(header);
29505 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029506
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029507 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
29508 delete reinterpret_cast<safe_VkBindImageMemoryDeviceGroupInfo *>(header);
29509 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029510
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029511 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
29512 delete reinterpret_cast<safe_VkDeviceGroupDeviceCreateInfo *>(header);
29513 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029514
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029515 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
29516 delete reinterpret_cast<safe_VkPhysicalDeviceFeatures2 *>(header);
29517 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029518
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029519 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
29520 delete reinterpret_cast<safe_VkPhysicalDevicePointClippingProperties *>(header);
29521 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029522
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029523 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
29524 delete reinterpret_cast<safe_VkRenderPassInputAttachmentAspectCreateInfo *>(header);
29525 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029526
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029527 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
29528 delete reinterpret_cast<safe_VkImageViewUsageCreateInfo *>(header);
29529 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029530
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029531 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
29532 delete reinterpret_cast<safe_VkPipelineTessellationDomainOriginStateCreateInfo *>(header);
29533 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029534
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029535 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
29536 delete reinterpret_cast<safe_VkRenderPassMultiviewCreateInfo *>(header);
29537 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029538
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029539 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
29540 delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewFeatures *>(header);
29541 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029542
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
29544 delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewProperties *>(header);
29545 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029546
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029547 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
29548 delete reinterpret_cast<safe_VkPhysicalDeviceVariablePointersFeatures *>(header);
29549 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029550
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029551 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
29552 delete reinterpret_cast<safe_VkPhysicalDeviceProtectedMemoryFeatures *>(header);
29553 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029554
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
29556 delete reinterpret_cast<safe_VkPhysicalDeviceProtectedMemoryProperties *>(header);
29557 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029558
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029559 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
29560 delete reinterpret_cast<safe_VkProtectedSubmitInfo *>(header);
29561 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029562
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029563 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
29564 delete reinterpret_cast<safe_VkSamplerYcbcrConversionInfo *>(header);
29565 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029566
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029567 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
29568 delete reinterpret_cast<safe_VkBindImagePlaneMemoryInfo *>(header);
29569 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029570
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029571 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
29572 delete reinterpret_cast<safe_VkImagePlaneMemoryRequirementsInfo *>(header);
29573 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029574
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029575 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
29576 delete reinterpret_cast<safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(header);
29577 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029578
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029579 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
29580 delete reinterpret_cast<safe_VkSamplerYcbcrConversionImageFormatProperties *>(header);
29581 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029582
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029583 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
29584 delete reinterpret_cast<safe_VkPhysicalDeviceExternalImageFormatInfo *>(header);
29585 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029586
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029587 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
29588 delete reinterpret_cast<safe_VkExternalImageFormatProperties *>(header);
29589 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029590
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029591 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
29592 delete reinterpret_cast<safe_VkPhysicalDeviceIDProperties *>(header);
29593 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029594
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029595 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
29596 delete reinterpret_cast<safe_VkExternalMemoryImageCreateInfo *>(header);
29597 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029598
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029599 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
29600 delete reinterpret_cast<safe_VkExternalMemoryBufferCreateInfo *>(header);
29601 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029602
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029603 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
29604 delete reinterpret_cast<safe_VkExportMemoryAllocateInfo *>(header);
29605 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029606
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029607 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
29608 delete reinterpret_cast<safe_VkExportFenceCreateInfo *>(header);
29609 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029610
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029611 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
29612 delete reinterpret_cast<safe_VkExportSemaphoreCreateInfo *>(header);
29613 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029614
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
29616 delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance3Properties *>(header);
29617 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029618
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029619 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
29620 delete reinterpret_cast<safe_VkPhysicalDeviceShaderDrawParametersFeatures *>(header);
29621 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029622
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029623 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
29624 delete reinterpret_cast<safe_VkImageSwapchainCreateInfoKHR *>(header);
29625 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029626
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029627 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
29628 delete reinterpret_cast<safe_VkBindImageMemorySwapchainInfoKHR *>(header);
29629 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029630
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029631 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
29632 delete reinterpret_cast<safe_VkDeviceGroupPresentInfoKHR *>(header);
29633 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029634
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029635 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
29636 delete reinterpret_cast<safe_VkDeviceGroupSwapchainCreateInfoKHR *>(header);
29637 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029638
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029639 case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
29640 delete reinterpret_cast<safe_VkDisplayPresentInfoKHR *>(header);
29641 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029642
29643#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029644 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
29645 delete reinterpret_cast<safe_VkImportMemoryWin32HandleInfoKHR *>(header);
29646 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029647#endif // VK_USE_PLATFORM_WIN32_KHR
29648
29649#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029650 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
29651 delete reinterpret_cast<safe_VkExportMemoryWin32HandleInfoKHR *>(header);
29652 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029653#endif // VK_USE_PLATFORM_WIN32_KHR
29654
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029655 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
29656 delete reinterpret_cast<safe_VkImportMemoryFdInfoKHR *>(header);
29657 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029658
29659#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029660 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
29661 delete reinterpret_cast<safe_VkWin32KeyedMutexAcquireReleaseInfoKHR *>(header);
29662 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029663#endif // VK_USE_PLATFORM_WIN32_KHR
29664
29665#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029666 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
29667 delete reinterpret_cast<safe_VkExportSemaphoreWin32HandleInfoKHR *>(header);
29668 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029669#endif // VK_USE_PLATFORM_WIN32_KHR
29670
29671#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029672 case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
29673 delete reinterpret_cast<safe_VkD3D12FenceSubmitInfoKHR *>(header);
29674 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029675#endif // VK_USE_PLATFORM_WIN32_KHR
29676
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029677 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
29678 delete reinterpret_cast<safe_VkPhysicalDevicePushDescriptorPropertiesKHR *>(header);
29679 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029680
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029681 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR:
29682 delete reinterpret_cast<safe_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR *>(header);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029683 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029684
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029685 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
29686 delete reinterpret_cast<safe_VkPresentRegionsKHR *>(header);
29687 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029688
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029689 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR:
29690 delete reinterpret_cast<safe_VkPhysicalDeviceImagelessFramebufferFeaturesKHR *>(header);
29691 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029692
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029693 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR:
29694 delete reinterpret_cast<safe_VkFramebufferAttachmentsCreateInfoKHR *>(header);
29695 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029696
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029697 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR:
29698 delete reinterpret_cast<safe_VkRenderPassAttachmentBeginInfoKHR *>(header);
29699 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029700
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029701 case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
29702 delete reinterpret_cast<safe_VkSharedPresentSurfaceCapabilitiesKHR *>(header);
29703 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029704
29705#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029706 case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
29707 delete reinterpret_cast<safe_VkExportFenceWin32HandleInfoKHR *>(header);
29708 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029709#endif // VK_USE_PLATFORM_WIN32_KHR
29710
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029711 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
29712 delete reinterpret_cast<safe_VkImageFormatListCreateInfoKHR *>(header);
29713 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029714
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029715 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
29716 delete reinterpret_cast<safe_VkPhysicalDevice8BitStorageFeaturesKHR *>(header);
29717 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029718
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029719 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR:
29720 delete reinterpret_cast<safe_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *>(header);
29721 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029722
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029723 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR:
29724 delete reinterpret_cast<safe_VkPhysicalDeviceDriverPropertiesKHR *>(header);
29725 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029726
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029727 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR:
29728 delete reinterpret_cast<safe_VkPhysicalDeviceFloatControlsPropertiesKHR *>(header);
29729 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029730
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029731 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR:
29732 delete reinterpret_cast<safe_VkSubpassDescriptionDepthStencilResolveKHR *>(header);
29733 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029734
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029735 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR:
29736 delete reinterpret_cast<safe_VkPhysicalDeviceDepthStencilResolvePropertiesKHR *>(header);
29737 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029738
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029739 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR:
29740 delete reinterpret_cast<safe_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *>(header);
29741 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029742
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029743 case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR:
29744 delete reinterpret_cast<safe_VkSurfaceProtectedCapabilitiesKHR *>(header);
29745 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029746
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029747 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR:
29748 delete reinterpret_cast<safe_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *>(header);
29749 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029750
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029751 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
29752 delete reinterpret_cast<safe_VkDebugReportCallbackCreateInfoEXT *>(header);
29753 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029754
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029755 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
29756 delete reinterpret_cast<safe_VkPipelineRasterizationStateRasterizationOrderAMD *>(header);
29757 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029758
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029759 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
29760 delete reinterpret_cast<safe_VkDedicatedAllocationImageCreateInfoNV *>(header);
29761 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029762
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029763 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
29764 delete reinterpret_cast<safe_VkDedicatedAllocationBufferCreateInfoNV *>(header);
29765 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029766
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029767 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
29768 delete reinterpret_cast<safe_VkDedicatedAllocationMemoryAllocateInfoNV *>(header);
29769 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029770
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029771 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
29772 delete reinterpret_cast<safe_VkPhysicalDeviceTransformFeedbackFeaturesEXT *>(header);
29773 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029774
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029775 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
29776 delete reinterpret_cast<safe_VkPhysicalDeviceTransformFeedbackPropertiesEXT *>(header);
29777 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029778
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029779 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
29780 delete reinterpret_cast<safe_VkPipelineRasterizationStateStreamCreateInfoEXT *>(header);
29781 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029782
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029783 case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
29784 delete reinterpret_cast<safe_VkTextureLODGatherFormatPropertiesAMD *>(header);
29785 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029786
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029787 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:
29788 delete reinterpret_cast<safe_VkPhysicalDeviceCornerSampledImageFeaturesNV *>(header);
29789 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029790
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029791 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
29792 delete reinterpret_cast<safe_VkExternalMemoryImageCreateInfoNV *>(header);
29793 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029794
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029795 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
29796 delete reinterpret_cast<safe_VkExportMemoryAllocateInfoNV *>(header);
29797 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029798
29799#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029800 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
29801 delete reinterpret_cast<safe_VkImportMemoryWin32HandleInfoNV *>(header);
29802 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029803#endif // VK_USE_PLATFORM_WIN32_KHR
29804
29805#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029806 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
29807 delete reinterpret_cast<safe_VkExportMemoryWin32HandleInfoNV *>(header);
29808 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029809#endif // VK_USE_PLATFORM_WIN32_KHR
29810
29811#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029812 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
29813 delete reinterpret_cast<safe_VkWin32KeyedMutexAcquireReleaseInfoNV *>(header);
29814 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029815#endif // VK_USE_PLATFORM_WIN32_KHR
29816
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029817 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
29818 delete reinterpret_cast<safe_VkValidationFlagsEXT *>(header);
29819 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029820
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060029821 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT:
29822 delete reinterpret_cast<safe_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT *>(header);
29823 break;
29824
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029825 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT:
29826 delete reinterpret_cast<safe_VkImageViewASTCDecodeModeEXT *>(header);
29827 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029828
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029829 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT:
29830 delete reinterpret_cast<safe_VkPhysicalDeviceASTCDecodeFeaturesEXT *>(header);
29831 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029832
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029833 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
29834 delete reinterpret_cast<safe_VkPhysicalDeviceConditionalRenderingFeaturesEXT *>(header);
29835 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029836
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029837 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
29838 delete reinterpret_cast<safe_VkCommandBufferInheritanceConditionalRenderingInfoEXT *>(header);
29839 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029840
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029841 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
29842 delete reinterpret_cast<safe_VkPipelineViewportWScalingStateCreateInfoNV *>(header);
29843 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029844
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029845 case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
29846 delete reinterpret_cast<safe_VkSwapchainCounterCreateInfoEXT *>(header);
29847 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029848
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029849 case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
29850 delete reinterpret_cast<safe_VkPresentTimesInfoGOOGLE *>(header);
29851 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029852
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029853 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
29854 delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>(header);
29855 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029856
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029857 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
29858 delete reinterpret_cast<safe_VkPipelineViewportSwizzleStateCreateInfoNV *>(header);
29859 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029860
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029861 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
29862 delete reinterpret_cast<safe_VkPhysicalDeviceDiscardRectanglePropertiesEXT *>(header);
29863 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029864
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029865 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
29866 delete reinterpret_cast<safe_VkPipelineDiscardRectangleStateCreateInfoEXT *>(header);
29867 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029868
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029869 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
29870 delete reinterpret_cast<safe_VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>(header);
29871 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029872
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029873 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
29874 delete reinterpret_cast<safe_VkPipelineRasterizationConservativeStateCreateInfoEXT *>(header);
29875 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029876
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029877 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
29878 delete reinterpret_cast<safe_VkPhysicalDeviceDepthClipEnableFeaturesEXT *>(header);
29879 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029880
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029881 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
29882 delete reinterpret_cast<safe_VkPipelineRasterizationDepthClipStateCreateInfoEXT *>(header);
29883 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029884
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029885 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
29886 delete reinterpret_cast<safe_VkDebugUtilsMessengerCreateInfoEXT *>(header);
29887 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029888
29889#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029890 case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
29891 delete reinterpret_cast<safe_VkAndroidHardwareBufferUsageANDROID *>(header);
29892 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029893#endif // VK_USE_PLATFORM_ANDROID_KHR
29894
29895#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029896 case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
29897 delete reinterpret_cast<safe_VkAndroidHardwareBufferFormatPropertiesANDROID *>(header);
29898 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029899#endif // VK_USE_PLATFORM_ANDROID_KHR
29900
29901#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029902 case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
29903 delete reinterpret_cast<safe_VkImportAndroidHardwareBufferInfoANDROID *>(header);
29904 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029905#endif // VK_USE_PLATFORM_ANDROID_KHR
29906
29907#ifdef VK_USE_PLATFORM_ANDROID_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029908 case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
29909 delete reinterpret_cast<safe_VkExternalFormatANDROID *>(header);
29910 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029911#endif // VK_USE_PLATFORM_ANDROID_KHR
29912
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029913 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
29914 delete reinterpret_cast<safe_VkSamplerReductionModeCreateInfoEXT *>(header);
29915 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029916
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029917 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
29918 delete reinterpret_cast<safe_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *>(header);
29919 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029920
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029921 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT:
29922 delete reinterpret_cast<safe_VkPhysicalDeviceInlineUniformBlockFeaturesEXT *>(header);
29923 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029924
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029925 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT:
29926 delete reinterpret_cast<safe_VkPhysicalDeviceInlineUniformBlockPropertiesEXT *>(header);
29927 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029928
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029929 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT:
29930 delete reinterpret_cast<safe_VkWriteDescriptorSetInlineUniformBlockEXT *>(header);
29931 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029932
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029933 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT:
29934 delete reinterpret_cast<safe_VkDescriptorPoolInlineUniformBlockCreateInfoEXT *>(header);
29935 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029936
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029937 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
29938 delete reinterpret_cast<safe_VkSampleLocationsInfoEXT *>(header);
29939 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029940
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029941 case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
29942 delete reinterpret_cast<safe_VkRenderPassSampleLocationsBeginInfoEXT *>(header);
29943 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029944
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029945 case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
29946 delete reinterpret_cast<safe_VkPipelineSampleLocationsStateCreateInfoEXT *>(header);
29947 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029948
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029949 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
29950 delete reinterpret_cast<safe_VkPhysicalDeviceSampleLocationsPropertiesEXT *>(header);
29951 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029952
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029953 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
29954 delete reinterpret_cast<safe_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>(header);
29955 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029956
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029957 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
29958 delete reinterpret_cast<safe_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>(header);
29959 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029960
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029961 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
29962 delete reinterpret_cast<safe_VkPipelineColorBlendAdvancedStateCreateInfoEXT *>(header);
29963 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029964
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029965 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
29966 delete reinterpret_cast<safe_VkPipelineCoverageToColorStateCreateInfoNV *>(header);
29967 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029968
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029969 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
29970 delete reinterpret_cast<safe_VkPipelineCoverageModulationStateCreateInfoNV *>(header);
29971 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029972
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029973 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV:
29974 delete reinterpret_cast<safe_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>(header);
29975 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029976
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029977 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
29978 delete reinterpret_cast<safe_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>(header);
29979 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029980
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029981 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
29982 delete reinterpret_cast<safe_VkDrmFormatModifierPropertiesListEXT *>(header);
29983 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029984
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029985 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
29986 delete reinterpret_cast<safe_VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>(header);
29987 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029988
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029989 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
29990 delete reinterpret_cast<safe_VkImageDrmFormatModifierListCreateInfoEXT *>(header);
29991 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029992
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029993 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
29994 delete reinterpret_cast<safe_VkImageDrmFormatModifierExplicitCreateInfoEXT *>(header);
29995 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060029996
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060029997 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
29998 delete reinterpret_cast<safe_VkShaderModuleValidationCacheCreateInfoEXT *>(header);
29999 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030000
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030001 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
30002 delete reinterpret_cast<safe_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT *>(header);
30003 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030004
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030005 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
30006 delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorIndexingFeaturesEXT *>(header);
30007 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030008
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030009 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
30010 delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorIndexingPropertiesEXT *>(header);
30011 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030012
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030013 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
30014 delete reinterpret_cast<safe_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT *>(header);
30015 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030016
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030017 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
30018 delete reinterpret_cast<safe_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT *>(header);
30019 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030020
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030021 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
30022 delete reinterpret_cast<safe_VkPipelineViewportShadingRateImageStateCreateInfoNV *>(header);
30023 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030024
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030025 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV:
30026 delete reinterpret_cast<safe_VkPhysicalDeviceShadingRateImageFeaturesNV *>(header);
30027 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030028
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030029 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV:
30030 delete reinterpret_cast<safe_VkPhysicalDeviceShadingRateImagePropertiesNV *>(header);
30031 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030032
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030033 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
30034 delete reinterpret_cast<safe_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>(header);
30035 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030036
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030037 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV:
30038 delete reinterpret_cast<safe_VkWriteDescriptorSetAccelerationStructureNV *>(header);
30039 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030040
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030041 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV:
30042 delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingPropertiesNV *>(header);
30043 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030044
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030045 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
30046 delete reinterpret_cast<safe_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>(header);
30047 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030048
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030049 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
30050 delete reinterpret_cast<safe_VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>(header);
30051 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030052
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030053 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT:
30054 delete reinterpret_cast<safe_VkPhysicalDeviceImageViewImageFormatInfoEXT *>(header);
30055 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030056
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030057 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT:
30058 delete reinterpret_cast<safe_VkFilterCubicImageViewImageFormatPropertiesEXT *>(header);
30059 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030060
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030061 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
30062 delete reinterpret_cast<safe_VkDeviceQueueGlobalPriorityCreateInfoEXT *>(header);
30063 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030064
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030065 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
30066 delete reinterpret_cast<safe_VkImportMemoryHostPointerInfoEXT *>(header);
30067 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030068
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030069 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
30070 delete reinterpret_cast<safe_VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>(header);
30071 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030072
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060030073 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:
30074 delete reinterpret_cast<safe_VkPipelineCompilerControlCreateInfoAMD *>(header);
30075 break;
30076
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030077 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
30078 delete reinterpret_cast<safe_VkPhysicalDeviceShaderCorePropertiesAMD *>(header);
30079 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030080
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030081 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
30082 delete reinterpret_cast<safe_VkDeviceMemoryOverallocationCreateInfoAMD *>(header);
30083 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030084
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030085 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
30086 delete reinterpret_cast<safe_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>(header);
30087 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030088
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030089 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
30090 delete reinterpret_cast<safe_VkPipelineVertexInputDivisorStateCreateInfoEXT *>(header);
30091 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030092
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030093 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
30094 delete reinterpret_cast<safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>(header);
30095 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030096
30097#ifdef VK_USE_PLATFORM_GGP
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030098 case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP:
30099 delete reinterpret_cast<safe_VkPresentFrameTokenGGP *>(header);
30100 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030101#endif // VK_USE_PLATFORM_GGP
30102
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030103 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT:
30104 delete reinterpret_cast<safe_VkPipelineCreationFeedbackCreateInfoEXT *>(header);
30105 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030106
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030107 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
30108 delete reinterpret_cast<safe_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>(header);
30109 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030110
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030111 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
30112 delete reinterpret_cast<safe_VkPhysicalDeviceMeshShaderFeaturesNV *>(header);
30113 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030114
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030115 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:
30116 delete reinterpret_cast<safe_VkPhysicalDeviceMeshShaderPropertiesNV *>(header);
30117 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030118
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030119 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
30120 delete reinterpret_cast<safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV *>(header);
30121 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030122
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030123 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:
30124 delete reinterpret_cast<safe_VkPhysicalDeviceShaderImageFootprintFeaturesNV *>(header);
30125 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030126
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030127 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
30128 delete reinterpret_cast<safe_VkPipelineViewportExclusiveScissorStateCreateInfoNV *>(header);
30129 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030130
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030131 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:
30132 delete reinterpret_cast<safe_VkPhysicalDeviceExclusiveScissorFeaturesNV *>(header);
30133 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030134
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030135 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
30136 delete reinterpret_cast<safe_VkQueueFamilyCheckpointPropertiesNV *>(header);
30137 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030138
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060030139 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL:
30140 delete reinterpret_cast<safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(header);
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030141 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030142
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030143 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
30144 delete reinterpret_cast<safe_VkPhysicalDevicePCIBusInfoPropertiesEXT *>(header);
30145 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030146
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030147 case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD:
30148 delete reinterpret_cast<safe_VkDisplayNativeHdrSurfaceCapabilitiesAMD *>(header);
30149 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030150
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030151 case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
30152 delete reinterpret_cast<safe_VkSwapchainDisplayNativeHdrCreateInfoAMD *>(header);
30153 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030154
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030155 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT:
30156 delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>(header);
30157 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030158
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030159 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT:
30160 delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>(header);
30161 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030162
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030163 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT:
30164 delete reinterpret_cast<safe_VkRenderPassFragmentDensityMapCreateInfoEXT *>(header);
30165 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030166
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030167 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT:
30168 delete reinterpret_cast<safe_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *>(header);
30169 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030170
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060030171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT:
30172 delete reinterpret_cast<safe_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT *>(header);
30173 break;
30174
30175 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT:
30176 delete reinterpret_cast<safe_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT *>(header);
30177 break;
30178
30179 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT:
30180 delete reinterpret_cast<safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT *>(header);
30181 break;
30182
30183 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD:
30184 delete reinterpret_cast<safe_VkPhysicalDeviceShaderCoreProperties2AMD *>(header);
30185 break;
30186
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030187 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT:
30188 delete reinterpret_cast<safe_VkPhysicalDeviceMemoryBudgetPropertiesEXT *>(header);
30189 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030190
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030191 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
30192 delete reinterpret_cast<safe_VkPhysicalDeviceMemoryPriorityFeaturesEXT *>(header);
30193 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030194
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030195 case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT:
30196 delete reinterpret_cast<safe_VkMemoryPriorityAllocateInfoEXT *>(header);
30197 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030198
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030199 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
30200 delete reinterpret_cast<safe_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>(header);
30201 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030202
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030203 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
30204 delete reinterpret_cast<safe_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>(header);
30205 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030206
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030207 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT:
30208 delete reinterpret_cast<safe_VkBufferDeviceAddressCreateInfoEXT *>(header);
30209 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030210
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030211 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT:
30212 delete reinterpret_cast<safe_VkImageStencilUsageCreateInfoEXT *>(header);
30213 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030214
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030215 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT:
30216 delete reinterpret_cast<safe_VkValidationFeaturesEXT *>(header);
30217 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030218
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030219 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV:
30220 delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeMatrixFeaturesNV *>(header);
30221 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030222
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030223 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV:
30224 delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeMatrixPropertiesNV *>(header);
30225 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030226
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030227 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
30228 delete reinterpret_cast<safe_VkPhysicalDeviceCoverageReductionModeFeaturesNV *>(header);
30229 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030230
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030231 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV:
30232 delete reinterpret_cast<safe_VkPipelineCoverageReductionStateCreateInfoNV *>(header);
30233 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030234
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030235 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT:
30236 delete reinterpret_cast<safe_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>(header);
30237 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030238
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030239 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT:
30240 delete reinterpret_cast<safe_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>(header);
30241 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030242
30243#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030244 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT:
30245 delete reinterpret_cast<safe_VkSurfaceFullScreenExclusiveInfoEXT *>(header);
30246 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030247#endif // VK_USE_PLATFORM_WIN32_KHR
30248
30249#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030250 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:
30251 delete reinterpret_cast<safe_VkSurfaceCapabilitiesFullScreenExclusiveEXT *>(header);
30252 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030253#endif // VK_USE_PLATFORM_WIN32_KHR
30254
30255#ifdef VK_USE_PLATFORM_WIN32_KHR
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030256 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:
30257 delete reinterpret_cast<safe_VkSurfaceFullScreenExclusiveWin32InfoEXT *>(header);
30258 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030259#endif // VK_USE_PLATFORM_WIN32_KHR
30260
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060030261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
30262 delete reinterpret_cast<safe_VkPhysicalDeviceLineRasterizationFeaturesEXT *>(header);
30263 break;
30264
30265 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
30266 delete reinterpret_cast<safe_VkPhysicalDeviceLineRasterizationPropertiesEXT *>(header);
30267 break;
30268
30269 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:
30270 delete reinterpret_cast<safe_VkPipelineRasterizationLineStateCreateInfoEXT *>(header);
30271 break;
30272
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030273 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT:
30274 delete reinterpret_cast<safe_VkPhysicalDeviceHostQueryResetFeaturesEXT *>(header);
30275 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030276
Shannon McPherson3cc90bc2019-08-13 11:28:22 -060030277 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
30278 delete reinterpret_cast<safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>(header);
30279 break;
30280
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030281 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT:
30282 delete reinterpret_cast<safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *>(header);
30283 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030284
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030285 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
30286 delete reinterpret_cast<safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(header);
30287 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030288
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030289 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT:
30290 delete reinterpret_cast<safe_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *>(header);
30291 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030292
Mark Lobodzinski1d70bce2019-07-18 17:30:54 -060030293 default:
30294 // Do nothing -- skip unrecognized sTypes
30295 break;
Mark Lobodzinskib836ac92019-07-18 16:14:43 -060030296 }
30297}