1 #ifndef _VULKAN_JSON_DATA_HPP
2 #define _VULKAN_JSON_DATA_HPP
3 
4 /*
5  * Copyright (c) 2021 The Khronos Group Inc.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  *//*!
20  * \file
21  * \brief Defines JSON generators for Vulkan structures
22  */
23 
24 
25 /********************************************************************************************/
26 /** This code is generated. To make changes, please modify the scripts or the relevant xml **/
27 /********************************************************************************************/
28 
29 #include <iostream>
30 #include <map>
31 #include <bitset>
32 #include <functional>
33 #include <sstream>
34 #include <cassert>
35 #include <cmath>
36 #ifndef VULKAN_JSON_CTS
37     #include <vulkan/vulkan.h>
38 #endif
39 
40 #ifdef _WIN32
41 	#ifndef WIN32_LEAN_AND_MEAN
42 	#define WIN32_LEAN_AND_MEAN
43 	#endif
44 	#define VC_EXTRALEAN
45 	#define NOMINMAX
46 	#include <windows.h>
47 #endif
48 
49 namespace vk_json {
50 
51 static thread_local int s_num_spaces    = 0;
52 #if defined(USE_THREAD_LOCAL_WAR)
53 // Workaround (off by default) for certain platforms that have a thread_local libc bug
54 std::stringstream & TLSGetStrStream();
55 #define _string_stream  TLSGetStrStream()
56 #else
57 static thread_local std::stringstream _string_stream;
58 #endif
59 
60 static void dumpPNextChain(const void* pNext);
61 
62 // By default, redirect to std::cout. Can stream it to a stringstream if needed.
63 //#define   _OUT std::cout
64 #define _OUT _string_stream
65 
66 // Helper utility to do indentation in the generated json file.
67 #define PRINT_SPACE for (int k = 0; k < s_num_spaces; k++) _OUT << " ";
68 
69 #define INDENT(sz) s_num_spaces += (sz);
70 
71 #define PRINT_VAL(c) PRINT_SPACE \
72     if (s != "") {\
73         _OUT << "\"" << s << "\"" << " : " << o << (c ? "," : "") << std::endl; \
74     } else {\
75         _OUT << o << (c ? "," : "") << std::endl; \
76     }
77 
78 #define PRINT_STR(c) PRINT_SPACE \
79     if (s != "") {\
80         _OUT << "\"" << s << "\"" << " : " << "\"" << o << "\"" << (c ? "," : "") << std::endl; \
81     } else {\
82         _OUT << "\"" << o << "\"" << (c ? "," : "") << std::endl; \
83     }
84 
85 // To make sure the generated data is consistent across platforms,
86 // we typecast to 32-bit and dump the data.
87 // The value is not expected to exceed the range.
print_size_t(const size_t * o,const std::string & s,bool commaNeeded=true)88 static void print_size_t(const size_t* o, const std::string& s, bool commaNeeded=true)
89 {
90     PRINT_SPACE
91     _OUT << "\"" << s << "\"" << " : " << static_cast<deUint32>(*o) << (commaNeeded ? "," : "") << std::endl;\
92 }
print_size_t(size_t o,const std::string & s,bool commaNeeded=true)93 static void print_size_t(size_t o, const std::string& s, bool commaNeeded=true)
94 {
95     PRINT_SPACE
96     _OUT << "\"" << s << "\"" << " : " << static_cast<deUint32>(o) << (commaNeeded ? "," : "") << std::endl;\
97 }
98 
print_int32_t(deInt32 o,const std::string & s,bool commaNeeded=true)99 static void print_int32_t(deInt32 o, const std::string& s, bool commaNeeded=true)
100 {
101     PRINT_VAL(commaNeeded)
102 }
103 
print_int32_t(const deInt32 * o,const std::string & s,bool commaNeeded=true)104 static void print_int32_t(const deInt32 * o, const std::string& s, bool commaNeeded=true)
105 {
106     PRINT_VAL(commaNeeded)
107 }
108 
print_uint32_t(deUint32 o,const std::string & s,bool commaNeeded=true)109 static void print_uint32_t(deUint32 o, const std::string& s, bool commaNeeded=true)
110 {
111     PRINT_VAL(commaNeeded)
112 }
113 
print_uint32_t(const deUint32 * o,const std::string & s,bool commaNeeded=true)114 static void print_uint32_t(const deUint32 * o, const std::string& s, bool commaNeeded=true)
115 {
116     PRINT_VAL(commaNeeded)
117 }
118 
print_uint8_t(deUint8 o,const std::string & s,bool commaNeeded=true)119 static void print_uint8_t(deUint8 o, const std::string& s, bool commaNeeded=true)
120 {
121     PRINT_VAL(commaNeeded)
122 }
123 
print_uint8_t(const deUint8 * o,const std::string & s,bool commaNeeded=true)124 static void print_uint8_t(const deUint8 * o, const std::string& s, bool commaNeeded=true)
125 {
126     PRINT_VAL(commaNeeded)
127 }
128 
print_uint64_t(deUint64 o,const std::string & s,bool commaNeeded=true)129 static void print_uint64_t(deUint64 o, const std::string& s, bool commaNeeded=true)
130 {
131     PRINT_VAL(commaNeeded)
132 }
133 
print_uint64_t(const deUint64 * o,const std::string & s,bool commaNeeded=true)134 static void print_uint64_t(const deUint64 * o, const std::string& s, bool commaNeeded=true)
135 {
136     PRINT_VAL(commaNeeded)
137 }
138 
print_float(float o,const std::string & s,bool commaNeeded=true)139 static void print_float(float o, const std::string& s, bool commaNeeded=true)
140 {
141 	if (std::isnan(o))
142 	{
143 		PRINT_SPACE
144 		if (s != "")
145 			_OUT << "\"" << s << "\"" << " : \"NaN\"" << (commaNeeded ? "," : "") << std::endl;
146 		else
147 			_OUT << "\"NaN\"" << (commaNeeded ? "," : "") << std::endl;
148 	}
149 	else
150 	{
151 		PRINT_VAL(commaNeeded)
152 	}
153 }
154 
print_float(const float * o,const std::string & s,bool commaNeeded=true)155 static void print_float(const float * o, const std::string& s, bool commaNeeded=true)
156 {
157 	if (std::isnan(*o))
158 	{
159 		PRINT_SPACE
160 		if (s != "")
161 			_OUT << "\"" << s << "\"" << " : \"NaN\"" << (commaNeeded ? "," : "") << std::endl;
162 		else
163 			_OUT << "\"NaN\"" << (commaNeeded ? "," : "") << std::endl;
164 	}
165 	else
166 	{
167 		PRINT_VAL(commaNeeded)
168 	}
169 }
170 
print_int(int o,const std::string & s,bool commaNeeded=true)171 static void print_int(int o, const std::string& s, bool commaNeeded=true)
172 {
173     PRINT_VAL(commaNeeded)
174 }
175 
print_int(const int * o,const std::string & s,bool commaNeeded=true)176 static void print_int(const int * o, const std::string& s, bool commaNeeded=true)
177 {
178     PRINT_VAL(commaNeeded)
179 }
180 
print_double(double o,const std::string & s,bool commaNeeded=true)181 static void print_double(double o, const std::string& s, bool commaNeeded=true)
182 {
183     PRINT_VAL(commaNeeded)
184 }
185 
print_double(const double * o,const std::string & s,bool commaNeeded=true)186 static void print_double(const double * o, const std::string& s, bool commaNeeded=true)
187 {
188     PRINT_VAL(commaNeeded)
189 }
190 
print_int64_t(deInt64 o,const std::string & s,bool commaNeeded=true)191 static void print_int64_t(deInt64 o, const std::string& s, bool commaNeeded=true)
192 {
193     PRINT_VAL(commaNeeded)
194 }
195 
print_int64_t(const deInt64 * o,const std::string & s,bool commaNeeded=true)196 static void print_int64_t(const deInt64 * o, const std::string& s, bool commaNeeded=true)
197 {
198     PRINT_VAL(commaNeeded)
199 }
200 
print_uint16_t(deUint16 o,const std::string & s,bool commaNeeded=true)201 static void print_uint16_t(deUint16 o, const std::string& s, bool commaNeeded=true)
202 {
203     PRINT_VAL(commaNeeded)
204 }
205 
print_uint16_t(const deUint16 * o,const std::string & s,bool commaNeeded=true)206 static void print_uint16_t(const deUint16 * o, const std::string& s, bool commaNeeded=true)
207 {
208     PRINT_VAL(commaNeeded)
209 }
210 
print_char(const char * const * o,const std::string & s,bool commaNeeded=true)211 static void print_char(const char * const* o, const std::string& s, bool commaNeeded=true)
212 {
213     PRINT_STR(commaNeeded)
214 }
215 
print_char(char o,const std::string & s,bool commaNeeded=true)216 static void print_char(char o, const std::string& s, bool commaNeeded=true)
217 {
218     PRINT_VAL(commaNeeded)
219 }
220 
print_char(const char * o,const std::string & s,bool commaNeeded=true)221 static void print_char(const char * o, const std::string& s, bool commaNeeded=true)
222 {
223     PRINT_STR(commaNeeded)
224 }
225 
226 
227 // Base 64 formater class from executor/xeTestLogWriter.cpp
228 
229 class Base64Formatter
230 {
231 public:
232 	const deUint8*	data;
233 	int				numBytes;
234 
Base64Formatter(const deUint8 * data_,int numBytes_)235 	Base64Formatter(const deUint8* data_, int numBytes_) : data(data_), numBytes(numBytes_) {}
236 };
237 
operator <<(std::ostream & str,const Base64Formatter & fmt)238 std::ostream& operator<< (std::ostream& str, const Base64Formatter& fmt)
239 {
240 	static const char s_base64Table[64] =
241 	{
242 		'A','B','C','D','E','F','G','H','I','J','K','L','M',
243 		'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
244 		'a','b','c','d','e','f','g','h','i','j','k','l','m',
245 		'n','o','p','q','r','s','t','u','v','w','x','y','z',
246 		'0','1','2','3','4','5','6','7','8','9','+','/'
247 	};
248 
249 	const deUint8*	data = fmt.data;
250 	int				numBytes = fmt.numBytes;
251 	int				srcNdx = 0;
252 
253 	DE_ASSERT(data && (numBytes > 0));
254 
255 	/* Loop all input chars. */
256 	while (srcNdx < numBytes)
257 	{
258 		int		numRead = de::min(3, numBytes - srcNdx);
259 		deUint8	s0 = data[srcNdx];
260 		deUint8	s1 = (numRead >= 2) ? data[srcNdx + 1] : 0;
261 		deUint8	s2 = (numRead >= 3) ? data[srcNdx + 2] : 0;
262 		char	d[4];
263 
264 		srcNdx += numRead;
265 
266 		d[0] = s_base64Table[s0 >> 2];
267 		d[1] = s_base64Table[((s0 & 0x3) << 4) | (s1 >> 4)];
268 		d[2] = s_base64Table[((s1 & 0xF) << 2) | (s2 >> 6)];
269 		d[3] = s_base64Table[s2 & 0x3F];
270 
271 		if (numRead < 3) d[3] = '=';
272 		if (numRead < 2) d[2] = '=';
273 
274 		/* Write data. */
275 		str.write(&d[0], sizeof(d));
276 	}
277 
278 	return str;
279 }
280 
toBase64(const deUint8 * bytes,int numBytes)281 inline Base64Formatter toBase64(const deUint8* bytes, int numBytes) {return Base64Formatter(bytes, numBytes); }
282 
print_void_data(const void * o,int oSize,const std::string & s,bool commaNeeded=true)283 static void print_void_data(const void * o, int oSize, const std::string& s, bool commaNeeded=true)
284 {
285 	if (o != NULL && oSize != 0)
286 	{
287 		PRINT_SPACE _OUT << "\"" << s << "\"" << " : " << "\"" << toBase64((deUint8*)o, oSize) << "\"" << (commaNeeded ? "," : "") << std::endl;
288 	}
289 	else
290 	{
291 		PRINT_SPACE _OUT << "\"" << s << "\"" << " : " << "\"NULL\"" << (commaNeeded ? "," : "") << std::endl;
292 	}
293 }
294 
print_VkBool32(VkBool32 obj,const std::string & str,bool commaNeeded=true)295 static void print_VkBool32(VkBool32 obj, const std::string& str, bool commaNeeded=true) {
296      PRINT_SPACE
297      _OUT << "\"" << str << "\"" << " : " << "\"" << ((obj == 0) ? ("VK_FALSE") : ("VK_TRUE")) << "\"" << (commaNeeded ? "," : "") << std::endl;
298 }
print_VkBool32(const VkBool32 * obj,const std::string & str,bool commaNeeded=true)299 static void print_VkBool32(const VkBool32 * obj, const std::string& str, bool commaNeeded=true) {
300      PRINT_SPACE
301      _OUT << "\"" << str << "\"" << " : " << "\"" << ((obj == 0) ? ("VK_FALSE") : ("VK_TRUE")) << "\"" << (commaNeeded ? "," : "") << std::endl;
302 }
303 
print_VkDeviceAddress(VkDeviceAddress obj,const std::string & str,bool commaNeeded=true)304 static void print_VkDeviceAddress(VkDeviceAddress obj, const std::string& str, bool commaNeeded=true) {
305      PRINT_SPACE
306      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
307 }
print_VkDeviceAddress(const VkDeviceAddress * obj,const std::string & str,bool commaNeeded=true)308 static void print_VkDeviceAddress(const VkDeviceAddress * obj, const std::string& str, bool commaNeeded=true) {
309      PRINT_SPACE
310      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
311 }
312 
print_VkDeviceSize(VkDeviceSize obj,const std::string & str,bool commaNeeded=true)313 static void print_VkDeviceSize(VkDeviceSize obj, const std::string& str, bool commaNeeded=true) {
314      PRINT_SPACE
315      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
316 }
print_VkDeviceSize(const VkDeviceSize * obj,const std::string & str,bool commaNeeded=true)317 static void print_VkDeviceSize(const VkDeviceSize * obj, const std::string& str, bool commaNeeded=true) {
318      PRINT_SPACE
319      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
320 }
321 
print_VkFlags(VkFlags obj,const std::string & str,bool commaNeeded=true)322 static void print_VkFlags(VkFlags obj, const std::string& str, bool commaNeeded=true) {
323      PRINT_SPACE
324      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
325 }
print_VkFlags(const VkFlags * obj,const std::string & str,bool commaNeeded=true)326 static void print_VkFlags(const VkFlags * obj, const std::string& str, bool commaNeeded=true) {
327      PRINT_SPACE
328      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
329 }
330 
print_VkSampleMask(VkSampleMask obj,const std::string & str,bool commaNeeded=true)331 static void print_VkSampleMask(VkSampleMask obj, const std::string& str, bool commaNeeded=true) {
332      PRINT_SPACE
333      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
334 }
print_VkSampleMask(const VkSampleMask * obj,const std::string & str,bool commaNeeded=true)335 static void print_VkSampleMask(const VkSampleMask * obj, const std::string& str, bool commaNeeded=true) {
336      PRINT_SPACE
337      _OUT << "\"" << str << "\"" << " : " << "\"" << obj << "\"" << (commaNeeded ? "," : "") << std::endl;
338 }
339 
print_VkBuffer(VkBuffer obj,const std::string & str,bool commaNeeded=true)340 static void print_VkBuffer(VkBuffer obj, const std::string& str, bool commaNeeded=true) {
341      PRINT_SPACE
342      if (commaNeeded)
343          _OUT << "\"" << str << "\"" << "," << std::endl;
344      else
345          _OUT << "\"" << str << "\"" << std::endl;
346 }
print_VkBuffer(const VkBuffer * obj,const std::string & str,bool commaNeeded=true)347 static void print_VkBuffer(const VkBuffer * obj, const std::string& str, bool commaNeeded=true) {
348      PRINT_SPACE
349      if (commaNeeded)
350          _OUT << "\"" << str << "\"" << "," << std::endl;
351      else
352          _OUT << "\"" << str << "\"" << std::endl;
353 }
354 
print_VkImage(VkImage obj,const std::string & str,bool commaNeeded=true)355 static void print_VkImage(VkImage obj, const std::string& str, bool commaNeeded=true) {
356      PRINT_SPACE
357      if (commaNeeded)
358          _OUT << "\"" << str << "\"" << "," << std::endl;
359      else
360          _OUT << "\"" << str << "\"" << std::endl;
361 }
print_VkImage(const VkImage * obj,const std::string & str,bool commaNeeded=true)362 static void print_VkImage(const VkImage * obj, const std::string& str, bool commaNeeded=true) {
363      PRINT_SPACE
364      if (commaNeeded)
365          _OUT << "\"" << str << "\"" << "," << std::endl;
366      else
367          _OUT << "\"" << str << "\"" << std::endl;
368 }
369 
print_VkInstance(VkInstance obj,const std::string & str,bool commaNeeded=true)370 static void print_VkInstance(VkInstance obj, const std::string& str, bool commaNeeded=true) {
371      PRINT_SPACE
372      if (commaNeeded)
373          _OUT << "\"" << str << "\"" << "," << std::endl;
374      else
375          _OUT << "\"" << str << "\"" << std::endl;
376 }
print_VkInstance(const VkInstance * obj,const std::string & str,bool commaNeeded=true)377 static void print_VkInstance(const VkInstance * obj, const std::string& str, bool commaNeeded=true) {
378      PRINT_SPACE
379      if (commaNeeded)
380          _OUT << "\"" << str << "\"" << "," << std::endl;
381      else
382          _OUT << "\"" << str << "\"" << std::endl;
383 }
384 
print_VkPhysicalDevice(VkPhysicalDevice obj,const std::string & str,bool commaNeeded=true)385 static void print_VkPhysicalDevice(VkPhysicalDevice obj, const std::string& str, bool commaNeeded=true) {
386      PRINT_SPACE
387      if (commaNeeded)
388          _OUT << "\"" << str << "\"" << "," << std::endl;
389      else
390          _OUT << "\"" << str << "\"" << std::endl;
391 }
print_VkPhysicalDevice(const VkPhysicalDevice * obj,const std::string & str,bool commaNeeded=true)392 static void print_VkPhysicalDevice(const VkPhysicalDevice * obj, const std::string& str, bool commaNeeded=true) {
393      PRINT_SPACE
394      if (commaNeeded)
395          _OUT << "\"" << str << "\"" << "," << std::endl;
396      else
397          _OUT << "\"" << str << "\"" << std::endl;
398 }
399 
print_VkDevice(VkDevice obj,const std::string & str,bool commaNeeded=true)400 static void print_VkDevice(VkDevice obj, const std::string& str, bool commaNeeded=true) {
401      PRINT_SPACE
402      if (commaNeeded)
403          _OUT << "\"" << str << "\"" << "," << std::endl;
404      else
405          _OUT << "\"" << str << "\"" << std::endl;
406 }
print_VkDevice(const VkDevice * obj,const std::string & str,bool commaNeeded=true)407 static void print_VkDevice(const VkDevice * obj, const std::string& str, bool commaNeeded=true) {
408      PRINT_SPACE
409      if (commaNeeded)
410          _OUT << "\"" << str << "\"" << "," << std::endl;
411      else
412          _OUT << "\"" << str << "\"" << std::endl;
413 }
414 
print_VkQueue(VkQueue obj,const std::string & str,bool commaNeeded=true)415 static void print_VkQueue(VkQueue obj, const std::string& str, bool commaNeeded=true) {
416      PRINT_SPACE
417      if (commaNeeded)
418          _OUT << "\"" << str << "\"" << "," << std::endl;
419      else
420          _OUT << "\"" << str << "\"" << std::endl;
421 }
print_VkQueue(const VkQueue * obj,const std::string & str,bool commaNeeded=true)422 static void print_VkQueue(const VkQueue * obj, const std::string& str, bool commaNeeded=true) {
423      PRINT_SPACE
424      if (commaNeeded)
425          _OUT << "\"" << str << "\"" << "," << std::endl;
426      else
427          _OUT << "\"" << str << "\"" << std::endl;
428 }
429 
print_VkSemaphore(VkSemaphore obj,const std::string & str,bool commaNeeded=true)430 static void print_VkSemaphore(VkSemaphore obj, const std::string& str, bool commaNeeded=true) {
431      PRINT_SPACE
432      if (commaNeeded)
433          _OUT << "\"" << str << "\"" << "," << std::endl;
434      else
435          _OUT << "\"" << str << "\"" << std::endl;
436 }
print_VkSemaphore(const VkSemaphore * obj,const std::string & str,bool commaNeeded=true)437 static void print_VkSemaphore(const VkSemaphore * obj, const std::string& str, bool commaNeeded=true) {
438      PRINT_SPACE
439      if (commaNeeded)
440          _OUT << "\"" << str << "\"" << "," << std::endl;
441      else
442          _OUT << "\"" << str << "\"" << std::endl;
443 }
444 
print_VkCommandBuffer(VkCommandBuffer obj,const std::string & str,bool commaNeeded=true)445 static void print_VkCommandBuffer(VkCommandBuffer obj, const std::string& str, bool commaNeeded=true) {
446      PRINT_SPACE
447      if (commaNeeded)
448          _OUT << "\"" << str << "\"" << "," << std::endl;
449      else
450          _OUT << "\"" << str << "\"" << std::endl;
451 }
print_VkCommandBuffer(const VkCommandBuffer * obj,const std::string & str,bool commaNeeded=true)452 static void print_VkCommandBuffer(const VkCommandBuffer * obj, const std::string& str, bool commaNeeded=true) {
453      PRINT_SPACE
454      if (commaNeeded)
455          _OUT << "\"" << str << "\"" << "," << std::endl;
456      else
457          _OUT << "\"" << str << "\"" << std::endl;
458 }
459 
print_VkFence(VkFence obj,const std::string & str,bool commaNeeded=true)460 static void print_VkFence(VkFence obj, const std::string& str, bool commaNeeded=true) {
461      PRINT_SPACE
462      if (commaNeeded)
463          _OUT << "\"" << str << "\"" << "," << std::endl;
464      else
465          _OUT << "\"" << str << "\"" << std::endl;
466 }
print_VkFence(const VkFence * obj,const std::string & str,bool commaNeeded=true)467 static void print_VkFence(const VkFence * obj, const std::string& str, bool commaNeeded=true) {
468      PRINT_SPACE
469      if (commaNeeded)
470          _OUT << "\"" << str << "\"" << "," << std::endl;
471      else
472          _OUT << "\"" << str << "\"" << std::endl;
473 }
474 
print_VkDeviceMemory(VkDeviceMemory obj,const std::string & str,bool commaNeeded=true)475 static void print_VkDeviceMemory(VkDeviceMemory obj, const std::string& str, bool commaNeeded=true) {
476      PRINT_SPACE
477      if (commaNeeded)
478          _OUT << "\"" << str << "\"" << "," << std::endl;
479      else
480          _OUT << "\"" << str << "\"" << std::endl;
481 }
print_VkDeviceMemory(const VkDeviceMemory * obj,const std::string & str,bool commaNeeded=true)482 static void print_VkDeviceMemory(const VkDeviceMemory * obj, const std::string& str, bool commaNeeded=true) {
483      PRINT_SPACE
484      if (commaNeeded)
485          _OUT << "\"" << str << "\"" << "," << std::endl;
486      else
487          _OUT << "\"" << str << "\"" << std::endl;
488 }
489 
print_VkEvent(VkEvent obj,const std::string & str,bool commaNeeded=true)490 static void print_VkEvent(VkEvent obj, const std::string& str, bool commaNeeded=true) {
491      PRINT_SPACE
492      if (commaNeeded)
493          _OUT << "\"" << str << "\"" << "," << std::endl;
494      else
495          _OUT << "\"" << str << "\"" << std::endl;
496 }
print_VkEvent(const VkEvent * obj,const std::string & str,bool commaNeeded=true)497 static void print_VkEvent(const VkEvent * obj, const std::string& str, bool commaNeeded=true) {
498      PRINT_SPACE
499      if (commaNeeded)
500          _OUT << "\"" << str << "\"" << "," << std::endl;
501      else
502          _OUT << "\"" << str << "\"" << std::endl;
503 }
504 
print_VkQueryPool(VkQueryPool obj,const std::string & str,bool commaNeeded=true)505 static void print_VkQueryPool(VkQueryPool obj, const std::string& str, bool commaNeeded=true) {
506      PRINT_SPACE
507      if (commaNeeded)
508          _OUT << "\"" << str << "\"" << "," << std::endl;
509      else
510          _OUT << "\"" << str << "\"" << std::endl;
511 }
print_VkQueryPool(const VkQueryPool * obj,const std::string & str,bool commaNeeded=true)512 static void print_VkQueryPool(const VkQueryPool * obj, const std::string& str, bool commaNeeded=true) {
513      PRINT_SPACE
514      if (commaNeeded)
515          _OUT << "\"" << str << "\"" << "," << std::endl;
516      else
517          _OUT << "\"" << str << "\"" << std::endl;
518 }
519 
print_VkBufferView(VkBufferView obj,const std::string & str,bool commaNeeded=true)520 static void print_VkBufferView(VkBufferView obj, const std::string& str, bool commaNeeded=true) {
521      PRINT_SPACE
522      if (commaNeeded)
523          _OUT << "\"" << str << "\"" << "," << std::endl;
524      else
525          _OUT << "\"" << str << "\"" << std::endl;
526 }
print_VkBufferView(const VkBufferView * obj,const std::string & str,bool commaNeeded=true)527 static void print_VkBufferView(const VkBufferView * obj, const std::string& str, bool commaNeeded=true) {
528      PRINT_SPACE
529      if (commaNeeded)
530          _OUT << "\"" << str << "\"" << "," << std::endl;
531      else
532          _OUT << "\"" << str << "\"" << std::endl;
533 }
534 
print_VkImageView(VkImageView obj,const std::string & str,bool commaNeeded=true)535 static void print_VkImageView(VkImageView obj, const std::string& str, bool commaNeeded=true) {
536      PRINT_SPACE
537      if (commaNeeded)
538          _OUT << "\"" << str << "\"" << "," << std::endl;
539      else
540          _OUT << "\"" << str << "\"" << std::endl;
541 }
print_VkImageView(const VkImageView * obj,const std::string & str,bool commaNeeded=true)542 static void print_VkImageView(const VkImageView * obj, const std::string& str, bool commaNeeded=true) {
543      PRINT_SPACE
544      if (commaNeeded)
545          _OUT << "\"" << str << "\"" << "," << std::endl;
546      else
547          _OUT << "\"" << str << "\"" << std::endl;
548 }
549 
print_VkShaderModule(VkShaderModule obj,const std::string & str,bool commaNeeded=true)550 static void print_VkShaderModule(VkShaderModule obj, const std::string& str, bool commaNeeded=true) {
551      PRINT_SPACE
552      if (commaNeeded)
553          _OUT << "\"" << str << "\"" << "," << std::endl;
554      else
555          _OUT << "\"" << str << "\"" << std::endl;
556 }
print_VkShaderModule(const VkShaderModule * obj,const std::string & str,bool commaNeeded=true)557 static void print_VkShaderModule(const VkShaderModule * obj, const std::string& str, bool commaNeeded=true) {
558      PRINT_SPACE
559      if (commaNeeded)
560          _OUT << "\"" << str << "\"" << "," << std::endl;
561      else
562          _OUT << "\"" << str << "\"" << std::endl;
563 }
564 
print_VkPipelineCache(VkPipelineCache obj,const std::string & str,bool commaNeeded=true)565 static void print_VkPipelineCache(VkPipelineCache obj, const std::string& str, bool commaNeeded=true) {
566      PRINT_SPACE
567      if (commaNeeded)
568          _OUT << "\"" << str << "\"" << "," << std::endl;
569      else
570          _OUT << "\"" << str << "\"" << std::endl;
571 }
print_VkPipelineCache(const VkPipelineCache * obj,const std::string & str,bool commaNeeded=true)572 static void print_VkPipelineCache(const VkPipelineCache * obj, const std::string& str, bool commaNeeded=true) {
573      PRINT_SPACE
574      if (commaNeeded)
575          _OUT << "\"" << str << "\"" << "," << std::endl;
576      else
577          _OUT << "\"" << str << "\"" << std::endl;
578 }
579 
print_VkPipelineLayout(VkPipelineLayout obj,const std::string & str,bool commaNeeded=true)580 static void print_VkPipelineLayout(VkPipelineLayout obj, const std::string& str, bool commaNeeded=true) {
581      PRINT_SPACE
582      if (commaNeeded)
583          _OUT << "\"" << str << "\"" << "," << std::endl;
584      else
585          _OUT << "\"" << str << "\"" << std::endl;
586 }
print_VkPipelineLayout(const VkPipelineLayout * obj,const std::string & str,bool commaNeeded=true)587 static void print_VkPipelineLayout(const VkPipelineLayout * obj, const std::string& str, bool commaNeeded=true) {
588      PRINT_SPACE
589      if (commaNeeded)
590          _OUT << "\"" << str << "\"" << "," << std::endl;
591      else
592          _OUT << "\"" << str << "\"" << std::endl;
593 }
594 
print_VkPipeline(VkPipeline obj,const std::string & str,bool commaNeeded=true)595 static void print_VkPipeline(VkPipeline obj, const std::string& str, bool commaNeeded=true) {
596      PRINT_SPACE
597      if (commaNeeded)
598          _OUT << "\"" << str << "\"" << "," << std::endl;
599      else
600          _OUT << "\"" << str << "\"" << std::endl;
601 }
print_VkPipeline(const VkPipeline * obj,const std::string & str,bool commaNeeded=true)602 static void print_VkPipeline(const VkPipeline * obj, const std::string& str, bool commaNeeded=true) {
603      PRINT_SPACE
604      if (commaNeeded)
605          _OUT << "\"" << str << "\"" << "," << std::endl;
606      else
607          _OUT << "\"" << str << "\"" << std::endl;
608 }
609 
print_VkRenderPass(VkRenderPass obj,const std::string & str,bool commaNeeded=true)610 static void print_VkRenderPass(VkRenderPass obj, const std::string& str, bool commaNeeded=true) {
611      PRINT_SPACE
612      if (commaNeeded)
613          _OUT << "\"" << str << "\"" << "," << std::endl;
614      else
615          _OUT << "\"" << str << "\"" << std::endl;
616 }
print_VkRenderPass(const VkRenderPass * obj,const std::string & str,bool commaNeeded=true)617 static void print_VkRenderPass(const VkRenderPass * obj, const std::string& str, bool commaNeeded=true) {
618      PRINT_SPACE
619      if (commaNeeded)
620          _OUT << "\"" << str << "\"" << "," << std::endl;
621      else
622          _OUT << "\"" << str << "\"" << std::endl;
623 }
624 
print_VkDescriptorSetLayout(VkDescriptorSetLayout obj,const std::string & str,bool commaNeeded=true)625 static void print_VkDescriptorSetLayout(VkDescriptorSetLayout obj, const std::string& str, bool commaNeeded=true) {
626      PRINT_SPACE
627      if (commaNeeded)
628          _OUT << "\"" << str << "\"" << "," << std::endl;
629      else
630          _OUT << "\"" << str << "\"" << std::endl;
631 }
print_VkDescriptorSetLayout(const VkDescriptorSetLayout * obj,const std::string & str,bool commaNeeded=true)632 static void print_VkDescriptorSetLayout(const VkDescriptorSetLayout * obj, const std::string& str, bool commaNeeded=true) {
633      PRINT_SPACE
634      if (commaNeeded)
635          _OUT << "\"" << str << "\"" << "," << std::endl;
636      else
637          _OUT << "\"" << str << "\"" << std::endl;
638 }
639 
print_VkSampler(VkSampler obj,const std::string & str,bool commaNeeded=true)640 static void print_VkSampler(VkSampler obj, const std::string& str, bool commaNeeded=true) {
641      PRINT_SPACE
642      if (commaNeeded)
643          _OUT << "\"" << str << "\"" << "," << std::endl;
644      else
645          _OUT << "\"" << str << "\"" << std::endl;
646 }
print_VkSampler(const VkSampler * obj,const std::string & str,bool commaNeeded=true)647 static void print_VkSampler(const VkSampler * obj, const std::string& str, bool commaNeeded=true) {
648      PRINT_SPACE
649      if (commaNeeded)
650          _OUT << "\"" << str << "\"" << "," << std::endl;
651      else
652          _OUT << "\"" << str << "\"" << std::endl;
653 }
654 
print_VkDescriptorSet(VkDescriptorSet obj,const std::string & str,bool commaNeeded=true)655 static void print_VkDescriptorSet(VkDescriptorSet obj, const std::string& str, bool commaNeeded=true) {
656      PRINT_SPACE
657      if (commaNeeded)
658          _OUT << "\"" << str << "\"" << "," << std::endl;
659      else
660          _OUT << "\"" << str << "\"" << std::endl;
661 }
print_VkDescriptorSet(const VkDescriptorSet * obj,const std::string & str,bool commaNeeded=true)662 static void print_VkDescriptorSet(const VkDescriptorSet * obj, const std::string& str, bool commaNeeded=true) {
663      PRINT_SPACE
664      if (commaNeeded)
665          _OUT << "\"" << str << "\"" << "," << std::endl;
666      else
667          _OUT << "\"" << str << "\"" << std::endl;
668 }
669 
print_VkDescriptorPool(VkDescriptorPool obj,const std::string & str,bool commaNeeded=true)670 static void print_VkDescriptorPool(VkDescriptorPool obj, const std::string& str, bool commaNeeded=true) {
671      PRINT_SPACE
672      if (commaNeeded)
673          _OUT << "\"" << str << "\"" << "," << std::endl;
674      else
675          _OUT << "\"" << str << "\"" << std::endl;
676 }
print_VkDescriptorPool(const VkDescriptorPool * obj,const std::string & str,bool commaNeeded=true)677 static void print_VkDescriptorPool(const VkDescriptorPool * obj, const std::string& str, bool commaNeeded=true) {
678      PRINT_SPACE
679      if (commaNeeded)
680          _OUT << "\"" << str << "\"" << "," << std::endl;
681      else
682          _OUT << "\"" << str << "\"" << std::endl;
683 }
684 
print_VkFramebuffer(VkFramebuffer obj,const std::string & str,bool commaNeeded=true)685 static void print_VkFramebuffer(VkFramebuffer obj, const std::string& str, bool commaNeeded=true) {
686      PRINT_SPACE
687      if (commaNeeded)
688          _OUT << "\"" << str << "\"" << "," << std::endl;
689      else
690          _OUT << "\"" << str << "\"" << std::endl;
691 }
print_VkFramebuffer(const VkFramebuffer * obj,const std::string & str,bool commaNeeded=true)692 static void print_VkFramebuffer(const VkFramebuffer * obj, const std::string& str, bool commaNeeded=true) {
693      PRINT_SPACE
694      if (commaNeeded)
695          _OUT << "\"" << str << "\"" << "," << std::endl;
696      else
697          _OUT << "\"" << str << "\"" << std::endl;
698 }
699 
print_VkCommandPool(VkCommandPool obj,const std::string & str,bool commaNeeded=true)700 static void print_VkCommandPool(VkCommandPool obj, const std::string& str, bool commaNeeded=true) {
701      PRINT_SPACE
702      if (commaNeeded)
703          _OUT << "\"" << str << "\"" << "," << std::endl;
704      else
705          _OUT << "\"" << str << "\"" << std::endl;
706 }
print_VkCommandPool(const VkCommandPool * obj,const std::string & str,bool commaNeeded=true)707 static void print_VkCommandPool(const VkCommandPool * obj, const std::string& str, bool commaNeeded=true) {
708      PRINT_SPACE
709      if (commaNeeded)
710          _OUT << "\"" << str << "\"" << "," << std::endl;
711      else
712          _OUT << "\"" << str << "\"" << std::endl;
713 }
714 
715 static std::map<deUint64, std::string> VkResult_map = {
716     std::make_pair(0, "VK_SUCCESS"),
717     std::make_pair(1, "VK_NOT_READY"),
718     std::make_pair(2, "VK_TIMEOUT"),
719     std::make_pair(3, "VK_EVENT_SET"),
720     std::make_pair(4, "VK_EVENT_RESET"),
721     std::make_pair(5, "VK_INCOMPLETE"),
722     std::make_pair(-1, "VK_ERROR_OUT_OF_HOST_MEMORY"),
723     std::make_pair(-2, "VK_ERROR_OUT_OF_DEVICE_MEMORY"),
724     std::make_pair(-3, "VK_ERROR_INITIALIZATION_FAILED"),
725     std::make_pair(-4, "VK_ERROR_DEVICE_LOST"),
726     std::make_pair(-5, "VK_ERROR_MEMORY_MAP_FAILED"),
727     std::make_pair(-6, "VK_ERROR_LAYER_NOT_PRESENT"),
728     std::make_pair(-7, "VK_ERROR_EXTENSION_NOT_PRESENT"),
729     std::make_pair(-8, "VK_ERROR_FEATURE_NOT_PRESENT"),
730     std::make_pair(-9, "VK_ERROR_INCOMPATIBLE_DRIVER"),
731     std::make_pair(-10, "VK_ERROR_TOO_MANY_OBJECTS"),
732     std::make_pair(-11, "VK_ERROR_FORMAT_NOT_SUPPORTED"),
733     std::make_pair(-12, "VK_ERROR_FRAGMENTED_POOL"),
734     std::make_pair(-13, "VK_ERROR_UNKNOWN"),
735     std::make_pair(1000069000, "VK_ERROR_OUT_OF_POOL_MEMORY"),
736     std::make_pair(1000072003, "VK_ERROR_INVALID_EXTERNAL_HANDLE"),
737     std::make_pair(1000161000, "VK_ERROR_FRAGMENTATION"),
738     std::make_pair(1000257000, "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"),
739     std::make_pair(1000011001, "VK_ERROR_VALIDATION_FAILED"),
740     std::make_pair(1000298000, "VK_ERROR_INVALID_PIPELINE_CACHE_DATA"),
741     std::make_pair(1000298001, "VK_ERROR_NO_PIPELINE_MATCH"),
742     std::make_pair(1000000000, "VK_ERROR_SURFACE_LOST_KHR"),
743     std::make_pair(1000000001, "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"),
744     std::make_pair(1000001003, "VK_SUBOPTIMAL_KHR"),
745     std::make_pair(1000001004, "VK_ERROR_OUT_OF_DATE_KHR"),
746     std::make_pair(1000003001, "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"),
747     std::make_pair(1000012000, "VK_ERROR_INVALID_SHADER_NV"),
748     std::make_pair(1000158000, "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"),
749     std::make_pair(1000174001, "VK_ERROR_NOT_PERMITTED_EXT"),
750     std::make_pair(1000255000, "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT"),
751     std::make_pair(1000268000, "VK_THREAD_IDLE_KHR"),
752     std::make_pair(1000268001, "VK_THREAD_DONE_KHR"),
753     std::make_pair(1000268002, "VK_OPERATION_DEFERRED_KHR"),
754     std::make_pair(1000268003, "VK_OPERATION_NOT_DEFERRED_KHR"),
755     std::make_pair(1000297000, "VK_PIPELINE_COMPILE_REQUIRED_EXT"),
756 };
print_VkResult(VkResult obj,const std::string & str,bool commaNeeded=true)757 static void print_VkResult(VkResult obj, const std::string& str, bool commaNeeded=true) {
758      PRINT_SPACE
759      if (str != "") _OUT << "\"" << str << "\"" << " : ";
760      if (commaNeeded)
761          _OUT << "\"" <<  VkResult_map[obj] << "\"," << std::endl;
762      else
763          _OUT << "\"" << VkResult_map[obj] << "\"" << std::endl;
764 }
print_VkResult(const VkResult * obj,const std::string & str,bool commaNeeded=true)765 static void print_VkResult(const VkResult * obj, const std::string& str, bool commaNeeded=true) {
766      PRINT_SPACE
767      if (str != "") _OUT << "\"" << str << "\"" << " : ";
768      if (commaNeeded)
769          _OUT << "\"" <<  VkResult_map[*obj] << "\"," << std::endl;
770      else
771          _OUT << "\"" << VkResult_map[*obj] << "\"" << std::endl;
772 }
773 
774 static std::map<deUint64, std::string> VkStructureType_map = {
775     std::make_pair(0, "VK_STRUCTURE_TYPE_APPLICATION_INFO"),
776     std::make_pair(1, "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"),
777     std::make_pair(2, "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"),
778     std::make_pair(3, "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"),
779     std::make_pair(4, "VK_STRUCTURE_TYPE_SUBMIT_INFO"),
780     std::make_pair(5, "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"),
781     std::make_pair(6, "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"),
782     std::make_pair(8, "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"),
783     std::make_pair(9, "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"),
784     std::make_pair(10, "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"),
785     std::make_pair(11, "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"),
786     std::make_pair(12, "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"),
787     std::make_pair(13, "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"),
788     std::make_pair(14, "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"),
789     std::make_pair(15, "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"),
790     std::make_pair(17, "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"),
791     std::make_pair(18, "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"),
792     std::make_pair(19, "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"),
793     std::make_pair(20, "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"),
794     std::make_pair(21, "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"),
795     std::make_pair(22, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"),
796     std::make_pair(23, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"),
797     std::make_pair(24, "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"),
798     std::make_pair(25, "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"),
799     std::make_pair(26, "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"),
800     std::make_pair(27, "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"),
801     std::make_pair(28, "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"),
802     std::make_pair(29, "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"),
803     std::make_pair(30, "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"),
804     std::make_pair(31, "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"),
805     std::make_pair(32, "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"),
806     std::make_pair(33, "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"),
807     std::make_pair(34, "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"),
808     std::make_pair(35, "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"),
809     std::make_pair(36, "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"),
810     std::make_pair(37, "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"),
811     std::make_pair(38, "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"),
812     std::make_pair(39, "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"),
813     std::make_pair(40, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"),
814     std::make_pair(41, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"),
815     std::make_pair(42, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"),
816     std::make_pair(43, "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"),
817     std::make_pair(44, "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"),
818     std::make_pair(45, "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"),
819     std::make_pair(46, "VK_STRUCTURE_TYPE_MEMORY_BARRIER"),
820     std::make_pair(47, "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"),
821     std::make_pair(48, "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"),
822     std::make_pair(1000094000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"),
823     std::make_pair(1000157000, "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO"),
824     std::make_pair(1000157001, "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO"),
825     std::make_pair(1000083000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"),
826     std::make_pair(1000127000, "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS"),
827     std::make_pair(1000127001, "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO"),
828     std::make_pair(1000060000, "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"),
829     std::make_pair(1000060003, "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"),
830     std::make_pair(1000060004, "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO"),
831     std::make_pair(1000060005, "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO"),
832     std::make_pair(1000060013, "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO"),
833     std::make_pair(1000060014, "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO"),
834     std::make_pair(1000070000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES"),
835     std::make_pair(1000070001, "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO"),
836     std::make_pair(1000146000, "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2"),
837     std::make_pair(1000146001, "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2"),
838     std::make_pair(1000146003, "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2"),
839     std::make_pair(1000059000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2"),
840     std::make_pair(1000059001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2"),
841     std::make_pair(1000059002, "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2"),
842     std::make_pair(1000059003, "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2"),
843     std::make_pair(1000059004, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2"),
844     std::make_pair(1000059005, "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2"),
845     std::make_pair(1000059006, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2"),
846     std::make_pair(1000117000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"),
847     std::make_pair(1000117001, "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO"),
848     std::make_pair(1000117002, "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO"),
849     std::make_pair(1000117003, "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"),
850     std::make_pair(1000053000, "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO"),
851     std::make_pair(1000053001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"),
852     std::make_pair(1000053002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"),
853     std::make_pair(1000120000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"),
854     std::make_pair(1000145000, "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO"),
855     std::make_pair(1000145001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES"),
856     std::make_pair(1000145002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES"),
857     std::make_pair(1000145003, "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2"),
858     std::make_pair(1000156000, "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"),
859     std::make_pair(1000156001, "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"),
860     std::make_pair(1000156002, "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO"),
861     std::make_pair(1000156003, "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"),
862     std::make_pair(1000156004, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"),
863     std::make_pair(1000156005, "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"),
864     std::make_pair(1000071000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO"),
865     std::make_pair(1000071001, "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES"),
866     std::make_pair(1000071002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO"),
867     std::make_pair(1000071003, "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES"),
868     std::make_pair(1000071004, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"),
869     std::make_pair(1000072000, "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO"),
870     std::make_pair(1000072001, "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO"),
871     std::make_pair(1000072002, "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO"),
872     std::make_pair(1000112000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO"),
873     std::make_pair(1000112001, "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES"),
874     std::make_pair(1000113000, "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO"),
875     std::make_pair(1000077000, "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO"),
876     std::make_pair(1000076000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO"),
877     std::make_pair(1000076001, "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES"),
878     std::make_pair(1000168000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"),
879     std::make_pair(1000168001, "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"),
880     std::make_pair(1000063000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"),
881     std::make_pair(49, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"),
882     std::make_pair(50, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"),
883     std::make_pair(51, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"),
884     std::make_pair(52, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"),
885     std::make_pair(1000147000, "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO"),
886     std::make_pair(1000109000, "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2"),
887     std::make_pair(1000109001, "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2"),
888     std::make_pair(1000109002, "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2"),
889     std::make_pair(1000109003, "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2"),
890     std::make_pair(1000109004, "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2"),
891     std::make_pair(1000109005, "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO"),
892     std::make_pair(1000109006, "VK_STRUCTURE_TYPE_SUBPASS_END_INFO"),
893     std::make_pair(1000177000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"),
894     std::make_pair(1000196000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"),
895     std::make_pair(1000180000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES"),
896     std::make_pair(1000082000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"),
897     std::make_pair(1000197000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"),
898     std::make_pair(1000161000, "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"),
899     std::make_pair(1000161001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES"),
900     std::make_pair(1000161002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"),
901     std::make_pair(1000161003, "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO"),
902     std::make_pair(1000161004, "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT"),
903     std::make_pair(1000199000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"),
904     std::make_pair(1000199001, "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE"),
905     std::make_pair(1000221000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES"),
906     std::make_pair(1000246000, "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO"),
907     std::make_pair(1000130000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"),
908     std::make_pair(1000130001, "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO"),
909     std::make_pair(1000211000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES"),
910     std::make_pair(1000108000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"),
911     std::make_pair(1000108001, "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"),
912     std::make_pair(1000108002, "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO"),
913     std::make_pair(1000108003, "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO"),
914     std::make_pair(1000253000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"),
915     std::make_pair(1000175000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"),
916     std::make_pair(1000241000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES"),
917     std::make_pair(1000241001, "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT"),
918     std::make_pair(1000241002, "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT"),
919     std::make_pair(1000261000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES"),
920     std::make_pair(1000207000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES"),
921     std::make_pair(1000207001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES"),
922     std::make_pair(1000207002, "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO"),
923     std::make_pair(1000207003, "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO"),
924     std::make_pair(1000207004, "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO"),
925     std::make_pair(1000207005, "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO"),
926     std::make_pair(1000257000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES"),
927     std::make_pair(1000244001, "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO"),
928     std::make_pair(1000257002, "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO"),
929     std::make_pair(1000257003, "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO"),
930     std::make_pair(1000257004, "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO"),
931     std::make_pair(1000298000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES"),
932     std::make_pair(1000298001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES"),
933     std::make_pair(1000298002, "VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO"),
934     std::make_pair(1000298003, "VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO"),
935     std::make_pair(1000298004, "VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION"),
936     std::make_pair(1000298005, "VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE"),
937     std::make_pair(1000298007, "VK_STRUCTURE_TYPE_FAULT_DATA"),
938     std::make_pair(1000298008, "VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO"),
939     std::make_pair(1000298010, "VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO"),
940     std::make_pair(1000001000, "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"),
941     std::make_pair(1000001001, "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"),
942     std::make_pair(1000060007, "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"),
943     std::make_pair(1000060008, "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"),
944     std::make_pair(1000060009, "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR"),
945     std::make_pair(1000060010, "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR"),
946     std::make_pair(1000060011, "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR"),
947     std::make_pair(1000060012, "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR"),
948     std::make_pair(1000002000, "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"),
949     std::make_pair(1000002001, "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"),
950     std::make_pair(1000003000, "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"),
951     std::make_pair(1000004000, "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR"),
952     std::make_pair(1000005000, "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR"),
953     std::make_pair(1000006000, "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR"),
954     std::make_pair(1000008000, "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR"),
955     std::make_pair(1000009000, "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR"),
956     std::make_pair(1000010000, "VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID"),
957     std::make_pair(1000010001, "VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID"),
958     std::make_pair(1000010002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID"),
959     std::make_pair(1000011000, "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"),
960     std::make_pair(1000018000, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD"),
961     std::make_pair(1000022000, "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT"),
962     std::make_pair(1000022001, "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT"),
963     std::make_pair(1000022002, "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT"),
964     std::make_pair(1000023000, "VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR"),
965     std::make_pair(1000023001, "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR"),
966     std::make_pair(1000023002, "VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR"),
967     std::make_pair(1000023003, "VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR"),
968     std::make_pair(1000023004, "VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR"),
969     std::make_pair(1000023005, "VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR"),
970     std::make_pair(1000023006, "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR"),
971     std::make_pair(1000023007, "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR"),
972     std::make_pair(1000023008, "VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR"),
973     std::make_pair(1000023009, "VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR"),
974     std::make_pair(1000023010, "VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR"),
975     std::make_pair(1000023011, "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR"),
976     std::make_pair(1000023012, "VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR"),
977     std::make_pair(1000023013, "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR"),
978     std::make_pair(1000023014, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR"),
979     std::make_pair(1000023015, "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"),
980     std::make_pair(1000024000, "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR"),
981     std::make_pair(1000026000, "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV"),
982     std::make_pair(1000026001, "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV"),
983     std::make_pair(1000026002, "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV"),
984     std::make_pair(1000028000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT"),
985     std::make_pair(1000028001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT"),
986     std::make_pair(1000028002, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT"),
987     std::make_pair(1000029000, "VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX"),
988     std::make_pair(1000029001, "VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX"),
989     std::make_pair(1000029002, "VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX"),
990     std::make_pair(1000030000, "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX"),
991     std::make_pair(1000030001, "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX"),
992     std::make_pair(1000038000, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"),
993     std::make_pair(1000038001, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT"),
994     std::make_pair(1000038002, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"),
995     std::make_pair(1000038003, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"),
996     std::make_pair(1000038004, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT"),
997     std::make_pair(1000038005, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT"),
998     std::make_pair(1000038006, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT"),
999     std::make_pair(1000038007, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT"),
1000     std::make_pair(1000038008, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT"),
1001     std::make_pair(1000038009, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT"),
1002     std::make_pair(1000038010, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT"),
1003     std::make_pair(1000039000, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT"),
1004     std::make_pair(1000039001, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT"),
1005     std::make_pair(1000039002, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT"),
1006     std::make_pair(1000039003, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"),
1007     std::make_pair(1000039004, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT"),
1008     std::make_pair(1000039005, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT"),
1009     std::make_pair(1000039006, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT"),
1010     std::make_pair(1000039007, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT"),
1011     std::make_pair(1000039008, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT"),
1012     std::make_pair(1000039009, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT"),
1013     std::make_pair(1000039010, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT"),
1014     std::make_pair(1000039011, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT"),
1015     std::make_pair(1000040000, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR"),
1016     std::make_pair(1000040001, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT"),
1017     std::make_pair(1000040002, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR"),
1018     std::make_pair(1000040003, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT"),
1019     std::make_pair(1000040004, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT"),
1020     std::make_pair(1000040005, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"),
1021     std::make_pair(1000040006, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR"),
1022     std::make_pair(1000040007, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR"),
1023     std::make_pair(1000041000, "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD"),
1024     std::make_pair(1000044000, "VK_STRUCTURE_TYPE_RENDERING_INFO_KHR"),
1025     std::make_pair(1000044001, "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR"),
1026     std::make_pair(1000044002, "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR"),
1027     std::make_pair(1000044003, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR"),
1028     std::make_pair(1000044004, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR"),
1029     std::make_pair(1000044006, "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"),
1030     std::make_pair(1000044007, "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT"),
1031     std::make_pair(1000044008, "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD"),
1032     std::make_pair(1000044009, "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX"),
1033     std::make_pair(1000049000, "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP"),
1034     std::make_pair(1000050000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV"),
1035     std::make_pair(1000056000, "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV"),
1036     std::make_pair(1000056001, "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV"),
1037     std::make_pair(1000057000, "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"),
1038     std::make_pair(1000057001, "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV"),
1039     std::make_pair(1000058000, "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"),
1040     std::make_pair(1000060007, "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"),
1041     std::make_pair(1000060008, "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"),
1042     std::make_pair(1000060009, "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR"),
1043     std::make_pair(1000060010, "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR"),
1044     std::make_pair(1000060011, "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR"),
1045     std::make_pair(1000060012, "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR"),
1046     std::make_pair(1000061000, "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT"),
1047     std::make_pair(1000062000, "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN"),
1048     std::make_pair(1000066000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT"),
1049     std::make_pair(1000067000, "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT"),
1050     std::make_pair(1000067001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT"),
1051     std::make_pair(1000073000, "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR"),
1052     std::make_pair(1000073001, "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR"),
1053     std::make_pair(1000073002, "VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR"),
1054     std::make_pair(1000073003, "VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR"),
1055     std::make_pair(1000074000, "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR"),
1056     std::make_pair(1000074001, "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR"),
1057     std::make_pair(1000074002, "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR"),
1058     std::make_pair(1000075000, "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR"),
1059     std::make_pair(1000078000, "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR"),
1060     std::make_pair(1000078001, "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR"),
1061     std::make_pair(1000078002, "VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR"),
1062     std::make_pair(1000078003, "VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR"),
1063     std::make_pair(1000079000, "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR"),
1064     std::make_pair(1000079001, "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR"),
1065     std::make_pair(1000080000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR"),
1066     std::make_pair(1000081000, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT"),
1067     std::make_pair(1000081001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT"),
1068     std::make_pair(1000081002, "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT"),
1069     std::make_pair(1000084000, "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"),
1070     std::make_pair(1000087000, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV"),
1071     std::make_pair(1000090000, "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT"),
1072     std::make_pair(1000091000, "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT"),
1073     std::make_pair(1000091001, "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT"),
1074     std::make_pair(1000091002, "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT"),
1075     std::make_pair(1000091003, "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT"),
1076     std::make_pair(1000092000, "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"),
1077     std::make_pair(1000097000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"),
1078     std::make_pair(1000098000, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV"),
1079     std::make_pair(1000099000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"),
1080     std::make_pair(1000099001, "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"),
1081     std::make_pair(1000101000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT"),
1082     std::make_pair(1000101001, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT"),
1083     std::make_pair(1000102000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT"),
1084     std::make_pair(1000102001, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT"),
1085     std::make_pair(1000105000, "VK_STRUCTURE_TYPE_HDR_METADATA_EXT"),
1086     std::make_pair(1000111000, "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR"),
1087     std::make_pair(1000114000, "VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR"),
1088     std::make_pair(1000114001, "VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR"),
1089     std::make_pair(1000114002, "VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR"),
1090     std::make_pair(1000115000, "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR"),
1091     std::make_pair(1000115001, "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR"),
1092     std::make_pair(1000116000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR"),
1093     std::make_pair(1000116001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR"),
1094     std::make_pair(1000116002, "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR"),
1095     std::make_pair(1000116003, "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR"),
1096     std::make_pair(1000116004, "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR"),
1097     std::make_pair(1000116005, "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR"),
1098     std::make_pair(1000116006, "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR"),
1099     std::make_pair(1000116007, "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR"),
1100     std::make_pair(1000119000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"),
1101     std::make_pair(1000119001, "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"),
1102     std::make_pair(1000119002, "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR"),
1103     std::make_pair(1000121000, "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR"),
1104     std::make_pair(1000121001, "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR"),
1105     std::make_pair(1000121002, "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR"),
1106     std::make_pair(1000121003, "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR"),
1107     std::make_pair(1000121004, "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR"),
1108     std::make_pair(1000122000, "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"),
1109     std::make_pair(1000123000, "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"),
1110     std::make_pair(1000128000, "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT"),
1111     std::make_pair(1000128001, "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT"),
1112     std::make_pair(1000128002, "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT"),
1113     std::make_pair(1000128003, "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT"),
1114     std::make_pair(1000128004, "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"),
1115     std::make_pair(1000129000, "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"),
1116     std::make_pair(1000129001, "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"),
1117     std::make_pair(1000129002, "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID"),
1118     std::make_pair(1000129003, "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"),
1119     std::make_pair(1000129004, "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"),
1120     std::make_pair(1000129005, "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"),
1121     std::make_pair(1000129006, "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID"),
1122     std::make_pair(1000138000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT"),
1123     std::make_pair(1000138001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT"),
1124     std::make_pair(1000138002, "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT"),
1125     std::make_pair(1000138003, "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT"),
1126     std::make_pair(1000143000, "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"),
1127     std::make_pair(1000143001, "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT"),
1128     std::make_pair(1000143002, "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT"),
1129     std::make_pair(1000143003, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT"),
1130     std::make_pair(1000143004, "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT"),
1131     std::make_pair(1000148000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT"),
1132     std::make_pair(1000148001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT"),
1133     std::make_pair(1000148002, "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT"),
1134     std::make_pair(1000149000, "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV"),
1135     std::make_pair(1000150007, "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"),
1136     std::make_pair(1000150000, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR"),
1137     std::make_pair(1000150002, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR"),
1138     std::make_pair(1000150003, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR"),
1139     std::make_pair(1000150004, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR"),
1140     std::make_pair(1000150005, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR"),
1141     std::make_pair(1000150006, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR"),
1142     std::make_pair(1000150009, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR"),
1143     std::make_pair(1000150010, "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR"),
1144     std::make_pair(1000150011, "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR"),
1145     std::make_pair(1000150012, "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR"),
1146     std::make_pair(1000150013, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR"),
1147     std::make_pair(1000150014, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR"),
1148     std::make_pair(1000150017, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR"),
1149     std::make_pair(1000150020, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR"),
1150     std::make_pair(1000347000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR"),
1151     std::make_pair(1000347001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR"),
1152     std::make_pair(1000150015, "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR"),
1153     std::make_pair(1000150016, "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR"),
1154     std::make_pair(1000150018, "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR"),
1155     std::make_pair(1000348013, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR"),
1156     std::make_pair(1000152000, "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV"),
1157     std::make_pair(1000154000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV"),
1158     std::make_pair(1000154001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV"),
1159     std::make_pair(1000158000, "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT"),
1160     std::make_pair(1000158002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT"),
1161     std::make_pair(1000158003, "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT"),
1162     std::make_pair(1000158004, "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"),
1163     std::make_pair(1000158005, "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT"),
1164     std::make_pair(1000158006, "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT"),
1165     std::make_pair(1000160000, "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT"),
1166     std::make_pair(1000160001, "VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT"),
1167     std::make_pair(1000163000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR"),
1168     std::make_pair(1000163001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR"),
1169     std::make_pair(1000164000, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV"),
1170     std::make_pair(1000164001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV"),
1171     std::make_pair(1000164002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV"),
1172     std::make_pair(1000164005, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV"),
1173     std::make_pair(1000165000, "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV"),
1174     std::make_pair(1000165001, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV"),
1175     std::make_pair(1000165003, "VK_STRUCTURE_TYPE_GEOMETRY_NV"),
1176     std::make_pair(1000165004, "VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV"),
1177     std::make_pair(1000165005, "VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV"),
1178     std::make_pair(1000165006, "VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV"),
1179     std::make_pair(1000165007, "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV"),
1180     std::make_pair(1000165008, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV"),
1181     std::make_pair(1000165009, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"),
1182     std::make_pair(1000165011, "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"),
1183     std::make_pair(1000165012, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV"),
1184     std::make_pair(1000166000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV"),
1185     std::make_pair(1000166001, "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV"),
1186     std::make_pair(1000170000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT"),
1187     std::make_pair(1000170001, "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT"),
1188     std::make_pair(1000174000, "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT"),
1189     std::make_pair(1000178000, "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT"),
1190     std::make_pair(1000178001, "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT"),
1191     std::make_pair(1000178002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT"),
1192     std::make_pair(1000181000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR"),
1193     std::make_pair(1000183000, "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD"),
1194     std::make_pair(1000184000, "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT"),
1195     std::make_pair(1000185000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD"),
1196     std::make_pair(1000187000, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT"),
1197     std::make_pair(1000187001, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT"),
1198     std::make_pair(1000187002, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT"),
1199     std::make_pair(1000187003, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"),
1200     std::make_pair(1000187004, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT"),
1201     std::make_pair(1000187005, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT"),
1202     std::make_pair(1000187006, "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT"),
1203     std::make_pair(1000189000, "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD"),
1204     std::make_pair(1000190000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT"),
1205     std::make_pair(1000190001, "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT"),
1206     std::make_pair(1000190002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT"),
1207     std::make_pair(1000191000, "VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP"),
1208     std::make_pair(1000192000, "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT"),
1209     std::make_pair(1000201000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV"),
1210     std::make_pair(1000202000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV"),
1211     std::make_pair(1000202001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV"),
1212     std::make_pair(1000203000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV"),
1213     std::make_pair(1000204000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV"),
1214     std::make_pair(1000205000, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV"),
1215     std::make_pair(1000205002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV"),
1216     std::make_pair(1000206000, "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"),
1217     std::make_pair(1000206001, "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"),
1218     std::make_pair(1000209000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL"),
1219     std::make_pair(1000210000, "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL"),
1220     std::make_pair(1000210001, "VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL"),
1221     std::make_pair(1000210002, "VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL"),
1222     std::make_pair(1000210003, "VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL"),
1223     std::make_pair(1000210004, "VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL"),
1224     std::make_pair(1000210005, "VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL"),
1225     std::make_pair(1000212000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT"),
1226     std::make_pair(1000213000, "VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD"),
1227     std::make_pair(1000213001, "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD"),
1228     std::make_pair(1000214000, "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA"),
1229     std::make_pair(1000215000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR"),
1230     std::make_pair(1000217000, "VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT"),
1231     std::make_pair(1000218000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT"),
1232     std::make_pair(1000218001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT"),
1233     std::make_pair(1000218002, "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT"),
1234     std::make_pair(1000225000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT"),
1235     std::make_pair(1000225001, "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT"),
1236     std::make_pair(1000225002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"),
1237     std::make_pair(1000226000, "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"),
1238     std::make_pair(1000226001, "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR"),
1239     std::make_pair(1000226002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR"),
1240     std::make_pair(1000226003, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR"),
1241     std::make_pair(1000226004, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR"),
1242     std::make_pair(1000227000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"),
1243     std::make_pair(1000229000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"),
1244     std::make_pair(1000234000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"),
1245     std::make_pair(1000237000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"),
1246     std::make_pair(1000238000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT"),
1247     std::make_pair(1000238001, "VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT"),
1248     std::make_pair(1000239000, "VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR"),
1249     std::make_pair(1000240000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV"),
1250     std::make_pair(1000244000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT"),
1251     std::make_pair(1000244002, "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT"),
1252     std::make_pair(1000245000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT"),
1253     std::make_pair(1000247000, "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT"),
1254     std::make_pair(1000248000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR"),
1255     std::make_pair(1000249000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV"),
1256     std::make_pair(1000249001, "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV"),
1257     std::make_pair(1000249002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV"),
1258     std::make_pair(1000250000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV"),
1259     std::make_pair(1000250001, "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV"),
1260     std::make_pair(1000250002, "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV"),
1261     std::make_pair(1000251000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT"),
1262     std::make_pair(1000252000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT"),
1263     std::make_pair(1000254000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT"),
1264     std::make_pair(1000254001, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT"),
1265     std::make_pair(1000254002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT"),
1266     std::make_pair(1000255000, "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT"),
1267     std::make_pair(1000255002, "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT"),
1268     std::make_pair(1000255001, "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT"),
1269     std::make_pair(1000256000, "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"),
1270     std::make_pair(1000259000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"),
1271     std::make_pair(1000259001, "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"),
1272     std::make_pair(1000259002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"),
1273     std::make_pair(1000260000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"),
1274     std::make_pair(1000265000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"),
1275     std::make_pair(1000267000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"),
1276     std::make_pair(1000269000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR"),
1277     std::make_pair(1000269001, "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR"),
1278     std::make_pair(1000269002, "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR"),
1279     std::make_pair(1000269003, "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR"),
1280     std::make_pair(1000269004, "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR"),
1281     std::make_pair(1000269005, "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR"),
1282     std::make_pair(1000273000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT"),
1283     std::make_pair(1000276000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT"),
1284     std::make_pair(1000277000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV"),
1285     std::make_pair(1000277001, "VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV"),
1286     std::make_pair(1000277002, "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV"),
1287     std::make_pair(1000277003, "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV"),
1288     std::make_pair(1000277004, "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV"),
1289     std::make_pair(1000277005, "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV"),
1290     std::make_pair(1000277006, "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV"),
1291     std::make_pair(1000277007, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV"),
1292     std::make_pair(1000278000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV"),
1293     std::make_pair(1000278001, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"),
1294     std::make_pair(1000280000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR"),
1295     std::make_pair(1000280001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR"),
1296     std::make_pair(1000281000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT"),
1297     std::make_pair(1000281001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT"),
1298     std::make_pair(1000282000, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"),
1299     std::make_pair(1000282001, "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"),
1300     std::make_pair(1000284000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT"),
1301     std::make_pair(1000284001, "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"),
1302     std::make_pair(1000284002, "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"),
1303     std::make_pair(1000286000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT"),
1304     std::make_pair(1000286001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"),
1305     std::make_pair(1000287000, "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"),
1306     std::make_pair(1000287001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"),
1307     std::make_pair(1000287002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"),
1308     std::make_pair(1000290000, "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR"),
1309     std::make_pair(1000294000, "VK_STRUCTURE_TYPE_PRESENT_ID_KHR"),
1310     std::make_pair(1000294001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR"),
1311     std::make_pair(1000295000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT"),
1312     std::make_pair(1000295001, "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT"),
1313     std::make_pair(1000295002, "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT"),
1314     std::make_pair(1000297000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT"),
1315     std::make_pair(1000299000, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR"),
1316     std::make_pair(1000299001, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR"),
1317     std::make_pair(1000299002, "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR"),
1318     std::make_pair(1000300000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"),
1319     std::make_pair(1000300001, "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"),
1320     std::make_pair(1000308000, "VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR"),
1321     std::make_pair(1000309000, "VK_STRUCTURE_TYPE_RESERVED_QCOM"),
1322     std::make_pair(1000314000, "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"),
1323     std::make_pair(1000314001, "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"),
1324     std::make_pair(1000314002, "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"),
1325     std::make_pair(1000314003, "VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"),
1326     std::make_pair(1000314004, "VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"),
1327     std::make_pair(1000314005, "VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"),
1328     std::make_pair(1000314006, "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"),
1329     std::make_pair(1000314007, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"),
1330     std::make_pair(1000314008, "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"),
1331     std::make_pair(1000314009, "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"),
1332     std::make_pair(1000323000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR"),
1333     std::make_pair(1000325000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR"),
1334     std::make_pair(1000326000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV"),
1335     std::make_pair(1000326001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV"),
1336     std::make_pair(1000326002, "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV"),
1337     std::make_pair(1000327000, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV"),
1338     std::make_pair(1000327001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV"),
1339     std::make_pair(1000327002, "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV"),
1340     std::make_pair(1000330000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT"),
1341     std::make_pair(1000332000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT"),
1342     std::make_pair(1000332001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT"),
1343     std::make_pair(1000333000, "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM"),
1344     std::make_pair(1000335000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT"),
1345     std::make_pair(1000336000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"),
1346     std::make_pair(1000337000, "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR"),
1347     std::make_pair(1000337001, "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR"),
1348     std::make_pair(1000337002, "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR"),
1349     std::make_pair(1000337003, "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR"),
1350     std::make_pair(1000337004, "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR"),
1351     std::make_pair(1000337005, "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR"),
1352     std::make_pair(1000337006, "VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR"),
1353     std::make_pair(1000337007, "VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR"),
1354     std::make_pair(1000337008, "VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR"),
1355     std::make_pair(1000337009, "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR"),
1356     std::make_pair(1000337010, "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"),
1357     std::make_pair(1000340000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"),
1358     std::make_pair(1000342000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM"),
1359     std::make_pair(1000344000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT"),
1360     std::make_pair(1000346000, "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT"),
1361     std::make_pair(1000351000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"),
1362     std::make_pair(1000351002, "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"),
1363     std::make_pair(1000352000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"),
1364     std::make_pair(1000352001, "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"),
1365     std::make_pair(1000352002, "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"),
1366     std::make_pair(1000353000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"),
1367     std::make_pair(1000355000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT"),
1368     std::make_pair(1000355001, "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT"),
1369     std::make_pair(1000356000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"),
1370     std::make_pair(1000360000, "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR"),
1371     std::make_pair(1000364000, "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"),
1372     std::make_pair(1000364001, "VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"),
1373     std::make_pair(1000364002, "VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"),
1374     std::make_pair(1000365000, "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"),
1375     std::make_pair(1000365001, "VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"),
1376     std::make_pair(1000366000, "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA"),
1377     std::make_pair(1000366001, "VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA"),
1378     std::make_pair(1000366002, "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA"),
1379     std::make_pair(1000366003, "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA"),
1380     std::make_pair(1000366004, "VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA"),
1381     std::make_pair(1000366005, "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA"),
1382     std::make_pair(1000366006, "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA"),
1383     std::make_pair(1000366007, "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA"),
1384     std::make_pair(1000366008, "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA"),
1385     std::make_pair(1000366009, "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA"),
1386     std::make_pair(1000369000, "VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"),
1387     std::make_pair(1000369001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI"),
1388     std::make_pair(1000369002, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI"),
1389     std::make_pair(1000370000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI"),
1390     std::make_pair(1000371000, "VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV"),
1391     std::make_pair(1000371001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV"),
1392     std::make_pair(1000377000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT"),
1393     std::make_pair(1000378000, "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX"),
1394     std::make_pair(1000381000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT"),
1395     std::make_pair(1000381001, "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT"),
1396     std::make_pair(1000388000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"),
1397     std::make_pair(1000388001, "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT"),
1398     std::make_pair(1000391000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT"),
1399     std::make_pair(1000391001, "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"),
1400     std::make_pair(1000392000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT"),
1401     std::make_pair(1000392001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT"),
1402     std::make_pair(1000411000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT"),
1403     std::make_pair(1000411001, "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT"),
1404     std::make_pair(1000412000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT"),
1405     std::make_pair(1000413000, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR"),
1406     std::make_pair(1000413001, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR"),
1407     std::make_pair(1000413002, "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR"),
1408     std::make_pair(1000413003, "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR"),
1409     std::make_pair(1000435000, "VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT"),
1410 };
print_VkStructureType(VkStructureType obj,const std::string & str,bool commaNeeded=true)1411 static void print_VkStructureType(VkStructureType obj, const std::string& str, bool commaNeeded=true) {
1412      PRINT_SPACE
1413      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1414      if (commaNeeded)
1415          _OUT << "\"" <<  VkStructureType_map[obj] << "\"," << std::endl;
1416      else
1417          _OUT << "\"" << VkStructureType_map[obj] << "\"" << std::endl;
1418 }
print_VkStructureType(const VkStructureType * obj,const std::string & str,bool commaNeeded=true)1419 static void print_VkStructureType(const VkStructureType * obj, const std::string& str, bool commaNeeded=true) {
1420      PRINT_SPACE
1421      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1422      if (commaNeeded)
1423          _OUT << "\"" <<  VkStructureType_map[*obj] << "\"," << std::endl;
1424      else
1425          _OUT << "\"" << VkStructureType_map[*obj] << "\"" << std::endl;
1426 }
1427 
1428 static std::map<deUint64, std::string> VkAccessFlagBits_map = {
1429     std::make_pair(1ULL << 0, "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"),
1430     std::make_pair(1ULL << 1, "VK_ACCESS_INDEX_READ_BIT"),
1431     std::make_pair(1ULL << 2, "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"),
1432     std::make_pair(1ULL << 3, "VK_ACCESS_UNIFORM_READ_BIT"),
1433     std::make_pair(1ULL << 4, "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"),
1434     std::make_pair(1ULL << 5, "VK_ACCESS_SHADER_READ_BIT"),
1435     std::make_pair(1ULL << 6, "VK_ACCESS_SHADER_WRITE_BIT"),
1436     std::make_pair(1ULL << 7, "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"),
1437     std::make_pair(1ULL << 8, "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"),
1438     std::make_pair(1ULL << 9, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"),
1439     std::make_pair(1ULL << 10, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"),
1440     std::make_pair(1ULL << 11, "VK_ACCESS_TRANSFER_READ_BIT"),
1441     std::make_pair(1ULL << 12, "VK_ACCESS_TRANSFER_WRITE_BIT"),
1442     std::make_pair(1ULL << 13, "VK_ACCESS_HOST_READ_BIT"),
1443     std::make_pair(1ULL << 14, "VK_ACCESS_HOST_WRITE_BIT"),
1444     std::make_pair(1ULL << 15, "VK_ACCESS_MEMORY_READ_BIT"),
1445     std::make_pair(1ULL << 16, "VK_ACCESS_MEMORY_WRITE_BIT"),
1446     std::make_pair(1ULL << 25, "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"),
1447     std::make_pair(1ULL << 26, "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"),
1448     std::make_pair(1ULL << 27, "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"),
1449     std::make_pair(1ULL << 20, "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"),
1450     std::make_pair(1ULL << 19, "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"),
1451     std::make_pair(1ULL << 21, "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"),
1452     std::make_pair(1ULL << 22, "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"),
1453     std::make_pair(1ULL << 24, "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"),
1454     std::make_pair(1ULL << 23, "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"),
1455     std::make_pair(1ULL << 17, "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"),
1456     std::make_pair(1ULL << 18, "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"),
1457     std::make_pair(0, "VK_ACCESS_NONE_KHR"),
1458 };
print_VkAccessFlagBits(VkAccessFlagBits obj,const std::string & str,bool commaNeeded=true)1459 static void print_VkAccessFlagBits(VkAccessFlagBits obj, const std::string& str, bool commaNeeded=true) {
1460      PRINT_SPACE
1461      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1462      if (commaNeeded)
1463          _OUT << "\"" <<  VkAccessFlagBits_map[obj] << "\"," << std::endl;
1464      else
1465          _OUT << "\"" << VkAccessFlagBits_map[obj] << "\"" << std::endl;
1466 }
print_VkAccessFlagBits(const VkAccessFlagBits * obj,const std::string & str,bool commaNeeded=true)1467 static void print_VkAccessFlagBits(const VkAccessFlagBits * obj, const std::string& str, bool commaNeeded=true) {
1468      PRINT_SPACE
1469      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1470      if (commaNeeded)
1471          _OUT << "\"" <<  VkAccessFlagBits_map[*obj] << "\"," << std::endl;
1472      else
1473          _OUT << "\"" << VkAccessFlagBits_map[*obj] << "\"" << std::endl;
1474 }
1475 
1476 static std::map<deUint64, std::string> VkImageLayout_map = {
1477     std::make_pair(0, "VK_IMAGE_LAYOUT_UNDEFINED"),
1478     std::make_pair(1, "VK_IMAGE_LAYOUT_GENERAL"),
1479     std::make_pair(2, "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"),
1480     std::make_pair(3, "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"),
1481     std::make_pair(4, "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"),
1482     std::make_pair(5, "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"),
1483     std::make_pair(6, "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"),
1484     std::make_pair(7, "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"),
1485     std::make_pair(8, "VK_IMAGE_LAYOUT_PREINITIALIZED"),
1486     std::make_pair(1000117000, "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL"),
1487     std::make_pair(1000117001, "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL"),
1488     std::make_pair(1000241000, "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL"),
1489     std::make_pair(1000241001, "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL"),
1490     std::make_pair(1000241002, "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL"),
1491     std::make_pair(1000241003, "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL"),
1492     std::make_pair(1000001002, "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"),
1493     std::make_pair(1000024000, "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR"),
1494     std::make_pair(1000024001, "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR"),
1495     std::make_pair(1000024002, "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR"),
1496     std::make_pair(1000111000, "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"),
1497     std::make_pair(1000218000, "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT"),
1498     std::make_pair(1000164003, "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR"),
1499     std::make_pair(1000299000, "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR"),
1500     std::make_pair(1000299001, "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR"),
1501     std::make_pair(1000299002, "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR"),
1502     std::make_pair(1000314000, "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR"),
1503     std::make_pair(1000314001, "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR"),
1504 };
print_VkImageLayout(VkImageLayout obj,const std::string & str,bool commaNeeded=true)1505 static void print_VkImageLayout(VkImageLayout obj, const std::string& str, bool commaNeeded=true) {
1506      PRINT_SPACE
1507      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1508      if (commaNeeded)
1509          _OUT << "\"" <<  VkImageLayout_map[obj] << "\"," << std::endl;
1510      else
1511          _OUT << "\"" << VkImageLayout_map[obj] << "\"" << std::endl;
1512 }
print_VkImageLayout(const VkImageLayout * obj,const std::string & str,bool commaNeeded=true)1513 static void print_VkImageLayout(const VkImageLayout * obj, const std::string& str, bool commaNeeded=true) {
1514      PRINT_SPACE
1515      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1516      if (commaNeeded)
1517          _OUT << "\"" <<  VkImageLayout_map[*obj] << "\"," << std::endl;
1518      else
1519          _OUT << "\"" << VkImageLayout_map[*obj] << "\"" << std::endl;
1520 }
1521 
1522 static std::map<deUint64, std::string> VkImageAspectFlagBits_map = {
1523     std::make_pair(1ULL << 0, "VK_IMAGE_ASPECT_COLOR_BIT"),
1524     std::make_pair(1ULL << 1, "VK_IMAGE_ASPECT_DEPTH_BIT"),
1525     std::make_pair(1ULL << 2, "VK_IMAGE_ASPECT_STENCIL_BIT"),
1526     std::make_pair(1ULL << 3, "VK_IMAGE_ASPECT_METADATA_BIT"),
1527     std::make_pair(1ULL << 4, "VK_IMAGE_ASPECT_PLANE_0_BIT"),
1528     std::make_pair(1ULL << 5, "VK_IMAGE_ASPECT_PLANE_1_BIT"),
1529     std::make_pair(1ULL << 6, "VK_IMAGE_ASPECT_PLANE_2_BIT"),
1530     std::make_pair(1ULL << 7, "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"),
1531     std::make_pair(1ULL << 8, "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"),
1532     std::make_pair(1ULL << 9, "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"),
1533     std::make_pair(1ULL << 10, "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"),
1534     std::make_pair(0, "VK_IMAGE_ASPECT_NONE_KHR"),
1535 };
print_VkImageAspectFlagBits(VkImageAspectFlagBits obj,const std::string & str,bool commaNeeded=true)1536 static void print_VkImageAspectFlagBits(VkImageAspectFlagBits obj, const std::string& str, bool commaNeeded=true) {
1537      PRINT_SPACE
1538      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1539      if (commaNeeded)
1540          _OUT << "\"" <<  VkImageAspectFlagBits_map[obj] << "\"," << std::endl;
1541      else
1542          _OUT << "\"" << VkImageAspectFlagBits_map[obj] << "\"" << std::endl;
1543 }
print_VkImageAspectFlagBits(const VkImageAspectFlagBits * obj,const std::string & str,bool commaNeeded=true)1544 static void print_VkImageAspectFlagBits(const VkImageAspectFlagBits * obj, const std::string& str, bool commaNeeded=true) {
1545      PRINT_SPACE
1546      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1547      if (commaNeeded)
1548          _OUT << "\"" <<  VkImageAspectFlagBits_map[*obj] << "\"," << std::endl;
1549      else
1550          _OUT << "\"" << VkImageAspectFlagBits_map[*obj] << "\"" << std::endl;
1551 }
1552 
1553 static std::map<deUint64, std::string> VkObjectType_map = {
1554     std::make_pair(0, "VK_OBJECT_TYPE_UNKNOWN"),
1555     std::make_pair(1, "VK_OBJECT_TYPE_INSTANCE"),
1556     std::make_pair(2, "VK_OBJECT_TYPE_PHYSICAL_DEVICE"),
1557     std::make_pair(3, "VK_OBJECT_TYPE_DEVICE"),
1558     std::make_pair(4, "VK_OBJECT_TYPE_QUEUE"),
1559     std::make_pair(5, "VK_OBJECT_TYPE_SEMAPHORE"),
1560     std::make_pair(6, "VK_OBJECT_TYPE_COMMAND_BUFFER"),
1561     std::make_pair(7, "VK_OBJECT_TYPE_FENCE"),
1562     std::make_pair(8, "VK_OBJECT_TYPE_DEVICE_MEMORY"),
1563     std::make_pair(9, "VK_OBJECT_TYPE_BUFFER"),
1564     std::make_pair(10, "VK_OBJECT_TYPE_IMAGE"),
1565     std::make_pair(11, "VK_OBJECT_TYPE_EVENT"),
1566     std::make_pair(12, "VK_OBJECT_TYPE_QUERY_POOL"),
1567     std::make_pair(13, "VK_OBJECT_TYPE_BUFFER_VIEW"),
1568     std::make_pair(14, "VK_OBJECT_TYPE_IMAGE_VIEW"),
1569     std::make_pair(16, "VK_OBJECT_TYPE_PIPELINE_CACHE"),
1570     std::make_pair(17, "VK_OBJECT_TYPE_PIPELINE_LAYOUT"),
1571     std::make_pair(18, "VK_OBJECT_TYPE_RENDER_PASS"),
1572     std::make_pair(19, "VK_OBJECT_TYPE_PIPELINE"),
1573     std::make_pair(20, "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"),
1574     std::make_pair(21, "VK_OBJECT_TYPE_SAMPLER"),
1575     std::make_pair(22, "VK_OBJECT_TYPE_DESCRIPTOR_POOL"),
1576     std::make_pair(23, "VK_OBJECT_TYPE_DESCRIPTOR_SET"),
1577     std::make_pair(24, "VK_OBJECT_TYPE_FRAMEBUFFER"),
1578     std::make_pair(25, "VK_OBJECT_TYPE_COMMAND_POOL"),
1579     std::make_pair(1000156000, "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"),
1580     std::make_pair(1000000000, "VK_OBJECT_TYPE_SURFACE_KHR"),
1581     std::make_pair(1000001000, "VK_OBJECT_TYPE_SWAPCHAIN_KHR"),
1582     std::make_pair(1000002000, "VK_OBJECT_TYPE_DISPLAY_KHR"),
1583     std::make_pair(1000002001, "VK_OBJECT_TYPE_DISPLAY_MODE_KHR"),
1584     std::make_pair(1000011000, "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"),
1585     std::make_pair(1000023000, "VK_OBJECT_TYPE_VIDEO_SESSION_KHR"),
1586     std::make_pair(1000023001, "VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR"),
1587     std::make_pair(1000029000, "VK_OBJECT_TYPE_CU_MODULE_NVX"),
1588     std::make_pair(1000029001, "VK_OBJECT_TYPE_CU_FUNCTION_NVX"),
1589     std::make_pair(1000128000, "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"),
1590     std::make_pair(1000150000, "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"),
1591     std::make_pair(1000160000, "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT"),
1592     std::make_pair(1000165000, "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"),
1593     std::make_pair(1000210000, "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL"),
1594     std::make_pair(1000268000, "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"),
1595     std::make_pair(1000277000, "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"),
1596     std::make_pair(1000295000, "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT"),
1597     std::make_pair(1000366000, "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"),
1598 };
print_VkObjectType(VkObjectType obj,const std::string & str,bool commaNeeded=true)1599 static void print_VkObjectType(VkObjectType obj, const std::string& str, bool commaNeeded=true) {
1600      PRINT_SPACE
1601      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1602      if (commaNeeded)
1603          _OUT << "\"" <<  VkObjectType_map[obj] << "\"," << std::endl;
1604      else
1605          _OUT << "\"" << VkObjectType_map[obj] << "\"" << std::endl;
1606 }
print_VkObjectType(const VkObjectType * obj,const std::string & str,bool commaNeeded=true)1607 static void print_VkObjectType(const VkObjectType * obj, const std::string& str, bool commaNeeded=true) {
1608      PRINT_SPACE
1609      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1610      if (commaNeeded)
1611          _OUT << "\"" <<  VkObjectType_map[*obj] << "\"," << std::endl;
1612      else
1613          _OUT << "\"" << VkObjectType_map[*obj] << "\"" << std::endl;
1614 }
1615 
1616 static std::map<deUint64, std::string> VkPipelineCacheHeaderVersion_map = {
1617     std::make_pair(1, "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"),
1618     std::make_pair(1000298001, "VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE"),
1619 };
print_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion obj,const std::string & str,bool commaNeeded=true)1620 static void print_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion obj, const std::string& str, bool commaNeeded=true) {
1621      PRINT_SPACE
1622      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1623      if (commaNeeded)
1624          _OUT << "\"" <<  VkPipelineCacheHeaderVersion_map[obj] << "\"," << std::endl;
1625      else
1626          _OUT << "\"" << VkPipelineCacheHeaderVersion_map[obj] << "\"" << std::endl;
1627 }
print_VkPipelineCacheHeaderVersion(const VkPipelineCacheHeaderVersion * obj,const std::string & str,bool commaNeeded=true)1628 static void print_VkPipelineCacheHeaderVersion(const VkPipelineCacheHeaderVersion * obj, const std::string& str, bool commaNeeded=true) {
1629      PRINT_SPACE
1630      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1631      if (commaNeeded)
1632          _OUT << "\"" <<  VkPipelineCacheHeaderVersion_map[*obj] << "\"," << std::endl;
1633      else
1634          _OUT << "\"" << VkPipelineCacheHeaderVersion_map[*obj] << "\"" << std::endl;
1635 }
1636 
1637 static std::map<deUint64, std::string> VkVendorId_map = {
1638     std::make_pair(0x10001, "VK_VENDOR_ID_VIV"),
1639     std::make_pair(0x10002, "VK_VENDOR_ID_VSI"),
1640     std::make_pair(0x10003, "VK_VENDOR_ID_KAZAN"),
1641     std::make_pair(0x10004, "VK_VENDOR_ID_CODEPLAY"),
1642     std::make_pair(0x10005, "VK_VENDOR_ID_MESA"),
1643     std::make_pair(0x10006, "VK_VENDOR_ID_POCL"),
1644 };
print_VkVendorId(VkVendorId obj,const std::string & str,bool commaNeeded=true)1645 static void print_VkVendorId(VkVendorId obj, const std::string& str, bool commaNeeded=true) {
1646      PRINT_SPACE
1647      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1648      if (commaNeeded)
1649          _OUT << "\"" <<  VkVendorId_map[obj] << "\"," << std::endl;
1650      else
1651          _OUT << "\"" << VkVendorId_map[obj] << "\"" << std::endl;
1652 }
print_VkVendorId(const VkVendorId * obj,const std::string & str,bool commaNeeded=true)1653 static void print_VkVendorId(const VkVendorId * obj, const std::string& str, bool commaNeeded=true) {
1654      PRINT_SPACE
1655      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1656      if (commaNeeded)
1657          _OUT << "\"" <<  VkVendorId_map[*obj] << "\"," << std::endl;
1658      else
1659          _OUT << "\"" << VkVendorId_map[*obj] << "\"" << std::endl;
1660 }
1661 
1662 static std::map<deUint64, std::string> VkSystemAllocationScope_map = {
1663     std::make_pair(0, "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"),
1664     std::make_pair(1, "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"),
1665     std::make_pair(2, "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"),
1666     std::make_pair(3, "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"),
1667     std::make_pair(4, "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"),
1668 };
print_VkSystemAllocationScope(VkSystemAllocationScope obj,const std::string & str,bool commaNeeded=true)1669 static void print_VkSystemAllocationScope(VkSystemAllocationScope obj, const std::string& str, bool commaNeeded=true) {
1670      PRINT_SPACE
1671      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1672      if (commaNeeded)
1673          _OUT << "\"" <<  VkSystemAllocationScope_map[obj] << "\"," << std::endl;
1674      else
1675          _OUT << "\"" << VkSystemAllocationScope_map[obj] << "\"" << std::endl;
1676 }
print_VkSystemAllocationScope(const VkSystemAllocationScope * obj,const std::string & str,bool commaNeeded=true)1677 static void print_VkSystemAllocationScope(const VkSystemAllocationScope * obj, const std::string& str, bool commaNeeded=true) {
1678      PRINT_SPACE
1679      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1680      if (commaNeeded)
1681          _OUT << "\"" <<  VkSystemAllocationScope_map[*obj] << "\"," << std::endl;
1682      else
1683          _OUT << "\"" << VkSystemAllocationScope_map[*obj] << "\"" << std::endl;
1684 }
1685 
1686 static std::map<deUint64, std::string> VkInternalAllocationType_map = {
1687     std::make_pair(0, "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"),
1688 };
print_VkInternalAllocationType(VkInternalAllocationType obj,const std::string & str,bool commaNeeded=true)1689 static void print_VkInternalAllocationType(VkInternalAllocationType obj, const std::string& str, bool commaNeeded=true) {
1690      PRINT_SPACE
1691      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1692      if (commaNeeded)
1693          _OUT << "\"" <<  VkInternalAllocationType_map[obj] << "\"," << std::endl;
1694      else
1695          _OUT << "\"" << VkInternalAllocationType_map[obj] << "\"" << std::endl;
1696 }
print_VkInternalAllocationType(const VkInternalAllocationType * obj,const std::string & str,bool commaNeeded=true)1697 static void print_VkInternalAllocationType(const VkInternalAllocationType * obj, const std::string& str, bool commaNeeded=true) {
1698      PRINT_SPACE
1699      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1700      if (commaNeeded)
1701          _OUT << "\"" <<  VkInternalAllocationType_map[*obj] << "\"," << std::endl;
1702      else
1703          _OUT << "\"" << VkInternalAllocationType_map[*obj] << "\"" << std::endl;
1704 }
1705 
1706 static std::map<deUint64, std::string> VkFormat_map = {
1707     std::make_pair(0, "VK_FORMAT_UNDEFINED"),
1708     std::make_pair(1, "VK_FORMAT_R4G4_UNORM_PACK8"),
1709     std::make_pair(2, "VK_FORMAT_R4G4B4A4_UNORM_PACK16"),
1710     std::make_pair(3, "VK_FORMAT_B4G4R4A4_UNORM_PACK16"),
1711     std::make_pair(4, "VK_FORMAT_R5G6B5_UNORM_PACK16"),
1712     std::make_pair(5, "VK_FORMAT_B5G6R5_UNORM_PACK16"),
1713     std::make_pair(6, "VK_FORMAT_R5G5B5A1_UNORM_PACK16"),
1714     std::make_pair(7, "VK_FORMAT_B5G5R5A1_UNORM_PACK16"),
1715     std::make_pair(8, "VK_FORMAT_A1R5G5B5_UNORM_PACK16"),
1716     std::make_pair(9, "VK_FORMAT_R8_UNORM"),
1717     std::make_pair(10, "VK_FORMAT_R8_SNORM"),
1718     std::make_pair(11, "VK_FORMAT_R8_USCALED"),
1719     std::make_pair(12, "VK_FORMAT_R8_SSCALED"),
1720     std::make_pair(13, "VK_FORMAT_R8_UINT"),
1721     std::make_pair(14, "VK_FORMAT_R8_SINT"),
1722     std::make_pair(15, "VK_FORMAT_R8_SRGB"),
1723     std::make_pair(16, "VK_FORMAT_R8G8_UNORM"),
1724     std::make_pair(17, "VK_FORMAT_R8G8_SNORM"),
1725     std::make_pair(18, "VK_FORMAT_R8G8_USCALED"),
1726     std::make_pair(19, "VK_FORMAT_R8G8_SSCALED"),
1727     std::make_pair(20, "VK_FORMAT_R8G8_UINT"),
1728     std::make_pair(21, "VK_FORMAT_R8G8_SINT"),
1729     std::make_pair(22, "VK_FORMAT_R8G8_SRGB"),
1730     std::make_pair(23, "VK_FORMAT_R8G8B8_UNORM"),
1731     std::make_pair(24, "VK_FORMAT_R8G8B8_SNORM"),
1732     std::make_pair(25, "VK_FORMAT_R8G8B8_USCALED"),
1733     std::make_pair(26, "VK_FORMAT_R8G8B8_SSCALED"),
1734     std::make_pair(27, "VK_FORMAT_R8G8B8_UINT"),
1735     std::make_pair(28, "VK_FORMAT_R8G8B8_SINT"),
1736     std::make_pair(29, "VK_FORMAT_R8G8B8_SRGB"),
1737     std::make_pair(30, "VK_FORMAT_B8G8R8_UNORM"),
1738     std::make_pair(31, "VK_FORMAT_B8G8R8_SNORM"),
1739     std::make_pair(32, "VK_FORMAT_B8G8R8_USCALED"),
1740     std::make_pair(33, "VK_FORMAT_B8G8R8_SSCALED"),
1741     std::make_pair(34, "VK_FORMAT_B8G8R8_UINT"),
1742     std::make_pair(35, "VK_FORMAT_B8G8R8_SINT"),
1743     std::make_pair(36, "VK_FORMAT_B8G8R8_SRGB"),
1744     std::make_pair(37, "VK_FORMAT_R8G8B8A8_UNORM"),
1745     std::make_pair(38, "VK_FORMAT_R8G8B8A8_SNORM"),
1746     std::make_pair(39, "VK_FORMAT_R8G8B8A8_USCALED"),
1747     std::make_pair(40, "VK_FORMAT_R8G8B8A8_SSCALED"),
1748     std::make_pair(41, "VK_FORMAT_R8G8B8A8_UINT"),
1749     std::make_pair(42, "VK_FORMAT_R8G8B8A8_SINT"),
1750     std::make_pair(43, "VK_FORMAT_R8G8B8A8_SRGB"),
1751     std::make_pair(44, "VK_FORMAT_B8G8R8A8_UNORM"),
1752     std::make_pair(45, "VK_FORMAT_B8G8R8A8_SNORM"),
1753     std::make_pair(46, "VK_FORMAT_B8G8R8A8_USCALED"),
1754     std::make_pair(47, "VK_FORMAT_B8G8R8A8_SSCALED"),
1755     std::make_pair(48, "VK_FORMAT_B8G8R8A8_UINT"),
1756     std::make_pair(49, "VK_FORMAT_B8G8R8A8_SINT"),
1757     std::make_pair(50, "VK_FORMAT_B8G8R8A8_SRGB"),
1758     std::make_pair(51, "VK_FORMAT_A8B8G8R8_UNORM_PACK32"),
1759     std::make_pair(52, "VK_FORMAT_A8B8G8R8_SNORM_PACK32"),
1760     std::make_pair(53, "VK_FORMAT_A8B8G8R8_USCALED_PACK32"),
1761     std::make_pair(54, "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"),
1762     std::make_pair(55, "VK_FORMAT_A8B8G8R8_UINT_PACK32"),
1763     std::make_pair(56, "VK_FORMAT_A8B8G8R8_SINT_PACK32"),
1764     std::make_pair(57, "VK_FORMAT_A8B8G8R8_SRGB_PACK32"),
1765     std::make_pair(58, "VK_FORMAT_A2R10G10B10_UNORM_PACK32"),
1766     std::make_pair(59, "VK_FORMAT_A2R10G10B10_SNORM_PACK32"),
1767     std::make_pair(60, "VK_FORMAT_A2R10G10B10_USCALED_PACK32"),
1768     std::make_pair(61, "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"),
1769     std::make_pair(62, "VK_FORMAT_A2R10G10B10_UINT_PACK32"),
1770     std::make_pair(63, "VK_FORMAT_A2R10G10B10_SINT_PACK32"),
1771     std::make_pair(64, "VK_FORMAT_A2B10G10R10_UNORM_PACK32"),
1772     std::make_pair(65, "VK_FORMAT_A2B10G10R10_SNORM_PACK32"),
1773     std::make_pair(66, "VK_FORMAT_A2B10G10R10_USCALED_PACK32"),
1774     std::make_pair(67, "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"),
1775     std::make_pair(68, "VK_FORMAT_A2B10G10R10_UINT_PACK32"),
1776     std::make_pair(69, "VK_FORMAT_A2B10G10R10_SINT_PACK32"),
1777     std::make_pair(70, "VK_FORMAT_R16_UNORM"),
1778     std::make_pair(71, "VK_FORMAT_R16_SNORM"),
1779     std::make_pair(72, "VK_FORMAT_R16_USCALED"),
1780     std::make_pair(73, "VK_FORMAT_R16_SSCALED"),
1781     std::make_pair(74, "VK_FORMAT_R16_UINT"),
1782     std::make_pair(75, "VK_FORMAT_R16_SINT"),
1783     std::make_pair(76, "VK_FORMAT_R16_SFLOAT"),
1784     std::make_pair(77, "VK_FORMAT_R16G16_UNORM"),
1785     std::make_pair(78, "VK_FORMAT_R16G16_SNORM"),
1786     std::make_pair(79, "VK_FORMAT_R16G16_USCALED"),
1787     std::make_pair(80, "VK_FORMAT_R16G16_SSCALED"),
1788     std::make_pair(81, "VK_FORMAT_R16G16_UINT"),
1789     std::make_pair(82, "VK_FORMAT_R16G16_SINT"),
1790     std::make_pair(83, "VK_FORMAT_R16G16_SFLOAT"),
1791     std::make_pair(84, "VK_FORMAT_R16G16B16_UNORM"),
1792     std::make_pair(85, "VK_FORMAT_R16G16B16_SNORM"),
1793     std::make_pair(86, "VK_FORMAT_R16G16B16_USCALED"),
1794     std::make_pair(87, "VK_FORMAT_R16G16B16_SSCALED"),
1795     std::make_pair(88, "VK_FORMAT_R16G16B16_UINT"),
1796     std::make_pair(89, "VK_FORMAT_R16G16B16_SINT"),
1797     std::make_pair(90, "VK_FORMAT_R16G16B16_SFLOAT"),
1798     std::make_pair(91, "VK_FORMAT_R16G16B16A16_UNORM"),
1799     std::make_pair(92, "VK_FORMAT_R16G16B16A16_SNORM"),
1800     std::make_pair(93, "VK_FORMAT_R16G16B16A16_USCALED"),
1801     std::make_pair(94, "VK_FORMAT_R16G16B16A16_SSCALED"),
1802     std::make_pair(95, "VK_FORMAT_R16G16B16A16_UINT"),
1803     std::make_pair(96, "VK_FORMAT_R16G16B16A16_SINT"),
1804     std::make_pair(97, "VK_FORMAT_R16G16B16A16_SFLOAT"),
1805     std::make_pair(98, "VK_FORMAT_R32_UINT"),
1806     std::make_pair(99, "VK_FORMAT_R32_SINT"),
1807     std::make_pair(100, "VK_FORMAT_R32_SFLOAT"),
1808     std::make_pair(101, "VK_FORMAT_R32G32_UINT"),
1809     std::make_pair(102, "VK_FORMAT_R32G32_SINT"),
1810     std::make_pair(103, "VK_FORMAT_R32G32_SFLOAT"),
1811     std::make_pair(104, "VK_FORMAT_R32G32B32_UINT"),
1812     std::make_pair(105, "VK_FORMAT_R32G32B32_SINT"),
1813     std::make_pair(106, "VK_FORMAT_R32G32B32_SFLOAT"),
1814     std::make_pair(107, "VK_FORMAT_R32G32B32A32_UINT"),
1815     std::make_pair(108, "VK_FORMAT_R32G32B32A32_SINT"),
1816     std::make_pair(109, "VK_FORMAT_R32G32B32A32_SFLOAT"),
1817     std::make_pair(110, "VK_FORMAT_R64_UINT"),
1818     std::make_pair(111, "VK_FORMAT_R64_SINT"),
1819     std::make_pair(112, "VK_FORMAT_R64_SFLOAT"),
1820     std::make_pair(113, "VK_FORMAT_R64G64_UINT"),
1821     std::make_pair(114, "VK_FORMAT_R64G64_SINT"),
1822     std::make_pair(115, "VK_FORMAT_R64G64_SFLOAT"),
1823     std::make_pair(116, "VK_FORMAT_R64G64B64_UINT"),
1824     std::make_pair(117, "VK_FORMAT_R64G64B64_SINT"),
1825     std::make_pair(118, "VK_FORMAT_R64G64B64_SFLOAT"),
1826     std::make_pair(119, "VK_FORMAT_R64G64B64A64_UINT"),
1827     std::make_pair(120, "VK_FORMAT_R64G64B64A64_SINT"),
1828     std::make_pair(121, "VK_FORMAT_R64G64B64A64_SFLOAT"),
1829     std::make_pair(122, "VK_FORMAT_B10G11R11_UFLOAT_PACK32"),
1830     std::make_pair(123, "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"),
1831     std::make_pair(124, "VK_FORMAT_D16_UNORM"),
1832     std::make_pair(125, "VK_FORMAT_X8_D24_UNORM_PACK32"),
1833     std::make_pair(126, "VK_FORMAT_D32_SFLOAT"),
1834     std::make_pair(127, "VK_FORMAT_S8_UINT"),
1835     std::make_pair(128, "VK_FORMAT_D16_UNORM_S8_UINT"),
1836     std::make_pair(129, "VK_FORMAT_D24_UNORM_S8_UINT"),
1837     std::make_pair(130, "VK_FORMAT_D32_SFLOAT_S8_UINT"),
1838     std::make_pair(131, "VK_FORMAT_BC1_RGB_UNORM_BLOCK"),
1839     std::make_pair(132, "VK_FORMAT_BC1_RGB_SRGB_BLOCK"),
1840     std::make_pair(133, "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"),
1841     std::make_pair(134, "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"),
1842     std::make_pair(135, "VK_FORMAT_BC2_UNORM_BLOCK"),
1843     std::make_pair(136, "VK_FORMAT_BC2_SRGB_BLOCK"),
1844     std::make_pair(137, "VK_FORMAT_BC3_UNORM_BLOCK"),
1845     std::make_pair(138, "VK_FORMAT_BC3_SRGB_BLOCK"),
1846     std::make_pair(139, "VK_FORMAT_BC4_UNORM_BLOCK"),
1847     std::make_pair(140, "VK_FORMAT_BC4_SNORM_BLOCK"),
1848     std::make_pair(141, "VK_FORMAT_BC5_UNORM_BLOCK"),
1849     std::make_pair(142, "VK_FORMAT_BC5_SNORM_BLOCK"),
1850     std::make_pair(143, "VK_FORMAT_BC6H_UFLOAT_BLOCK"),
1851     std::make_pair(144, "VK_FORMAT_BC6H_SFLOAT_BLOCK"),
1852     std::make_pair(145, "VK_FORMAT_BC7_UNORM_BLOCK"),
1853     std::make_pair(146, "VK_FORMAT_BC7_SRGB_BLOCK"),
1854     std::make_pair(147, "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"),
1855     std::make_pair(148, "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"),
1856     std::make_pair(149, "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"),
1857     std::make_pair(150, "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"),
1858     std::make_pair(151, "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"),
1859     std::make_pair(152, "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"),
1860     std::make_pair(153, "VK_FORMAT_EAC_R11_UNORM_BLOCK"),
1861     std::make_pair(154, "VK_FORMAT_EAC_R11_SNORM_BLOCK"),
1862     std::make_pair(155, "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"),
1863     std::make_pair(156, "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"),
1864     std::make_pair(157, "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"),
1865     std::make_pair(158, "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"),
1866     std::make_pair(159, "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"),
1867     std::make_pair(160, "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"),
1868     std::make_pair(161, "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"),
1869     std::make_pair(162, "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"),
1870     std::make_pair(163, "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"),
1871     std::make_pair(164, "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"),
1872     std::make_pair(165, "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"),
1873     std::make_pair(166, "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"),
1874     std::make_pair(167, "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"),
1875     std::make_pair(168, "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"),
1876     std::make_pair(169, "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"),
1877     std::make_pair(170, "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"),
1878     std::make_pair(171, "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"),
1879     std::make_pair(172, "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"),
1880     std::make_pair(173, "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"),
1881     std::make_pair(174, "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"),
1882     std::make_pair(175, "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"),
1883     std::make_pair(176, "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"),
1884     std::make_pair(177, "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"),
1885     std::make_pair(178, "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"),
1886     std::make_pair(179, "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"),
1887     std::make_pair(180, "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"),
1888     std::make_pair(181, "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"),
1889     std::make_pair(182, "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"),
1890     std::make_pair(183, "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"),
1891     std::make_pair(184, "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"),
1892     std::make_pair(1000156000, "VK_FORMAT_G8B8G8R8_422_UNORM"),
1893     std::make_pair(1000156001, "VK_FORMAT_B8G8R8G8_422_UNORM"),
1894     std::make_pair(1000156002, "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM"),
1895     std::make_pair(1000156003, "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM"),
1896     std::make_pair(1000156004, "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM"),
1897     std::make_pair(1000156005, "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM"),
1898     std::make_pair(1000156006, "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM"),
1899     std::make_pair(1000156007, "VK_FORMAT_R10X6_UNORM_PACK16"),
1900     std::make_pair(1000156008, "VK_FORMAT_R10X6G10X6_UNORM_2PACK16"),
1901     std::make_pair(1000156009, "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16"),
1902     std::make_pair(1000156010, "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16"),
1903     std::make_pair(1000156011, "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16"),
1904     std::make_pair(1000156012, "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16"),
1905     std::make_pair(1000156013, "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16"),
1906     std::make_pair(1000156014, "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16"),
1907     std::make_pair(1000156015, "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16"),
1908     std::make_pair(1000156016, "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16"),
1909     std::make_pair(1000156017, "VK_FORMAT_R12X4_UNORM_PACK16"),
1910     std::make_pair(1000156018, "VK_FORMAT_R12X4G12X4_UNORM_2PACK16"),
1911     std::make_pair(1000156019, "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16"),
1912     std::make_pair(1000156020, "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16"),
1913     std::make_pair(1000156021, "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16"),
1914     std::make_pair(1000156022, "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16"),
1915     std::make_pair(1000156023, "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16"),
1916     std::make_pair(1000156024, "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16"),
1917     std::make_pair(1000156025, "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16"),
1918     std::make_pair(1000156026, "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16"),
1919     std::make_pair(1000156027, "VK_FORMAT_G16B16G16R16_422_UNORM"),
1920     std::make_pair(1000156028, "VK_FORMAT_B16G16R16G16_422_UNORM"),
1921     std::make_pair(1000156029, "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM"),
1922     std::make_pair(1000156030, "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM"),
1923     std::make_pair(1000156031, "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM"),
1924     std::make_pair(1000156032, "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM"),
1925     std::make_pair(1000156033, "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM"),
1926     std::make_pair(1000054000, "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG"),
1927     std::make_pair(1000054001, "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG"),
1928     std::make_pair(1000054002, "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG"),
1929     std::make_pair(1000054003, "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG"),
1930     std::make_pair(1000054004, "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG"),
1931     std::make_pair(1000054005, "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG"),
1932     std::make_pair(1000054006, "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG"),
1933     std::make_pair(1000054007, "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG"),
1934     std::make_pair(1000066000, "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT"),
1935     std::make_pair(1000066001, "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT"),
1936     std::make_pair(1000066002, "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT"),
1937     std::make_pair(1000066003, "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT"),
1938     std::make_pair(1000066004, "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT"),
1939     std::make_pair(1000066005, "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT"),
1940     std::make_pair(1000066006, "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT"),
1941     std::make_pair(1000066007, "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT"),
1942     std::make_pair(1000066008, "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT"),
1943     std::make_pair(1000066009, "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT"),
1944     std::make_pair(1000066010, "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT"),
1945     std::make_pair(1000066011, "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT"),
1946     std::make_pair(1000066012, "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT"),
1947     std::make_pair(1000066013, "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT"),
1948     std::make_pair(1000288000, "VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT"),
1949     std::make_pair(1000288001, "VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT"),
1950     std::make_pair(1000288002, "VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT"),
1951     std::make_pair(1000288003, "VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT"),
1952     std::make_pair(1000288004, "VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT"),
1953     std::make_pair(1000288005, "VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT"),
1954     std::make_pair(1000288006, "VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT"),
1955     std::make_pair(1000288007, "VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT"),
1956     std::make_pair(1000288008, "VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT"),
1957     std::make_pair(1000288009, "VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT"),
1958     std::make_pair(1000288010, "VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT"),
1959     std::make_pair(1000288011, "VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT"),
1960     std::make_pair(1000288012, "VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT"),
1961     std::make_pair(1000288013, "VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT"),
1962     std::make_pair(1000288014, "VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT"),
1963     std::make_pair(1000288015, "VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT"),
1964     std::make_pair(1000288016, "VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT"),
1965     std::make_pair(1000288017, "VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT"),
1966     std::make_pair(1000288018, "VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT"),
1967     std::make_pair(1000288019, "VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT"),
1968     std::make_pair(1000288020, "VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT"),
1969     std::make_pair(1000288021, "VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT"),
1970     std::make_pair(1000288022, "VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT"),
1971     std::make_pair(1000288023, "VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT"),
1972     std::make_pair(1000288024, "VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT"),
1973     std::make_pair(1000288025, "VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT"),
1974     std::make_pair(1000288026, "VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT"),
1975     std::make_pair(1000288027, "VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT"),
1976     std::make_pair(1000288028, "VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT"),
1977     std::make_pair(1000288029, "VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT"),
1978     std::make_pair(1000330000, "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT"),
1979     std::make_pair(1000330001, "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT"),
1980     std::make_pair(1000330002, "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT"),
1981     std::make_pair(1000330003, "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT"),
1982     std::make_pair(1000340000, "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT"),
1983     std::make_pair(1000340001, "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT"),
1984 };
print_VkFormat(VkFormat obj,const std::string & str,bool commaNeeded=true)1985 static void print_VkFormat(VkFormat obj, const std::string& str, bool commaNeeded=true) {
1986      PRINT_SPACE
1987      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1988      if (commaNeeded)
1989          _OUT << "\"" <<  VkFormat_map[obj] << "\"," << std::endl;
1990      else
1991          _OUT << "\"" << VkFormat_map[obj] << "\"" << std::endl;
1992 }
print_VkFormat(const VkFormat * obj,const std::string & str,bool commaNeeded=true)1993 static void print_VkFormat(const VkFormat * obj, const std::string& str, bool commaNeeded=true) {
1994      PRINT_SPACE
1995      if (str != "") _OUT << "\"" << str << "\"" << " : ";
1996      if (commaNeeded)
1997          _OUT << "\"" <<  VkFormat_map[*obj] << "\"," << std::endl;
1998      else
1999          _OUT << "\"" << VkFormat_map[*obj] << "\"" << std::endl;
2000 }
2001 
2002 static std::map<deUint64, std::string> VkFormatFeatureFlagBits_map = {
2003     std::make_pair(1ULL << 0, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"),
2004     std::make_pair(1ULL << 1, "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"),
2005     std::make_pair(1ULL << 2, "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"),
2006     std::make_pair(1ULL << 3, "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"),
2007     std::make_pair(1ULL << 4, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"),
2008     std::make_pair(1ULL << 5, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"),
2009     std::make_pair(1ULL << 6, "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"),
2010     std::make_pair(1ULL << 7, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"),
2011     std::make_pair(1ULL << 8, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"),
2012     std::make_pair(1ULL << 9, "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"),
2013     std::make_pair(1ULL << 10, "VK_FORMAT_FEATURE_BLIT_SRC_BIT"),
2014     std::make_pair(1ULL << 11, "VK_FORMAT_FEATURE_BLIT_DST_BIT"),
2015     std::make_pair(1ULL << 12, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"),
2016     std::make_pair(1ULL << 14, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"),
2017     std::make_pair(1ULL << 15, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT"),
2018     std::make_pair(1ULL << 17, "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT"),
2019     std::make_pair(1ULL << 18, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT"),
2020     std::make_pair(1ULL << 19, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT"),
2021     std::make_pair(1ULL << 20, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT"),
2022     std::make_pair(1ULL << 21, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT"),
2023     std::make_pair(1ULL << 22, "VK_FORMAT_FEATURE_DISJOINT_BIT"),
2024     std::make_pair(1ULL << 23, "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT"),
2025     std::make_pair(1ULL << 16, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT"),
2026     std::make_pair(1ULL << 13, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG"),
2027     std::make_pair(1ULL << 25, "VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR"),
2028     std::make_pair(1ULL << 26, "VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR"),
2029     std::make_pair(1ULL << 29, "VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"),
2030     std::make_pair(1ULL << 24, "VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT"),
2031     std::make_pair(1ULL << 30, "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
2032     std::make_pair(1ULL << 27, "VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR"),
2033     std::make_pair(1ULL << 28, "VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR"),
2034 };
print_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits obj,const std::string & str,bool commaNeeded=true)2035 static void print_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits obj, const std::string& str, bool commaNeeded=true) {
2036      PRINT_SPACE
2037      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2038      if (commaNeeded)
2039          _OUT << "\"" <<  VkFormatFeatureFlagBits_map[obj] << "\"," << std::endl;
2040      else
2041          _OUT << "\"" << VkFormatFeatureFlagBits_map[obj] << "\"" << std::endl;
2042 }
print_VkFormatFeatureFlagBits(const VkFormatFeatureFlagBits * obj,const std::string & str,bool commaNeeded=true)2043 static void print_VkFormatFeatureFlagBits(const VkFormatFeatureFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2044      PRINT_SPACE
2045      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2046      if (commaNeeded)
2047          _OUT << "\"" <<  VkFormatFeatureFlagBits_map[*obj] << "\"," << std::endl;
2048      else
2049          _OUT << "\"" << VkFormatFeatureFlagBits_map[*obj] << "\"" << std::endl;
2050 }
2051 
2052 static std::map<deUint64, std::string> VkImageCreateFlagBits_map = {
2053     std::make_pair(1ULL << 0, "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"),
2054     std::make_pair(1ULL << 1, "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"),
2055     std::make_pair(1ULL << 2, "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"),
2056     std::make_pair(1ULL << 3, "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"),
2057     std::make_pair(1ULL << 4, "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"),
2058     std::make_pair(1ULL << 10, "VK_IMAGE_CREATE_ALIAS_BIT"),
2059     std::make_pair(1ULL << 6, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT"),
2060     std::make_pair(1ULL << 5, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT"),
2061     std::make_pair(1ULL << 7, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"),
2062     std::make_pair(1ULL << 8, "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"),
2063     std::make_pair(1ULL << 11, "VK_IMAGE_CREATE_PROTECTED_BIT"),
2064     std::make_pair(1ULL << 9, "VK_IMAGE_CREATE_DISJOINT_BIT"),
2065     std::make_pair(1ULL << 13, "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV"),
2066     std::make_pair(1ULL << 12, "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"),
2067     std::make_pair(1ULL << 14, "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT"),
2068     std::make_pair(1ULL << 16, "VK_IMAGE_CREATE_RESERVED_16_BIT_AMD"),
2069     std::make_pair(1ULL << 17, "VK_IMAGE_CREATE_RESERVED_394_BIT_EXT"),
2070     std::make_pair(1ULL << 15, "VK_IMAGE_CREATE_RESERVED_426_BIT_QCOM"),
2071 };
print_VkImageCreateFlagBits(VkImageCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2072 static void print_VkImageCreateFlagBits(VkImageCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2073      PRINT_SPACE
2074      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2075      if (commaNeeded)
2076          _OUT << "\"" <<  VkImageCreateFlagBits_map[obj] << "\"," << std::endl;
2077      else
2078          _OUT << "\"" << VkImageCreateFlagBits_map[obj] << "\"" << std::endl;
2079 }
print_VkImageCreateFlagBits(const VkImageCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2080 static void print_VkImageCreateFlagBits(const VkImageCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2081      PRINT_SPACE
2082      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2083      if (commaNeeded)
2084          _OUT << "\"" <<  VkImageCreateFlagBits_map[*obj] << "\"," << std::endl;
2085      else
2086          _OUT << "\"" << VkImageCreateFlagBits_map[*obj] << "\"" << std::endl;
2087 }
2088 
2089 static std::map<deUint64, std::string> VkSampleCountFlagBits_map = {
2090     std::make_pair(1ULL << 0, "VK_SAMPLE_COUNT_1_BIT"),
2091     std::make_pair(1ULL << 1, "VK_SAMPLE_COUNT_2_BIT"),
2092     std::make_pair(1ULL << 2, "VK_SAMPLE_COUNT_4_BIT"),
2093     std::make_pair(1ULL << 3, "VK_SAMPLE_COUNT_8_BIT"),
2094     std::make_pair(1ULL << 4, "VK_SAMPLE_COUNT_16_BIT"),
2095     std::make_pair(1ULL << 5, "VK_SAMPLE_COUNT_32_BIT"),
2096     std::make_pair(1ULL << 6, "VK_SAMPLE_COUNT_64_BIT"),
2097 };
print_VkSampleCountFlagBits(VkSampleCountFlagBits obj,const std::string & str,bool commaNeeded=true)2098 static void print_VkSampleCountFlagBits(VkSampleCountFlagBits obj, const std::string& str, bool commaNeeded=true) {
2099      PRINT_SPACE
2100      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2101      if (commaNeeded)
2102          _OUT << "\"" <<  VkSampleCountFlagBits_map[obj] << "\"," << std::endl;
2103      else
2104          _OUT << "\"" << VkSampleCountFlagBits_map[obj] << "\"" << std::endl;
2105 }
print_VkSampleCountFlagBits(const VkSampleCountFlagBits * obj,const std::string & str,bool commaNeeded=true)2106 static void print_VkSampleCountFlagBits(const VkSampleCountFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2107      PRINT_SPACE
2108      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2109      if (commaNeeded)
2110          _OUT << "\"" <<  VkSampleCountFlagBits_map[*obj] << "\"," << std::endl;
2111      else
2112          _OUT << "\"" << VkSampleCountFlagBits_map[*obj] << "\"" << std::endl;
2113 }
2114 
2115 static std::map<deUint64, std::string> VkImageTiling_map = {
2116     std::make_pair(0, "VK_IMAGE_TILING_OPTIMAL"),
2117     std::make_pair(1, "VK_IMAGE_TILING_LINEAR"),
2118     std::make_pair(1000158000, "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT"),
2119 };
print_VkImageTiling(VkImageTiling obj,const std::string & str,bool commaNeeded=true)2120 static void print_VkImageTiling(VkImageTiling obj, const std::string& str, bool commaNeeded=true) {
2121      PRINT_SPACE
2122      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2123      if (commaNeeded)
2124          _OUT << "\"" <<  VkImageTiling_map[obj] << "\"," << std::endl;
2125      else
2126          _OUT << "\"" << VkImageTiling_map[obj] << "\"" << std::endl;
2127 }
print_VkImageTiling(const VkImageTiling * obj,const std::string & str,bool commaNeeded=true)2128 static void print_VkImageTiling(const VkImageTiling * obj, const std::string& str, bool commaNeeded=true) {
2129      PRINT_SPACE
2130      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2131      if (commaNeeded)
2132          _OUT << "\"" <<  VkImageTiling_map[*obj] << "\"," << std::endl;
2133      else
2134          _OUT << "\"" << VkImageTiling_map[*obj] << "\"" << std::endl;
2135 }
2136 
2137 static std::map<deUint64, std::string> VkImageType_map = {
2138     std::make_pair(0, "VK_IMAGE_TYPE_1D"),
2139     std::make_pair(1, "VK_IMAGE_TYPE_2D"),
2140     std::make_pair(2, "VK_IMAGE_TYPE_3D"),
2141 };
print_VkImageType(VkImageType obj,const std::string & str,bool commaNeeded=true)2142 static void print_VkImageType(VkImageType obj, const std::string& str, bool commaNeeded=true) {
2143      PRINT_SPACE
2144      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2145      if (commaNeeded)
2146          _OUT << "\"" <<  VkImageType_map[obj] << "\"," << std::endl;
2147      else
2148          _OUT << "\"" << VkImageType_map[obj] << "\"" << std::endl;
2149 }
print_VkImageType(const VkImageType * obj,const std::string & str,bool commaNeeded=true)2150 static void print_VkImageType(const VkImageType * obj, const std::string& str, bool commaNeeded=true) {
2151      PRINT_SPACE
2152      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2153      if (commaNeeded)
2154          _OUT << "\"" <<  VkImageType_map[*obj] << "\"," << std::endl;
2155      else
2156          _OUT << "\"" << VkImageType_map[*obj] << "\"" << std::endl;
2157 }
2158 
2159 static std::map<deUint64, std::string> VkImageUsageFlagBits_map = {
2160     std::make_pair(1ULL << 0, "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"),
2161     std::make_pair(1ULL << 1, "VK_IMAGE_USAGE_TRANSFER_DST_BIT"),
2162     std::make_pair(1ULL << 2, "VK_IMAGE_USAGE_SAMPLED_BIT"),
2163     std::make_pair(1ULL << 3, "VK_IMAGE_USAGE_STORAGE_BIT"),
2164     std::make_pair(1ULL << 4, "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"),
2165     std::make_pair(1ULL << 5, "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"),
2166     std::make_pair(1ULL << 6, "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"),
2167     std::make_pair(1ULL << 7, "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"),
2168     std::make_pair(1ULL << 10, "VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR"),
2169     std::make_pair(1ULL << 11, "VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR"),
2170     std::make_pair(1ULL << 12, "VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR"),
2171     std::make_pair(1ULL << 16, "VK_IMAGE_USAGE_RESERVED_16_BIT_QCOM"),
2172     std::make_pair(1ULL << 17, "VK_IMAGE_USAGE_RESERVED_17_BIT_QCOM"),
2173     std::make_pair(1ULL << 9, "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT"),
2174     std::make_pair(1ULL << 8, "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
2175     std::make_pair(1ULL << 13, "VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
2176     std::make_pair(1ULL << 14, "VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
2177     std::make_pair(1ULL << 15, "VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"),
2178     std::make_pair(1ULL << 19, "VK_IMAGE_USAGE_RESERVED_19_BIT_EXT"),
2179     std::make_pair(1ULL << 18, "VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI"),
2180 };
print_VkImageUsageFlagBits(VkImageUsageFlagBits obj,const std::string & str,bool commaNeeded=true)2181 static void print_VkImageUsageFlagBits(VkImageUsageFlagBits obj, const std::string& str, bool commaNeeded=true) {
2182      PRINT_SPACE
2183      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2184      if (commaNeeded)
2185          _OUT << "\"" <<  VkImageUsageFlagBits_map[obj] << "\"," << std::endl;
2186      else
2187          _OUT << "\"" << VkImageUsageFlagBits_map[obj] << "\"" << std::endl;
2188 }
print_VkImageUsageFlagBits(const VkImageUsageFlagBits * obj,const std::string & str,bool commaNeeded=true)2189 static void print_VkImageUsageFlagBits(const VkImageUsageFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2190      PRINT_SPACE
2191      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2192      if (commaNeeded)
2193          _OUT << "\"" <<  VkImageUsageFlagBits_map[*obj] << "\"," << std::endl;
2194      else
2195          _OUT << "\"" << VkImageUsageFlagBits_map[*obj] << "\"" << std::endl;
2196 }
2197 
2198 static std::map<deUint64, std::string> VkMemoryHeapFlagBits_map = {
2199     std::make_pair(1ULL << 0, "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"),
2200     std::make_pair(1ULL << 1, "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"),
2201     std::make_pair(1ULL << 2, "VK_MEMORY_HEAP_SEU_SAFE_BIT"),
2202 };
print_VkMemoryHeapFlagBits(VkMemoryHeapFlagBits obj,const std::string & str,bool commaNeeded=true)2203 static void print_VkMemoryHeapFlagBits(VkMemoryHeapFlagBits obj, const std::string& str, bool commaNeeded=true) {
2204      PRINT_SPACE
2205      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2206      if (commaNeeded)
2207          _OUT << "\"" <<  VkMemoryHeapFlagBits_map[obj] << "\"," << std::endl;
2208      else
2209          _OUT << "\"" << VkMemoryHeapFlagBits_map[obj] << "\"" << std::endl;
2210 }
print_VkMemoryHeapFlagBits(const VkMemoryHeapFlagBits * obj,const std::string & str,bool commaNeeded=true)2211 static void print_VkMemoryHeapFlagBits(const VkMemoryHeapFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2212      PRINT_SPACE
2213      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2214      if (commaNeeded)
2215          _OUT << "\"" <<  VkMemoryHeapFlagBits_map[*obj] << "\"," << std::endl;
2216      else
2217          _OUT << "\"" << VkMemoryHeapFlagBits_map[*obj] << "\"" << std::endl;
2218 }
2219 
2220 static std::map<deUint64, std::string> VkMemoryPropertyFlagBits_map = {
2221     std::make_pair(1ULL << 0, "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"),
2222     std::make_pair(1ULL << 1, "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"),
2223     std::make_pair(1ULL << 2, "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"),
2224     std::make_pair(1ULL << 3, "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"),
2225     std::make_pair(1ULL << 4, "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"),
2226     std::make_pair(1ULL << 5, "VK_MEMORY_PROPERTY_PROTECTED_BIT"),
2227     std::make_pair(1ULL << 6, "VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD"),
2228     std::make_pair(1ULL << 7, "VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD"),
2229     std::make_pair(1ULL << 8, "VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV"),
2230 };
print_VkMemoryPropertyFlagBits(VkMemoryPropertyFlagBits obj,const std::string & str,bool commaNeeded=true)2231 static void print_VkMemoryPropertyFlagBits(VkMemoryPropertyFlagBits obj, const std::string& str, bool commaNeeded=true) {
2232      PRINT_SPACE
2233      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2234      if (commaNeeded)
2235          _OUT << "\"" <<  VkMemoryPropertyFlagBits_map[obj] << "\"," << std::endl;
2236      else
2237          _OUT << "\"" << VkMemoryPropertyFlagBits_map[obj] << "\"" << std::endl;
2238 }
print_VkMemoryPropertyFlagBits(const VkMemoryPropertyFlagBits * obj,const std::string & str,bool commaNeeded=true)2239 static void print_VkMemoryPropertyFlagBits(const VkMemoryPropertyFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2240      PRINT_SPACE
2241      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2242      if (commaNeeded)
2243          _OUT << "\"" <<  VkMemoryPropertyFlagBits_map[*obj] << "\"," << std::endl;
2244      else
2245          _OUT << "\"" << VkMemoryPropertyFlagBits_map[*obj] << "\"" << std::endl;
2246 }
2247 
2248 static std::map<deUint64, std::string> VkPhysicalDeviceType_map = {
2249     std::make_pair(0, "VK_PHYSICAL_DEVICE_TYPE_OTHER"),
2250     std::make_pair(1, "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"),
2251     std::make_pair(2, "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"),
2252     std::make_pair(3, "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"),
2253     std::make_pair(4, "VK_PHYSICAL_DEVICE_TYPE_CPU"),
2254 };
print_VkPhysicalDeviceType(VkPhysicalDeviceType obj,const std::string & str,bool commaNeeded=true)2255 static void print_VkPhysicalDeviceType(VkPhysicalDeviceType obj, const std::string& str, bool commaNeeded=true) {
2256      PRINT_SPACE
2257      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2258      if (commaNeeded)
2259          _OUT << "\"" <<  VkPhysicalDeviceType_map[obj] << "\"," << std::endl;
2260      else
2261          _OUT << "\"" << VkPhysicalDeviceType_map[obj] << "\"" << std::endl;
2262 }
print_VkPhysicalDeviceType(const VkPhysicalDeviceType * obj,const std::string & str,bool commaNeeded=true)2263 static void print_VkPhysicalDeviceType(const VkPhysicalDeviceType * obj, const std::string& str, bool commaNeeded=true) {
2264      PRINT_SPACE
2265      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2266      if (commaNeeded)
2267          _OUT << "\"" <<  VkPhysicalDeviceType_map[*obj] << "\"," << std::endl;
2268      else
2269          _OUT << "\"" << VkPhysicalDeviceType_map[*obj] << "\"" << std::endl;
2270 }
2271 
2272 static std::map<deUint64, std::string> VkQueueFlagBits_map = {
2273     std::make_pair(1ULL << 0, "VK_QUEUE_GRAPHICS_BIT"),
2274     std::make_pair(1ULL << 1, "VK_QUEUE_COMPUTE_BIT"),
2275     std::make_pair(1ULL << 2, "VK_QUEUE_TRANSFER_BIT"),
2276     std::make_pair(1ULL << 4, "VK_QUEUE_PROTECTED_BIT"),
2277     std::make_pair(1ULL << 5, "VK_QUEUE_VIDEO_DECODE_BIT_KHR"),
2278     std::make_pair(1ULL << 6, "VK_QUEUE_VIDEO_ENCODE_BIT_KHR"),
2279 };
print_VkQueueFlagBits(VkQueueFlagBits obj,const std::string & str,bool commaNeeded=true)2280 static void print_VkQueueFlagBits(VkQueueFlagBits obj, const std::string& str, bool commaNeeded=true) {
2281      PRINT_SPACE
2282      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2283      if (commaNeeded)
2284          _OUT << "\"" <<  VkQueueFlagBits_map[obj] << "\"," << std::endl;
2285      else
2286          _OUT << "\"" << VkQueueFlagBits_map[obj] << "\"" << std::endl;
2287 }
print_VkQueueFlagBits(const VkQueueFlagBits * obj,const std::string & str,bool commaNeeded=true)2288 static void print_VkQueueFlagBits(const VkQueueFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2289      PRINT_SPACE
2290      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2291      if (commaNeeded)
2292          _OUT << "\"" <<  VkQueueFlagBits_map[*obj] << "\"," << std::endl;
2293      else
2294          _OUT << "\"" << VkQueueFlagBits_map[*obj] << "\"" << std::endl;
2295 }
2296 
2297 static std::map<deUint64, std::string> VkDeviceQueueCreateFlagBits_map = {
2298     std::make_pair(1ULL << 0, "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT"),
2299 };
print_VkDeviceQueueCreateFlagBits(VkDeviceQueueCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2300 static void print_VkDeviceQueueCreateFlagBits(VkDeviceQueueCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2301      PRINT_SPACE
2302      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2303      if (commaNeeded)
2304          _OUT << "\"" <<  VkDeviceQueueCreateFlagBits_map[obj] << "\"," << std::endl;
2305      else
2306          _OUT << "\"" << VkDeviceQueueCreateFlagBits_map[obj] << "\"" << std::endl;
2307 }
print_VkDeviceQueueCreateFlagBits(const VkDeviceQueueCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2308 static void print_VkDeviceQueueCreateFlagBits(const VkDeviceQueueCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2309      PRINT_SPACE
2310      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2311      if (commaNeeded)
2312          _OUT << "\"" <<  VkDeviceQueueCreateFlagBits_map[*obj] << "\"," << std::endl;
2313      else
2314          _OUT << "\"" << VkDeviceQueueCreateFlagBits_map[*obj] << "\"" << std::endl;
2315 }
2316 
2317 static std::map<deUint64, std::string> VkPipelineStageFlagBits_map = {
2318     std::make_pair(1ULL << 0, "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"),
2319     std::make_pair(1ULL << 1, "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"),
2320     std::make_pair(1ULL << 2, "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"),
2321     std::make_pair(1ULL << 3, "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"),
2322     std::make_pair(1ULL << 4, "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"),
2323     std::make_pair(1ULL << 5, "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"),
2324     std::make_pair(1ULL << 6, "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"),
2325     std::make_pair(1ULL << 7, "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"),
2326     std::make_pair(1ULL << 8, "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"),
2327     std::make_pair(1ULL << 9, "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"),
2328     std::make_pair(1ULL << 10, "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"),
2329     std::make_pair(1ULL << 11, "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"),
2330     std::make_pair(1ULL << 12, "VK_PIPELINE_STAGE_TRANSFER_BIT"),
2331     std::make_pair(1ULL << 13, "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"),
2332     std::make_pair(1ULL << 14, "VK_PIPELINE_STAGE_HOST_BIT"),
2333     std::make_pair(1ULL << 15, "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"),
2334     std::make_pair(1ULL << 16, "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"),
2335     std::make_pair(1ULL << 24, "VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT"),
2336     std::make_pair(1ULL << 18, "VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT"),
2337     std::make_pair(1ULL << 25, "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"),
2338     std::make_pair(1ULL << 21, "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"),
2339     std::make_pair(1ULL << 19, "VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV"),
2340     std::make_pair(1ULL << 20, "VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV"),
2341     std::make_pair(1ULL << 23, "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"),
2342     std::make_pair(1ULL << 22, "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
2343     std::make_pair(1ULL << 17, "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"),
2344     std::make_pair(0, "VK_PIPELINE_STAGE_NONE_KHR"),
2345 };
print_VkPipelineStageFlagBits(VkPipelineStageFlagBits obj,const std::string & str,bool commaNeeded=true)2346 static void print_VkPipelineStageFlagBits(VkPipelineStageFlagBits obj, const std::string& str, bool commaNeeded=true) {
2347      PRINT_SPACE
2348      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2349      if (commaNeeded)
2350          _OUT << "\"" <<  VkPipelineStageFlagBits_map[obj] << "\"," << std::endl;
2351      else
2352          _OUT << "\"" << VkPipelineStageFlagBits_map[obj] << "\"" << std::endl;
2353 }
print_VkPipelineStageFlagBits(const VkPipelineStageFlagBits * obj,const std::string & str,bool commaNeeded=true)2354 static void print_VkPipelineStageFlagBits(const VkPipelineStageFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2355      PRINT_SPACE
2356      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2357      if (commaNeeded)
2358          _OUT << "\"" <<  VkPipelineStageFlagBits_map[*obj] << "\"," << std::endl;
2359      else
2360          _OUT << "\"" << VkPipelineStageFlagBits_map[*obj] << "\"" << std::endl;
2361 }
2362 
2363 static std::map<deUint64, std::string> VkFenceCreateFlagBits_map = {
2364     std::make_pair(1ULL << 0, "VK_FENCE_CREATE_SIGNALED_BIT"),
2365 };
print_VkFenceCreateFlagBits(VkFenceCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2366 static void print_VkFenceCreateFlagBits(VkFenceCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2367      PRINT_SPACE
2368      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2369      if (commaNeeded)
2370          _OUT << "\"" <<  VkFenceCreateFlagBits_map[obj] << "\"," << std::endl;
2371      else
2372          _OUT << "\"" << VkFenceCreateFlagBits_map[obj] << "\"" << std::endl;
2373 }
print_VkFenceCreateFlagBits(const VkFenceCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2374 static void print_VkFenceCreateFlagBits(const VkFenceCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2375      PRINT_SPACE
2376      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2377      if (commaNeeded)
2378          _OUT << "\"" <<  VkFenceCreateFlagBits_map[*obj] << "\"," << std::endl;
2379      else
2380          _OUT << "\"" << VkFenceCreateFlagBits_map[*obj] << "\"" << std::endl;
2381 }
2382 
2383 static std::map<deUint64, std::string> VkEventCreateFlagBits_map = {
2384     std::make_pair(1ULL << 0, "VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR"),
2385 };
print_VkEventCreateFlagBits(VkEventCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2386 static void print_VkEventCreateFlagBits(VkEventCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2387      PRINT_SPACE
2388      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2389      if (commaNeeded)
2390          _OUT << "\"" <<  VkEventCreateFlagBits_map[obj] << "\"," << std::endl;
2391      else
2392          _OUT << "\"" << VkEventCreateFlagBits_map[obj] << "\"" << std::endl;
2393 }
print_VkEventCreateFlagBits(const VkEventCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2394 static void print_VkEventCreateFlagBits(const VkEventCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2395      PRINT_SPACE
2396      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2397      if (commaNeeded)
2398          _OUT << "\"" <<  VkEventCreateFlagBits_map[*obj] << "\"," << std::endl;
2399      else
2400          _OUT << "\"" << VkEventCreateFlagBits_map[*obj] << "\"" << std::endl;
2401 }
2402 
2403 static std::map<deUint64, std::string> VkQueryPipelineStatisticFlagBits_map = {
2404     std::make_pair(1ULL << 0, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"),
2405     std::make_pair(1ULL << 1, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"),
2406     std::make_pair(1ULL << 2, "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"),
2407     std::make_pair(1ULL << 3, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"),
2408     std::make_pair(1ULL << 4, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"),
2409     std::make_pair(1ULL << 5, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"),
2410     std::make_pair(1ULL << 6, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"),
2411     std::make_pair(1ULL << 7, "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"),
2412     std::make_pair(1ULL << 8, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"),
2413     std::make_pair(1ULL << 9, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"),
2414     std::make_pair(1ULL << 10, "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"),
2415 };
print_VkQueryPipelineStatisticFlagBits(VkQueryPipelineStatisticFlagBits obj,const std::string & str,bool commaNeeded=true)2416 static void print_VkQueryPipelineStatisticFlagBits(VkQueryPipelineStatisticFlagBits obj, const std::string& str, bool commaNeeded=true) {
2417      PRINT_SPACE
2418      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2419      if (commaNeeded)
2420          _OUT << "\"" <<  VkQueryPipelineStatisticFlagBits_map[obj] << "\"," << std::endl;
2421      else
2422          _OUT << "\"" << VkQueryPipelineStatisticFlagBits_map[obj] << "\"" << std::endl;
2423 }
print_VkQueryPipelineStatisticFlagBits(const VkQueryPipelineStatisticFlagBits * obj,const std::string & str,bool commaNeeded=true)2424 static void print_VkQueryPipelineStatisticFlagBits(const VkQueryPipelineStatisticFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2425      PRINT_SPACE
2426      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2427      if (commaNeeded)
2428          _OUT << "\"" <<  VkQueryPipelineStatisticFlagBits_map[*obj] << "\"," << std::endl;
2429      else
2430          _OUT << "\"" << VkQueryPipelineStatisticFlagBits_map[*obj] << "\"" << std::endl;
2431 }
2432 
2433 static std::map<deUint64, std::string> VkQueryType_map = {
2434     std::make_pair(0, "VK_QUERY_TYPE_OCCLUSION"),
2435     std::make_pair(1, "VK_QUERY_TYPE_PIPELINE_STATISTICS"),
2436     std::make_pair(2, "VK_QUERY_TYPE_TIMESTAMP"),
2437     std::make_pair(1000023000, "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR"),
2438     std::make_pair(1000028004, "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT"),
2439     std::make_pair(1000116000, "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR"),
2440     std::make_pair(1000150000, "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"),
2441     std::make_pair(1000150001, "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR"),
2442     std::make_pair(1000165000, "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV"),
2443     std::make_pair(1000210000, "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL"),
2444     std::make_pair(1000299000, "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR"),
2445 };
print_VkQueryType(VkQueryType obj,const std::string & str,bool commaNeeded=true)2446 static void print_VkQueryType(VkQueryType obj, const std::string& str, bool commaNeeded=true) {
2447      PRINT_SPACE
2448      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2449      if (commaNeeded)
2450          _OUT << "\"" <<  VkQueryType_map[obj] << "\"," << std::endl;
2451      else
2452          _OUT << "\"" << VkQueryType_map[obj] << "\"" << std::endl;
2453 }
print_VkQueryType(const VkQueryType * obj,const std::string & str,bool commaNeeded=true)2454 static void print_VkQueryType(const VkQueryType * obj, const std::string& str, bool commaNeeded=true) {
2455      PRINT_SPACE
2456      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2457      if (commaNeeded)
2458          _OUT << "\"" <<  VkQueryType_map[*obj] << "\"," << std::endl;
2459      else
2460          _OUT << "\"" << VkQueryType_map[*obj] << "\"" << std::endl;
2461 }
2462 
2463 static std::map<deUint64, std::string> VkQueryResultFlagBits_map = {
2464     std::make_pair(1ULL << 0, "VK_QUERY_RESULT_64_BIT"),
2465     std::make_pair(1ULL << 1, "VK_QUERY_RESULT_WAIT_BIT"),
2466     std::make_pair(1ULL << 2, "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"),
2467     std::make_pair(1ULL << 3, "VK_QUERY_RESULT_PARTIAL_BIT"),
2468     std::make_pair(1ULL << 4, "VK_QUERY_RESULT_WITH_STATUS_BIT_KHR"),
2469 };
print_VkQueryResultFlagBits(VkQueryResultFlagBits obj,const std::string & str,bool commaNeeded=true)2470 static void print_VkQueryResultFlagBits(VkQueryResultFlagBits obj, const std::string& str, bool commaNeeded=true) {
2471      PRINT_SPACE
2472      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2473      if (commaNeeded)
2474          _OUT << "\"" <<  VkQueryResultFlagBits_map[obj] << "\"," << std::endl;
2475      else
2476          _OUT << "\"" << VkQueryResultFlagBits_map[obj] << "\"" << std::endl;
2477 }
print_VkQueryResultFlagBits(const VkQueryResultFlagBits * obj,const std::string & str,bool commaNeeded=true)2478 static void print_VkQueryResultFlagBits(const VkQueryResultFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2479      PRINT_SPACE
2480      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2481      if (commaNeeded)
2482          _OUT << "\"" <<  VkQueryResultFlagBits_map[*obj] << "\"," << std::endl;
2483      else
2484          _OUT << "\"" << VkQueryResultFlagBits_map[*obj] << "\"" << std::endl;
2485 }
2486 
2487 static std::map<deUint64, std::string> VkBufferCreateFlagBits_map = {
2488     std::make_pair(1ULL << 0, "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"),
2489     std::make_pair(1ULL << 1, "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"),
2490     std::make_pair(1ULL << 2, "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"),
2491     std::make_pair(1ULL << 3, "VK_BUFFER_CREATE_PROTECTED_BIT"),
2492     std::make_pair(1ULL << 4, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"),
2493     std::make_pair(1ULL << 5, "VK_BUFFER_CREATE_RESERVED_5_BIT_AMD"),
2494 };
print_VkBufferCreateFlagBits(VkBufferCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2495 static void print_VkBufferCreateFlagBits(VkBufferCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2496      PRINT_SPACE
2497      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2498      if (commaNeeded)
2499          _OUT << "\"" <<  VkBufferCreateFlagBits_map[obj] << "\"," << std::endl;
2500      else
2501          _OUT << "\"" << VkBufferCreateFlagBits_map[obj] << "\"" << std::endl;
2502 }
print_VkBufferCreateFlagBits(const VkBufferCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2503 static void print_VkBufferCreateFlagBits(const VkBufferCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2504      PRINT_SPACE
2505      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2506      if (commaNeeded)
2507          _OUT << "\"" <<  VkBufferCreateFlagBits_map[*obj] << "\"," << std::endl;
2508      else
2509          _OUT << "\"" << VkBufferCreateFlagBits_map[*obj] << "\"" << std::endl;
2510 }
2511 
2512 static std::map<deUint64, std::string> VkBufferUsageFlagBits_map = {
2513     std::make_pair(1ULL << 0, "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"),
2514     std::make_pair(1ULL << 1, "VK_BUFFER_USAGE_TRANSFER_DST_BIT"),
2515     std::make_pair(1ULL << 2, "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"),
2516     std::make_pair(1ULL << 3, "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"),
2517     std::make_pair(1ULL << 4, "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"),
2518     std::make_pair(1ULL << 5, "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"),
2519     std::make_pair(1ULL << 6, "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"),
2520     std::make_pair(1ULL << 7, "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"),
2521     std::make_pair(1ULL << 8, "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"),
2522     std::make_pair(1ULL << 17, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT"),
2523     std::make_pair(1ULL << 13, "VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR"),
2524     std::make_pair(1ULL << 14, "VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR"),
2525     std::make_pair(1ULL << 11, "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT"),
2526     std::make_pair(1ULL << 12, "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT"),
2527     std::make_pair(1ULL << 9, "VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT"),
2528     std::make_pair(1ULL << 19, "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"),
2529     std::make_pair(1ULL << 20, "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR"),
2530     std::make_pair(1ULL << 10, "VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR"),
2531     std::make_pair(1ULL << 18, "VK_BUFFER_USAGE_RESERVED_18_BIT_QCOM"),
2532     std::make_pair(1ULL << 15, "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
2533     std::make_pair(1ULL << 16, "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
2534     std::make_pair(1ULL << 21, "VK_BUFFER_USAGE_RESERVED_21_BIT_AMD"),
2535     std::make_pair(1ULL << 22, "VK_BUFFER_USAGE_RESERVED_22_BIT_AMD"),
2536 };
print_VkBufferUsageFlagBits(VkBufferUsageFlagBits obj,const std::string & str,bool commaNeeded=true)2537 static void print_VkBufferUsageFlagBits(VkBufferUsageFlagBits obj, const std::string& str, bool commaNeeded=true) {
2538      PRINT_SPACE
2539      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2540      if (commaNeeded)
2541          _OUT << "\"" <<  VkBufferUsageFlagBits_map[obj] << "\"," << std::endl;
2542      else
2543          _OUT << "\"" << VkBufferUsageFlagBits_map[obj] << "\"" << std::endl;
2544 }
print_VkBufferUsageFlagBits(const VkBufferUsageFlagBits * obj,const std::string & str,bool commaNeeded=true)2545 static void print_VkBufferUsageFlagBits(const VkBufferUsageFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2546      PRINT_SPACE
2547      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2548      if (commaNeeded)
2549          _OUT << "\"" <<  VkBufferUsageFlagBits_map[*obj] << "\"," << std::endl;
2550      else
2551          _OUT << "\"" << VkBufferUsageFlagBits_map[*obj] << "\"" << std::endl;
2552 }
2553 
2554 static std::map<deUint64, std::string> VkSharingMode_map = {
2555     std::make_pair(0, "VK_SHARING_MODE_EXCLUSIVE"),
2556     std::make_pair(1, "VK_SHARING_MODE_CONCURRENT"),
2557 };
print_VkSharingMode(VkSharingMode obj,const std::string & str,bool commaNeeded=true)2558 static void print_VkSharingMode(VkSharingMode obj, const std::string& str, bool commaNeeded=true) {
2559      PRINT_SPACE
2560      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2561      if (commaNeeded)
2562          _OUT << "\"" <<  VkSharingMode_map[obj] << "\"," << std::endl;
2563      else
2564          _OUT << "\"" << VkSharingMode_map[obj] << "\"" << std::endl;
2565 }
print_VkSharingMode(const VkSharingMode * obj,const std::string & str,bool commaNeeded=true)2566 static void print_VkSharingMode(const VkSharingMode * obj, const std::string& str, bool commaNeeded=true) {
2567      PRINT_SPACE
2568      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2569      if (commaNeeded)
2570          _OUT << "\"" <<  VkSharingMode_map[*obj] << "\"," << std::endl;
2571      else
2572          _OUT << "\"" << VkSharingMode_map[*obj] << "\"" << std::endl;
2573 }
2574 
2575 static std::map<deUint64, std::string> VkComponentSwizzle_map = {
2576     std::make_pair(0, "VK_COMPONENT_SWIZZLE_IDENTITY"),
2577     std::make_pair(1, "VK_COMPONENT_SWIZZLE_ZERO"),
2578     std::make_pair(2, "VK_COMPONENT_SWIZZLE_ONE"),
2579     std::make_pair(3, "VK_COMPONENT_SWIZZLE_R"),
2580     std::make_pair(4, "VK_COMPONENT_SWIZZLE_G"),
2581     std::make_pair(5, "VK_COMPONENT_SWIZZLE_B"),
2582     std::make_pair(6, "VK_COMPONENT_SWIZZLE_A"),
2583 };
print_VkComponentSwizzle(VkComponentSwizzle obj,const std::string & str,bool commaNeeded=true)2584 static void print_VkComponentSwizzle(VkComponentSwizzle obj, const std::string& str, bool commaNeeded=true) {
2585      PRINT_SPACE
2586      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2587      if (commaNeeded)
2588          _OUT << "\"" <<  VkComponentSwizzle_map[obj] << "\"," << std::endl;
2589      else
2590          _OUT << "\"" << VkComponentSwizzle_map[obj] << "\"" << std::endl;
2591 }
print_VkComponentSwizzle(const VkComponentSwizzle * obj,const std::string & str,bool commaNeeded=true)2592 static void print_VkComponentSwizzle(const VkComponentSwizzle * obj, const std::string& str, bool commaNeeded=true) {
2593      PRINT_SPACE
2594      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2595      if (commaNeeded)
2596          _OUT << "\"" <<  VkComponentSwizzle_map[*obj] << "\"," << std::endl;
2597      else
2598          _OUT << "\"" << VkComponentSwizzle_map[*obj] << "\"" << std::endl;
2599 }
2600 
2601 static std::map<deUint64, std::string> VkImageViewCreateFlagBits_map = {
2602     std::make_pair(1ULL << 0, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT"),
2603     std::make_pair(1ULL << 1, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT"),
2604 };
print_VkImageViewCreateFlagBits(VkImageViewCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2605 static void print_VkImageViewCreateFlagBits(VkImageViewCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2606      PRINT_SPACE
2607      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2608      if (commaNeeded)
2609          _OUT << "\"" <<  VkImageViewCreateFlagBits_map[obj] << "\"," << std::endl;
2610      else
2611          _OUT << "\"" << VkImageViewCreateFlagBits_map[obj] << "\"" << std::endl;
2612 }
print_VkImageViewCreateFlagBits(const VkImageViewCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2613 static void print_VkImageViewCreateFlagBits(const VkImageViewCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2614      PRINT_SPACE
2615      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2616      if (commaNeeded)
2617          _OUT << "\"" <<  VkImageViewCreateFlagBits_map[*obj] << "\"," << std::endl;
2618      else
2619          _OUT << "\"" << VkImageViewCreateFlagBits_map[*obj] << "\"" << std::endl;
2620 }
2621 
2622 static std::map<deUint64, std::string> VkImageViewType_map = {
2623     std::make_pair(0, "VK_IMAGE_VIEW_TYPE_1D"),
2624     std::make_pair(1, "VK_IMAGE_VIEW_TYPE_2D"),
2625     std::make_pair(2, "VK_IMAGE_VIEW_TYPE_3D"),
2626     std::make_pair(3, "VK_IMAGE_VIEW_TYPE_CUBE"),
2627     std::make_pair(4, "VK_IMAGE_VIEW_TYPE_1D_ARRAY"),
2628     std::make_pair(5, "VK_IMAGE_VIEW_TYPE_2D_ARRAY"),
2629     std::make_pair(6, "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"),
2630 };
print_VkImageViewType(VkImageViewType obj,const std::string & str,bool commaNeeded=true)2631 static void print_VkImageViewType(VkImageViewType obj, const std::string& str, bool commaNeeded=true) {
2632      PRINT_SPACE
2633      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2634      if (commaNeeded)
2635          _OUT << "\"" <<  VkImageViewType_map[obj] << "\"," << std::endl;
2636      else
2637          _OUT << "\"" << VkImageViewType_map[obj] << "\"" << std::endl;
2638 }
print_VkImageViewType(const VkImageViewType * obj,const std::string & str,bool commaNeeded=true)2639 static void print_VkImageViewType(const VkImageViewType * obj, const std::string& str, bool commaNeeded=true) {
2640      PRINT_SPACE
2641      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2642      if (commaNeeded)
2643          _OUT << "\"" <<  VkImageViewType_map[*obj] << "\"," << std::endl;
2644      else
2645          _OUT << "\"" << VkImageViewType_map[*obj] << "\"" << std::endl;
2646 }
2647 
2648 static std::map<deUint64, std::string> VkPipelineCacheCreateFlagBits_map = {
2649     std::make_pair(1ULL << 2, "VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT"),
2650     std::make_pair(1ULL << 1, "VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"),
2651     std::make_pair(1ULL << 0, "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT"),
2652 };
print_VkPipelineCacheCreateFlagBits(VkPipelineCacheCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2653 static void print_VkPipelineCacheCreateFlagBits(VkPipelineCacheCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2654      PRINT_SPACE
2655      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2656      if (commaNeeded)
2657          _OUT << "\"" <<  VkPipelineCacheCreateFlagBits_map[obj] << "\"," << std::endl;
2658      else
2659          _OUT << "\"" << VkPipelineCacheCreateFlagBits_map[obj] << "\"" << std::endl;
2660 }
print_VkPipelineCacheCreateFlagBits(const VkPipelineCacheCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2661 static void print_VkPipelineCacheCreateFlagBits(const VkPipelineCacheCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2662      PRINT_SPACE
2663      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2664      if (commaNeeded)
2665          _OUT << "\"" <<  VkPipelineCacheCreateFlagBits_map[*obj] << "\"," << std::endl;
2666      else
2667          _OUT << "\"" << VkPipelineCacheCreateFlagBits_map[*obj] << "\"" << std::endl;
2668 }
2669 
2670 static std::map<deUint64, std::string> VkBlendFactor_map = {
2671     std::make_pair(0, "VK_BLEND_FACTOR_ZERO"),
2672     std::make_pair(1, "VK_BLEND_FACTOR_ONE"),
2673     std::make_pair(2, "VK_BLEND_FACTOR_SRC_COLOR"),
2674     std::make_pair(3, "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"),
2675     std::make_pair(4, "VK_BLEND_FACTOR_DST_COLOR"),
2676     std::make_pair(5, "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"),
2677     std::make_pair(6, "VK_BLEND_FACTOR_SRC_ALPHA"),
2678     std::make_pair(7, "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"),
2679     std::make_pair(8, "VK_BLEND_FACTOR_DST_ALPHA"),
2680     std::make_pair(9, "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"),
2681     std::make_pair(10, "VK_BLEND_FACTOR_CONSTANT_COLOR"),
2682     std::make_pair(11, "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"),
2683     std::make_pair(12, "VK_BLEND_FACTOR_CONSTANT_ALPHA"),
2684     std::make_pair(13, "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"),
2685     std::make_pair(14, "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"),
2686     std::make_pair(15, "VK_BLEND_FACTOR_SRC1_COLOR"),
2687     std::make_pair(16, "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"),
2688     std::make_pair(17, "VK_BLEND_FACTOR_SRC1_ALPHA"),
2689     std::make_pair(18, "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"),
2690 };
print_VkBlendFactor(VkBlendFactor obj,const std::string & str,bool commaNeeded=true)2691 static void print_VkBlendFactor(VkBlendFactor obj, const std::string& str, bool commaNeeded=true) {
2692      PRINT_SPACE
2693      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2694      if (commaNeeded)
2695          _OUT << "\"" <<  VkBlendFactor_map[obj] << "\"," << std::endl;
2696      else
2697          _OUT << "\"" << VkBlendFactor_map[obj] << "\"" << std::endl;
2698 }
print_VkBlendFactor(const VkBlendFactor * obj,const std::string & str,bool commaNeeded=true)2699 static void print_VkBlendFactor(const VkBlendFactor * obj, const std::string& str, bool commaNeeded=true) {
2700      PRINT_SPACE
2701      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2702      if (commaNeeded)
2703          _OUT << "\"" <<  VkBlendFactor_map[*obj] << "\"," << std::endl;
2704      else
2705          _OUT << "\"" << VkBlendFactor_map[*obj] << "\"" << std::endl;
2706 }
2707 
2708 static std::map<deUint64, std::string> VkBlendOp_map = {
2709     std::make_pair(0, "VK_BLEND_OP_ADD"),
2710     std::make_pair(1, "VK_BLEND_OP_SUBTRACT"),
2711     std::make_pair(2, "VK_BLEND_OP_REVERSE_SUBTRACT"),
2712     std::make_pair(3, "VK_BLEND_OP_MIN"),
2713     std::make_pair(4, "VK_BLEND_OP_MAX"),
2714     std::make_pair(1000148000, "VK_BLEND_OP_ZERO_EXT"),
2715     std::make_pair(1000148001, "VK_BLEND_OP_SRC_EXT"),
2716     std::make_pair(1000148002, "VK_BLEND_OP_DST_EXT"),
2717     std::make_pair(1000148003, "VK_BLEND_OP_SRC_OVER_EXT"),
2718     std::make_pair(1000148004, "VK_BLEND_OP_DST_OVER_EXT"),
2719     std::make_pair(1000148005, "VK_BLEND_OP_SRC_IN_EXT"),
2720     std::make_pair(1000148006, "VK_BLEND_OP_DST_IN_EXT"),
2721     std::make_pair(1000148007, "VK_BLEND_OP_SRC_OUT_EXT"),
2722     std::make_pair(1000148008, "VK_BLEND_OP_DST_OUT_EXT"),
2723     std::make_pair(1000148009, "VK_BLEND_OP_SRC_ATOP_EXT"),
2724     std::make_pair(1000148010, "VK_BLEND_OP_DST_ATOP_EXT"),
2725     std::make_pair(1000148011, "VK_BLEND_OP_XOR_EXT"),
2726     std::make_pair(1000148012, "VK_BLEND_OP_MULTIPLY_EXT"),
2727     std::make_pair(1000148013, "VK_BLEND_OP_SCREEN_EXT"),
2728     std::make_pair(1000148014, "VK_BLEND_OP_OVERLAY_EXT"),
2729     std::make_pair(1000148015, "VK_BLEND_OP_DARKEN_EXT"),
2730     std::make_pair(1000148016, "VK_BLEND_OP_LIGHTEN_EXT"),
2731     std::make_pair(1000148017, "VK_BLEND_OP_COLORDODGE_EXT"),
2732     std::make_pair(1000148018, "VK_BLEND_OP_COLORBURN_EXT"),
2733     std::make_pair(1000148019, "VK_BLEND_OP_HARDLIGHT_EXT"),
2734     std::make_pair(1000148020, "VK_BLEND_OP_SOFTLIGHT_EXT"),
2735     std::make_pair(1000148021, "VK_BLEND_OP_DIFFERENCE_EXT"),
2736     std::make_pair(1000148022, "VK_BLEND_OP_EXCLUSION_EXT"),
2737     std::make_pair(1000148023, "VK_BLEND_OP_INVERT_EXT"),
2738     std::make_pair(1000148024, "VK_BLEND_OP_INVERT_RGB_EXT"),
2739     std::make_pair(1000148025, "VK_BLEND_OP_LINEARDODGE_EXT"),
2740     std::make_pair(1000148026, "VK_BLEND_OP_LINEARBURN_EXT"),
2741     std::make_pair(1000148027, "VK_BLEND_OP_VIVIDLIGHT_EXT"),
2742     std::make_pair(1000148028, "VK_BLEND_OP_LINEARLIGHT_EXT"),
2743     std::make_pair(1000148029, "VK_BLEND_OP_PINLIGHT_EXT"),
2744     std::make_pair(1000148030, "VK_BLEND_OP_HARDMIX_EXT"),
2745     std::make_pair(1000148031, "VK_BLEND_OP_HSL_HUE_EXT"),
2746     std::make_pair(1000148032, "VK_BLEND_OP_HSL_SATURATION_EXT"),
2747     std::make_pair(1000148033, "VK_BLEND_OP_HSL_COLOR_EXT"),
2748     std::make_pair(1000148034, "VK_BLEND_OP_HSL_LUMINOSITY_EXT"),
2749     std::make_pair(1000148035, "VK_BLEND_OP_PLUS_EXT"),
2750     std::make_pair(1000148036, "VK_BLEND_OP_PLUS_CLAMPED_EXT"),
2751     std::make_pair(1000148037, "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT"),
2752     std::make_pair(1000148038, "VK_BLEND_OP_PLUS_DARKER_EXT"),
2753     std::make_pair(1000148039, "VK_BLEND_OP_MINUS_EXT"),
2754     std::make_pair(1000148040, "VK_BLEND_OP_MINUS_CLAMPED_EXT"),
2755     std::make_pair(1000148041, "VK_BLEND_OP_CONTRAST_EXT"),
2756     std::make_pair(1000148042, "VK_BLEND_OP_INVERT_OVG_EXT"),
2757     std::make_pair(1000148043, "VK_BLEND_OP_RED_EXT"),
2758     std::make_pair(1000148044, "VK_BLEND_OP_GREEN_EXT"),
2759     std::make_pair(1000148045, "VK_BLEND_OP_BLUE_EXT"),
2760 };
print_VkBlendOp(VkBlendOp obj,const std::string & str,bool commaNeeded=true)2761 static void print_VkBlendOp(VkBlendOp obj, const std::string& str, bool commaNeeded=true) {
2762      PRINT_SPACE
2763      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2764      if (commaNeeded)
2765          _OUT << "\"" <<  VkBlendOp_map[obj] << "\"," << std::endl;
2766      else
2767          _OUT << "\"" << VkBlendOp_map[obj] << "\"" << std::endl;
2768 }
print_VkBlendOp(const VkBlendOp * obj,const std::string & str,bool commaNeeded=true)2769 static void print_VkBlendOp(const VkBlendOp * obj, const std::string& str, bool commaNeeded=true) {
2770      PRINT_SPACE
2771      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2772      if (commaNeeded)
2773          _OUT << "\"" <<  VkBlendOp_map[*obj] << "\"," << std::endl;
2774      else
2775          _OUT << "\"" << VkBlendOp_map[*obj] << "\"" << std::endl;
2776 }
2777 
2778 static std::map<deUint64, std::string> VkColorComponentFlagBits_map = {
2779     std::make_pair(1ULL << 0, "VK_COLOR_COMPONENT_R_BIT"),
2780     std::make_pair(1ULL << 1, "VK_COLOR_COMPONENT_G_BIT"),
2781     std::make_pair(1ULL << 2, "VK_COLOR_COMPONENT_B_BIT"),
2782     std::make_pair(1ULL << 3, "VK_COLOR_COMPONENT_A_BIT"),
2783 };
print_VkColorComponentFlagBits(VkColorComponentFlagBits obj,const std::string & str,bool commaNeeded=true)2784 static void print_VkColorComponentFlagBits(VkColorComponentFlagBits obj, const std::string& str, bool commaNeeded=true) {
2785      PRINT_SPACE
2786      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2787      if (commaNeeded)
2788          _OUT << "\"" <<  VkColorComponentFlagBits_map[obj] << "\"," << std::endl;
2789      else
2790          _OUT << "\"" << VkColorComponentFlagBits_map[obj] << "\"" << std::endl;
2791 }
print_VkColorComponentFlagBits(const VkColorComponentFlagBits * obj,const std::string & str,bool commaNeeded=true)2792 static void print_VkColorComponentFlagBits(const VkColorComponentFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2793      PRINT_SPACE
2794      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2795      if (commaNeeded)
2796          _OUT << "\"" <<  VkColorComponentFlagBits_map[*obj] << "\"," << std::endl;
2797      else
2798          _OUT << "\"" << VkColorComponentFlagBits_map[*obj] << "\"" << std::endl;
2799 }
2800 
2801 static std::map<deUint64, std::string> VkCompareOp_map = {
2802     std::make_pair(0, "VK_COMPARE_OP_NEVER"),
2803     std::make_pair(1, "VK_COMPARE_OP_LESS"),
2804     std::make_pair(2, "VK_COMPARE_OP_EQUAL"),
2805     std::make_pair(3, "VK_COMPARE_OP_LESS_OR_EQUAL"),
2806     std::make_pair(4, "VK_COMPARE_OP_GREATER"),
2807     std::make_pair(5, "VK_COMPARE_OP_NOT_EQUAL"),
2808     std::make_pair(6, "VK_COMPARE_OP_GREATER_OR_EQUAL"),
2809     std::make_pair(7, "VK_COMPARE_OP_ALWAYS"),
2810 };
print_VkCompareOp(VkCompareOp obj,const std::string & str,bool commaNeeded=true)2811 static void print_VkCompareOp(VkCompareOp obj, const std::string& str, bool commaNeeded=true) {
2812      PRINT_SPACE
2813      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2814      if (commaNeeded)
2815          _OUT << "\"" <<  VkCompareOp_map[obj] << "\"," << std::endl;
2816      else
2817          _OUT << "\"" << VkCompareOp_map[obj] << "\"" << std::endl;
2818 }
print_VkCompareOp(const VkCompareOp * obj,const std::string & str,bool commaNeeded=true)2819 static void print_VkCompareOp(const VkCompareOp * obj, const std::string& str, bool commaNeeded=true) {
2820      PRINT_SPACE
2821      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2822      if (commaNeeded)
2823          _OUT << "\"" <<  VkCompareOp_map[*obj] << "\"," << std::endl;
2824      else
2825          _OUT << "\"" << VkCompareOp_map[*obj] << "\"" << std::endl;
2826 }
2827 
2828 static std::map<deUint64, std::string> VkPipelineCreateFlagBits_map = {
2829     std::make_pair(1ULL << 0, "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"),
2830     std::make_pair(1ULL << 1, "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"),
2831     std::make_pair(1ULL << 3, "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"),
2832     std::make_pair(1ULL << 4, "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"),
2833     std::make_pair(1ULL << 21, "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
2834     std::make_pair(1ULL << 22, "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"),
2835     std::make_pair(1ULL << 14, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"),
2836     std::make_pair(1ULL << 15, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"),
2837     std::make_pair(1ULL << 16, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"),
2838     std::make_pair(1ULL << 17, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"),
2839     std::make_pair(1ULL << 12, "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"),
2840     std::make_pair(1ULL << 13, "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR"),
2841     std::make_pair(1ULL << 19, "VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"),
2842     std::make_pair(1ULL << 5, "VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"),
2843     std::make_pair(1ULL << 6, "VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR"),
2844     std::make_pair(1ULL << 7, "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"),
2845     std::make_pair(1ULL << 18, "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV"),
2846     std::make_pair(1ULL << 11, "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR"),
2847     std::make_pair(1ULL << 8, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT"),
2848     std::make_pair(1ULL << 9, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT"),
2849     std::make_pair(1ULL << 23, "VK_PIPELINE_CREATE_RESERVED_23_BIT_AMD"),
2850     std::make_pair(1ULL << 10, "VK_PIPELINE_CREATE_RESERVED_10_BIT_AMD"),
2851     std::make_pair(1ULL << 20, "VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV"),
2852 };
print_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2853 static void print_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2854      PRINT_SPACE
2855      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2856      if (commaNeeded)
2857          _OUT << "\"" <<  VkPipelineCreateFlagBits_map[obj] << "\"," << std::endl;
2858      else
2859          _OUT << "\"" << VkPipelineCreateFlagBits_map[obj] << "\"" << std::endl;
2860 }
print_VkPipelineCreateFlagBits(const VkPipelineCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2861 static void print_VkPipelineCreateFlagBits(const VkPipelineCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2862      PRINT_SPACE
2863      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2864      if (commaNeeded)
2865          _OUT << "\"" <<  VkPipelineCreateFlagBits_map[*obj] << "\"," << std::endl;
2866      else
2867          _OUT << "\"" << VkPipelineCreateFlagBits_map[*obj] << "\"" << std::endl;
2868 }
2869 
2870 static std::map<deUint64, std::string> VkPipelineShaderStageCreateFlagBits_map = {
2871     std::make_pair(1ULL << 2, "VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_2_BIT_NV"),
2872     std::make_pair(1ULL << 0, "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT"),
2873     std::make_pair(1ULL << 1, "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT"),
2874     std::make_pair(1ULL << 3, "VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_3_BIT_KHR"),
2875 };
print_VkPipelineShaderStageCreateFlagBits(VkPipelineShaderStageCreateFlagBits obj,const std::string & str,bool commaNeeded=true)2876 static void print_VkPipelineShaderStageCreateFlagBits(VkPipelineShaderStageCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
2877      PRINT_SPACE
2878      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2879      if (commaNeeded)
2880          _OUT << "\"" <<  VkPipelineShaderStageCreateFlagBits_map[obj] << "\"," << std::endl;
2881      else
2882          _OUT << "\"" << VkPipelineShaderStageCreateFlagBits_map[obj] << "\"" << std::endl;
2883 }
print_VkPipelineShaderStageCreateFlagBits(const VkPipelineShaderStageCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)2884 static void print_VkPipelineShaderStageCreateFlagBits(const VkPipelineShaderStageCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2885      PRINT_SPACE
2886      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2887      if (commaNeeded)
2888          _OUT << "\"" <<  VkPipelineShaderStageCreateFlagBits_map[*obj] << "\"," << std::endl;
2889      else
2890          _OUT << "\"" << VkPipelineShaderStageCreateFlagBits_map[*obj] << "\"" << std::endl;
2891 }
2892 
2893 static std::map<deUint64, std::string> VkShaderStageFlagBits_map = {
2894     std::make_pair(1ULL << 0, "VK_SHADER_STAGE_VERTEX_BIT"),
2895     std::make_pair(1ULL << 1, "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"),
2896     std::make_pair(1ULL << 2, "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"),
2897     std::make_pair(1ULL << 3, "VK_SHADER_STAGE_GEOMETRY_BIT"),
2898     std::make_pair(1ULL << 4, "VK_SHADER_STAGE_FRAGMENT_BIT"),
2899     std::make_pair(1ULL << 5, "VK_SHADER_STAGE_COMPUTE_BIT"),
2900     std::make_pair(0x0000001F, "VK_SHADER_STAGE_ALL_GRAPHICS"),
2901     std::make_pair(0x7FFFFFFF, "VK_SHADER_STAGE_ALL"),
2902     std::make_pair(1ULL << 8, "VK_SHADER_STAGE_RAYGEN_BIT_KHR"),
2903     std::make_pair(1ULL << 9, "VK_SHADER_STAGE_ANY_HIT_BIT_KHR"),
2904     std::make_pair(1ULL << 10, "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"),
2905     std::make_pair(1ULL << 11, "VK_SHADER_STAGE_MISS_BIT_KHR"),
2906     std::make_pair(1ULL << 12, "VK_SHADER_STAGE_INTERSECTION_BIT_KHR"),
2907     std::make_pair(1ULL << 13, "VK_SHADER_STAGE_CALLABLE_BIT_KHR"),
2908     std::make_pair(1ULL << 6, "VK_SHADER_STAGE_TASK_BIT_NV"),
2909     std::make_pair(1ULL << 7, "VK_SHADER_STAGE_MESH_BIT_NV"),
2910     std::make_pair(1ULL << 14, "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"),
2911 };
print_VkShaderStageFlagBits(VkShaderStageFlagBits obj,const std::string & str,bool commaNeeded=true)2912 static void print_VkShaderStageFlagBits(VkShaderStageFlagBits obj, const std::string& str, bool commaNeeded=true) {
2913      PRINT_SPACE
2914      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2915      if (commaNeeded)
2916          _OUT << "\"" <<  VkShaderStageFlagBits_map[obj] << "\"," << std::endl;
2917      else
2918          _OUT << "\"" << VkShaderStageFlagBits_map[obj] << "\"" << std::endl;
2919 }
print_VkShaderStageFlagBits(const VkShaderStageFlagBits * obj,const std::string & str,bool commaNeeded=true)2920 static void print_VkShaderStageFlagBits(const VkShaderStageFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2921      PRINT_SPACE
2922      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2923      if (commaNeeded)
2924          _OUT << "\"" <<  VkShaderStageFlagBits_map[*obj] << "\"," << std::endl;
2925      else
2926          _OUT << "\"" << VkShaderStageFlagBits_map[*obj] << "\"" << std::endl;
2927 }
2928 
2929 static std::map<deUint64, std::string> VkCullModeFlagBits_map = {
2930     std::make_pair(0, "VK_CULL_MODE_NONE"),
2931     std::make_pair(1ULL << 0, "VK_CULL_MODE_FRONT_BIT"),
2932     std::make_pair(1ULL << 1, "VK_CULL_MODE_BACK_BIT"),
2933     std::make_pair(0x00000003, "VK_CULL_MODE_FRONT_AND_BACK"),
2934 };
print_VkCullModeFlagBits(VkCullModeFlagBits obj,const std::string & str,bool commaNeeded=true)2935 static void print_VkCullModeFlagBits(VkCullModeFlagBits obj, const std::string& str, bool commaNeeded=true) {
2936      PRINT_SPACE
2937      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2938      if (commaNeeded)
2939          _OUT << "\"" <<  VkCullModeFlagBits_map[obj] << "\"," << std::endl;
2940      else
2941          _OUT << "\"" << VkCullModeFlagBits_map[obj] << "\"" << std::endl;
2942 }
print_VkCullModeFlagBits(const VkCullModeFlagBits * obj,const std::string & str,bool commaNeeded=true)2943 static void print_VkCullModeFlagBits(const VkCullModeFlagBits * obj, const std::string& str, bool commaNeeded=true) {
2944      PRINT_SPACE
2945      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2946      if (commaNeeded)
2947          _OUT << "\"" <<  VkCullModeFlagBits_map[*obj] << "\"," << std::endl;
2948      else
2949          _OUT << "\"" << VkCullModeFlagBits_map[*obj] << "\"" << std::endl;
2950 }
2951 
2952 static std::map<deUint64, std::string> VkDynamicState_map = {
2953     std::make_pair(0, "VK_DYNAMIC_STATE_VIEWPORT"),
2954     std::make_pair(1, "VK_DYNAMIC_STATE_SCISSOR"),
2955     std::make_pair(2, "VK_DYNAMIC_STATE_LINE_WIDTH"),
2956     std::make_pair(3, "VK_DYNAMIC_STATE_DEPTH_BIAS"),
2957     std::make_pair(4, "VK_DYNAMIC_STATE_BLEND_CONSTANTS"),
2958     std::make_pair(5, "VK_DYNAMIC_STATE_DEPTH_BOUNDS"),
2959     std::make_pair(6, "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"),
2960     std::make_pair(7, "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"),
2961     std::make_pair(8, "VK_DYNAMIC_STATE_STENCIL_REFERENCE"),
2962     std::make_pair(1000087000, "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV"),
2963     std::make_pair(1000099000, "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT"),
2964     std::make_pair(1000143000, "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT"),
2965     std::make_pair(1000347000, "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR"),
2966     std::make_pair(1000164004, "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV"),
2967     std::make_pair(1000164006, "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV"),
2968     std::make_pair(1000205001, "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV"),
2969     std::make_pair(1000226000, "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR"),
2970     std::make_pair(1000259000, "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT"),
2971     std::make_pair(1000267000, "VK_DYNAMIC_STATE_CULL_MODE_EXT"),
2972     std::make_pair(1000267001, "VK_DYNAMIC_STATE_FRONT_FACE_EXT"),
2973     std::make_pair(1000267002, "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT"),
2974     std::make_pair(1000267003, "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT"),
2975     std::make_pair(1000267004, "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT"),
2976     std::make_pair(1000267005, "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT"),
2977     std::make_pair(1000267006, "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT"),
2978     std::make_pair(1000267007, "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT"),
2979     std::make_pair(1000267008, "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT"),
2980     std::make_pair(1000267009, "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT"),
2981     std::make_pair(1000267010, "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT"),
2982     std::make_pair(1000267011, "VK_DYNAMIC_STATE_STENCIL_OP_EXT"),
2983     std::make_pair(1000352000, "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT"),
2984     std::make_pair(1000377000, "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT"),
2985     std::make_pair(1000377001, "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT"),
2986     std::make_pair(1000377002, "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT"),
2987     std::make_pair(1000377003, "VK_DYNAMIC_STATE_LOGIC_OP_EXT"),
2988     std::make_pair(1000377004, "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT"),
2989     std::make_pair(1000381000, "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT"),
2990 };
print_VkDynamicState(VkDynamicState obj,const std::string & str,bool commaNeeded=true)2991 static void print_VkDynamicState(VkDynamicState obj, const std::string& str, bool commaNeeded=true) {
2992      PRINT_SPACE
2993      if (str != "") _OUT << "\"" << str << "\"" << " : ";
2994      if (commaNeeded)
2995          _OUT << "\"" <<  VkDynamicState_map[obj] << "\"," << std::endl;
2996      else
2997          _OUT << "\"" << VkDynamicState_map[obj] << "\"" << std::endl;
2998 }
print_VkDynamicState(const VkDynamicState * obj,const std::string & str,bool commaNeeded=true)2999 static void print_VkDynamicState(const VkDynamicState * obj, const std::string& str, bool commaNeeded=true) {
3000      PRINT_SPACE
3001      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3002      if (commaNeeded)
3003          _OUT << "\"" <<  VkDynamicState_map[*obj] << "\"," << std::endl;
3004      else
3005          _OUT << "\"" << VkDynamicState_map[*obj] << "\"" << std::endl;
3006 }
3007 
3008 static std::map<deUint64, std::string> VkFrontFace_map = {
3009     std::make_pair(0, "VK_FRONT_FACE_COUNTER_CLOCKWISE"),
3010     std::make_pair(1, "VK_FRONT_FACE_CLOCKWISE"),
3011 };
print_VkFrontFace(VkFrontFace obj,const std::string & str,bool commaNeeded=true)3012 static void print_VkFrontFace(VkFrontFace obj, const std::string& str, bool commaNeeded=true) {
3013      PRINT_SPACE
3014      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3015      if (commaNeeded)
3016          _OUT << "\"" <<  VkFrontFace_map[obj] << "\"," << std::endl;
3017      else
3018          _OUT << "\"" << VkFrontFace_map[obj] << "\"" << std::endl;
3019 }
print_VkFrontFace(const VkFrontFace * obj,const std::string & str,bool commaNeeded=true)3020 static void print_VkFrontFace(const VkFrontFace * obj, const std::string& str, bool commaNeeded=true) {
3021      PRINT_SPACE
3022      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3023      if (commaNeeded)
3024          _OUT << "\"" <<  VkFrontFace_map[*obj] << "\"," << std::endl;
3025      else
3026          _OUT << "\"" << VkFrontFace_map[*obj] << "\"" << std::endl;
3027 }
3028 
3029 static std::map<deUint64, std::string> VkVertexInputRate_map = {
3030     std::make_pair(0, "VK_VERTEX_INPUT_RATE_VERTEX"),
3031     std::make_pair(1, "VK_VERTEX_INPUT_RATE_INSTANCE"),
3032 };
print_VkVertexInputRate(VkVertexInputRate obj,const std::string & str,bool commaNeeded=true)3033 static void print_VkVertexInputRate(VkVertexInputRate obj, const std::string& str, bool commaNeeded=true) {
3034      PRINT_SPACE
3035      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3036      if (commaNeeded)
3037          _OUT << "\"" <<  VkVertexInputRate_map[obj] << "\"," << std::endl;
3038      else
3039          _OUT << "\"" << VkVertexInputRate_map[obj] << "\"" << std::endl;
3040 }
print_VkVertexInputRate(const VkVertexInputRate * obj,const std::string & str,bool commaNeeded=true)3041 static void print_VkVertexInputRate(const VkVertexInputRate * obj, const std::string& str, bool commaNeeded=true) {
3042      PRINT_SPACE
3043      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3044      if (commaNeeded)
3045          _OUT << "\"" <<  VkVertexInputRate_map[*obj] << "\"," << std::endl;
3046      else
3047          _OUT << "\"" << VkVertexInputRate_map[*obj] << "\"" << std::endl;
3048 }
3049 
3050 static std::map<deUint64, std::string> VkPrimitiveTopology_map = {
3051     std::make_pair(0, "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"),
3052     std::make_pair(1, "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"),
3053     std::make_pair(2, "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"),
3054     std::make_pair(3, "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"),
3055     std::make_pair(4, "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"),
3056     std::make_pair(5, "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"),
3057     std::make_pair(6, "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"),
3058     std::make_pair(7, "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"),
3059     std::make_pair(8, "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"),
3060     std::make_pair(9, "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"),
3061     std::make_pair(10, "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"),
3062 };
print_VkPrimitiveTopology(VkPrimitiveTopology obj,const std::string & str,bool commaNeeded=true)3063 static void print_VkPrimitiveTopology(VkPrimitiveTopology obj, const std::string& str, bool commaNeeded=true) {
3064      PRINT_SPACE
3065      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3066      if (commaNeeded)
3067          _OUT << "\"" <<  VkPrimitiveTopology_map[obj] << "\"," << std::endl;
3068      else
3069          _OUT << "\"" << VkPrimitiveTopology_map[obj] << "\"" << std::endl;
3070 }
print_VkPrimitiveTopology(const VkPrimitiveTopology * obj,const std::string & str,bool commaNeeded=true)3071 static void print_VkPrimitiveTopology(const VkPrimitiveTopology * obj, const std::string& str, bool commaNeeded=true) {
3072      PRINT_SPACE
3073      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3074      if (commaNeeded)
3075          _OUT << "\"" <<  VkPrimitiveTopology_map[*obj] << "\"," << std::endl;
3076      else
3077          _OUT << "\"" << VkPrimitiveTopology_map[*obj] << "\"" << std::endl;
3078 }
3079 
3080 static std::map<deUint64, std::string> VkPolygonMode_map = {
3081     std::make_pair(0, "VK_POLYGON_MODE_FILL"),
3082     std::make_pair(1, "VK_POLYGON_MODE_LINE"),
3083     std::make_pair(2, "VK_POLYGON_MODE_POINT"),
3084     std::make_pair(1000153000, "VK_POLYGON_MODE_FILL_RECTANGLE_NV"),
3085 };
print_VkPolygonMode(VkPolygonMode obj,const std::string & str,bool commaNeeded=true)3086 static void print_VkPolygonMode(VkPolygonMode obj, const std::string& str, bool commaNeeded=true) {
3087      PRINT_SPACE
3088      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3089      if (commaNeeded)
3090          _OUT << "\"" <<  VkPolygonMode_map[obj] << "\"," << std::endl;
3091      else
3092          _OUT << "\"" << VkPolygonMode_map[obj] << "\"" << std::endl;
3093 }
print_VkPolygonMode(const VkPolygonMode * obj,const std::string & str,bool commaNeeded=true)3094 static void print_VkPolygonMode(const VkPolygonMode * obj, const std::string& str, bool commaNeeded=true) {
3095      PRINT_SPACE
3096      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3097      if (commaNeeded)
3098          _OUT << "\"" <<  VkPolygonMode_map[*obj] << "\"," << std::endl;
3099      else
3100          _OUT << "\"" << VkPolygonMode_map[*obj] << "\"" << std::endl;
3101 }
3102 
3103 static std::map<deUint64, std::string> VkStencilOp_map = {
3104     std::make_pair(0, "VK_STENCIL_OP_KEEP"),
3105     std::make_pair(1, "VK_STENCIL_OP_ZERO"),
3106     std::make_pair(2, "VK_STENCIL_OP_REPLACE"),
3107     std::make_pair(3, "VK_STENCIL_OP_INCREMENT_AND_CLAMP"),
3108     std::make_pair(4, "VK_STENCIL_OP_DECREMENT_AND_CLAMP"),
3109     std::make_pair(5, "VK_STENCIL_OP_INVERT"),
3110     std::make_pair(6, "VK_STENCIL_OP_INCREMENT_AND_WRAP"),
3111     std::make_pair(7, "VK_STENCIL_OP_DECREMENT_AND_WRAP"),
3112 };
print_VkStencilOp(VkStencilOp obj,const std::string & str,bool commaNeeded=true)3113 static void print_VkStencilOp(VkStencilOp obj, const std::string& str, bool commaNeeded=true) {
3114      PRINT_SPACE
3115      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3116      if (commaNeeded)
3117          _OUT << "\"" <<  VkStencilOp_map[obj] << "\"," << std::endl;
3118      else
3119          _OUT << "\"" << VkStencilOp_map[obj] << "\"" << std::endl;
3120 }
print_VkStencilOp(const VkStencilOp * obj,const std::string & str,bool commaNeeded=true)3121 static void print_VkStencilOp(const VkStencilOp * obj, const std::string& str, bool commaNeeded=true) {
3122      PRINT_SPACE
3123      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3124      if (commaNeeded)
3125          _OUT << "\"" <<  VkStencilOp_map[*obj] << "\"," << std::endl;
3126      else
3127          _OUT << "\"" << VkStencilOp_map[*obj] << "\"" << std::endl;
3128 }
3129 
3130 static std::map<deUint64, std::string> VkLogicOp_map = {
3131     std::make_pair(0, "VK_LOGIC_OP_CLEAR"),
3132     std::make_pair(1, "VK_LOGIC_OP_AND"),
3133     std::make_pair(2, "VK_LOGIC_OP_AND_REVERSE"),
3134     std::make_pair(3, "VK_LOGIC_OP_COPY"),
3135     std::make_pair(4, "VK_LOGIC_OP_AND_INVERTED"),
3136     std::make_pair(5, "VK_LOGIC_OP_NO_OP"),
3137     std::make_pair(6, "VK_LOGIC_OP_XOR"),
3138     std::make_pair(7, "VK_LOGIC_OP_OR"),
3139     std::make_pair(8, "VK_LOGIC_OP_NOR"),
3140     std::make_pair(9, "VK_LOGIC_OP_EQUIVALENT"),
3141     std::make_pair(10, "VK_LOGIC_OP_INVERT"),
3142     std::make_pair(11, "VK_LOGIC_OP_OR_REVERSE"),
3143     std::make_pair(12, "VK_LOGIC_OP_COPY_INVERTED"),
3144     std::make_pair(13, "VK_LOGIC_OP_OR_INVERTED"),
3145     std::make_pair(14, "VK_LOGIC_OP_NAND"),
3146     std::make_pair(15, "VK_LOGIC_OP_SET"),
3147 };
print_VkLogicOp(VkLogicOp obj,const std::string & str,bool commaNeeded=true)3148 static void print_VkLogicOp(VkLogicOp obj, const std::string& str, bool commaNeeded=true) {
3149      PRINT_SPACE
3150      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3151      if (commaNeeded)
3152          _OUT << "\"" <<  VkLogicOp_map[obj] << "\"," << std::endl;
3153      else
3154          _OUT << "\"" << VkLogicOp_map[obj] << "\"" << std::endl;
3155 }
print_VkLogicOp(const VkLogicOp * obj,const std::string & str,bool commaNeeded=true)3156 static void print_VkLogicOp(const VkLogicOp * obj, const std::string& str, bool commaNeeded=true) {
3157      PRINT_SPACE
3158      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3159      if (commaNeeded)
3160          _OUT << "\"" <<  VkLogicOp_map[*obj] << "\"," << std::endl;
3161      else
3162          _OUT << "\"" << VkLogicOp_map[*obj] << "\"" << std::endl;
3163 }
3164 
3165 static std::map<deUint64, std::string> VkBorderColor_map = {
3166     std::make_pair(0, "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"),
3167     std::make_pair(1, "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"),
3168     std::make_pair(2, "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"),
3169     std::make_pair(3, "VK_BORDER_COLOR_INT_OPAQUE_BLACK"),
3170     std::make_pair(4, "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"),
3171     std::make_pair(5, "VK_BORDER_COLOR_INT_OPAQUE_WHITE"),
3172     std::make_pair(1000287003, "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT"),
3173     std::make_pair(1000287004, "VK_BORDER_COLOR_INT_CUSTOM_EXT"),
3174 };
print_VkBorderColor(VkBorderColor obj,const std::string & str,bool commaNeeded=true)3175 static void print_VkBorderColor(VkBorderColor obj, const std::string& str, bool commaNeeded=true) {
3176      PRINT_SPACE
3177      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3178      if (commaNeeded)
3179          _OUT << "\"" <<  VkBorderColor_map[obj] << "\"," << std::endl;
3180      else
3181          _OUT << "\"" << VkBorderColor_map[obj] << "\"" << std::endl;
3182 }
print_VkBorderColor(const VkBorderColor * obj,const std::string & str,bool commaNeeded=true)3183 static void print_VkBorderColor(const VkBorderColor * obj, const std::string& str, bool commaNeeded=true) {
3184      PRINT_SPACE
3185      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3186      if (commaNeeded)
3187          _OUT << "\"" <<  VkBorderColor_map[*obj] << "\"," << std::endl;
3188      else
3189          _OUT << "\"" << VkBorderColor_map[*obj] << "\"" << std::endl;
3190 }
3191 
3192 static std::map<deUint64, std::string> VkFilter_map = {
3193     std::make_pair(0, "VK_FILTER_NEAREST"),
3194     std::make_pair(1, "VK_FILTER_LINEAR"),
3195     std::make_pair(1000015000, "VK_FILTER_CUBIC_IMG"),
3196 };
print_VkFilter(VkFilter obj,const std::string & str,bool commaNeeded=true)3197 static void print_VkFilter(VkFilter obj, const std::string& str, bool commaNeeded=true) {
3198      PRINT_SPACE
3199      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3200      if (commaNeeded)
3201          _OUT << "\"" <<  VkFilter_map[obj] << "\"," << std::endl;
3202      else
3203          _OUT << "\"" << VkFilter_map[obj] << "\"" << std::endl;
3204 }
print_VkFilter(const VkFilter * obj,const std::string & str,bool commaNeeded=true)3205 static void print_VkFilter(const VkFilter * obj, const std::string& str, bool commaNeeded=true) {
3206      PRINT_SPACE
3207      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3208      if (commaNeeded)
3209          _OUT << "\"" <<  VkFilter_map[*obj] << "\"," << std::endl;
3210      else
3211          _OUT << "\"" << VkFilter_map[*obj] << "\"" << std::endl;
3212 }
3213 
3214 static std::map<deUint64, std::string> VkSamplerAddressMode_map = {
3215     std::make_pair(0, "VK_SAMPLER_ADDRESS_MODE_REPEAT"),
3216     std::make_pair(1, "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"),
3217     std::make_pair(2, "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"),
3218     std::make_pair(3, "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"),
3219     std::make_pair(4, "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"),
3220     std::make_pair(4, "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"),
3221 };
print_VkSamplerAddressMode(VkSamplerAddressMode obj,const std::string & str,bool commaNeeded=true)3222 static void print_VkSamplerAddressMode(VkSamplerAddressMode obj, const std::string& str, bool commaNeeded=true) {
3223      PRINT_SPACE
3224      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3225      if (commaNeeded)
3226          _OUT << "\"" <<  VkSamplerAddressMode_map[obj] << "\"," << std::endl;
3227      else
3228          _OUT << "\"" << VkSamplerAddressMode_map[obj] << "\"" << std::endl;
3229 }
print_VkSamplerAddressMode(const VkSamplerAddressMode * obj,const std::string & str,bool commaNeeded=true)3230 static void print_VkSamplerAddressMode(const VkSamplerAddressMode * obj, const std::string& str, bool commaNeeded=true) {
3231      PRINT_SPACE
3232      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3233      if (commaNeeded)
3234          _OUT << "\"" <<  VkSamplerAddressMode_map[*obj] << "\"," << std::endl;
3235      else
3236          _OUT << "\"" << VkSamplerAddressMode_map[*obj] << "\"" << std::endl;
3237 }
3238 
3239 static std::map<deUint64, std::string> VkSamplerCreateFlagBits_map = {
3240     std::make_pair(1ULL << 0, "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT"),
3241     std::make_pair(1ULL << 1, "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT"),
3242     std::make_pair(1ULL << 3, "VK_SAMPLER_CREATE_RESERVED_3_BIT_AMD"),
3243     std::make_pair(1ULL << 2, "VK_SAMPLER_CREATE_RESERVED_2_BIT_EXT"),
3244 };
print_VkSamplerCreateFlagBits(VkSamplerCreateFlagBits obj,const std::string & str,bool commaNeeded=true)3245 static void print_VkSamplerCreateFlagBits(VkSamplerCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
3246      PRINT_SPACE
3247      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3248      if (commaNeeded)
3249          _OUT << "\"" <<  VkSamplerCreateFlagBits_map[obj] << "\"," << std::endl;
3250      else
3251          _OUT << "\"" << VkSamplerCreateFlagBits_map[obj] << "\"" << std::endl;
3252 }
print_VkSamplerCreateFlagBits(const VkSamplerCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)3253 static void print_VkSamplerCreateFlagBits(const VkSamplerCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3254      PRINT_SPACE
3255      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3256      if (commaNeeded)
3257          _OUT << "\"" <<  VkSamplerCreateFlagBits_map[*obj] << "\"," << std::endl;
3258      else
3259          _OUT << "\"" << VkSamplerCreateFlagBits_map[*obj] << "\"" << std::endl;
3260 }
3261 
3262 static std::map<deUint64, std::string> VkSamplerMipmapMode_map = {
3263     std::make_pair(0, "VK_SAMPLER_MIPMAP_MODE_NEAREST"),
3264     std::make_pair(1, "VK_SAMPLER_MIPMAP_MODE_LINEAR"),
3265 };
print_VkSamplerMipmapMode(VkSamplerMipmapMode obj,const std::string & str,bool commaNeeded=true)3266 static void print_VkSamplerMipmapMode(VkSamplerMipmapMode obj, const std::string& str, bool commaNeeded=true) {
3267      PRINT_SPACE
3268      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3269      if (commaNeeded)
3270          _OUT << "\"" <<  VkSamplerMipmapMode_map[obj] << "\"," << std::endl;
3271      else
3272          _OUT << "\"" << VkSamplerMipmapMode_map[obj] << "\"" << std::endl;
3273 }
print_VkSamplerMipmapMode(const VkSamplerMipmapMode * obj,const std::string & str,bool commaNeeded=true)3274 static void print_VkSamplerMipmapMode(const VkSamplerMipmapMode * obj, const std::string& str, bool commaNeeded=true) {
3275      PRINT_SPACE
3276      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3277      if (commaNeeded)
3278          _OUT << "\"" <<  VkSamplerMipmapMode_map[*obj] << "\"," << std::endl;
3279      else
3280          _OUT << "\"" << VkSamplerMipmapMode_map[*obj] << "\"" << std::endl;
3281 }
3282 
3283 static std::map<deUint64, std::string> VkDescriptorPoolCreateFlagBits_map = {
3284     std::make_pair(1ULL << 0, "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"),
3285     std::make_pair(1ULL << 1, "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"),
3286     std::make_pair(1ULL << 2, "VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE"),
3287 };
print_VkDescriptorPoolCreateFlagBits(VkDescriptorPoolCreateFlagBits obj,const std::string & str,bool commaNeeded=true)3288 static void print_VkDescriptorPoolCreateFlagBits(VkDescriptorPoolCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
3289      PRINT_SPACE
3290      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3291      if (commaNeeded)
3292          _OUT << "\"" <<  VkDescriptorPoolCreateFlagBits_map[obj] << "\"," << std::endl;
3293      else
3294          _OUT << "\"" << VkDescriptorPoolCreateFlagBits_map[obj] << "\"" << std::endl;
3295 }
print_VkDescriptorPoolCreateFlagBits(const VkDescriptorPoolCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)3296 static void print_VkDescriptorPoolCreateFlagBits(const VkDescriptorPoolCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3297      PRINT_SPACE
3298      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3299      if (commaNeeded)
3300          _OUT << "\"" <<  VkDescriptorPoolCreateFlagBits_map[*obj] << "\"," << std::endl;
3301      else
3302          _OUT << "\"" << VkDescriptorPoolCreateFlagBits_map[*obj] << "\"" << std::endl;
3303 }
3304 
3305 static std::map<deUint64, std::string> VkDescriptorType_map = {
3306     std::make_pair(0, "VK_DESCRIPTOR_TYPE_SAMPLER"),
3307     std::make_pair(1, "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"),
3308     std::make_pair(2, "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"),
3309     std::make_pair(3, "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"),
3310     std::make_pair(4, "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"),
3311     std::make_pair(5, "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"),
3312     std::make_pair(6, "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"),
3313     std::make_pair(7, "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"),
3314     std::make_pair(8, "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"),
3315     std::make_pair(9, "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"),
3316     std::make_pair(10, "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"),
3317     std::make_pair(1000138000, "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT"),
3318     std::make_pair(1000150000, "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"),
3319     std::make_pair(1000165000, "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"),
3320     std::make_pair(1000351000, "VK_DESCRIPTOR_TYPE_MUTABLE_VALVE"),
3321 };
print_VkDescriptorType(VkDescriptorType obj,const std::string & str,bool commaNeeded=true)3322 static void print_VkDescriptorType(VkDescriptorType obj, const std::string& str, bool commaNeeded=true) {
3323      PRINT_SPACE
3324      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3325      if (commaNeeded)
3326          _OUT << "\"" <<  VkDescriptorType_map[obj] << "\"," << std::endl;
3327      else
3328          _OUT << "\"" << VkDescriptorType_map[obj] << "\"" << std::endl;
3329 }
print_VkDescriptorType(const VkDescriptorType * obj,const std::string & str,bool commaNeeded=true)3330 static void print_VkDescriptorType(const VkDescriptorType * obj, const std::string& str, bool commaNeeded=true) {
3331      PRINT_SPACE
3332      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3333      if (commaNeeded)
3334          _OUT << "\"" <<  VkDescriptorType_map[*obj] << "\"," << std::endl;
3335      else
3336          _OUT << "\"" << VkDescriptorType_map[*obj] << "\"" << std::endl;
3337 }
3338 
3339 static std::map<deUint64, std::string> VkDescriptorSetLayoutCreateFlagBits_map = {
3340     std::make_pair(1ULL << 1, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT"),
3341     std::make_pair(1ULL << 0, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"),
3342     std::make_pair(1ULL << 4, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_RESERVED_4_BIT_AMD"),
3343     std::make_pair(1ULL << 3, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_RESERVED_3_BIT_AMD"),
3344     std::make_pair(1ULL << 2, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE"),
3345 };
print_VkDescriptorSetLayoutCreateFlagBits(VkDescriptorSetLayoutCreateFlagBits obj,const std::string & str,bool commaNeeded=true)3346 static void print_VkDescriptorSetLayoutCreateFlagBits(VkDescriptorSetLayoutCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
3347      PRINT_SPACE
3348      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3349      if (commaNeeded)
3350          _OUT << "\"" <<  VkDescriptorSetLayoutCreateFlagBits_map[obj] << "\"," << std::endl;
3351      else
3352          _OUT << "\"" << VkDescriptorSetLayoutCreateFlagBits_map[obj] << "\"" << std::endl;
3353 }
print_VkDescriptorSetLayoutCreateFlagBits(const VkDescriptorSetLayoutCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)3354 static void print_VkDescriptorSetLayoutCreateFlagBits(const VkDescriptorSetLayoutCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3355      PRINT_SPACE
3356      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3357      if (commaNeeded)
3358          _OUT << "\"" <<  VkDescriptorSetLayoutCreateFlagBits_map[*obj] << "\"," << std::endl;
3359      else
3360          _OUT << "\"" << VkDescriptorSetLayoutCreateFlagBits_map[*obj] << "\"" << std::endl;
3361 }
3362 
3363 static std::map<deUint64, std::string> VkAttachmentDescriptionFlagBits_map = {
3364     std::make_pair(1ULL << 0, "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"),
3365 };
print_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits obj,const std::string & str,bool commaNeeded=true)3366 static void print_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits obj, const std::string& str, bool commaNeeded=true) {
3367      PRINT_SPACE
3368      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3369      if (commaNeeded)
3370          _OUT << "\"" <<  VkAttachmentDescriptionFlagBits_map[obj] << "\"," << std::endl;
3371      else
3372          _OUT << "\"" << VkAttachmentDescriptionFlagBits_map[obj] << "\"" << std::endl;
3373 }
print_VkAttachmentDescriptionFlagBits(const VkAttachmentDescriptionFlagBits * obj,const std::string & str,bool commaNeeded=true)3374 static void print_VkAttachmentDescriptionFlagBits(const VkAttachmentDescriptionFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3375      PRINT_SPACE
3376      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3377      if (commaNeeded)
3378          _OUT << "\"" <<  VkAttachmentDescriptionFlagBits_map[*obj] << "\"," << std::endl;
3379      else
3380          _OUT << "\"" << VkAttachmentDescriptionFlagBits_map[*obj] << "\"" << std::endl;
3381 }
3382 
3383 static std::map<deUint64, std::string> VkAttachmentLoadOp_map = {
3384     std::make_pair(0, "VK_ATTACHMENT_LOAD_OP_LOAD"),
3385     std::make_pair(1, "VK_ATTACHMENT_LOAD_OP_CLEAR"),
3386     std::make_pair(2, "VK_ATTACHMENT_LOAD_OP_DONT_CARE"),
3387     std::make_pair(1000400000, "VK_ATTACHMENT_LOAD_OP_NONE_EXT"),
3388 };
print_VkAttachmentLoadOp(VkAttachmentLoadOp obj,const std::string & str,bool commaNeeded=true)3389 static void print_VkAttachmentLoadOp(VkAttachmentLoadOp obj, const std::string& str, bool commaNeeded=true) {
3390      PRINT_SPACE
3391      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3392      if (commaNeeded)
3393          _OUT << "\"" <<  VkAttachmentLoadOp_map[obj] << "\"," << std::endl;
3394      else
3395          _OUT << "\"" << VkAttachmentLoadOp_map[obj] << "\"" << std::endl;
3396 }
print_VkAttachmentLoadOp(const VkAttachmentLoadOp * obj,const std::string & str,bool commaNeeded=true)3397 static void print_VkAttachmentLoadOp(const VkAttachmentLoadOp * obj, const std::string& str, bool commaNeeded=true) {
3398      PRINT_SPACE
3399      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3400      if (commaNeeded)
3401          _OUT << "\"" <<  VkAttachmentLoadOp_map[*obj] << "\"," << std::endl;
3402      else
3403          _OUT << "\"" << VkAttachmentLoadOp_map[*obj] << "\"" << std::endl;
3404 }
3405 
3406 static std::map<deUint64, std::string> VkAttachmentStoreOp_map = {
3407     std::make_pair(0, "VK_ATTACHMENT_STORE_OP_STORE"),
3408     std::make_pair(1, "VK_ATTACHMENT_STORE_OP_DONT_CARE"),
3409     std::make_pair(1000301000, "VK_ATTACHMENT_STORE_OP_NONE_KHR"),
3410 };
print_VkAttachmentStoreOp(VkAttachmentStoreOp obj,const std::string & str,bool commaNeeded=true)3411 static void print_VkAttachmentStoreOp(VkAttachmentStoreOp obj, const std::string& str, bool commaNeeded=true) {
3412      PRINT_SPACE
3413      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3414      if (commaNeeded)
3415          _OUT << "\"" <<  VkAttachmentStoreOp_map[obj] << "\"," << std::endl;
3416      else
3417          _OUT << "\"" << VkAttachmentStoreOp_map[obj] << "\"" << std::endl;
3418 }
print_VkAttachmentStoreOp(const VkAttachmentStoreOp * obj,const std::string & str,bool commaNeeded=true)3419 static void print_VkAttachmentStoreOp(const VkAttachmentStoreOp * obj, const std::string& str, bool commaNeeded=true) {
3420      PRINT_SPACE
3421      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3422      if (commaNeeded)
3423          _OUT << "\"" <<  VkAttachmentStoreOp_map[*obj] << "\"," << std::endl;
3424      else
3425          _OUT << "\"" << VkAttachmentStoreOp_map[*obj] << "\"" << std::endl;
3426 }
3427 
3428 static std::map<deUint64, std::string> VkDependencyFlagBits_map = {
3429     std::make_pair(1ULL << 0, "VK_DEPENDENCY_BY_REGION_BIT"),
3430     std::make_pair(1ULL << 2, "VK_DEPENDENCY_DEVICE_GROUP_BIT"),
3431     std::make_pair(1ULL << 1, "VK_DEPENDENCY_VIEW_LOCAL_BIT"),
3432 };
print_VkDependencyFlagBits(VkDependencyFlagBits obj,const std::string & str,bool commaNeeded=true)3433 static void print_VkDependencyFlagBits(VkDependencyFlagBits obj, const std::string& str, bool commaNeeded=true) {
3434      PRINT_SPACE
3435      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3436      if (commaNeeded)
3437          _OUT << "\"" <<  VkDependencyFlagBits_map[obj] << "\"," << std::endl;
3438      else
3439          _OUT << "\"" << VkDependencyFlagBits_map[obj] << "\"" << std::endl;
3440 }
print_VkDependencyFlagBits(const VkDependencyFlagBits * obj,const std::string & str,bool commaNeeded=true)3441 static void print_VkDependencyFlagBits(const VkDependencyFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3442      PRINT_SPACE
3443      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3444      if (commaNeeded)
3445          _OUT << "\"" <<  VkDependencyFlagBits_map[*obj] << "\"," << std::endl;
3446      else
3447          _OUT << "\"" << VkDependencyFlagBits_map[*obj] << "\"" << std::endl;
3448 }
3449 
3450 static std::map<deUint64, std::string> VkFramebufferCreateFlagBits_map = {
3451     std::make_pair(1ULL << 0, "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"),
3452 };
print_VkFramebufferCreateFlagBits(VkFramebufferCreateFlagBits obj,const std::string & str,bool commaNeeded=true)3453 static void print_VkFramebufferCreateFlagBits(VkFramebufferCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
3454      PRINT_SPACE
3455      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3456      if (commaNeeded)
3457          _OUT << "\"" <<  VkFramebufferCreateFlagBits_map[obj] << "\"," << std::endl;
3458      else
3459          _OUT << "\"" << VkFramebufferCreateFlagBits_map[obj] << "\"" << std::endl;
3460 }
print_VkFramebufferCreateFlagBits(const VkFramebufferCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)3461 static void print_VkFramebufferCreateFlagBits(const VkFramebufferCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3462      PRINT_SPACE
3463      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3464      if (commaNeeded)
3465          _OUT << "\"" <<  VkFramebufferCreateFlagBits_map[*obj] << "\"," << std::endl;
3466      else
3467          _OUT << "\"" << VkFramebufferCreateFlagBits_map[*obj] << "\"" << std::endl;
3468 }
3469 
3470 static std::map<deUint64, std::string> VkPipelineBindPoint_map = {
3471     std::make_pair(0, "VK_PIPELINE_BIND_POINT_GRAPHICS"),
3472     std::make_pair(1, "VK_PIPELINE_BIND_POINT_COMPUTE"),
3473     std::make_pair(1000165000, "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"),
3474     std::make_pair(1000369003, "VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI"),
3475 };
print_VkPipelineBindPoint(VkPipelineBindPoint obj,const std::string & str,bool commaNeeded=true)3476 static void print_VkPipelineBindPoint(VkPipelineBindPoint obj, const std::string& str, bool commaNeeded=true) {
3477      PRINT_SPACE
3478      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3479      if (commaNeeded)
3480          _OUT << "\"" <<  VkPipelineBindPoint_map[obj] << "\"," << std::endl;
3481      else
3482          _OUT << "\"" << VkPipelineBindPoint_map[obj] << "\"" << std::endl;
3483 }
print_VkPipelineBindPoint(const VkPipelineBindPoint * obj,const std::string & str,bool commaNeeded=true)3484 static void print_VkPipelineBindPoint(const VkPipelineBindPoint * obj, const std::string& str, bool commaNeeded=true) {
3485      PRINT_SPACE
3486      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3487      if (commaNeeded)
3488          _OUT << "\"" <<  VkPipelineBindPoint_map[*obj] << "\"," << std::endl;
3489      else
3490          _OUT << "\"" << VkPipelineBindPoint_map[*obj] << "\"" << std::endl;
3491 }
3492 
3493 static std::map<deUint64, std::string> VkRenderPassCreateFlagBits_map = {
3494     std::make_pair(1ULL << 0, "VK_RENDER_PASS_CREATE_RESERVED_0_BIT_KHR"),
3495     std::make_pair(1ULL << 1, "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"),
3496 };
print_VkRenderPassCreateFlagBits(VkRenderPassCreateFlagBits obj,const std::string & str,bool commaNeeded=true)3497 static void print_VkRenderPassCreateFlagBits(VkRenderPassCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
3498      PRINT_SPACE
3499      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3500      if (commaNeeded)
3501          _OUT << "\"" <<  VkRenderPassCreateFlagBits_map[obj] << "\"," << std::endl;
3502      else
3503          _OUT << "\"" << VkRenderPassCreateFlagBits_map[obj] << "\"" << std::endl;
3504 }
print_VkRenderPassCreateFlagBits(const VkRenderPassCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)3505 static void print_VkRenderPassCreateFlagBits(const VkRenderPassCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3506      PRINT_SPACE
3507      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3508      if (commaNeeded)
3509          _OUT << "\"" <<  VkRenderPassCreateFlagBits_map[*obj] << "\"," << std::endl;
3510      else
3511          _OUT << "\"" << VkRenderPassCreateFlagBits_map[*obj] << "\"" << std::endl;
3512 }
3513 
3514 static std::map<deUint64, std::string> VkSubpassDescriptionFlagBits_map = {
3515     std::make_pair(1ULL << 0, "VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX"),
3516     std::make_pair(1ULL << 1, "VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX"),
3517     std::make_pair(1ULL << 2, "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM"),
3518     std::make_pair(1ULL << 3, "VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM"),
3519     std::make_pair(1ULL << 4, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM"),
3520     std::make_pair(1ULL << 5, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM"),
3521     std::make_pair(1ULL << 6, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM"),
3522 };
print_VkSubpassDescriptionFlagBits(VkSubpassDescriptionFlagBits obj,const std::string & str,bool commaNeeded=true)3523 static void print_VkSubpassDescriptionFlagBits(VkSubpassDescriptionFlagBits obj, const std::string& str, bool commaNeeded=true) {
3524      PRINT_SPACE
3525      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3526      if (commaNeeded)
3527          _OUT << "\"" <<  VkSubpassDescriptionFlagBits_map[obj] << "\"," << std::endl;
3528      else
3529          _OUT << "\"" << VkSubpassDescriptionFlagBits_map[obj] << "\"" << std::endl;
3530 }
print_VkSubpassDescriptionFlagBits(const VkSubpassDescriptionFlagBits * obj,const std::string & str,bool commaNeeded=true)3531 static void print_VkSubpassDescriptionFlagBits(const VkSubpassDescriptionFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3532      PRINT_SPACE
3533      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3534      if (commaNeeded)
3535          _OUT << "\"" <<  VkSubpassDescriptionFlagBits_map[*obj] << "\"," << std::endl;
3536      else
3537          _OUT << "\"" << VkSubpassDescriptionFlagBits_map[*obj] << "\"" << std::endl;
3538 }
3539 
3540 static std::map<deUint64, std::string> VkCommandPoolCreateFlagBits_map = {
3541     std::make_pair(1ULL << 0, "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"),
3542     std::make_pair(1ULL << 1, "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"),
3543     std::make_pair(1ULL << 2, "VK_COMMAND_POOL_CREATE_PROTECTED_BIT"),
3544 };
print_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits obj,const std::string & str,bool commaNeeded=true)3545 static void print_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits obj, const std::string& str, bool commaNeeded=true) {
3546      PRINT_SPACE
3547      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3548      if (commaNeeded)
3549          _OUT << "\"" <<  VkCommandPoolCreateFlagBits_map[obj] << "\"," << std::endl;
3550      else
3551          _OUT << "\"" << VkCommandPoolCreateFlagBits_map[obj] << "\"" << std::endl;
3552 }
print_VkCommandPoolCreateFlagBits(const VkCommandPoolCreateFlagBits * obj,const std::string & str,bool commaNeeded=true)3553 static void print_VkCommandPoolCreateFlagBits(const VkCommandPoolCreateFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3554      PRINT_SPACE
3555      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3556      if (commaNeeded)
3557          _OUT << "\"" <<  VkCommandPoolCreateFlagBits_map[*obj] << "\"," << std::endl;
3558      else
3559          _OUT << "\"" << VkCommandPoolCreateFlagBits_map[*obj] << "\"" << std::endl;
3560 }
3561 
3562 static std::map<deUint64, std::string> VkCommandPoolResetFlagBits_map = {
3563     std::make_pair(1ULL << 1, "VK_COMMAND_POOL_RESET_RESERVED_1_BIT_COREAVI"),
3564 };
print_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits obj,const std::string & str,bool commaNeeded=true)3565 static void print_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits obj, const std::string& str, bool commaNeeded=true) {
3566      PRINT_SPACE
3567      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3568      if (commaNeeded)
3569          _OUT << "\"" <<  VkCommandPoolResetFlagBits_map[obj] << "\"," << std::endl;
3570      else
3571          _OUT << "\"" << VkCommandPoolResetFlagBits_map[obj] << "\"" << std::endl;
3572 }
print_VkCommandPoolResetFlagBits(const VkCommandPoolResetFlagBits * obj,const std::string & str,bool commaNeeded=true)3573 static void print_VkCommandPoolResetFlagBits(const VkCommandPoolResetFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3574      PRINT_SPACE
3575      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3576      if (commaNeeded)
3577          _OUT << "\"" <<  VkCommandPoolResetFlagBits_map[*obj] << "\"," << std::endl;
3578      else
3579          _OUT << "\"" << VkCommandPoolResetFlagBits_map[*obj] << "\"" << std::endl;
3580 }
3581 
3582 static std::map<deUint64, std::string> VkCommandBufferLevel_map = {
3583     std::make_pair(0, "VK_COMMAND_BUFFER_LEVEL_PRIMARY"),
3584     std::make_pair(1, "VK_COMMAND_BUFFER_LEVEL_SECONDARY"),
3585 };
print_VkCommandBufferLevel(VkCommandBufferLevel obj,const std::string & str,bool commaNeeded=true)3586 static void print_VkCommandBufferLevel(VkCommandBufferLevel obj, const std::string& str, bool commaNeeded=true) {
3587      PRINT_SPACE
3588      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3589      if (commaNeeded)
3590          _OUT << "\"" <<  VkCommandBufferLevel_map[obj] << "\"," << std::endl;
3591      else
3592          _OUT << "\"" << VkCommandBufferLevel_map[obj] << "\"" << std::endl;
3593 }
print_VkCommandBufferLevel(const VkCommandBufferLevel * obj,const std::string & str,bool commaNeeded=true)3594 static void print_VkCommandBufferLevel(const VkCommandBufferLevel * obj, const std::string& str, bool commaNeeded=true) {
3595      PRINT_SPACE
3596      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3597      if (commaNeeded)
3598          _OUT << "\"" <<  VkCommandBufferLevel_map[*obj] << "\"," << std::endl;
3599      else
3600          _OUT << "\"" << VkCommandBufferLevel_map[*obj] << "\"" << std::endl;
3601 }
3602 
3603 static std::map<deUint64, std::string> VkCommandBufferUsageFlagBits_map = {
3604     std::make_pair(1ULL << 0, "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"),
3605     std::make_pair(1ULL << 1, "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"),
3606     std::make_pair(1ULL << 2, "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"),
3607 };
print_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits obj,const std::string & str,bool commaNeeded=true)3608 static void print_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits obj, const std::string& str, bool commaNeeded=true) {
3609      PRINT_SPACE
3610      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3611      if (commaNeeded)
3612          _OUT << "\"" <<  VkCommandBufferUsageFlagBits_map[obj] << "\"," << std::endl;
3613      else
3614          _OUT << "\"" << VkCommandBufferUsageFlagBits_map[obj] << "\"" << std::endl;
3615 }
print_VkCommandBufferUsageFlagBits(const VkCommandBufferUsageFlagBits * obj,const std::string & str,bool commaNeeded=true)3616 static void print_VkCommandBufferUsageFlagBits(const VkCommandBufferUsageFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3617      PRINT_SPACE
3618      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3619      if (commaNeeded)
3620          _OUT << "\"" <<  VkCommandBufferUsageFlagBits_map[*obj] << "\"," << std::endl;
3621      else
3622          _OUT << "\"" << VkCommandBufferUsageFlagBits_map[*obj] << "\"" << std::endl;
3623 }
3624 
3625 static std::map<deUint64, std::string> VkQueryControlFlagBits_map = {
3626     std::make_pair(1ULL << 0, "VK_QUERY_CONTROL_PRECISE_BIT"),
3627 };
print_VkQueryControlFlagBits(VkQueryControlFlagBits obj,const std::string & str,bool commaNeeded=true)3628 static void print_VkQueryControlFlagBits(VkQueryControlFlagBits obj, const std::string& str, bool commaNeeded=true) {
3629      PRINT_SPACE
3630      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3631      if (commaNeeded)
3632          _OUT << "\"" <<  VkQueryControlFlagBits_map[obj] << "\"," << std::endl;
3633      else
3634          _OUT << "\"" << VkQueryControlFlagBits_map[obj] << "\"" << std::endl;
3635 }
print_VkQueryControlFlagBits(const VkQueryControlFlagBits * obj,const std::string & str,bool commaNeeded=true)3636 static void print_VkQueryControlFlagBits(const VkQueryControlFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3637      PRINT_SPACE
3638      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3639      if (commaNeeded)
3640          _OUT << "\"" <<  VkQueryControlFlagBits_map[*obj] << "\"," << std::endl;
3641      else
3642          _OUT << "\"" << VkQueryControlFlagBits_map[*obj] << "\"" << std::endl;
3643 }
3644 
3645 static std::map<deUint64, std::string> VkCommandBufferResetFlagBits_map = {
3646     std::make_pair(1ULL << 0, "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"),
3647 };
print_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits obj,const std::string & str,bool commaNeeded=true)3648 static void print_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits obj, const std::string& str, bool commaNeeded=true) {
3649      PRINT_SPACE
3650      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3651      if (commaNeeded)
3652          _OUT << "\"" <<  VkCommandBufferResetFlagBits_map[obj] << "\"," << std::endl;
3653      else
3654          _OUT << "\"" << VkCommandBufferResetFlagBits_map[obj] << "\"" << std::endl;
3655 }
print_VkCommandBufferResetFlagBits(const VkCommandBufferResetFlagBits * obj,const std::string & str,bool commaNeeded=true)3656 static void print_VkCommandBufferResetFlagBits(const VkCommandBufferResetFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3657      PRINT_SPACE
3658      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3659      if (commaNeeded)
3660          _OUT << "\"" <<  VkCommandBufferResetFlagBits_map[*obj] << "\"," << std::endl;
3661      else
3662          _OUT << "\"" << VkCommandBufferResetFlagBits_map[*obj] << "\"" << std::endl;
3663 }
3664 
3665 static std::map<deUint64, std::string> VkIndexType_map = {
3666     std::make_pair(0, "VK_INDEX_TYPE_UINT16"),
3667     std::make_pair(1, "VK_INDEX_TYPE_UINT32"),
3668     std::make_pair(1000165000, "VK_INDEX_TYPE_NONE_KHR"),
3669     std::make_pair(1000265000, "VK_INDEX_TYPE_UINT8_EXT"),
3670 };
print_VkIndexType(VkIndexType obj,const std::string & str,bool commaNeeded=true)3671 static void print_VkIndexType(VkIndexType obj, const std::string& str, bool commaNeeded=true) {
3672      PRINT_SPACE
3673      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3674      if (commaNeeded)
3675          _OUT << "\"" <<  VkIndexType_map[obj] << "\"," << std::endl;
3676      else
3677          _OUT << "\"" << VkIndexType_map[obj] << "\"" << std::endl;
3678 }
print_VkIndexType(const VkIndexType * obj,const std::string & str,bool commaNeeded=true)3679 static void print_VkIndexType(const VkIndexType * obj, const std::string& str, bool commaNeeded=true) {
3680      PRINT_SPACE
3681      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3682      if (commaNeeded)
3683          _OUT << "\"" <<  VkIndexType_map[*obj] << "\"," << std::endl;
3684      else
3685          _OUT << "\"" << VkIndexType_map[*obj] << "\"" << std::endl;
3686 }
3687 
3688 static std::map<deUint64, std::string> VkStencilFaceFlagBits_map = {
3689     std::make_pair(1ULL << 0, "VK_STENCIL_FACE_FRONT_BIT"),
3690     std::make_pair(1ULL << 1, "VK_STENCIL_FACE_BACK_BIT"),
3691     std::make_pair(0x00000003, "VK_STENCIL_FACE_FRONT_AND_BACK"),
3692 };
print_VkStencilFaceFlagBits(VkStencilFaceFlagBits obj,const std::string & str,bool commaNeeded=true)3693 static void print_VkStencilFaceFlagBits(VkStencilFaceFlagBits obj, const std::string& str, bool commaNeeded=true) {
3694      PRINT_SPACE
3695      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3696      if (commaNeeded)
3697          _OUT << "\"" <<  VkStencilFaceFlagBits_map[obj] << "\"," << std::endl;
3698      else
3699          _OUT << "\"" << VkStencilFaceFlagBits_map[obj] << "\"" << std::endl;
3700 }
print_VkStencilFaceFlagBits(const VkStencilFaceFlagBits * obj,const std::string & str,bool commaNeeded=true)3701 static void print_VkStencilFaceFlagBits(const VkStencilFaceFlagBits * obj, const std::string& str, bool commaNeeded=true) {
3702      PRINT_SPACE
3703      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3704      if (commaNeeded)
3705          _OUT << "\"" <<  VkStencilFaceFlagBits_map[*obj] << "\"," << std::endl;
3706      else
3707          _OUT << "\"" << VkStencilFaceFlagBits_map[*obj] << "\"" << std::endl;
3708 }
3709 
3710 static std::map<deUint64, std::string> VkSubpassContents_map = {
3711     std::make_pair(0, "VK_SUBPASS_CONTENTS_INLINE"),
3712     std::make_pair(1, "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"),
3713 };
print_VkSubpassContents(VkSubpassContents obj,const std::string & str,bool commaNeeded=true)3714 static void print_VkSubpassContents(VkSubpassContents obj, const std::string& str, bool commaNeeded=true) {
3715      PRINT_SPACE
3716      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3717      if (commaNeeded)
3718          _OUT << "\"" <<  VkSubpassContents_map[obj] << "\"," << std::endl;
3719      else
3720          _OUT << "\"" << VkSubpassContents_map[obj] << "\"" << std::endl;
3721 }
print_VkSubpassContents(const VkSubpassContents * obj,const std::string & str,bool commaNeeded=true)3722 static void print_VkSubpassContents(const VkSubpassContents * obj, const std::string& str, bool commaNeeded=true) {
3723      PRINT_SPACE
3724      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3725      if (commaNeeded)
3726          _OUT << "\"" <<  VkSubpassContents_map[*obj] << "\"," << std::endl;
3727      else
3728          _OUT << "\"" << VkSubpassContents_map[*obj] << "\"" << std::endl;
3729 }
3730 
print_VkAccessFlags(VkAccessFlags obj,const std::string & str,bool commaNeeded=true)3731 static void print_VkAccessFlags(VkAccessFlags obj, const std::string& str, bool commaNeeded=true) {
3732      PRINT_SPACE
3733      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3734      const int max_bits = 64; // We don't expect the number to be larger.
3735      std::bitset<max_bits> b(obj);
3736      _OUT << "\"";
3737      if (obj == 0) _OUT << "0";
3738      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3739          if (b[i] == 1) {
3740              bitCount++;
3741              if (bitCount < b.count())
3742                  _OUT << VkAccessFlagBits_map[1ULL<<i] << " | ";
3743              else
3744                  _OUT << VkAccessFlagBits_map[1ULL<<i];
3745          }
3746      }
3747      if (commaNeeded)
3748        _OUT << "\"" << ",";
3749      else
3750        _OUT << "\""<< "";
3751      _OUT << std::endl;
3752 }
print_VkAccessFlags(const VkAccessFlags * obj,const std::string & str,bool commaNeeded=true)3753 static void print_VkAccessFlags(const VkAccessFlags * obj, const std::string& str, bool commaNeeded=true) {
3754      PRINT_SPACE
3755      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3756      const int max_bits = 64; // We don't expect the number to be larger.
3757      std::bitset<max_bits> b(obj);
3758      _OUT << "\"";
3759      if (obj == 0) _OUT << "0";
3760      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3761          if (b[i] == 1) {
3762              bitCount++;
3763              if (bitCount < b.count())
3764                  _OUT << VkAccessFlagBits_map[1ULL<<i] << " | ";
3765              else
3766                  _OUT << VkAccessFlagBits_map[1ULL<<i];
3767          }
3768      }
3769      if (commaNeeded)
3770        _OUT << "\"" << ",";
3771      else
3772        _OUT << "\""<< "";
3773      _OUT << std::endl;
3774 }
3775 
print_VkImageAspectFlags(VkImageAspectFlags obj,const std::string & str,bool commaNeeded=true)3776 static void print_VkImageAspectFlags(VkImageAspectFlags obj, const std::string& str, bool commaNeeded=true) {
3777      PRINT_SPACE
3778      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3779      const int max_bits = 64; // We don't expect the number to be larger.
3780      std::bitset<max_bits> b(obj);
3781      _OUT << "\"";
3782      if (obj == 0) _OUT << "0";
3783      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3784          if (b[i] == 1) {
3785              bitCount++;
3786              if (bitCount < b.count())
3787                  _OUT << VkImageAspectFlagBits_map[1ULL<<i] << " | ";
3788              else
3789                  _OUT << VkImageAspectFlagBits_map[1ULL<<i];
3790          }
3791      }
3792      if (commaNeeded)
3793        _OUT << "\"" << ",";
3794      else
3795        _OUT << "\""<< "";
3796      _OUT << std::endl;
3797 }
print_VkImageAspectFlags(const VkImageAspectFlags * obj,const std::string & str,bool commaNeeded=true)3798 static void print_VkImageAspectFlags(const VkImageAspectFlags * obj, const std::string& str, bool commaNeeded=true) {
3799      PRINT_SPACE
3800      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3801      const int max_bits = 64; // We don't expect the number to be larger.
3802      std::bitset<max_bits> b(obj);
3803      _OUT << "\"";
3804      if (obj == 0) _OUT << "0";
3805      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3806          if (b[i] == 1) {
3807              bitCount++;
3808              if (bitCount < b.count())
3809                  _OUT << VkImageAspectFlagBits_map[1ULL<<i] << " | ";
3810              else
3811                  _OUT << VkImageAspectFlagBits_map[1ULL<<i];
3812          }
3813      }
3814      if (commaNeeded)
3815        _OUT << "\"" << ",";
3816      else
3817        _OUT << "\""<< "";
3818      _OUT << std::endl;
3819 }
3820 
print_VkFormatFeatureFlags(VkFormatFeatureFlags obj,const std::string & str,bool commaNeeded=true)3821 static void print_VkFormatFeatureFlags(VkFormatFeatureFlags obj, const std::string& str, bool commaNeeded=true) {
3822      PRINT_SPACE
3823      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3824      const int max_bits = 64; // We don't expect the number to be larger.
3825      std::bitset<max_bits> b(obj);
3826      _OUT << "\"";
3827      if (obj == 0) _OUT << "0";
3828      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3829          if (b[i] == 1) {
3830              bitCount++;
3831              if (bitCount < b.count())
3832                  _OUT << VkFormatFeatureFlagBits_map[1ULL<<i] << " | ";
3833              else
3834                  _OUT << VkFormatFeatureFlagBits_map[1ULL<<i];
3835          }
3836      }
3837      if (commaNeeded)
3838        _OUT << "\"" << ",";
3839      else
3840        _OUT << "\""<< "";
3841      _OUT << std::endl;
3842 }
print_VkFormatFeatureFlags(const VkFormatFeatureFlags * obj,const std::string & str,bool commaNeeded=true)3843 static void print_VkFormatFeatureFlags(const VkFormatFeatureFlags * obj, const std::string& str, bool commaNeeded=true) {
3844      PRINT_SPACE
3845      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3846      const int max_bits = 64; // We don't expect the number to be larger.
3847      std::bitset<max_bits> b(obj);
3848      _OUT << "\"";
3849      if (obj == 0) _OUT << "0";
3850      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3851          if (b[i] == 1) {
3852              bitCount++;
3853              if (bitCount < b.count())
3854                  _OUT << VkFormatFeatureFlagBits_map[1ULL<<i] << " | ";
3855              else
3856                  _OUT << VkFormatFeatureFlagBits_map[1ULL<<i];
3857          }
3858      }
3859      if (commaNeeded)
3860        _OUT << "\"" << ",";
3861      else
3862        _OUT << "\""<< "";
3863      _OUT << std::endl;
3864 }
3865 
print_VkImageCreateFlags(VkImageCreateFlags obj,const std::string & str,bool commaNeeded=true)3866 static void print_VkImageCreateFlags(VkImageCreateFlags obj, const std::string& str, bool commaNeeded=true) {
3867      PRINT_SPACE
3868      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3869      const int max_bits = 64; // We don't expect the number to be larger.
3870      std::bitset<max_bits> b(obj);
3871      _OUT << "\"";
3872      if (obj == 0) _OUT << "0";
3873      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3874          if (b[i] == 1) {
3875              bitCount++;
3876              if (bitCount < b.count())
3877                  _OUT << VkImageCreateFlagBits_map[1ULL<<i] << " | ";
3878              else
3879                  _OUT << VkImageCreateFlagBits_map[1ULL<<i];
3880          }
3881      }
3882      if (commaNeeded)
3883        _OUT << "\"" << ",";
3884      else
3885        _OUT << "\""<< "";
3886      _OUT << std::endl;
3887 }
print_VkImageCreateFlags(const VkImageCreateFlags * obj,const std::string & str,bool commaNeeded=true)3888 static void print_VkImageCreateFlags(const VkImageCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
3889      PRINT_SPACE
3890      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3891      const int max_bits = 64; // We don't expect the number to be larger.
3892      std::bitset<max_bits> b(obj);
3893      _OUT << "\"";
3894      if (obj == 0) _OUT << "0";
3895      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3896          if (b[i] == 1) {
3897              bitCount++;
3898              if (bitCount < b.count())
3899                  _OUT << VkImageCreateFlagBits_map[1ULL<<i] << " | ";
3900              else
3901                  _OUT << VkImageCreateFlagBits_map[1ULL<<i];
3902          }
3903      }
3904      if (commaNeeded)
3905        _OUT << "\"" << ",";
3906      else
3907        _OUT << "\""<< "";
3908      _OUT << std::endl;
3909 }
3910 
print_VkSampleCountFlags(VkSampleCountFlags obj,const std::string & str,bool commaNeeded=true)3911 static void print_VkSampleCountFlags(VkSampleCountFlags obj, const std::string& str, bool commaNeeded=true) {
3912      PRINT_SPACE
3913      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3914      const int max_bits = 64; // We don't expect the number to be larger.
3915      std::bitset<max_bits> b(obj);
3916      _OUT << "\"";
3917      if (obj == 0) _OUT << "0";
3918      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3919          if (b[i] == 1) {
3920              bitCount++;
3921              if (bitCount < b.count())
3922                  _OUT << VkSampleCountFlagBits_map[1ULL<<i] << " | ";
3923              else
3924                  _OUT << VkSampleCountFlagBits_map[1ULL<<i];
3925          }
3926      }
3927      if (commaNeeded)
3928        _OUT << "\"" << ",";
3929      else
3930        _OUT << "\""<< "";
3931      _OUT << std::endl;
3932 }
print_VkSampleCountFlags(const VkSampleCountFlags * obj,const std::string & str,bool commaNeeded=true)3933 static void print_VkSampleCountFlags(const VkSampleCountFlags * obj, const std::string& str, bool commaNeeded=true) {
3934      PRINT_SPACE
3935      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3936      const int max_bits = 64; // We don't expect the number to be larger.
3937      std::bitset<max_bits> b(obj);
3938      _OUT << "\"";
3939      if (obj == 0) _OUT << "0";
3940      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3941          if (b[i] == 1) {
3942              bitCount++;
3943              if (bitCount < b.count())
3944                  _OUT << VkSampleCountFlagBits_map[1ULL<<i] << " | ";
3945              else
3946                  _OUT << VkSampleCountFlagBits_map[1ULL<<i];
3947          }
3948      }
3949      if (commaNeeded)
3950        _OUT << "\"" << ",";
3951      else
3952        _OUT << "\""<< "";
3953      _OUT << std::endl;
3954 }
3955 
print_VkImageUsageFlags(VkImageUsageFlags obj,const std::string & str,bool commaNeeded=true)3956 static void print_VkImageUsageFlags(VkImageUsageFlags obj, const std::string& str, bool commaNeeded=true) {
3957      PRINT_SPACE
3958      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3959      const int max_bits = 64; // We don't expect the number to be larger.
3960      std::bitset<max_bits> b(obj);
3961      _OUT << "\"";
3962      if (obj == 0) _OUT << "0";
3963      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3964          if (b[i] == 1) {
3965              bitCount++;
3966              if (bitCount < b.count())
3967                  _OUT << VkImageUsageFlagBits_map[1ULL<<i] << " | ";
3968              else
3969                  _OUT << VkImageUsageFlagBits_map[1ULL<<i];
3970          }
3971      }
3972      if (commaNeeded)
3973        _OUT << "\"" << ",";
3974      else
3975        _OUT << "\""<< "";
3976      _OUT << std::endl;
3977 }
print_VkImageUsageFlags(const VkImageUsageFlags * obj,const std::string & str,bool commaNeeded=true)3978 static void print_VkImageUsageFlags(const VkImageUsageFlags * obj, const std::string& str, bool commaNeeded=true) {
3979      PRINT_SPACE
3980      if (str != "") _OUT << "\"" << str << "\"" << " : ";
3981      const int max_bits = 64; // We don't expect the number to be larger.
3982      std::bitset<max_bits> b(obj);
3983      _OUT << "\"";
3984      if (obj == 0) _OUT << "0";
3985      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
3986          if (b[i] == 1) {
3987              bitCount++;
3988              if (bitCount < b.count())
3989                  _OUT << VkImageUsageFlagBits_map[1ULL<<i] << " | ";
3990              else
3991                  _OUT << VkImageUsageFlagBits_map[1ULL<<i];
3992          }
3993      }
3994      if (commaNeeded)
3995        _OUT << "\"" << ",";
3996      else
3997        _OUT << "\""<< "";
3998      _OUT << std::endl;
3999 }
4000 
print_VkInstanceCreateFlags(VkInstanceCreateFlags obj,const std::string & str,bool commaNeeded=true)4001 static void print_VkInstanceCreateFlags(VkInstanceCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4002      PRINT_SPACE
4003      if (commaNeeded)
4004          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4005      else
4006          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4007 }
print_VkInstanceCreateFlags(const VkInstanceCreateFlags * obj,const std::string & str,bool commaNeeded=true)4008 static void print_VkInstanceCreateFlags(const VkInstanceCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4009      PRINT_SPACE
4010      if (commaNeeded)
4011          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4012      else
4013          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4014 }
4015 
print_VkMemoryHeapFlags(VkMemoryHeapFlags obj,const std::string & str,bool commaNeeded=true)4016 static void print_VkMemoryHeapFlags(VkMemoryHeapFlags obj, const std::string& str, bool commaNeeded=true) {
4017      PRINT_SPACE
4018      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4019      const int max_bits = 64; // We don't expect the number to be larger.
4020      std::bitset<max_bits> b(obj);
4021      _OUT << "\"";
4022      if (obj == 0) _OUT << "0";
4023      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4024          if (b[i] == 1) {
4025              bitCount++;
4026              if (bitCount < b.count())
4027                  _OUT << VkMemoryHeapFlagBits_map[1ULL<<i] << " | ";
4028              else
4029                  _OUT << VkMemoryHeapFlagBits_map[1ULL<<i];
4030          }
4031      }
4032      if (commaNeeded)
4033        _OUT << "\"" << ",";
4034      else
4035        _OUT << "\""<< "";
4036      _OUT << std::endl;
4037 }
print_VkMemoryHeapFlags(const VkMemoryHeapFlags * obj,const std::string & str,bool commaNeeded=true)4038 static void print_VkMemoryHeapFlags(const VkMemoryHeapFlags * obj, const std::string& str, bool commaNeeded=true) {
4039      PRINT_SPACE
4040      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4041      const int max_bits = 64; // We don't expect the number to be larger.
4042      std::bitset<max_bits> b(obj);
4043      _OUT << "\"";
4044      if (obj == 0) _OUT << "0";
4045      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4046          if (b[i] == 1) {
4047              bitCount++;
4048              if (bitCount < b.count())
4049                  _OUT << VkMemoryHeapFlagBits_map[1ULL<<i] << " | ";
4050              else
4051                  _OUT << VkMemoryHeapFlagBits_map[1ULL<<i];
4052          }
4053      }
4054      if (commaNeeded)
4055        _OUT << "\"" << ",";
4056      else
4057        _OUT << "\""<< "";
4058      _OUT << std::endl;
4059 }
4060 
print_VkMemoryPropertyFlags(VkMemoryPropertyFlags obj,const std::string & str,bool commaNeeded=true)4061 static void print_VkMemoryPropertyFlags(VkMemoryPropertyFlags obj, const std::string& str, bool commaNeeded=true) {
4062      PRINT_SPACE
4063      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4064      const int max_bits = 64; // We don't expect the number to be larger.
4065      std::bitset<max_bits> b(obj);
4066      _OUT << "\"";
4067      if (obj == 0) _OUT << "0";
4068      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4069          if (b[i] == 1) {
4070              bitCount++;
4071              if (bitCount < b.count())
4072                  _OUT << VkMemoryPropertyFlagBits_map[1ULL<<i] << " | ";
4073              else
4074                  _OUT << VkMemoryPropertyFlagBits_map[1ULL<<i];
4075          }
4076      }
4077      if (commaNeeded)
4078        _OUT << "\"" << ",";
4079      else
4080        _OUT << "\""<< "";
4081      _OUT << std::endl;
4082 }
print_VkMemoryPropertyFlags(const VkMemoryPropertyFlags * obj,const std::string & str,bool commaNeeded=true)4083 static void print_VkMemoryPropertyFlags(const VkMemoryPropertyFlags * obj, const std::string& str, bool commaNeeded=true) {
4084      PRINT_SPACE
4085      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4086      const int max_bits = 64; // We don't expect the number to be larger.
4087      std::bitset<max_bits> b(obj);
4088      _OUT << "\"";
4089      if (obj == 0) _OUT << "0";
4090      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4091          if (b[i] == 1) {
4092              bitCount++;
4093              if (bitCount < b.count())
4094                  _OUT << VkMemoryPropertyFlagBits_map[1ULL<<i] << " | ";
4095              else
4096                  _OUT << VkMemoryPropertyFlagBits_map[1ULL<<i];
4097          }
4098      }
4099      if (commaNeeded)
4100        _OUT << "\"" << ",";
4101      else
4102        _OUT << "\""<< "";
4103      _OUT << std::endl;
4104 }
4105 
print_VkQueueFlags(VkQueueFlags obj,const std::string & str,bool commaNeeded=true)4106 static void print_VkQueueFlags(VkQueueFlags obj, const std::string& str, bool commaNeeded=true) {
4107      PRINT_SPACE
4108      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4109      const int max_bits = 64; // We don't expect the number to be larger.
4110      std::bitset<max_bits> b(obj);
4111      _OUT << "\"";
4112      if (obj == 0) _OUT << "0";
4113      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4114          if (b[i] == 1) {
4115              bitCount++;
4116              if (bitCount < b.count())
4117                  _OUT << VkQueueFlagBits_map[1ULL<<i] << " | ";
4118              else
4119                  _OUT << VkQueueFlagBits_map[1ULL<<i];
4120          }
4121      }
4122      if (commaNeeded)
4123        _OUT << "\"" << ",";
4124      else
4125        _OUT << "\""<< "";
4126      _OUT << std::endl;
4127 }
print_VkQueueFlags(const VkQueueFlags * obj,const std::string & str,bool commaNeeded=true)4128 static void print_VkQueueFlags(const VkQueueFlags * obj, const std::string& str, bool commaNeeded=true) {
4129      PRINT_SPACE
4130      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4131      const int max_bits = 64; // We don't expect the number to be larger.
4132      std::bitset<max_bits> b(obj);
4133      _OUT << "\"";
4134      if (obj == 0) _OUT << "0";
4135      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4136          if (b[i] == 1) {
4137              bitCount++;
4138              if (bitCount < b.count())
4139                  _OUT << VkQueueFlagBits_map[1ULL<<i] << " | ";
4140              else
4141                  _OUT << VkQueueFlagBits_map[1ULL<<i];
4142          }
4143      }
4144      if (commaNeeded)
4145        _OUT << "\"" << ",";
4146      else
4147        _OUT << "\""<< "";
4148      _OUT << std::endl;
4149 }
4150 
print_VkDeviceCreateFlags(VkDeviceCreateFlags obj,const std::string & str,bool commaNeeded=true)4151 static void print_VkDeviceCreateFlags(VkDeviceCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4152      PRINT_SPACE
4153      if (commaNeeded)
4154          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4155      else
4156          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4157 }
print_VkDeviceCreateFlags(const VkDeviceCreateFlags * obj,const std::string & str,bool commaNeeded=true)4158 static void print_VkDeviceCreateFlags(const VkDeviceCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4159      PRINT_SPACE
4160      if (commaNeeded)
4161          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4162      else
4163          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4164 }
4165 
print_VkDeviceQueueCreateFlags(VkDeviceQueueCreateFlags obj,const std::string & str,bool commaNeeded=true)4166 static void print_VkDeviceQueueCreateFlags(VkDeviceQueueCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4167      PRINT_SPACE
4168      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4169      const int max_bits = 64; // We don't expect the number to be larger.
4170      std::bitset<max_bits> b(obj);
4171      _OUT << "\"";
4172      if (obj == 0) _OUT << "0";
4173      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4174          if (b[i] == 1) {
4175              bitCount++;
4176              if (bitCount < b.count())
4177                  _OUT << VkDeviceQueueCreateFlagBits_map[1ULL<<i] << " | ";
4178              else
4179                  _OUT << VkDeviceQueueCreateFlagBits_map[1ULL<<i];
4180          }
4181      }
4182      if (commaNeeded)
4183        _OUT << "\"" << ",";
4184      else
4185        _OUT << "\""<< "";
4186      _OUT << std::endl;
4187 }
print_VkDeviceQueueCreateFlags(const VkDeviceQueueCreateFlags * obj,const std::string & str,bool commaNeeded=true)4188 static void print_VkDeviceQueueCreateFlags(const VkDeviceQueueCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4189      PRINT_SPACE
4190      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4191      const int max_bits = 64; // We don't expect the number to be larger.
4192      std::bitset<max_bits> b(obj);
4193      _OUT << "\"";
4194      if (obj == 0) _OUT << "0";
4195      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4196          if (b[i] == 1) {
4197              bitCount++;
4198              if (bitCount < b.count())
4199                  _OUT << VkDeviceQueueCreateFlagBits_map[1ULL<<i] << " | ";
4200              else
4201                  _OUT << VkDeviceQueueCreateFlagBits_map[1ULL<<i];
4202          }
4203      }
4204      if (commaNeeded)
4205        _OUT << "\"" << ",";
4206      else
4207        _OUT << "\""<< "";
4208      _OUT << std::endl;
4209 }
4210 
print_VkPipelineStageFlags(VkPipelineStageFlags obj,const std::string & str,bool commaNeeded=true)4211 static void print_VkPipelineStageFlags(VkPipelineStageFlags obj, const std::string& str, bool commaNeeded=true) {
4212      PRINT_SPACE
4213      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4214      const int max_bits = 64; // We don't expect the number to be larger.
4215      std::bitset<max_bits> b(obj);
4216      _OUT << "\"";
4217      if (obj == 0) _OUT << "0";
4218      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4219          if (b[i] == 1) {
4220              bitCount++;
4221              if (bitCount < b.count())
4222                  _OUT << VkPipelineStageFlagBits_map[1ULL<<i] << " | ";
4223              else
4224                  _OUT << VkPipelineStageFlagBits_map[1ULL<<i];
4225          }
4226      }
4227      if (commaNeeded)
4228        _OUT << "\"" << ",";
4229      else
4230        _OUT << "\""<< "";
4231      _OUT << std::endl;
4232 }
print_VkPipelineStageFlags(const VkPipelineStageFlags * obj,const std::string & str,bool commaNeeded=true)4233 static void print_VkPipelineStageFlags(const VkPipelineStageFlags * obj, const std::string& str, bool commaNeeded=true) {
4234      PRINT_SPACE
4235      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4236      const int max_bits = 64; // We don't expect the number to be larger.
4237      std::bitset<max_bits> b(obj);
4238      _OUT << "\"";
4239      if (obj == 0) _OUT << "0";
4240      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4241          if (b[i] == 1) {
4242              bitCount++;
4243              if (bitCount < b.count())
4244                  _OUT << VkPipelineStageFlagBits_map[1ULL<<i] << " | ";
4245              else
4246                  _OUT << VkPipelineStageFlagBits_map[1ULL<<i];
4247          }
4248      }
4249      if (commaNeeded)
4250        _OUT << "\"" << ",";
4251      else
4252        _OUT << "\""<< "";
4253      _OUT << std::endl;
4254 }
4255 
print_VkMemoryMapFlags(VkMemoryMapFlags obj,const std::string & str,bool commaNeeded=true)4256 static void print_VkMemoryMapFlags(VkMemoryMapFlags obj, const std::string& str, bool commaNeeded=true) {
4257      PRINT_SPACE
4258      if (commaNeeded)
4259          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4260      else
4261          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4262 }
print_VkMemoryMapFlags(const VkMemoryMapFlags * obj,const std::string & str,bool commaNeeded=true)4263 static void print_VkMemoryMapFlags(const VkMemoryMapFlags * obj, const std::string& str, bool commaNeeded=true) {
4264      PRINT_SPACE
4265      if (commaNeeded)
4266          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4267      else
4268          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4269 }
4270 
print_VkFenceCreateFlags(VkFenceCreateFlags obj,const std::string & str,bool commaNeeded=true)4271 static void print_VkFenceCreateFlags(VkFenceCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4272      PRINT_SPACE
4273      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4274      const int max_bits = 64; // We don't expect the number to be larger.
4275      std::bitset<max_bits> b(obj);
4276      _OUT << "\"";
4277      if (obj == 0) _OUT << "0";
4278      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4279          if (b[i] == 1) {
4280              bitCount++;
4281              if (bitCount < b.count())
4282                  _OUT << VkFenceCreateFlagBits_map[1ULL<<i] << " | ";
4283              else
4284                  _OUT << VkFenceCreateFlagBits_map[1ULL<<i];
4285          }
4286      }
4287      if (commaNeeded)
4288        _OUT << "\"" << ",";
4289      else
4290        _OUT << "\""<< "";
4291      _OUT << std::endl;
4292 }
print_VkFenceCreateFlags(const VkFenceCreateFlags * obj,const std::string & str,bool commaNeeded=true)4293 static void print_VkFenceCreateFlags(const VkFenceCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4294      PRINT_SPACE
4295      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4296      const int max_bits = 64; // We don't expect the number to be larger.
4297      std::bitset<max_bits> b(obj);
4298      _OUT << "\"";
4299      if (obj == 0) _OUT << "0";
4300      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4301          if (b[i] == 1) {
4302              bitCount++;
4303              if (bitCount < b.count())
4304                  _OUT << VkFenceCreateFlagBits_map[1ULL<<i] << " | ";
4305              else
4306                  _OUT << VkFenceCreateFlagBits_map[1ULL<<i];
4307          }
4308      }
4309      if (commaNeeded)
4310        _OUT << "\"" << ",";
4311      else
4312        _OUT << "\""<< "";
4313      _OUT << std::endl;
4314 }
4315 
print_VkSemaphoreCreateFlags(VkSemaphoreCreateFlags obj,const std::string & str,bool commaNeeded=true)4316 static void print_VkSemaphoreCreateFlags(VkSemaphoreCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4317      PRINT_SPACE
4318      if (commaNeeded)
4319          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4320      else
4321          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4322 }
print_VkSemaphoreCreateFlags(const VkSemaphoreCreateFlags * obj,const std::string & str,bool commaNeeded=true)4323 static void print_VkSemaphoreCreateFlags(const VkSemaphoreCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4324      PRINT_SPACE
4325      if (commaNeeded)
4326          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4327      else
4328          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4329 }
4330 
print_VkEventCreateFlags(VkEventCreateFlags obj,const std::string & str,bool commaNeeded=true)4331 static void print_VkEventCreateFlags(VkEventCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4332      PRINT_SPACE
4333      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4334      const int max_bits = 64; // We don't expect the number to be larger.
4335      std::bitset<max_bits> b(obj);
4336      _OUT << "\"";
4337      if (obj == 0) _OUT << "0";
4338      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4339          if (b[i] == 1) {
4340              bitCount++;
4341              if (bitCount < b.count())
4342                  _OUT << VkEventCreateFlagBits_map[1ULL<<i] << " | ";
4343              else
4344                  _OUT << VkEventCreateFlagBits_map[1ULL<<i];
4345          }
4346      }
4347      if (commaNeeded)
4348        _OUT << "\"" << ",";
4349      else
4350        _OUT << "\""<< "";
4351      _OUT << std::endl;
4352 }
print_VkEventCreateFlags(const VkEventCreateFlags * obj,const std::string & str,bool commaNeeded=true)4353 static void print_VkEventCreateFlags(const VkEventCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4354      PRINT_SPACE
4355      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4356      const int max_bits = 64; // We don't expect the number to be larger.
4357      std::bitset<max_bits> b(obj);
4358      _OUT << "\"";
4359      if (obj == 0) _OUT << "0";
4360      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4361          if (b[i] == 1) {
4362              bitCount++;
4363              if (bitCount < b.count())
4364                  _OUT << VkEventCreateFlagBits_map[1ULL<<i] << " | ";
4365              else
4366                  _OUT << VkEventCreateFlagBits_map[1ULL<<i];
4367          }
4368      }
4369      if (commaNeeded)
4370        _OUT << "\"" << ",";
4371      else
4372        _OUT << "\""<< "";
4373      _OUT << std::endl;
4374 }
4375 
print_VkQueryPipelineStatisticFlags(VkQueryPipelineStatisticFlags obj,const std::string & str,bool commaNeeded=true)4376 static void print_VkQueryPipelineStatisticFlags(VkQueryPipelineStatisticFlags obj, const std::string& str, bool commaNeeded=true) {
4377      PRINT_SPACE
4378      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4379      const int max_bits = 64; // We don't expect the number to be larger.
4380      std::bitset<max_bits> b(obj);
4381      _OUT << "\"";
4382      if (obj == 0) _OUT << "0";
4383      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4384          if (b[i] == 1) {
4385              bitCount++;
4386              if (bitCount < b.count())
4387                  _OUT << VkQueryPipelineStatisticFlagBits_map[1ULL<<i] << " | ";
4388              else
4389                  _OUT << VkQueryPipelineStatisticFlagBits_map[1ULL<<i];
4390          }
4391      }
4392      if (commaNeeded)
4393        _OUT << "\"" << ",";
4394      else
4395        _OUT << "\""<< "";
4396      _OUT << std::endl;
4397 }
print_VkQueryPipelineStatisticFlags(const VkQueryPipelineStatisticFlags * obj,const std::string & str,bool commaNeeded=true)4398 static void print_VkQueryPipelineStatisticFlags(const VkQueryPipelineStatisticFlags * obj, const std::string& str, bool commaNeeded=true) {
4399      PRINT_SPACE
4400      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4401      const int max_bits = 64; // We don't expect the number to be larger.
4402      std::bitset<max_bits> b(obj);
4403      _OUT << "\"";
4404      if (obj == 0) _OUT << "0";
4405      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4406          if (b[i] == 1) {
4407              bitCount++;
4408              if (bitCount < b.count())
4409                  _OUT << VkQueryPipelineStatisticFlagBits_map[1ULL<<i] << " | ";
4410              else
4411                  _OUT << VkQueryPipelineStatisticFlagBits_map[1ULL<<i];
4412          }
4413      }
4414      if (commaNeeded)
4415        _OUT << "\"" << ",";
4416      else
4417        _OUT << "\""<< "";
4418      _OUT << std::endl;
4419 }
4420 
print_VkQueryPoolCreateFlags(VkQueryPoolCreateFlags obj,const std::string & str,bool commaNeeded=true)4421 static void print_VkQueryPoolCreateFlags(VkQueryPoolCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4422      PRINT_SPACE
4423      if (commaNeeded)
4424          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4425      else
4426          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4427 }
print_VkQueryPoolCreateFlags(const VkQueryPoolCreateFlags * obj,const std::string & str,bool commaNeeded=true)4428 static void print_VkQueryPoolCreateFlags(const VkQueryPoolCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4429      PRINT_SPACE
4430      if (commaNeeded)
4431          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4432      else
4433          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4434 }
4435 
print_VkQueryResultFlags(VkQueryResultFlags obj,const std::string & str,bool commaNeeded=true)4436 static void print_VkQueryResultFlags(VkQueryResultFlags obj, const std::string& str, bool commaNeeded=true) {
4437      PRINT_SPACE
4438      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4439      const int max_bits = 64; // We don't expect the number to be larger.
4440      std::bitset<max_bits> b(obj);
4441      _OUT << "\"";
4442      if (obj == 0) _OUT << "0";
4443      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4444          if (b[i] == 1) {
4445              bitCount++;
4446              if (bitCount < b.count())
4447                  _OUT << VkQueryResultFlagBits_map[1ULL<<i] << " | ";
4448              else
4449                  _OUT << VkQueryResultFlagBits_map[1ULL<<i];
4450          }
4451      }
4452      if (commaNeeded)
4453        _OUT << "\"" << ",";
4454      else
4455        _OUT << "\""<< "";
4456      _OUT << std::endl;
4457 }
print_VkQueryResultFlags(const VkQueryResultFlags * obj,const std::string & str,bool commaNeeded=true)4458 static void print_VkQueryResultFlags(const VkQueryResultFlags * obj, const std::string& str, bool commaNeeded=true) {
4459      PRINT_SPACE
4460      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4461      const int max_bits = 64; // We don't expect the number to be larger.
4462      std::bitset<max_bits> b(obj);
4463      _OUT << "\"";
4464      if (obj == 0) _OUT << "0";
4465      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4466          if (b[i] == 1) {
4467              bitCount++;
4468              if (bitCount < b.count())
4469                  _OUT << VkQueryResultFlagBits_map[1ULL<<i] << " | ";
4470              else
4471                  _OUT << VkQueryResultFlagBits_map[1ULL<<i];
4472          }
4473      }
4474      if (commaNeeded)
4475        _OUT << "\"" << ",";
4476      else
4477        _OUT << "\""<< "";
4478      _OUT << std::endl;
4479 }
4480 
print_VkBufferCreateFlags(VkBufferCreateFlags obj,const std::string & str,bool commaNeeded=true)4481 static void print_VkBufferCreateFlags(VkBufferCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4482      PRINT_SPACE
4483      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4484      const int max_bits = 64; // We don't expect the number to be larger.
4485      std::bitset<max_bits> b(obj);
4486      _OUT << "\"";
4487      if (obj == 0) _OUT << "0";
4488      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4489          if (b[i] == 1) {
4490              bitCount++;
4491              if (bitCount < b.count())
4492                  _OUT << VkBufferCreateFlagBits_map[1ULL<<i] << " | ";
4493              else
4494                  _OUT << VkBufferCreateFlagBits_map[1ULL<<i];
4495          }
4496      }
4497      if (commaNeeded)
4498        _OUT << "\"" << ",";
4499      else
4500        _OUT << "\""<< "";
4501      _OUT << std::endl;
4502 }
print_VkBufferCreateFlags(const VkBufferCreateFlags * obj,const std::string & str,bool commaNeeded=true)4503 static void print_VkBufferCreateFlags(const VkBufferCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4504      PRINT_SPACE
4505      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4506      const int max_bits = 64; // We don't expect the number to be larger.
4507      std::bitset<max_bits> b(obj);
4508      _OUT << "\"";
4509      if (obj == 0) _OUT << "0";
4510      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4511          if (b[i] == 1) {
4512              bitCount++;
4513              if (bitCount < b.count())
4514                  _OUT << VkBufferCreateFlagBits_map[1ULL<<i] << " | ";
4515              else
4516                  _OUT << VkBufferCreateFlagBits_map[1ULL<<i];
4517          }
4518      }
4519      if (commaNeeded)
4520        _OUT << "\"" << ",";
4521      else
4522        _OUT << "\""<< "";
4523      _OUT << std::endl;
4524 }
4525 
print_VkBufferUsageFlags(VkBufferUsageFlags obj,const std::string & str,bool commaNeeded=true)4526 static void print_VkBufferUsageFlags(VkBufferUsageFlags obj, const std::string& str, bool commaNeeded=true) {
4527      PRINT_SPACE
4528      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4529      const int max_bits = 64; // We don't expect the number to be larger.
4530      std::bitset<max_bits> b(obj);
4531      _OUT << "\"";
4532      if (obj == 0) _OUT << "0";
4533      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4534          if (b[i] == 1) {
4535              bitCount++;
4536              if (bitCount < b.count())
4537                  _OUT << VkBufferUsageFlagBits_map[1ULL<<i] << " | ";
4538              else
4539                  _OUT << VkBufferUsageFlagBits_map[1ULL<<i];
4540          }
4541      }
4542      if (commaNeeded)
4543        _OUT << "\"" << ",";
4544      else
4545        _OUT << "\""<< "";
4546      _OUT << std::endl;
4547 }
print_VkBufferUsageFlags(const VkBufferUsageFlags * obj,const std::string & str,bool commaNeeded=true)4548 static void print_VkBufferUsageFlags(const VkBufferUsageFlags * obj, const std::string& str, bool commaNeeded=true) {
4549      PRINT_SPACE
4550      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4551      const int max_bits = 64; // We don't expect the number to be larger.
4552      std::bitset<max_bits> b(obj);
4553      _OUT << "\"";
4554      if (obj == 0) _OUT << "0";
4555      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4556          if (b[i] == 1) {
4557              bitCount++;
4558              if (bitCount < b.count())
4559                  _OUT << VkBufferUsageFlagBits_map[1ULL<<i] << " | ";
4560              else
4561                  _OUT << VkBufferUsageFlagBits_map[1ULL<<i];
4562          }
4563      }
4564      if (commaNeeded)
4565        _OUT << "\"" << ",";
4566      else
4567        _OUT << "\""<< "";
4568      _OUT << std::endl;
4569 }
4570 
print_VkBufferViewCreateFlags(VkBufferViewCreateFlags obj,const std::string & str,bool commaNeeded=true)4571 static void print_VkBufferViewCreateFlags(VkBufferViewCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4572      PRINT_SPACE
4573      if (commaNeeded)
4574          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4575      else
4576          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4577 }
print_VkBufferViewCreateFlags(const VkBufferViewCreateFlags * obj,const std::string & str,bool commaNeeded=true)4578 static void print_VkBufferViewCreateFlags(const VkBufferViewCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4579      PRINT_SPACE
4580      if (commaNeeded)
4581          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4582      else
4583          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4584 }
4585 
print_VkImageViewCreateFlags(VkImageViewCreateFlags obj,const std::string & str,bool commaNeeded=true)4586 static void print_VkImageViewCreateFlags(VkImageViewCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4587      PRINT_SPACE
4588      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4589      const int max_bits = 64; // We don't expect the number to be larger.
4590      std::bitset<max_bits> b(obj);
4591      _OUT << "\"";
4592      if (obj == 0) _OUT << "0";
4593      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4594          if (b[i] == 1) {
4595              bitCount++;
4596              if (bitCount < b.count())
4597                  _OUT << VkImageViewCreateFlagBits_map[1ULL<<i] << " | ";
4598              else
4599                  _OUT << VkImageViewCreateFlagBits_map[1ULL<<i];
4600          }
4601      }
4602      if (commaNeeded)
4603        _OUT << "\"" << ",";
4604      else
4605        _OUT << "\""<< "";
4606      _OUT << std::endl;
4607 }
print_VkImageViewCreateFlags(const VkImageViewCreateFlags * obj,const std::string & str,bool commaNeeded=true)4608 static void print_VkImageViewCreateFlags(const VkImageViewCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4609      PRINT_SPACE
4610      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4611      const int max_bits = 64; // We don't expect the number to be larger.
4612      std::bitset<max_bits> b(obj);
4613      _OUT << "\"";
4614      if (obj == 0) _OUT << "0";
4615      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4616          if (b[i] == 1) {
4617              bitCount++;
4618              if (bitCount < b.count())
4619                  _OUT << VkImageViewCreateFlagBits_map[1ULL<<i] << " | ";
4620              else
4621                  _OUT << VkImageViewCreateFlagBits_map[1ULL<<i];
4622          }
4623      }
4624      if (commaNeeded)
4625        _OUT << "\"" << ",";
4626      else
4627        _OUT << "\""<< "";
4628      _OUT << std::endl;
4629 }
4630 
print_VkPipelineCacheCreateFlags(VkPipelineCacheCreateFlags obj,const std::string & str,bool commaNeeded=true)4631 static void print_VkPipelineCacheCreateFlags(VkPipelineCacheCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4632      PRINT_SPACE
4633      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4634      const int max_bits = 64; // We don't expect the number to be larger.
4635      std::bitset<max_bits> b(obj);
4636      _OUT << "\"";
4637      if (obj == 0) _OUT << "0";
4638      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4639          if (b[i] == 1) {
4640              bitCount++;
4641              if (bitCount < b.count())
4642                  _OUT << VkPipelineCacheCreateFlagBits_map[1ULL<<i] << " | ";
4643              else
4644                  _OUT << VkPipelineCacheCreateFlagBits_map[1ULL<<i];
4645          }
4646      }
4647      if (commaNeeded)
4648        _OUT << "\"" << ",";
4649      else
4650        _OUT << "\""<< "";
4651      _OUT << std::endl;
4652 }
print_VkPipelineCacheCreateFlags(const VkPipelineCacheCreateFlags * obj,const std::string & str,bool commaNeeded=true)4653 static void print_VkPipelineCacheCreateFlags(const VkPipelineCacheCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4654      PRINT_SPACE
4655      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4656      const int max_bits = 64; // We don't expect the number to be larger.
4657      std::bitset<max_bits> b(obj);
4658      _OUT << "\"";
4659      if (obj == 0) _OUT << "0";
4660      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4661          if (b[i] == 1) {
4662              bitCount++;
4663              if (bitCount < b.count())
4664                  _OUT << VkPipelineCacheCreateFlagBits_map[1ULL<<i] << " | ";
4665              else
4666                  _OUT << VkPipelineCacheCreateFlagBits_map[1ULL<<i];
4667          }
4668      }
4669      if (commaNeeded)
4670        _OUT << "\"" << ",";
4671      else
4672        _OUT << "\""<< "";
4673      _OUT << std::endl;
4674 }
4675 
print_VkColorComponentFlags(VkColorComponentFlags obj,const std::string & str,bool commaNeeded=true)4676 static void print_VkColorComponentFlags(VkColorComponentFlags obj, const std::string& str, bool commaNeeded=true) {
4677      PRINT_SPACE
4678      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4679      const int max_bits = 64; // We don't expect the number to be larger.
4680      std::bitset<max_bits> b(obj);
4681      _OUT << "\"";
4682      if (obj == 0) _OUT << "0";
4683      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4684          if (b[i] == 1) {
4685              bitCount++;
4686              if (bitCount < b.count())
4687                  _OUT << VkColorComponentFlagBits_map[1ULL<<i] << " | ";
4688              else
4689                  _OUT << VkColorComponentFlagBits_map[1ULL<<i];
4690          }
4691      }
4692      if (commaNeeded)
4693        _OUT << "\"" << ",";
4694      else
4695        _OUT << "\""<< "";
4696      _OUT << std::endl;
4697 }
print_VkColorComponentFlags(const VkColorComponentFlags * obj,const std::string & str,bool commaNeeded=true)4698 static void print_VkColorComponentFlags(const VkColorComponentFlags * obj, const std::string& str, bool commaNeeded=true) {
4699      PRINT_SPACE
4700      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4701      const int max_bits = 64; // We don't expect the number to be larger.
4702      std::bitset<max_bits> b(obj);
4703      _OUT << "\"";
4704      if (obj == 0) _OUT << "0";
4705      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4706          if (b[i] == 1) {
4707              bitCount++;
4708              if (bitCount < b.count())
4709                  _OUT << VkColorComponentFlagBits_map[1ULL<<i] << " | ";
4710              else
4711                  _OUT << VkColorComponentFlagBits_map[1ULL<<i];
4712          }
4713      }
4714      if (commaNeeded)
4715        _OUT << "\"" << ",";
4716      else
4717        _OUT << "\""<< "";
4718      _OUT << std::endl;
4719 }
4720 
print_VkPipelineCreateFlags(VkPipelineCreateFlags obj,const std::string & str,bool commaNeeded=true)4721 static void print_VkPipelineCreateFlags(VkPipelineCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4722      PRINT_SPACE
4723      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4724      const int max_bits = 64; // We don't expect the number to be larger.
4725      std::bitset<max_bits> b(obj);
4726      _OUT << "\"";
4727      if (obj == 0) _OUT << "0";
4728      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4729          if (b[i] == 1) {
4730              bitCount++;
4731              if (bitCount < b.count())
4732                  _OUT << VkPipelineCreateFlagBits_map[1ULL<<i] << " | ";
4733              else
4734                  _OUT << VkPipelineCreateFlagBits_map[1ULL<<i];
4735          }
4736      }
4737      if (commaNeeded)
4738        _OUT << "\"" << ",";
4739      else
4740        _OUT << "\""<< "";
4741      _OUT << std::endl;
4742 }
print_VkPipelineCreateFlags(const VkPipelineCreateFlags * obj,const std::string & str,bool commaNeeded=true)4743 static void print_VkPipelineCreateFlags(const VkPipelineCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4744      PRINT_SPACE
4745      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4746      const int max_bits = 64; // We don't expect the number to be larger.
4747      std::bitset<max_bits> b(obj);
4748      _OUT << "\"";
4749      if (obj == 0) _OUT << "0";
4750      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4751          if (b[i] == 1) {
4752              bitCount++;
4753              if (bitCount < b.count())
4754                  _OUT << VkPipelineCreateFlagBits_map[1ULL<<i] << " | ";
4755              else
4756                  _OUT << VkPipelineCreateFlagBits_map[1ULL<<i];
4757          }
4758      }
4759      if (commaNeeded)
4760        _OUT << "\"" << ",";
4761      else
4762        _OUT << "\""<< "";
4763      _OUT << std::endl;
4764 }
4765 
print_VkPipelineShaderStageCreateFlags(VkPipelineShaderStageCreateFlags obj,const std::string & str,bool commaNeeded=true)4766 static void print_VkPipelineShaderStageCreateFlags(VkPipelineShaderStageCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4767      PRINT_SPACE
4768      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4769      const int max_bits = 64; // We don't expect the number to be larger.
4770      std::bitset<max_bits> b(obj);
4771      _OUT << "\"";
4772      if (obj == 0) _OUT << "0";
4773      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4774          if (b[i] == 1) {
4775              bitCount++;
4776              if (bitCount < b.count())
4777                  _OUT << VkPipelineShaderStageCreateFlagBits_map[1ULL<<i] << " | ";
4778              else
4779                  _OUT << VkPipelineShaderStageCreateFlagBits_map[1ULL<<i];
4780          }
4781      }
4782      if (commaNeeded)
4783        _OUT << "\"" << ",";
4784      else
4785        _OUT << "\""<< "";
4786      _OUT << std::endl;
4787 }
print_VkPipelineShaderStageCreateFlags(const VkPipelineShaderStageCreateFlags * obj,const std::string & str,bool commaNeeded=true)4788 static void print_VkPipelineShaderStageCreateFlags(const VkPipelineShaderStageCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4789      PRINT_SPACE
4790      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4791      const int max_bits = 64; // We don't expect the number to be larger.
4792      std::bitset<max_bits> b(obj);
4793      _OUT << "\"";
4794      if (obj == 0) _OUT << "0";
4795      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4796          if (b[i] == 1) {
4797              bitCount++;
4798              if (bitCount < b.count())
4799                  _OUT << VkPipelineShaderStageCreateFlagBits_map[1ULL<<i] << " | ";
4800              else
4801                  _OUT << VkPipelineShaderStageCreateFlagBits_map[1ULL<<i];
4802          }
4803      }
4804      if (commaNeeded)
4805        _OUT << "\"" << ",";
4806      else
4807        _OUT << "\""<< "";
4808      _OUT << std::endl;
4809 }
4810 
print_VkCullModeFlags(VkCullModeFlags obj,const std::string & str,bool commaNeeded=true)4811 static void print_VkCullModeFlags(VkCullModeFlags obj, const std::string& str, bool commaNeeded=true) {
4812      PRINT_SPACE
4813      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4814      const int max_bits = 64; // We don't expect the number to be larger.
4815      std::bitset<max_bits> b(obj);
4816      _OUT << "\"";
4817      if (obj == 0) _OUT << "0";
4818      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4819          if (b[i] == 1) {
4820              bitCount++;
4821              if (bitCount < b.count())
4822                  _OUT << VkCullModeFlagBits_map[1ULL<<i] << " | ";
4823              else
4824                  _OUT << VkCullModeFlagBits_map[1ULL<<i];
4825          }
4826      }
4827      if (commaNeeded)
4828        _OUT << "\"" << ",";
4829      else
4830        _OUT << "\""<< "";
4831      _OUT << std::endl;
4832 }
print_VkCullModeFlags(const VkCullModeFlags * obj,const std::string & str,bool commaNeeded=true)4833 static void print_VkCullModeFlags(const VkCullModeFlags * obj, const std::string& str, bool commaNeeded=true) {
4834      PRINT_SPACE
4835      if (str != "") _OUT << "\"" << str << "\"" << " : ";
4836      const int max_bits = 64; // We don't expect the number to be larger.
4837      std::bitset<max_bits> b(obj);
4838      _OUT << "\"";
4839      if (obj == 0) _OUT << "0";
4840      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
4841          if (b[i] == 1) {
4842              bitCount++;
4843              if (bitCount < b.count())
4844                  _OUT << VkCullModeFlagBits_map[1ULL<<i] << " | ";
4845              else
4846                  _OUT << VkCullModeFlagBits_map[1ULL<<i];
4847          }
4848      }
4849      if (commaNeeded)
4850        _OUT << "\"" << ",";
4851      else
4852        _OUT << "\""<< "";
4853      _OUT << std::endl;
4854 }
4855 
print_VkPipelineVertexInputStateCreateFlags(VkPipelineVertexInputStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4856 static void print_VkPipelineVertexInputStateCreateFlags(VkPipelineVertexInputStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4857      PRINT_SPACE
4858      if (commaNeeded)
4859          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4860      else
4861          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4862 }
print_VkPipelineVertexInputStateCreateFlags(const VkPipelineVertexInputStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4863 static void print_VkPipelineVertexInputStateCreateFlags(const VkPipelineVertexInputStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4864      PRINT_SPACE
4865      if (commaNeeded)
4866          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4867      else
4868          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4869 }
4870 
print_VkPipelineInputAssemblyStateCreateFlags(VkPipelineInputAssemblyStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4871 static void print_VkPipelineInputAssemblyStateCreateFlags(VkPipelineInputAssemblyStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4872      PRINT_SPACE
4873      if (commaNeeded)
4874          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4875      else
4876          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4877 }
print_VkPipelineInputAssemblyStateCreateFlags(const VkPipelineInputAssemblyStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4878 static void print_VkPipelineInputAssemblyStateCreateFlags(const VkPipelineInputAssemblyStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4879      PRINT_SPACE
4880      if (commaNeeded)
4881          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4882      else
4883          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4884 }
4885 
print_VkPipelineTessellationStateCreateFlags(VkPipelineTessellationStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4886 static void print_VkPipelineTessellationStateCreateFlags(VkPipelineTessellationStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4887      PRINT_SPACE
4888      if (commaNeeded)
4889          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4890      else
4891          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4892 }
print_VkPipelineTessellationStateCreateFlags(const VkPipelineTessellationStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4893 static void print_VkPipelineTessellationStateCreateFlags(const VkPipelineTessellationStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4894      PRINT_SPACE
4895      if (commaNeeded)
4896          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4897      else
4898          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4899 }
4900 
print_VkPipelineViewportStateCreateFlags(VkPipelineViewportStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4901 static void print_VkPipelineViewportStateCreateFlags(VkPipelineViewportStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4902      PRINT_SPACE
4903      if (commaNeeded)
4904          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4905      else
4906          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4907 }
print_VkPipelineViewportStateCreateFlags(const VkPipelineViewportStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4908 static void print_VkPipelineViewportStateCreateFlags(const VkPipelineViewportStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4909      PRINT_SPACE
4910      if (commaNeeded)
4911          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4912      else
4913          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4914 }
4915 
print_VkPipelineRasterizationStateCreateFlags(VkPipelineRasterizationStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4916 static void print_VkPipelineRasterizationStateCreateFlags(VkPipelineRasterizationStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4917      PRINT_SPACE
4918      if (commaNeeded)
4919          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4920      else
4921          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4922 }
print_VkPipelineRasterizationStateCreateFlags(const VkPipelineRasterizationStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4923 static void print_VkPipelineRasterizationStateCreateFlags(const VkPipelineRasterizationStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4924      PRINT_SPACE
4925      if (commaNeeded)
4926          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4927      else
4928          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4929 }
4930 
print_VkPipelineMultisampleStateCreateFlags(VkPipelineMultisampleStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4931 static void print_VkPipelineMultisampleStateCreateFlags(VkPipelineMultisampleStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4932      PRINT_SPACE
4933      if (commaNeeded)
4934          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4935      else
4936          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4937 }
print_VkPipelineMultisampleStateCreateFlags(const VkPipelineMultisampleStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4938 static void print_VkPipelineMultisampleStateCreateFlags(const VkPipelineMultisampleStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4939      PRINT_SPACE
4940      if (commaNeeded)
4941          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4942      else
4943          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4944 }
4945 
print_VkPipelineDepthStencilStateCreateFlags(VkPipelineDepthStencilStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4946 static void print_VkPipelineDepthStencilStateCreateFlags(VkPipelineDepthStencilStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4947      PRINT_SPACE
4948      if (commaNeeded)
4949          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4950      else
4951          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4952 }
print_VkPipelineDepthStencilStateCreateFlags(const VkPipelineDepthStencilStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4953 static void print_VkPipelineDepthStencilStateCreateFlags(const VkPipelineDepthStencilStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4954      PRINT_SPACE
4955      if (commaNeeded)
4956          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4957      else
4958          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4959 }
4960 
print_VkPipelineColorBlendStateCreateFlags(VkPipelineColorBlendStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4961 static void print_VkPipelineColorBlendStateCreateFlags(VkPipelineColorBlendStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4962      PRINT_SPACE
4963      if (commaNeeded)
4964          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4965      else
4966          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4967 }
print_VkPipelineColorBlendStateCreateFlags(const VkPipelineColorBlendStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4968 static void print_VkPipelineColorBlendStateCreateFlags(const VkPipelineColorBlendStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4969      PRINT_SPACE
4970      if (commaNeeded)
4971          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4972      else
4973          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4974 }
4975 
print_VkPipelineDynamicStateCreateFlags(VkPipelineDynamicStateCreateFlags obj,const std::string & str,bool commaNeeded=true)4976 static void print_VkPipelineDynamicStateCreateFlags(VkPipelineDynamicStateCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4977      PRINT_SPACE
4978      if (commaNeeded)
4979          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4980      else
4981          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4982 }
print_VkPipelineDynamicStateCreateFlags(const VkPipelineDynamicStateCreateFlags * obj,const std::string & str,bool commaNeeded=true)4983 static void print_VkPipelineDynamicStateCreateFlags(const VkPipelineDynamicStateCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4984      PRINT_SPACE
4985      if (commaNeeded)
4986          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4987      else
4988          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4989 }
4990 
print_VkPipelineLayoutCreateFlags(VkPipelineLayoutCreateFlags obj,const std::string & str,bool commaNeeded=true)4991 static void print_VkPipelineLayoutCreateFlags(VkPipelineLayoutCreateFlags obj, const std::string& str, bool commaNeeded=true) {
4992      PRINT_SPACE
4993      if (commaNeeded)
4994          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
4995      else
4996          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
4997 }
print_VkPipelineLayoutCreateFlags(const VkPipelineLayoutCreateFlags * obj,const std::string & str,bool commaNeeded=true)4998 static void print_VkPipelineLayoutCreateFlags(const VkPipelineLayoutCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
4999      PRINT_SPACE
5000      if (commaNeeded)
5001          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
5002      else
5003          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
5004 }
5005 
print_VkShaderStageFlags(VkShaderStageFlags obj,const std::string & str,bool commaNeeded=true)5006 static void print_VkShaderStageFlags(VkShaderStageFlags obj, const std::string& str, bool commaNeeded=true) {
5007      PRINT_SPACE
5008      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5009      const int max_bits = 64; // We don't expect the number to be larger.
5010      std::bitset<max_bits> b(obj);
5011      _OUT << "\"";
5012      if (obj == 0) _OUT << "0";
5013      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5014          if (b[i] == 1) {
5015              bitCount++;
5016              if (bitCount < b.count())
5017                  _OUT << VkShaderStageFlagBits_map[1ULL<<i] << " | ";
5018              else
5019                  _OUT << VkShaderStageFlagBits_map[1ULL<<i];
5020          }
5021      }
5022      if (commaNeeded)
5023        _OUT << "\"" << ",";
5024      else
5025        _OUT << "\""<< "";
5026      _OUT << std::endl;
5027 }
print_VkShaderStageFlags(const VkShaderStageFlags * obj,const std::string & str,bool commaNeeded=true)5028 static void print_VkShaderStageFlags(const VkShaderStageFlags * obj, const std::string& str, bool commaNeeded=true) {
5029      PRINT_SPACE
5030      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5031      const int max_bits = 64; // We don't expect the number to be larger.
5032      std::bitset<max_bits> b(obj);
5033      _OUT << "\"";
5034      if (obj == 0) _OUT << "0";
5035      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5036          if (b[i] == 1) {
5037              bitCount++;
5038              if (bitCount < b.count())
5039                  _OUT << VkShaderStageFlagBits_map[1ULL<<i] << " | ";
5040              else
5041                  _OUT << VkShaderStageFlagBits_map[1ULL<<i];
5042          }
5043      }
5044      if (commaNeeded)
5045        _OUT << "\"" << ",";
5046      else
5047        _OUT << "\""<< "";
5048      _OUT << std::endl;
5049 }
5050 
print_VkSamplerCreateFlags(VkSamplerCreateFlags obj,const std::string & str,bool commaNeeded=true)5051 static void print_VkSamplerCreateFlags(VkSamplerCreateFlags obj, const std::string& str, bool commaNeeded=true) {
5052      PRINT_SPACE
5053      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5054      const int max_bits = 64; // We don't expect the number to be larger.
5055      std::bitset<max_bits> b(obj);
5056      _OUT << "\"";
5057      if (obj == 0) _OUT << "0";
5058      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5059          if (b[i] == 1) {
5060              bitCount++;
5061              if (bitCount < b.count())
5062                  _OUT << VkSamplerCreateFlagBits_map[1ULL<<i] << " | ";
5063              else
5064                  _OUT << VkSamplerCreateFlagBits_map[1ULL<<i];
5065          }
5066      }
5067      if (commaNeeded)
5068        _OUT << "\"" << ",";
5069      else
5070        _OUT << "\""<< "";
5071      _OUT << std::endl;
5072 }
print_VkSamplerCreateFlags(const VkSamplerCreateFlags * obj,const std::string & str,bool commaNeeded=true)5073 static void print_VkSamplerCreateFlags(const VkSamplerCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
5074      PRINT_SPACE
5075      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5076      const int max_bits = 64; // We don't expect the number to be larger.
5077      std::bitset<max_bits> b(obj);
5078      _OUT << "\"";
5079      if (obj == 0) _OUT << "0";
5080      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5081          if (b[i] == 1) {
5082              bitCount++;
5083              if (bitCount < b.count())
5084                  _OUT << VkSamplerCreateFlagBits_map[1ULL<<i] << " | ";
5085              else
5086                  _OUT << VkSamplerCreateFlagBits_map[1ULL<<i];
5087          }
5088      }
5089      if (commaNeeded)
5090        _OUT << "\"" << ",";
5091      else
5092        _OUT << "\""<< "";
5093      _OUT << std::endl;
5094 }
5095 
print_VkDescriptorPoolCreateFlags(VkDescriptorPoolCreateFlags obj,const std::string & str,bool commaNeeded=true)5096 static void print_VkDescriptorPoolCreateFlags(VkDescriptorPoolCreateFlags obj, const std::string& str, bool commaNeeded=true) {
5097      PRINT_SPACE
5098      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5099      const int max_bits = 64; // We don't expect the number to be larger.
5100      std::bitset<max_bits> b(obj);
5101      _OUT << "\"";
5102      if (obj == 0) _OUT << "0";
5103      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5104          if (b[i] == 1) {
5105              bitCount++;
5106              if (bitCount < b.count())
5107                  _OUT << VkDescriptorPoolCreateFlagBits_map[1ULL<<i] << " | ";
5108              else
5109                  _OUT << VkDescriptorPoolCreateFlagBits_map[1ULL<<i];
5110          }
5111      }
5112      if (commaNeeded)
5113        _OUT << "\"" << ",";
5114      else
5115        _OUT << "\""<< "";
5116      _OUT << std::endl;
5117 }
print_VkDescriptorPoolCreateFlags(const VkDescriptorPoolCreateFlags * obj,const std::string & str,bool commaNeeded=true)5118 static void print_VkDescriptorPoolCreateFlags(const VkDescriptorPoolCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
5119      PRINT_SPACE
5120      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5121      const int max_bits = 64; // We don't expect the number to be larger.
5122      std::bitset<max_bits> b(obj);
5123      _OUT << "\"";
5124      if (obj == 0) _OUT << "0";
5125      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5126          if (b[i] == 1) {
5127              bitCount++;
5128              if (bitCount < b.count())
5129                  _OUT << VkDescriptorPoolCreateFlagBits_map[1ULL<<i] << " | ";
5130              else
5131                  _OUT << VkDescriptorPoolCreateFlagBits_map[1ULL<<i];
5132          }
5133      }
5134      if (commaNeeded)
5135        _OUT << "\"" << ",";
5136      else
5137        _OUT << "\""<< "";
5138      _OUT << std::endl;
5139 }
5140 
print_VkDescriptorPoolResetFlags(VkDescriptorPoolResetFlags obj,const std::string & str,bool commaNeeded=true)5141 static void print_VkDescriptorPoolResetFlags(VkDescriptorPoolResetFlags obj, const std::string& str, bool commaNeeded=true) {
5142      PRINT_SPACE
5143      if (commaNeeded)
5144          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
5145      else
5146          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
5147 }
print_VkDescriptorPoolResetFlags(const VkDescriptorPoolResetFlags * obj,const std::string & str,bool commaNeeded=true)5148 static void print_VkDescriptorPoolResetFlags(const VkDescriptorPoolResetFlags * obj, const std::string& str, bool commaNeeded=true) {
5149      PRINT_SPACE
5150      if (commaNeeded)
5151          _OUT << "\"" << str << "\"" << " : " << obj << "," << std::endl;
5152      else
5153          _OUT << "\"" << str << "\"" << " : " << obj << std::endl;
5154 }
5155 
print_VkDescriptorSetLayoutCreateFlags(VkDescriptorSetLayoutCreateFlags obj,const std::string & str,bool commaNeeded=true)5156 static void print_VkDescriptorSetLayoutCreateFlags(VkDescriptorSetLayoutCreateFlags obj, const std::string& str, bool commaNeeded=true) {
5157      PRINT_SPACE
5158      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5159      const int max_bits = 64; // We don't expect the number to be larger.
5160      std::bitset<max_bits> b(obj);
5161      _OUT << "\"";
5162      if (obj == 0) _OUT << "0";
5163      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5164          if (b[i] == 1) {
5165              bitCount++;
5166              if (bitCount < b.count())
5167                  _OUT << VkDescriptorSetLayoutCreateFlagBits_map[1ULL<<i] << " | ";
5168              else
5169                  _OUT << VkDescriptorSetLayoutCreateFlagBits_map[1ULL<<i];
5170          }
5171      }
5172      if (commaNeeded)
5173        _OUT << "\"" << ",";
5174      else
5175        _OUT << "\""<< "";
5176      _OUT << std::endl;
5177 }
print_VkDescriptorSetLayoutCreateFlags(const VkDescriptorSetLayoutCreateFlags * obj,const std::string & str,bool commaNeeded=true)5178 static void print_VkDescriptorSetLayoutCreateFlags(const VkDescriptorSetLayoutCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
5179      PRINT_SPACE
5180      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5181      const int max_bits = 64; // We don't expect the number to be larger.
5182      std::bitset<max_bits> b(obj);
5183      _OUT << "\"";
5184      if (obj == 0) _OUT << "0";
5185      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5186          if (b[i] == 1) {
5187              bitCount++;
5188              if (bitCount < b.count())
5189                  _OUT << VkDescriptorSetLayoutCreateFlagBits_map[1ULL<<i] << " | ";
5190              else
5191                  _OUT << VkDescriptorSetLayoutCreateFlagBits_map[1ULL<<i];
5192          }
5193      }
5194      if (commaNeeded)
5195        _OUT << "\"" << ",";
5196      else
5197        _OUT << "\""<< "";
5198      _OUT << std::endl;
5199 }
5200 
print_VkAttachmentDescriptionFlags(VkAttachmentDescriptionFlags obj,const std::string & str,bool commaNeeded=true)5201 static void print_VkAttachmentDescriptionFlags(VkAttachmentDescriptionFlags obj, const std::string& str, bool commaNeeded=true) {
5202      PRINT_SPACE
5203      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5204      const int max_bits = 64; // We don't expect the number to be larger.
5205      std::bitset<max_bits> b(obj);
5206      _OUT << "\"";
5207      if (obj == 0) _OUT << "0";
5208      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5209          if (b[i] == 1) {
5210              bitCount++;
5211              if (bitCount < b.count())
5212                  _OUT << VkAttachmentDescriptionFlagBits_map[1ULL<<i] << " | ";
5213              else
5214                  _OUT << VkAttachmentDescriptionFlagBits_map[1ULL<<i];
5215          }
5216      }
5217      if (commaNeeded)
5218        _OUT << "\"" << ",";
5219      else
5220        _OUT << "\""<< "";
5221      _OUT << std::endl;
5222 }
print_VkAttachmentDescriptionFlags(const VkAttachmentDescriptionFlags * obj,const std::string & str,bool commaNeeded=true)5223 static void print_VkAttachmentDescriptionFlags(const VkAttachmentDescriptionFlags * obj, const std::string& str, bool commaNeeded=true) {
5224      PRINT_SPACE
5225      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5226      const int max_bits = 64; // We don't expect the number to be larger.
5227      std::bitset<max_bits> b(obj);
5228      _OUT << "\"";
5229      if (obj == 0) _OUT << "0";
5230      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5231          if (b[i] == 1) {
5232              bitCount++;
5233              if (bitCount < b.count())
5234                  _OUT << VkAttachmentDescriptionFlagBits_map[1ULL<<i] << " | ";
5235              else
5236                  _OUT << VkAttachmentDescriptionFlagBits_map[1ULL<<i];
5237          }
5238      }
5239      if (commaNeeded)
5240        _OUT << "\"" << ",";
5241      else
5242        _OUT << "\""<< "";
5243      _OUT << std::endl;
5244 }
5245 
print_VkDependencyFlags(VkDependencyFlags obj,const std::string & str,bool commaNeeded=true)5246 static void print_VkDependencyFlags(VkDependencyFlags obj, const std::string& str, bool commaNeeded=true) {
5247      PRINT_SPACE
5248      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5249      const int max_bits = 64; // We don't expect the number to be larger.
5250      std::bitset<max_bits> b(obj);
5251      _OUT << "\"";
5252      if (obj == 0) _OUT << "0";
5253      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5254          if (b[i] == 1) {
5255              bitCount++;
5256              if (bitCount < b.count())
5257                  _OUT << VkDependencyFlagBits_map[1ULL<<i] << " | ";
5258              else
5259                  _OUT << VkDependencyFlagBits_map[1ULL<<i];
5260          }
5261      }
5262      if (commaNeeded)
5263        _OUT << "\"" << ",";
5264      else
5265        _OUT << "\""<< "";
5266      _OUT << std::endl;
5267 }
print_VkDependencyFlags(const VkDependencyFlags * obj,const std::string & str,bool commaNeeded=true)5268 static void print_VkDependencyFlags(const VkDependencyFlags * obj, const std::string& str, bool commaNeeded=true) {
5269      PRINT_SPACE
5270      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5271      const int max_bits = 64; // We don't expect the number to be larger.
5272      std::bitset<max_bits> b(obj);
5273      _OUT << "\"";
5274      if (obj == 0) _OUT << "0";
5275      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5276          if (b[i] == 1) {
5277              bitCount++;
5278              if (bitCount < b.count())
5279                  _OUT << VkDependencyFlagBits_map[1ULL<<i] << " | ";
5280              else
5281                  _OUT << VkDependencyFlagBits_map[1ULL<<i];
5282          }
5283      }
5284      if (commaNeeded)
5285        _OUT << "\"" << ",";
5286      else
5287        _OUT << "\""<< "";
5288      _OUT << std::endl;
5289 }
5290 
print_VkFramebufferCreateFlags(VkFramebufferCreateFlags obj,const std::string & str,bool commaNeeded=true)5291 static void print_VkFramebufferCreateFlags(VkFramebufferCreateFlags obj, const std::string& str, bool commaNeeded=true) {
5292      PRINT_SPACE
5293      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5294      const int max_bits = 64; // We don't expect the number to be larger.
5295      std::bitset<max_bits> b(obj);
5296      _OUT << "\"";
5297      if (obj == 0) _OUT << "0";
5298      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5299          if (b[i] == 1) {
5300              bitCount++;
5301              if (bitCount < b.count())
5302                  _OUT << VkFramebufferCreateFlagBits_map[1ULL<<i] << " | ";
5303              else
5304                  _OUT << VkFramebufferCreateFlagBits_map[1ULL<<i];
5305          }
5306      }
5307      if (commaNeeded)
5308        _OUT << "\"" << ",";
5309      else
5310        _OUT << "\""<< "";
5311      _OUT << std::endl;
5312 }
print_VkFramebufferCreateFlags(const VkFramebufferCreateFlags * obj,const std::string & str,bool commaNeeded=true)5313 static void print_VkFramebufferCreateFlags(const VkFramebufferCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
5314      PRINT_SPACE
5315      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5316      const int max_bits = 64; // We don't expect the number to be larger.
5317      std::bitset<max_bits> b(obj);
5318      _OUT << "\"";
5319      if (obj == 0) _OUT << "0";
5320      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5321          if (b[i] == 1) {
5322              bitCount++;
5323              if (bitCount < b.count())
5324                  _OUT << VkFramebufferCreateFlagBits_map[1ULL<<i] << " | ";
5325              else
5326                  _OUT << VkFramebufferCreateFlagBits_map[1ULL<<i];
5327          }
5328      }
5329      if (commaNeeded)
5330        _OUT << "\"" << ",";
5331      else
5332        _OUT << "\""<< "";
5333      _OUT << std::endl;
5334 }
5335 
print_VkRenderPassCreateFlags(VkRenderPassCreateFlags obj,const std::string & str,bool commaNeeded=true)5336 static void print_VkRenderPassCreateFlags(VkRenderPassCreateFlags obj, const std::string& str, bool commaNeeded=true) {
5337      PRINT_SPACE
5338      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5339      const int max_bits = 64; // We don't expect the number to be larger.
5340      std::bitset<max_bits> b(obj);
5341      _OUT << "\"";
5342      if (obj == 0) _OUT << "0";
5343      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5344          if (b[i] == 1) {
5345              bitCount++;
5346              if (bitCount < b.count())
5347                  _OUT << VkRenderPassCreateFlagBits_map[1ULL<<i] << " | ";
5348              else
5349                  _OUT << VkRenderPassCreateFlagBits_map[1ULL<<i];
5350          }
5351      }
5352      if (commaNeeded)
5353        _OUT << "\"" << ",";
5354      else
5355        _OUT << "\""<< "";
5356      _OUT << std::endl;
5357 }
print_VkRenderPassCreateFlags(const VkRenderPassCreateFlags * obj,const std::string & str,bool commaNeeded=true)5358 static void print_VkRenderPassCreateFlags(const VkRenderPassCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
5359      PRINT_SPACE
5360      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5361      const int max_bits = 64; // We don't expect the number to be larger.
5362      std::bitset<max_bits> b(obj);
5363      _OUT << "\"";
5364      if (obj == 0) _OUT << "0";
5365      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5366          if (b[i] == 1) {
5367              bitCount++;
5368              if (bitCount < b.count())
5369                  _OUT << VkRenderPassCreateFlagBits_map[1ULL<<i] << " | ";
5370              else
5371                  _OUT << VkRenderPassCreateFlagBits_map[1ULL<<i];
5372          }
5373      }
5374      if (commaNeeded)
5375        _OUT << "\"" << ",";
5376      else
5377        _OUT << "\""<< "";
5378      _OUT << std::endl;
5379 }
5380 
print_VkSubpassDescriptionFlags(VkSubpassDescriptionFlags obj,const std::string & str,bool commaNeeded=true)5381 static void print_VkSubpassDescriptionFlags(VkSubpassDescriptionFlags obj, const std::string& str, bool commaNeeded=true) {
5382      PRINT_SPACE
5383      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5384      const int max_bits = 64; // We don't expect the number to be larger.
5385      std::bitset<max_bits> b(obj);
5386      _OUT << "\"";
5387      if (obj == 0) _OUT << "0";
5388      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5389          if (b[i] == 1) {
5390              bitCount++;
5391              if (bitCount < b.count())
5392                  _OUT << VkSubpassDescriptionFlagBits_map[1ULL<<i] << " | ";
5393              else
5394                  _OUT << VkSubpassDescriptionFlagBits_map[1ULL<<i];
5395          }
5396      }
5397      if (commaNeeded)
5398        _OUT << "\"" << ",";
5399      else
5400        _OUT << "\""<< "";
5401      _OUT << std::endl;
5402 }
print_VkSubpassDescriptionFlags(const VkSubpassDescriptionFlags * obj,const std::string & str,bool commaNeeded=true)5403 static void print_VkSubpassDescriptionFlags(const VkSubpassDescriptionFlags * obj, const std::string& str, bool commaNeeded=true) {
5404      PRINT_SPACE
5405      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5406      const int max_bits = 64; // We don't expect the number to be larger.
5407      std::bitset<max_bits> b(obj);
5408      _OUT << "\"";
5409      if (obj == 0) _OUT << "0";
5410      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5411          if (b[i] == 1) {
5412              bitCount++;
5413              if (bitCount < b.count())
5414                  _OUT << VkSubpassDescriptionFlagBits_map[1ULL<<i] << " | ";
5415              else
5416                  _OUT << VkSubpassDescriptionFlagBits_map[1ULL<<i];
5417          }
5418      }
5419      if (commaNeeded)
5420        _OUT << "\"" << ",";
5421      else
5422        _OUT << "\""<< "";
5423      _OUT << std::endl;
5424 }
5425 
print_VkCommandPoolCreateFlags(VkCommandPoolCreateFlags obj,const std::string & str,bool commaNeeded=true)5426 static void print_VkCommandPoolCreateFlags(VkCommandPoolCreateFlags obj, const std::string& str, bool commaNeeded=true) {
5427      PRINT_SPACE
5428      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5429      const int max_bits = 64; // We don't expect the number to be larger.
5430      std::bitset<max_bits> b(obj);
5431      _OUT << "\"";
5432      if (obj == 0) _OUT << "0";
5433      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5434          if (b[i] == 1) {
5435              bitCount++;
5436              if (bitCount < b.count())
5437                  _OUT << VkCommandPoolCreateFlagBits_map[1ULL<<i] << " | ";
5438              else
5439                  _OUT << VkCommandPoolCreateFlagBits_map[1ULL<<i];
5440          }
5441      }
5442      if (commaNeeded)
5443        _OUT << "\"" << ",";
5444      else
5445        _OUT << "\""<< "";
5446      _OUT << std::endl;
5447 }
print_VkCommandPoolCreateFlags(const VkCommandPoolCreateFlags * obj,const std::string & str,bool commaNeeded=true)5448 static void print_VkCommandPoolCreateFlags(const VkCommandPoolCreateFlags * obj, const std::string& str, bool commaNeeded=true) {
5449      PRINT_SPACE
5450      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5451      const int max_bits = 64; // We don't expect the number to be larger.
5452      std::bitset<max_bits> b(obj);
5453      _OUT << "\"";
5454      if (obj == 0) _OUT << "0";
5455      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5456          if (b[i] == 1) {
5457              bitCount++;
5458              if (bitCount < b.count())
5459                  _OUT << VkCommandPoolCreateFlagBits_map[1ULL<<i] << " | ";
5460              else
5461                  _OUT << VkCommandPoolCreateFlagBits_map[1ULL<<i];
5462          }
5463      }
5464      if (commaNeeded)
5465        _OUT << "\"" << ",";
5466      else
5467        _OUT << "\""<< "";
5468      _OUT << std::endl;
5469 }
5470 
print_VkCommandPoolResetFlags(VkCommandPoolResetFlags obj,const std::string & str,bool commaNeeded=true)5471 static void print_VkCommandPoolResetFlags(VkCommandPoolResetFlags obj, const std::string& str, bool commaNeeded=true) {
5472      PRINT_SPACE
5473      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5474      const int max_bits = 64; // We don't expect the number to be larger.
5475      std::bitset<max_bits> b(obj);
5476      _OUT << "\"";
5477      if (obj == 0) _OUT << "0";
5478      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5479          if (b[i] == 1) {
5480              bitCount++;
5481              if (bitCount < b.count())
5482                  _OUT << VkCommandPoolResetFlagBits_map[1ULL<<i] << " | ";
5483              else
5484                  _OUT << VkCommandPoolResetFlagBits_map[1ULL<<i];
5485          }
5486      }
5487      if (commaNeeded)
5488        _OUT << "\"" << ",";
5489      else
5490        _OUT << "\""<< "";
5491      _OUT << std::endl;
5492 }
print_VkCommandPoolResetFlags(const VkCommandPoolResetFlags * obj,const std::string & str,bool commaNeeded=true)5493 static void print_VkCommandPoolResetFlags(const VkCommandPoolResetFlags * obj, const std::string& str, bool commaNeeded=true) {
5494      PRINT_SPACE
5495      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5496      const int max_bits = 64; // We don't expect the number to be larger.
5497      std::bitset<max_bits> b(obj);
5498      _OUT << "\"";
5499      if (obj == 0) _OUT << "0";
5500      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5501          if (b[i] == 1) {
5502              bitCount++;
5503              if (bitCount < b.count())
5504                  _OUT << VkCommandPoolResetFlagBits_map[1ULL<<i] << " | ";
5505              else
5506                  _OUT << VkCommandPoolResetFlagBits_map[1ULL<<i];
5507          }
5508      }
5509      if (commaNeeded)
5510        _OUT << "\"" << ",";
5511      else
5512        _OUT << "\""<< "";
5513      _OUT << std::endl;
5514 }
5515 
print_VkCommandBufferUsageFlags(VkCommandBufferUsageFlags obj,const std::string & str,bool commaNeeded=true)5516 static void print_VkCommandBufferUsageFlags(VkCommandBufferUsageFlags obj, const std::string& str, bool commaNeeded=true) {
5517      PRINT_SPACE
5518      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5519      const int max_bits = 64; // We don't expect the number to be larger.
5520      std::bitset<max_bits> b(obj);
5521      _OUT << "\"";
5522      if (obj == 0) _OUT << "0";
5523      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5524          if (b[i] == 1) {
5525              bitCount++;
5526              if (bitCount < b.count())
5527                  _OUT << VkCommandBufferUsageFlagBits_map[1ULL<<i] << " | ";
5528              else
5529                  _OUT << VkCommandBufferUsageFlagBits_map[1ULL<<i];
5530          }
5531      }
5532      if (commaNeeded)
5533        _OUT << "\"" << ",";
5534      else
5535        _OUT << "\""<< "";
5536      _OUT << std::endl;
5537 }
print_VkCommandBufferUsageFlags(const VkCommandBufferUsageFlags * obj,const std::string & str,bool commaNeeded=true)5538 static void print_VkCommandBufferUsageFlags(const VkCommandBufferUsageFlags * obj, const std::string& str, bool commaNeeded=true) {
5539      PRINT_SPACE
5540      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5541      const int max_bits = 64; // We don't expect the number to be larger.
5542      std::bitset<max_bits> b(obj);
5543      _OUT << "\"";
5544      if (obj == 0) _OUT << "0";
5545      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5546          if (b[i] == 1) {
5547              bitCount++;
5548              if (bitCount < b.count())
5549                  _OUT << VkCommandBufferUsageFlagBits_map[1ULL<<i] << " | ";
5550              else
5551                  _OUT << VkCommandBufferUsageFlagBits_map[1ULL<<i];
5552          }
5553      }
5554      if (commaNeeded)
5555        _OUT << "\"" << ",";
5556      else
5557        _OUT << "\""<< "";
5558      _OUT << std::endl;
5559 }
5560 
print_VkQueryControlFlags(VkQueryControlFlags obj,const std::string & str,bool commaNeeded=true)5561 static void print_VkQueryControlFlags(VkQueryControlFlags obj, const std::string& str, bool commaNeeded=true) {
5562      PRINT_SPACE
5563      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5564      const int max_bits = 64; // We don't expect the number to be larger.
5565      std::bitset<max_bits> b(obj);
5566      _OUT << "\"";
5567      if (obj == 0) _OUT << "0";
5568      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5569          if (b[i] == 1) {
5570              bitCount++;
5571              if (bitCount < b.count())
5572                  _OUT << VkQueryControlFlagBits_map[1ULL<<i] << " | ";
5573              else
5574                  _OUT << VkQueryControlFlagBits_map[1ULL<<i];
5575          }
5576      }
5577      if (commaNeeded)
5578        _OUT << "\"" << ",";
5579      else
5580        _OUT << "\""<< "";
5581      _OUT << std::endl;
5582 }
print_VkQueryControlFlags(const VkQueryControlFlags * obj,const std::string & str,bool commaNeeded=true)5583 static void print_VkQueryControlFlags(const VkQueryControlFlags * obj, const std::string& str, bool commaNeeded=true) {
5584      PRINT_SPACE
5585      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5586      const int max_bits = 64; // We don't expect the number to be larger.
5587      std::bitset<max_bits> b(obj);
5588      _OUT << "\"";
5589      if (obj == 0) _OUT << "0";
5590      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5591          if (b[i] == 1) {
5592              bitCount++;
5593              if (bitCount < b.count())
5594                  _OUT << VkQueryControlFlagBits_map[1ULL<<i] << " | ";
5595              else
5596                  _OUT << VkQueryControlFlagBits_map[1ULL<<i];
5597          }
5598      }
5599      if (commaNeeded)
5600        _OUT << "\"" << ",";
5601      else
5602        _OUT << "\""<< "";
5603      _OUT << std::endl;
5604 }
5605 
print_VkCommandBufferResetFlags(VkCommandBufferResetFlags obj,const std::string & str,bool commaNeeded=true)5606 static void print_VkCommandBufferResetFlags(VkCommandBufferResetFlags obj, const std::string& str, bool commaNeeded=true) {
5607      PRINT_SPACE
5608      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5609      const int max_bits = 64; // We don't expect the number to be larger.
5610      std::bitset<max_bits> b(obj);
5611      _OUT << "\"";
5612      if (obj == 0) _OUT << "0";
5613      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5614          if (b[i] == 1) {
5615              bitCount++;
5616              if (bitCount < b.count())
5617                  _OUT << VkCommandBufferResetFlagBits_map[1ULL<<i] << " | ";
5618              else
5619                  _OUT << VkCommandBufferResetFlagBits_map[1ULL<<i];
5620          }
5621      }
5622      if (commaNeeded)
5623        _OUT << "\"" << ",";
5624      else
5625        _OUT << "\""<< "";
5626      _OUT << std::endl;
5627 }
print_VkCommandBufferResetFlags(const VkCommandBufferResetFlags * obj,const std::string & str,bool commaNeeded=true)5628 static void print_VkCommandBufferResetFlags(const VkCommandBufferResetFlags * obj, const std::string& str, bool commaNeeded=true) {
5629      PRINT_SPACE
5630      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5631      const int max_bits = 64; // We don't expect the number to be larger.
5632      std::bitset<max_bits> b(obj);
5633      _OUT << "\"";
5634      if (obj == 0) _OUT << "0";
5635      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5636          if (b[i] == 1) {
5637              bitCount++;
5638              if (bitCount < b.count())
5639                  _OUT << VkCommandBufferResetFlagBits_map[1ULL<<i] << " | ";
5640              else
5641                  _OUT << VkCommandBufferResetFlagBits_map[1ULL<<i];
5642          }
5643      }
5644      if (commaNeeded)
5645        _OUT << "\"" << ",";
5646      else
5647        _OUT << "\""<< "";
5648      _OUT << std::endl;
5649 }
5650 
print_VkStencilFaceFlags(VkStencilFaceFlags obj,const std::string & str,bool commaNeeded=true)5651 static void print_VkStencilFaceFlags(VkStencilFaceFlags obj, const std::string& str, bool commaNeeded=true) {
5652      PRINT_SPACE
5653      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5654      const int max_bits = 64; // We don't expect the number to be larger.
5655      std::bitset<max_bits> b(obj);
5656      _OUT << "\"";
5657      if (obj == 0) _OUT << "0";
5658      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5659          if (b[i] == 1) {
5660              bitCount++;
5661              if (bitCount < b.count())
5662                  _OUT << VkStencilFaceFlagBits_map[1ULL<<i] << " | ";
5663              else
5664                  _OUT << VkStencilFaceFlagBits_map[1ULL<<i];
5665          }
5666      }
5667      if (commaNeeded)
5668        _OUT << "\"" << ",";
5669      else
5670        _OUT << "\""<< "";
5671      _OUT << std::endl;
5672 }
print_VkStencilFaceFlags(const VkStencilFaceFlags * obj,const std::string & str,bool commaNeeded=true)5673 static void print_VkStencilFaceFlags(const VkStencilFaceFlags * obj, const std::string& str, bool commaNeeded=true) {
5674      PRINT_SPACE
5675      if (str != "") _OUT << "\"" << str << "\"" << " : ";
5676      const int max_bits = 64; // We don't expect the number to be larger.
5677      std::bitset<max_bits> b(obj);
5678      _OUT << "\"";
5679      if (obj == 0) _OUT << "0";
5680      for (unsigned int i = 0, bitCount = 0; i < b.size(); i++) {
5681          if (b[i] == 1) {
5682              bitCount++;
5683              if (bitCount < b.count())
5684                  _OUT << VkStencilFaceFlagBits_map[1ULL<<i] << " | ";
5685              else
5686                  _OUT << VkStencilFaceFlagBits_map[1ULL<<i];
5687          }
5688      }
5689      if (commaNeeded)
5690        _OUT << "\"" << ",";
5691      else
5692        _OUT << "\""<< "";
5693      _OUT << std::endl;
5694 }
5695 
print_VkExtent2D(VkExtent2D obj,const std::string & s,bool commaNeeded=true)5696 static void print_VkExtent2D(VkExtent2D obj, const std::string& s, bool commaNeeded=true) {
5697      PRINT_SPACE
5698      _OUT << "{" << std::endl;
5699      INDENT(4);
5700 
5701      print_uint32_t(obj.width, "width", 1);
5702 
5703      print_uint32_t(obj.height, "height", 0);
5704 
5705      INDENT(-4);
5706      PRINT_SPACE
5707      if (commaNeeded)
5708          _OUT << "}," << std::endl;
5709      else
5710          _OUT << "}" << std::endl;
5711 }
print_VkExtent2D(const VkExtent2D * obj,const std::string & s,bool commaNeeded=true)5712 static void print_VkExtent2D(const VkExtent2D * obj, const std::string& s, bool commaNeeded=true) {
5713      PRINT_SPACE
5714      _OUT << "{" << std::endl;
5715      INDENT(4);
5716 
5717      print_uint32_t(obj->width, "width", 1);
5718 
5719      print_uint32_t(obj->height, "height", 0);
5720 
5721      INDENT(-4);
5722      PRINT_SPACE
5723      if (commaNeeded)
5724          _OUT << "}," << std::endl;
5725      else
5726          _OUT << "}" << std::endl;
5727 }
5728 
print_VkExtent3D(VkExtent3D obj,const std::string & s,bool commaNeeded=true)5729 static void print_VkExtent3D(VkExtent3D obj, const std::string& s, bool commaNeeded=true) {
5730      PRINT_SPACE
5731      _OUT << "{" << std::endl;
5732      INDENT(4);
5733 
5734      print_uint32_t(obj.width, "width", 1);
5735 
5736      print_uint32_t(obj.height, "height", 1);
5737 
5738      print_uint32_t(obj.depth, "depth", 0);
5739 
5740      INDENT(-4);
5741      PRINT_SPACE
5742      if (commaNeeded)
5743          _OUT << "}," << std::endl;
5744      else
5745          _OUT << "}" << std::endl;
5746 }
print_VkExtent3D(const VkExtent3D * obj,const std::string & s,bool commaNeeded=true)5747 static void print_VkExtent3D(const VkExtent3D * obj, const std::string& s, bool commaNeeded=true) {
5748      PRINT_SPACE
5749      _OUT << "{" << std::endl;
5750      INDENT(4);
5751 
5752      print_uint32_t(obj->width, "width", 1);
5753 
5754      print_uint32_t(obj->height, "height", 1);
5755 
5756      print_uint32_t(obj->depth, "depth", 0);
5757 
5758      INDENT(-4);
5759      PRINT_SPACE
5760      if (commaNeeded)
5761          _OUT << "}," << std::endl;
5762      else
5763          _OUT << "}" << std::endl;
5764 }
5765 
print_VkOffset2D(VkOffset2D obj,const std::string & s,bool commaNeeded=true)5766 static void print_VkOffset2D(VkOffset2D obj, const std::string& s, bool commaNeeded=true) {
5767      PRINT_SPACE
5768      _OUT << "{" << std::endl;
5769      INDENT(4);
5770 
5771      print_int32_t(obj.x, "x", 1);
5772 
5773      print_int32_t(obj.y, "y", 0);
5774 
5775      INDENT(-4);
5776      PRINT_SPACE
5777      if (commaNeeded)
5778          _OUT << "}," << std::endl;
5779      else
5780          _OUT << "}" << std::endl;
5781 }
print_VkOffset2D(const VkOffset2D * obj,const std::string & s,bool commaNeeded=true)5782 static void print_VkOffset2D(const VkOffset2D * obj, const std::string& s, bool commaNeeded=true) {
5783      PRINT_SPACE
5784      _OUT << "{" << std::endl;
5785      INDENT(4);
5786 
5787      print_int32_t(obj->x, "x", 1);
5788 
5789      print_int32_t(obj->y, "y", 0);
5790 
5791      INDENT(-4);
5792      PRINT_SPACE
5793      if (commaNeeded)
5794          _OUT << "}," << std::endl;
5795      else
5796          _OUT << "}" << std::endl;
5797 }
5798 
print_VkOffset3D(VkOffset3D obj,const std::string & s,bool commaNeeded=true)5799 static void print_VkOffset3D(VkOffset3D obj, const std::string& s, bool commaNeeded=true) {
5800      PRINT_SPACE
5801      _OUT << "{" << std::endl;
5802      INDENT(4);
5803 
5804      print_int32_t(obj.x, "x", 1);
5805 
5806      print_int32_t(obj.y, "y", 1);
5807 
5808      print_int32_t(obj.z, "z", 0);
5809 
5810      INDENT(-4);
5811      PRINT_SPACE
5812      if (commaNeeded)
5813          _OUT << "}," << std::endl;
5814      else
5815          _OUT << "}" << std::endl;
5816 }
print_VkOffset3D(const VkOffset3D * obj,const std::string & s,bool commaNeeded=true)5817 static void print_VkOffset3D(const VkOffset3D * obj, const std::string& s, bool commaNeeded=true) {
5818      PRINT_SPACE
5819      _OUT << "{" << std::endl;
5820      INDENT(4);
5821 
5822      print_int32_t(obj->x, "x", 1);
5823 
5824      print_int32_t(obj->y, "y", 1);
5825 
5826      print_int32_t(obj->z, "z", 0);
5827 
5828      INDENT(-4);
5829      PRINT_SPACE
5830      if (commaNeeded)
5831          _OUT << "}," << std::endl;
5832      else
5833          _OUT << "}" << std::endl;
5834 }
5835 
print_VkRect2D(VkRect2D obj,const std::string & s,bool commaNeeded=true)5836 static void print_VkRect2D(VkRect2D obj, const std::string& s, bool commaNeeded=true) {
5837      PRINT_SPACE
5838      _OUT << "{" << std::endl;
5839      INDENT(4);
5840 
5841      PRINT_SPACE
5842      _OUT << "\"offset\": " << std::endl;
5843      {
5844            print_VkOffset2D(obj.offset, "offset", 1);
5845      }
5846 
5847      PRINT_SPACE
5848      _OUT << "\"extent\": " << std::endl;
5849      {
5850            print_VkExtent2D(obj.extent, "extent", 0);
5851      }
5852 
5853      INDENT(-4);
5854      PRINT_SPACE
5855      if (commaNeeded)
5856          _OUT << "}," << std::endl;
5857      else
5858          _OUT << "}" << std::endl;
5859 }
print_VkRect2D(const VkRect2D * obj,const std::string & s,bool commaNeeded=true)5860 static void print_VkRect2D(const VkRect2D * obj, const std::string& s, bool commaNeeded=true) {
5861      PRINT_SPACE
5862      _OUT << "{" << std::endl;
5863      INDENT(4);
5864 
5865      PRINT_SPACE
5866      _OUT << "\"offset\": " << std::endl;
5867      {
5868            print_VkOffset2D(obj->offset, "offset", 1);
5869      }
5870 
5871      PRINT_SPACE
5872      _OUT << "\"extent\": " << std::endl;
5873      {
5874            print_VkExtent2D(obj->extent, "extent", 0);
5875      }
5876 
5877      INDENT(-4);
5878      PRINT_SPACE
5879      if (commaNeeded)
5880          _OUT << "}," << std::endl;
5881      else
5882          _OUT << "}" << std::endl;
5883 }
5884 
print_VkBaseInStructure(VkBaseInStructure obj,const std::string & s,bool commaNeeded=true)5885 static void print_VkBaseInStructure(VkBaseInStructure obj, const std::string& s, bool commaNeeded=true) {
5886      PRINT_SPACE
5887      _OUT << "{" << std::endl;
5888      INDENT(4);
5889 
5890      print_VkStructureType(obj.sType, "sType", 1);
5891 
5892       if (obj.pNext) {
5893          dumpPNextChain(obj.pNext);
5894       } else {
5895          PRINT_SPACE
5896          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
5897      }
5898 
5899      INDENT(-4);
5900      PRINT_SPACE
5901      if (commaNeeded)
5902          _OUT << "}," << std::endl;
5903      else
5904          _OUT << "}" << std::endl;
5905 }
print_VkBaseInStructure(const VkBaseInStructure * obj,const std::string & s,bool commaNeeded=true)5906 static void print_VkBaseInStructure(const VkBaseInStructure * obj, const std::string& s, bool commaNeeded=true) {
5907      PRINT_SPACE
5908      _OUT << "{" << std::endl;
5909      INDENT(4);
5910 
5911      print_VkStructureType(obj->sType, "sType", 1);
5912 
5913       if (obj->pNext) {
5914          dumpPNextChain(obj->pNext);
5915       } else {
5916          PRINT_SPACE
5917          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
5918      }
5919 
5920      INDENT(-4);
5921      PRINT_SPACE
5922      if (commaNeeded)
5923          _OUT << "}," << std::endl;
5924      else
5925          _OUT << "}" << std::endl;
5926 }
5927 
print_VkBaseOutStructure(VkBaseOutStructure obj,const std::string & s,bool commaNeeded=true)5928 static void print_VkBaseOutStructure(VkBaseOutStructure obj, const std::string& s, bool commaNeeded=true) {
5929      PRINT_SPACE
5930      _OUT << "{" << std::endl;
5931      INDENT(4);
5932 
5933      print_VkStructureType(obj.sType, "sType", 1);
5934 
5935       if (obj.pNext) {
5936          dumpPNextChain(obj.pNext);
5937       } else {
5938          PRINT_SPACE
5939          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
5940      }
5941 
5942      INDENT(-4);
5943      PRINT_SPACE
5944      if (commaNeeded)
5945          _OUT << "}," << std::endl;
5946      else
5947          _OUT << "}" << std::endl;
5948 }
print_VkBaseOutStructure(const VkBaseOutStructure * obj,const std::string & s,bool commaNeeded=true)5949 static void print_VkBaseOutStructure(const VkBaseOutStructure * obj, const std::string& s, bool commaNeeded=true) {
5950      PRINT_SPACE
5951      _OUT << "{" << std::endl;
5952      INDENT(4);
5953 
5954      print_VkStructureType(obj->sType, "sType", 1);
5955 
5956       if (obj->pNext) {
5957          dumpPNextChain(obj->pNext);
5958       } else {
5959          PRINT_SPACE
5960          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
5961      }
5962 
5963      INDENT(-4);
5964      PRINT_SPACE
5965      if (commaNeeded)
5966          _OUT << "}," << std::endl;
5967      else
5968          _OUT << "}" << std::endl;
5969 }
5970 
print_VkBufferMemoryBarrier(VkBufferMemoryBarrier obj,const std::string & s,bool commaNeeded=true)5971 static void print_VkBufferMemoryBarrier(VkBufferMemoryBarrier obj, const std::string& s, bool commaNeeded=true) {
5972      PRINT_SPACE
5973      _OUT << "{" << std::endl;
5974      INDENT(4);
5975 
5976      print_VkStructureType(obj.sType, "sType", 1);
5977 
5978       if (obj.pNext) {
5979          dumpPNextChain(obj.pNext);
5980       } else {
5981          PRINT_SPACE
5982          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
5983      }
5984 
5985      print_VkAccessFlags(obj.srcAccessMask, "srcAccessMask", 1);
5986 
5987      print_VkAccessFlags(obj.dstAccessMask, "dstAccessMask", 1);
5988 
5989      print_uint32_t(obj.srcQueueFamilyIndex, "srcQueueFamilyIndex", 1);
5990 
5991      print_uint32_t(obj.dstQueueFamilyIndex, "dstQueueFamilyIndex", 1);
5992 
5993      // CTS : required value
5994      PRINT_SPACE    _OUT << "\"" << "buffer" << "\"" << " : " << "\"" << "\"," << std::endl;
5995 
5996      print_VkDeviceSize(obj.offset, "offset", 1);
5997 
5998      print_VkDeviceSize(obj.size, "size", 0);
5999 
6000      INDENT(-4);
6001      PRINT_SPACE
6002      if (commaNeeded)
6003          _OUT << "}," << std::endl;
6004      else
6005          _OUT << "}" << std::endl;
6006 }
print_VkBufferMemoryBarrier(const VkBufferMemoryBarrier * obj,const std::string & s,bool commaNeeded=true)6007 static void print_VkBufferMemoryBarrier(const VkBufferMemoryBarrier * obj, const std::string& s, bool commaNeeded=true) {
6008      PRINT_SPACE
6009      _OUT << "{" << std::endl;
6010      INDENT(4);
6011 
6012      print_VkStructureType(obj->sType, "sType", 1);
6013 
6014       if (obj->pNext) {
6015          dumpPNextChain(obj->pNext);
6016       } else {
6017          PRINT_SPACE
6018          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6019      }
6020 
6021      print_VkAccessFlags(obj->srcAccessMask, "srcAccessMask", 1);
6022 
6023      print_VkAccessFlags(obj->dstAccessMask, "dstAccessMask", 1);
6024 
6025      print_uint32_t(obj->srcQueueFamilyIndex, "srcQueueFamilyIndex", 1);
6026 
6027      print_uint32_t(obj->dstQueueFamilyIndex, "dstQueueFamilyIndex", 1);
6028 
6029      // CTS : required value
6030      PRINT_SPACE    _OUT << "\"" << "buffer" << "\"" << " : " << "\"" << "\"," << std::endl;
6031 
6032      print_VkDeviceSize(obj->offset, "offset", 1);
6033 
6034      print_VkDeviceSize(obj->size, "size", 0);
6035 
6036      INDENT(-4);
6037      PRINT_SPACE
6038      if (commaNeeded)
6039          _OUT << "}," << std::endl;
6040      else
6041          _OUT << "}" << std::endl;
6042 }
6043 
print_VkDispatchIndirectCommand(VkDispatchIndirectCommand obj,const std::string & s,bool commaNeeded=true)6044 static void print_VkDispatchIndirectCommand(VkDispatchIndirectCommand obj, const std::string& s, bool commaNeeded=true) {
6045      PRINT_SPACE
6046      _OUT << "{" << std::endl;
6047      INDENT(4);
6048 
6049      print_uint32_t(obj.x, "x", 1);
6050 
6051      print_uint32_t(obj.y, "y", 1);
6052 
6053      print_uint32_t(obj.z, "z", 0);
6054 
6055      INDENT(-4);
6056      PRINT_SPACE
6057      if (commaNeeded)
6058          _OUT << "}," << std::endl;
6059      else
6060          _OUT << "}" << std::endl;
6061 }
print_VkDispatchIndirectCommand(const VkDispatchIndirectCommand * obj,const std::string & s,bool commaNeeded=true)6062 static void print_VkDispatchIndirectCommand(const VkDispatchIndirectCommand * obj, const std::string& s, bool commaNeeded=true) {
6063      PRINT_SPACE
6064      _OUT << "{" << std::endl;
6065      INDENT(4);
6066 
6067      print_uint32_t(obj->x, "x", 1);
6068 
6069      print_uint32_t(obj->y, "y", 1);
6070 
6071      print_uint32_t(obj->z, "z", 0);
6072 
6073      INDENT(-4);
6074      PRINT_SPACE
6075      if (commaNeeded)
6076          _OUT << "}," << std::endl;
6077      else
6078          _OUT << "}" << std::endl;
6079 }
6080 
print_VkDrawIndexedIndirectCommand(VkDrawIndexedIndirectCommand obj,const std::string & s,bool commaNeeded=true)6081 static void print_VkDrawIndexedIndirectCommand(VkDrawIndexedIndirectCommand obj, const std::string& s, bool commaNeeded=true) {
6082      PRINT_SPACE
6083      _OUT << "{" << std::endl;
6084      INDENT(4);
6085 
6086      print_uint32_t(obj.indexCount, "indexCount", 1);
6087 
6088      print_uint32_t(obj.instanceCount, "instanceCount", 1);
6089 
6090      print_uint32_t(obj.firstIndex, "firstIndex", 1);
6091 
6092      print_int32_t(obj.vertexOffset, "vertexOffset", 1);
6093 
6094      print_uint32_t(obj.firstInstance, "firstInstance", 0);
6095 
6096      INDENT(-4);
6097      PRINT_SPACE
6098      if (commaNeeded)
6099          _OUT << "}," << std::endl;
6100      else
6101          _OUT << "}" << std::endl;
6102 }
print_VkDrawIndexedIndirectCommand(const VkDrawIndexedIndirectCommand * obj,const std::string & s,bool commaNeeded=true)6103 static void print_VkDrawIndexedIndirectCommand(const VkDrawIndexedIndirectCommand * obj, const std::string& s, bool commaNeeded=true) {
6104      PRINT_SPACE
6105      _OUT << "{" << std::endl;
6106      INDENT(4);
6107 
6108      print_uint32_t(obj->indexCount, "indexCount", 1);
6109 
6110      print_uint32_t(obj->instanceCount, "instanceCount", 1);
6111 
6112      print_uint32_t(obj->firstIndex, "firstIndex", 1);
6113 
6114      print_int32_t(obj->vertexOffset, "vertexOffset", 1);
6115 
6116      print_uint32_t(obj->firstInstance, "firstInstance", 0);
6117 
6118      INDENT(-4);
6119      PRINT_SPACE
6120      if (commaNeeded)
6121          _OUT << "}," << std::endl;
6122      else
6123          _OUT << "}" << std::endl;
6124 }
6125 
print_VkDrawIndirectCommand(VkDrawIndirectCommand obj,const std::string & s,bool commaNeeded=true)6126 static void print_VkDrawIndirectCommand(VkDrawIndirectCommand obj, const std::string& s, bool commaNeeded=true) {
6127      PRINT_SPACE
6128      _OUT << "{" << std::endl;
6129      INDENT(4);
6130 
6131      print_uint32_t(obj.vertexCount, "vertexCount", 1);
6132 
6133      print_uint32_t(obj.instanceCount, "instanceCount", 1);
6134 
6135      print_uint32_t(obj.firstVertex, "firstVertex", 1);
6136 
6137      print_uint32_t(obj.firstInstance, "firstInstance", 0);
6138 
6139      INDENT(-4);
6140      PRINT_SPACE
6141      if (commaNeeded)
6142          _OUT << "}," << std::endl;
6143      else
6144          _OUT << "}" << std::endl;
6145 }
print_VkDrawIndirectCommand(const VkDrawIndirectCommand * obj,const std::string & s,bool commaNeeded=true)6146 static void print_VkDrawIndirectCommand(const VkDrawIndirectCommand * obj, const std::string& s, bool commaNeeded=true) {
6147      PRINT_SPACE
6148      _OUT << "{" << std::endl;
6149      INDENT(4);
6150 
6151      print_uint32_t(obj->vertexCount, "vertexCount", 1);
6152 
6153      print_uint32_t(obj->instanceCount, "instanceCount", 1);
6154 
6155      print_uint32_t(obj->firstVertex, "firstVertex", 1);
6156 
6157      print_uint32_t(obj->firstInstance, "firstInstance", 0);
6158 
6159      INDENT(-4);
6160      PRINT_SPACE
6161      if (commaNeeded)
6162          _OUT << "}," << std::endl;
6163      else
6164          _OUT << "}" << std::endl;
6165 }
6166 
print_VkImageSubresourceRange(VkImageSubresourceRange obj,const std::string & s,bool commaNeeded=true)6167 static void print_VkImageSubresourceRange(VkImageSubresourceRange obj, const std::string& s, bool commaNeeded=true) {
6168      PRINT_SPACE
6169      _OUT << "{" << std::endl;
6170      INDENT(4);
6171 
6172      print_VkImageAspectFlags(obj.aspectMask, "aspectMask", 1);
6173 
6174      print_uint32_t(obj.baseMipLevel, "baseMipLevel", 1);
6175 
6176      print_uint32_t(obj.levelCount, "levelCount", 1);
6177 
6178      print_uint32_t(obj.baseArrayLayer, "baseArrayLayer", 1);
6179 
6180      print_uint32_t(obj.layerCount, "layerCount", 0);
6181 
6182      INDENT(-4);
6183      PRINT_SPACE
6184      if (commaNeeded)
6185          _OUT << "}," << std::endl;
6186      else
6187          _OUT << "}" << std::endl;
6188 }
print_VkImageSubresourceRange(const VkImageSubresourceRange * obj,const std::string & s,bool commaNeeded=true)6189 static void print_VkImageSubresourceRange(const VkImageSubresourceRange * obj, const std::string& s, bool commaNeeded=true) {
6190      PRINT_SPACE
6191      _OUT << "{" << std::endl;
6192      INDENT(4);
6193 
6194      print_VkImageAspectFlags(obj->aspectMask, "aspectMask", 1);
6195 
6196      print_uint32_t(obj->baseMipLevel, "baseMipLevel", 1);
6197 
6198      print_uint32_t(obj->levelCount, "levelCount", 1);
6199 
6200      print_uint32_t(obj->baseArrayLayer, "baseArrayLayer", 1);
6201 
6202      print_uint32_t(obj->layerCount, "layerCount", 0);
6203 
6204      INDENT(-4);
6205      PRINT_SPACE
6206      if (commaNeeded)
6207          _OUT << "}," << std::endl;
6208      else
6209          _OUT << "}" << std::endl;
6210 }
6211 
print_VkImageMemoryBarrier(VkImageMemoryBarrier obj,const std::string & s,bool commaNeeded=true)6212 static void print_VkImageMemoryBarrier(VkImageMemoryBarrier obj, const std::string& s, bool commaNeeded=true) {
6213      PRINT_SPACE
6214      _OUT << "{" << std::endl;
6215      INDENT(4);
6216 
6217      print_VkStructureType(obj.sType, "sType", 1);
6218 
6219       if (obj.pNext) {
6220          dumpPNextChain(obj.pNext);
6221       } else {
6222          PRINT_SPACE
6223          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6224      }
6225 
6226      print_VkAccessFlags(obj.srcAccessMask, "srcAccessMask", 1);
6227 
6228      print_VkAccessFlags(obj.dstAccessMask, "dstAccessMask", 1);
6229 
6230      print_VkImageLayout(obj.oldLayout, "oldLayout", 1);
6231 
6232      print_VkImageLayout(obj.newLayout, "newLayout", 1);
6233 
6234      print_uint32_t(obj.srcQueueFamilyIndex, "srcQueueFamilyIndex", 1);
6235 
6236      print_uint32_t(obj.dstQueueFamilyIndex, "dstQueueFamilyIndex", 1);
6237 
6238      // CTS : required value
6239      PRINT_SPACE    _OUT << "\"" << "image" << "\"" << " : " << "\"" << "\"," << std::endl;
6240 
6241      PRINT_SPACE
6242      _OUT << "\"subresourceRange\": " << std::endl;
6243      {
6244            print_VkImageSubresourceRange(obj.subresourceRange, "subresourceRange", 0);
6245      }
6246 
6247      INDENT(-4);
6248      PRINT_SPACE
6249      if (commaNeeded)
6250          _OUT << "}," << std::endl;
6251      else
6252          _OUT << "}" << std::endl;
6253 }
print_VkImageMemoryBarrier(const VkImageMemoryBarrier * obj,const std::string & s,bool commaNeeded=true)6254 static void print_VkImageMemoryBarrier(const VkImageMemoryBarrier * obj, const std::string& s, bool commaNeeded=true) {
6255      PRINT_SPACE
6256      _OUT << "{" << std::endl;
6257      INDENT(4);
6258 
6259      print_VkStructureType(obj->sType, "sType", 1);
6260 
6261       if (obj->pNext) {
6262          dumpPNextChain(obj->pNext);
6263       } else {
6264          PRINT_SPACE
6265          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6266      }
6267 
6268      print_VkAccessFlags(obj->srcAccessMask, "srcAccessMask", 1);
6269 
6270      print_VkAccessFlags(obj->dstAccessMask, "dstAccessMask", 1);
6271 
6272      print_VkImageLayout(obj->oldLayout, "oldLayout", 1);
6273 
6274      print_VkImageLayout(obj->newLayout, "newLayout", 1);
6275 
6276      print_uint32_t(obj->srcQueueFamilyIndex, "srcQueueFamilyIndex", 1);
6277 
6278      print_uint32_t(obj->dstQueueFamilyIndex, "dstQueueFamilyIndex", 1);
6279 
6280      // CTS : required value
6281      PRINT_SPACE    _OUT << "\"" << "image" << "\"" << " : " << "\"" << "\"," << std::endl;
6282 
6283      PRINT_SPACE
6284      _OUT << "\"subresourceRange\": " << std::endl;
6285      {
6286            print_VkImageSubresourceRange(obj->subresourceRange, "subresourceRange", 0);
6287      }
6288 
6289      INDENT(-4);
6290      PRINT_SPACE
6291      if (commaNeeded)
6292          _OUT << "}," << std::endl;
6293      else
6294          _OUT << "}" << std::endl;
6295 }
6296 
print_VkMemoryBarrier(VkMemoryBarrier obj,const std::string & s,bool commaNeeded=true)6297 static void print_VkMemoryBarrier(VkMemoryBarrier obj, const std::string& s, bool commaNeeded=true) {
6298      PRINT_SPACE
6299      _OUT << "{" << std::endl;
6300      INDENT(4);
6301 
6302      print_VkStructureType(obj.sType, "sType", 1);
6303 
6304       if (obj.pNext) {
6305          dumpPNextChain(obj.pNext);
6306       } else {
6307          PRINT_SPACE
6308          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6309      }
6310 
6311      print_VkAccessFlags(obj.srcAccessMask, "srcAccessMask", 1);
6312 
6313      print_VkAccessFlags(obj.dstAccessMask, "dstAccessMask", 0);
6314 
6315      INDENT(-4);
6316      PRINT_SPACE
6317      if (commaNeeded)
6318          _OUT << "}," << std::endl;
6319      else
6320          _OUT << "}" << std::endl;
6321 }
print_VkMemoryBarrier(const VkMemoryBarrier * obj,const std::string & s,bool commaNeeded=true)6322 static void print_VkMemoryBarrier(const VkMemoryBarrier * obj, const std::string& s, bool commaNeeded=true) {
6323      PRINT_SPACE
6324      _OUT << "{" << std::endl;
6325      INDENT(4);
6326 
6327      print_VkStructureType(obj->sType, "sType", 1);
6328 
6329       if (obj->pNext) {
6330          dumpPNextChain(obj->pNext);
6331       } else {
6332          PRINT_SPACE
6333          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6334      }
6335 
6336      print_VkAccessFlags(obj->srcAccessMask, "srcAccessMask", 1);
6337 
6338      print_VkAccessFlags(obj->dstAccessMask, "dstAccessMask", 0);
6339 
6340      INDENT(-4);
6341      PRINT_SPACE
6342      if (commaNeeded)
6343          _OUT << "}," << std::endl;
6344      else
6345          _OUT << "}" << std::endl;
6346 }
6347 
print_VkPipelineCacheHeaderVersionOne(VkPipelineCacheHeaderVersionOne obj,const std::string & s,bool commaNeeded=true)6348 static void print_VkPipelineCacheHeaderVersionOne(VkPipelineCacheHeaderVersionOne obj, const std::string& s, bool commaNeeded=true) {
6349      PRINT_SPACE
6350      _OUT << "{" << std::endl;
6351      INDENT(4);
6352 
6353      print_uint32_t(obj.headerSize, "headerSize", 1);
6354 
6355      print_VkPipelineCacheHeaderVersion(obj.headerVersion, "headerVersion", 1);
6356 
6357      print_uint32_t(obj.vendorID, "vendorID", 1);
6358 
6359      print_uint32_t(obj.deviceID, "deviceID", 1);
6360 
6361      PRINT_SPACE
6362      _OUT << "\"pipelineCacheUUID\":" << std::endl;
6363      PRINT_SPACE
6364      if (obj.pipelineCacheUUID) {
6365        _OUT << "[" << std::endl;
6366        for (unsigned int i = 0; i < VK_UUID_SIZE; i++) {
6367            bool isCommaNeeded = (i+1) != VK_UUID_SIZE;
6368            print_uint8_t(obj.pipelineCacheUUID[i], "", isCommaNeeded);
6369        }
6370        PRINT_SPACE
6371        _OUT << "]" << "" << std::endl;
6372      } else {
6373        _OUT << "\"NULL\"" << "" << std::endl;
6374      }
6375 
6376      INDENT(-4);
6377      PRINT_SPACE
6378      if (commaNeeded)
6379          _OUT << "}," << std::endl;
6380      else
6381          _OUT << "}" << std::endl;
6382 }
print_VkPipelineCacheHeaderVersionOne(const VkPipelineCacheHeaderVersionOne * obj,const std::string & s,bool commaNeeded=true)6383 static void print_VkPipelineCacheHeaderVersionOne(const VkPipelineCacheHeaderVersionOne * obj, const std::string& s, bool commaNeeded=true) {
6384      PRINT_SPACE
6385      _OUT << "{" << std::endl;
6386      INDENT(4);
6387 
6388      print_uint32_t(obj->headerSize, "headerSize", 1);
6389 
6390      print_VkPipelineCacheHeaderVersion(obj->headerVersion, "headerVersion", 1);
6391 
6392      print_uint32_t(obj->vendorID, "vendorID", 1);
6393 
6394      print_uint32_t(obj->deviceID, "deviceID", 1);
6395 
6396      PRINT_SPACE
6397      _OUT << "\"pipelineCacheUUID\":" << std::endl;
6398      PRINT_SPACE
6399      if (obj->pipelineCacheUUID) {
6400        _OUT << "[" << std::endl;
6401        for (unsigned int i = 0; i < VK_UUID_SIZE; i++) {
6402            bool isCommaNeeded = (i+1) != VK_UUID_SIZE;
6403            print_uint8_t(obj->pipelineCacheUUID[i], "", isCommaNeeded);
6404        }
6405        PRINT_SPACE
6406        _OUT << "]" << "" << std::endl;
6407      } else {
6408        _OUT << "\"NULL\"" << "" << std::endl;
6409      }
6410 
6411      INDENT(-4);
6412      PRINT_SPACE
6413      if (commaNeeded)
6414          _OUT << "}," << std::endl;
6415      else
6416          _OUT << "}" << std::endl;
6417 }
6418 
print_VkAllocationCallbacks(VkAllocationCallbacks obj,const std::string & s,bool commaNeeded=true)6419 static void print_VkAllocationCallbacks(VkAllocationCallbacks obj, const std::string& s, bool commaNeeded=true) {
6420      PRINT_SPACE
6421      _OUT << "{" << std::endl;
6422      INDENT(4);
6423 
6424      /** Note: Ignoring void* data. **/
6425 
6426      /** Note: Ignoring function pointer (PFN_vkAllocationFunction). **/
6427 
6428      /** Note: Ignoring function pointer (PFN_vkReallocationFunction). **/
6429 
6430      /** Note: Ignoring function pointer (PFN_vkFreeFunction). **/
6431 
6432      /** Note: Ignoring function pointer (PFN_vkInternalAllocationNotification). **/
6433 
6434      /** Note: Ignoring function pointer (PFN_vkInternalFreeNotification). **/
6435 
6436      INDENT(-4);
6437      PRINT_SPACE
6438      if (commaNeeded)
6439          _OUT << "}," << std::endl;
6440      else
6441          _OUT << "}" << std::endl;
6442 }
print_VkAllocationCallbacks(const VkAllocationCallbacks * obj,const std::string & s,bool commaNeeded=true)6443 static void print_VkAllocationCallbacks(const VkAllocationCallbacks * obj, const std::string& s, bool commaNeeded=true) {
6444      PRINT_SPACE
6445      _OUT << "{" << std::endl;
6446      INDENT(4);
6447 
6448      /** Note: Ignoring void* data. **/
6449 
6450      /** Note: Ignoring function pointer (PFN_vkAllocationFunction). **/
6451 
6452      /** Note: Ignoring function pointer (PFN_vkReallocationFunction). **/
6453 
6454      /** Note: Ignoring function pointer (PFN_vkFreeFunction). **/
6455 
6456      /** Note: Ignoring function pointer (PFN_vkInternalAllocationNotification). **/
6457 
6458      /** Note: Ignoring function pointer (PFN_vkInternalFreeNotification). **/
6459 
6460      INDENT(-4);
6461      PRINT_SPACE
6462      if (commaNeeded)
6463          _OUT << "}," << std::endl;
6464      else
6465          _OUT << "}" << std::endl;
6466 }
6467 
print_VkApplicationInfo(VkApplicationInfo obj,const std::string & s,bool commaNeeded=true)6468 static void print_VkApplicationInfo(VkApplicationInfo obj, const std::string& s, bool commaNeeded=true) {
6469      PRINT_SPACE
6470      _OUT << "{" << std::endl;
6471      INDENT(4);
6472 
6473      print_VkStructureType(obj.sType, "sType", 1);
6474 
6475       if (obj.pNext) {
6476          dumpPNextChain(obj.pNext);
6477       } else {
6478          PRINT_SPACE
6479          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6480      }
6481 
6482      print_char(obj.pApplicationName, "pApplicationName", 1);
6483 
6484      print_uint32_t(obj.applicationVersion, "applicationVersion", 1);
6485 
6486      print_char(obj.pEngineName, "pEngineName", 1);
6487 
6488      print_uint32_t(obj.engineVersion, "engineVersion", 1);
6489 
6490      print_uint32_t(obj.apiVersion, "apiVersion", 0);
6491 
6492      INDENT(-4);
6493      PRINT_SPACE
6494      if (commaNeeded)
6495          _OUT << "}," << std::endl;
6496      else
6497          _OUT << "}" << std::endl;
6498 }
print_VkApplicationInfo(const VkApplicationInfo * obj,const std::string & s,bool commaNeeded=true)6499 static void print_VkApplicationInfo(const VkApplicationInfo * obj, const std::string& s, bool commaNeeded=true) {
6500      PRINT_SPACE
6501      _OUT << "{" << std::endl;
6502      INDENT(4);
6503 
6504      print_VkStructureType(obj->sType, "sType", 1);
6505 
6506       if (obj->pNext) {
6507          dumpPNextChain(obj->pNext);
6508       } else {
6509          PRINT_SPACE
6510          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6511      }
6512 
6513      print_char(obj->pApplicationName, "pApplicationName", 1);
6514 
6515      print_uint32_t(obj->applicationVersion, "applicationVersion", 1);
6516 
6517      print_char(obj->pEngineName, "pEngineName", 1);
6518 
6519      print_uint32_t(obj->engineVersion, "engineVersion", 1);
6520 
6521      print_uint32_t(obj->apiVersion, "apiVersion", 0);
6522 
6523      INDENT(-4);
6524      PRINT_SPACE
6525      if (commaNeeded)
6526          _OUT << "}," << std::endl;
6527      else
6528          _OUT << "}" << std::endl;
6529 }
6530 
print_VkFormatProperties(VkFormatProperties obj,const std::string & s,bool commaNeeded=true)6531 static void print_VkFormatProperties(VkFormatProperties obj, const std::string& s, bool commaNeeded=true) {
6532      PRINT_SPACE
6533      _OUT << "{" << std::endl;
6534      INDENT(4);
6535 
6536      print_VkFormatFeatureFlags(obj.linearTilingFeatures, "linearTilingFeatures", 1);
6537 
6538      print_VkFormatFeatureFlags(obj.optimalTilingFeatures, "optimalTilingFeatures", 1);
6539 
6540      print_VkFormatFeatureFlags(obj.bufferFeatures, "bufferFeatures", 0);
6541 
6542      INDENT(-4);
6543      PRINT_SPACE
6544      if (commaNeeded)
6545          _OUT << "}," << std::endl;
6546      else
6547          _OUT << "}" << std::endl;
6548 }
print_VkFormatProperties(const VkFormatProperties * obj,const std::string & s,bool commaNeeded=true)6549 static void print_VkFormatProperties(const VkFormatProperties * obj, const std::string& s, bool commaNeeded=true) {
6550      PRINT_SPACE
6551      _OUT << "{" << std::endl;
6552      INDENT(4);
6553 
6554      print_VkFormatFeatureFlags(obj->linearTilingFeatures, "linearTilingFeatures", 1);
6555 
6556      print_VkFormatFeatureFlags(obj->optimalTilingFeatures, "optimalTilingFeatures", 1);
6557 
6558      print_VkFormatFeatureFlags(obj->bufferFeatures, "bufferFeatures", 0);
6559 
6560      INDENT(-4);
6561      PRINT_SPACE
6562      if (commaNeeded)
6563          _OUT << "}," << std::endl;
6564      else
6565          _OUT << "}" << std::endl;
6566 }
6567 
print_VkImageFormatProperties(VkImageFormatProperties obj,const std::string & s,bool commaNeeded=true)6568 static void print_VkImageFormatProperties(VkImageFormatProperties obj, const std::string& s, bool commaNeeded=true) {
6569      PRINT_SPACE
6570      _OUT << "{" << std::endl;
6571      INDENT(4);
6572 
6573      PRINT_SPACE
6574      _OUT << "\"maxExtent\": " << std::endl;
6575      {
6576            print_VkExtent3D(obj.maxExtent, "maxExtent", 1);
6577      }
6578 
6579      print_uint32_t(obj.maxMipLevels, "maxMipLevels", 1);
6580 
6581      print_uint32_t(obj.maxArrayLayers, "maxArrayLayers", 1);
6582 
6583      print_VkSampleCountFlags(obj.sampleCounts, "sampleCounts", 1);
6584 
6585      print_VkDeviceSize(obj.maxResourceSize, "maxResourceSize", 0);
6586 
6587      INDENT(-4);
6588      PRINT_SPACE
6589      if (commaNeeded)
6590          _OUT << "}," << std::endl;
6591      else
6592          _OUT << "}" << std::endl;
6593 }
print_VkImageFormatProperties(const VkImageFormatProperties * obj,const std::string & s,bool commaNeeded=true)6594 static void print_VkImageFormatProperties(const VkImageFormatProperties * obj, const std::string& s, bool commaNeeded=true) {
6595      PRINT_SPACE
6596      _OUT << "{" << std::endl;
6597      INDENT(4);
6598 
6599      PRINT_SPACE
6600      _OUT << "\"maxExtent\": " << std::endl;
6601      {
6602            print_VkExtent3D(obj->maxExtent, "maxExtent", 1);
6603      }
6604 
6605      print_uint32_t(obj->maxMipLevels, "maxMipLevels", 1);
6606 
6607      print_uint32_t(obj->maxArrayLayers, "maxArrayLayers", 1);
6608 
6609      print_VkSampleCountFlags(obj->sampleCounts, "sampleCounts", 1);
6610 
6611      print_VkDeviceSize(obj->maxResourceSize, "maxResourceSize", 0);
6612 
6613      INDENT(-4);
6614      PRINT_SPACE
6615      if (commaNeeded)
6616          _OUT << "}," << std::endl;
6617      else
6618          _OUT << "}" << std::endl;
6619 }
6620 
print_VkInstanceCreateInfo(VkInstanceCreateInfo obj,const std::string & s,bool commaNeeded=true)6621 static void print_VkInstanceCreateInfo(VkInstanceCreateInfo obj, const std::string& s, bool commaNeeded=true) {
6622      PRINT_SPACE
6623      _OUT << "{" << std::endl;
6624      INDENT(4);
6625 
6626      print_VkStructureType(obj.sType, "sType", 1);
6627 
6628       if (obj.pNext) {
6629          dumpPNextChain(obj.pNext);
6630       } else {
6631          PRINT_SPACE
6632          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6633      }
6634 
6635      print_VkInstanceCreateFlags(obj.flags, "flags", 1);
6636 
6637      PRINT_SPACE
6638      _OUT << "\"pApplicationInfo\": " << std::endl;
6639      if (obj.pApplicationInfo) {
6640            print_VkApplicationInfo(obj.pApplicationInfo, "pApplicationInfo", 1);
6641      }
6642      else
6643      {
6644          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
6645      }
6646 
6647      print_uint32_t(obj.enabledLayerCount, "enabledLayerCount", 1);
6648 
6649      print_char(obj.ppEnabledLayerNames, "ppEnabledLayerNames", 1);
6650 
6651      print_uint32_t(obj.enabledExtensionCount, "enabledExtensionCount", 1);
6652 
6653      print_char(obj.ppEnabledExtensionNames, "ppEnabledExtensionNames", 0);
6654 
6655      INDENT(-4);
6656      PRINT_SPACE
6657      if (commaNeeded)
6658          _OUT << "}," << std::endl;
6659      else
6660          _OUT << "}" << std::endl;
6661 }
print_VkInstanceCreateInfo(const VkInstanceCreateInfo * obj,const std::string & s,bool commaNeeded=true)6662 static void print_VkInstanceCreateInfo(const VkInstanceCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
6663      PRINT_SPACE
6664      _OUT << "{" << std::endl;
6665      INDENT(4);
6666 
6667      print_VkStructureType(obj->sType, "sType", 1);
6668 
6669       if (obj->pNext) {
6670          dumpPNextChain(obj->pNext);
6671       } else {
6672          PRINT_SPACE
6673          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
6674      }
6675 
6676      print_VkInstanceCreateFlags(obj->flags, "flags", 1);
6677 
6678      PRINT_SPACE
6679      _OUT << "\"pApplicationInfo\": " << std::endl;
6680      if (obj->pApplicationInfo) {
6681            print_VkApplicationInfo(obj->pApplicationInfo, "pApplicationInfo", 1);
6682      }
6683      else
6684      {
6685          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
6686      }
6687 
6688      print_uint32_t(obj->enabledLayerCount, "enabledLayerCount", 1);
6689 
6690      print_char(obj->ppEnabledLayerNames, "ppEnabledLayerNames", 1);
6691 
6692      print_uint32_t(obj->enabledExtensionCount, "enabledExtensionCount", 1);
6693 
6694      print_char(obj->ppEnabledExtensionNames, "ppEnabledExtensionNames", 0);
6695 
6696      INDENT(-4);
6697      PRINT_SPACE
6698      if (commaNeeded)
6699          _OUT << "}," << std::endl;
6700      else
6701          _OUT << "}" << std::endl;
6702 }
6703 
print_VkMemoryHeap(VkMemoryHeap obj,const std::string & s,bool commaNeeded=true)6704 static void print_VkMemoryHeap(VkMemoryHeap obj, const std::string& s, bool commaNeeded=true) {
6705      PRINT_SPACE
6706      _OUT << "{" << std::endl;
6707      INDENT(4);
6708 
6709      print_VkDeviceSize(obj.size, "size", 1);
6710 
6711      print_VkMemoryHeapFlags(obj.flags, "flags", 0);
6712 
6713      INDENT(-4);
6714      PRINT_SPACE
6715      if (commaNeeded)
6716          _OUT << "}," << std::endl;
6717      else
6718          _OUT << "}" << std::endl;
6719 }
print_VkMemoryHeap(const VkMemoryHeap * obj,const std::string & s,bool commaNeeded=true)6720 static void print_VkMemoryHeap(const VkMemoryHeap * obj, const std::string& s, bool commaNeeded=true) {
6721      PRINT_SPACE
6722      _OUT << "{" << std::endl;
6723      INDENT(4);
6724 
6725      print_VkDeviceSize(obj->size, "size", 1);
6726 
6727      print_VkMemoryHeapFlags(obj->flags, "flags", 0);
6728 
6729      INDENT(-4);
6730      PRINT_SPACE
6731      if (commaNeeded)
6732          _OUT << "}," << std::endl;
6733      else
6734          _OUT << "}" << std::endl;
6735 }
6736 
print_VkMemoryType(VkMemoryType obj,const std::string & s,bool commaNeeded=true)6737 static void print_VkMemoryType(VkMemoryType obj, const std::string& s, bool commaNeeded=true) {
6738      PRINT_SPACE
6739      _OUT << "{" << std::endl;
6740      INDENT(4);
6741 
6742      print_VkMemoryPropertyFlags(obj.propertyFlags, "propertyFlags", 1);
6743 
6744      print_uint32_t(obj.heapIndex, "heapIndex", 0);
6745 
6746      INDENT(-4);
6747      PRINT_SPACE
6748      if (commaNeeded)
6749          _OUT << "}," << std::endl;
6750      else
6751          _OUT << "}" << std::endl;
6752 }
print_VkMemoryType(const VkMemoryType * obj,const std::string & s,bool commaNeeded=true)6753 static void print_VkMemoryType(const VkMemoryType * obj, const std::string& s, bool commaNeeded=true) {
6754      PRINT_SPACE
6755      _OUT << "{" << std::endl;
6756      INDENT(4);
6757 
6758      print_VkMemoryPropertyFlags(obj->propertyFlags, "propertyFlags", 1);
6759 
6760      print_uint32_t(obj->heapIndex, "heapIndex", 0);
6761 
6762      INDENT(-4);
6763      PRINT_SPACE
6764      if (commaNeeded)
6765          _OUT << "}," << std::endl;
6766      else
6767          _OUT << "}" << std::endl;
6768 }
6769 
print_VkPhysicalDeviceFeatures(VkPhysicalDeviceFeatures obj,const std::string & s,bool commaNeeded=true)6770 static void print_VkPhysicalDeviceFeatures(VkPhysicalDeviceFeatures obj, const std::string& s, bool commaNeeded=true) {
6771      PRINT_SPACE
6772      _OUT << "{" << std::endl;
6773      INDENT(4);
6774 
6775      print_VkBool32(obj.robustBufferAccess, "robustBufferAccess", 1);
6776 
6777      print_VkBool32(obj.fullDrawIndexUint32, "fullDrawIndexUint32", 1);
6778 
6779      print_VkBool32(obj.imageCubeArray, "imageCubeArray", 1);
6780 
6781      print_VkBool32(obj.independentBlend, "independentBlend", 1);
6782 
6783      print_VkBool32(obj.geometryShader, "geometryShader", 1);
6784 
6785      print_VkBool32(obj.tessellationShader, "tessellationShader", 1);
6786 
6787      print_VkBool32(obj.sampleRateShading, "sampleRateShading", 1);
6788 
6789      print_VkBool32(obj.dualSrcBlend, "dualSrcBlend", 1);
6790 
6791      print_VkBool32(obj.logicOp, "logicOp", 1);
6792 
6793      print_VkBool32(obj.multiDrawIndirect, "multiDrawIndirect", 1);
6794 
6795      print_VkBool32(obj.drawIndirectFirstInstance, "drawIndirectFirstInstance", 1);
6796 
6797      print_VkBool32(obj.depthClamp, "depthClamp", 1);
6798 
6799      print_VkBool32(obj.depthBiasClamp, "depthBiasClamp", 1);
6800 
6801      print_VkBool32(obj.fillModeNonSolid, "fillModeNonSolid", 1);
6802 
6803      print_VkBool32(obj.depthBounds, "depthBounds", 1);
6804 
6805      print_VkBool32(obj.wideLines, "wideLines", 1);
6806 
6807      print_VkBool32(obj.largePoints, "largePoints", 1);
6808 
6809      print_VkBool32(obj.alphaToOne, "alphaToOne", 1);
6810 
6811      print_VkBool32(obj.multiViewport, "multiViewport", 1);
6812 
6813      print_VkBool32(obj.samplerAnisotropy, "samplerAnisotropy", 1);
6814 
6815      print_VkBool32(obj.textureCompressionETC2, "textureCompressionETC2", 1);
6816 
6817      print_VkBool32(obj.textureCompressionASTC_LDR, "textureCompressionASTC_LDR", 1);
6818 
6819      print_VkBool32(obj.textureCompressionBC, "textureCompressionBC", 1);
6820 
6821      print_VkBool32(obj.occlusionQueryPrecise, "occlusionQueryPrecise", 1);
6822 
6823      print_VkBool32(obj.pipelineStatisticsQuery, "pipelineStatisticsQuery", 1);
6824 
6825      print_VkBool32(obj.vertexPipelineStoresAndAtomics, "vertexPipelineStoresAndAtomics", 1);
6826 
6827      print_VkBool32(obj.fragmentStoresAndAtomics, "fragmentStoresAndAtomics", 1);
6828 
6829      print_VkBool32(obj.shaderTessellationAndGeometryPointSize, "shaderTessellationAndGeometryPointSize", 1);
6830 
6831      print_VkBool32(obj.shaderImageGatherExtended, "shaderImageGatherExtended", 1);
6832 
6833      print_VkBool32(obj.shaderStorageImageExtendedFormats, "shaderStorageImageExtendedFormats", 1);
6834 
6835      print_VkBool32(obj.shaderStorageImageMultisample, "shaderStorageImageMultisample", 1);
6836 
6837      print_VkBool32(obj.shaderStorageImageReadWithoutFormat, "shaderStorageImageReadWithoutFormat", 1);
6838 
6839      print_VkBool32(obj.shaderStorageImageWriteWithoutFormat, "shaderStorageImageWriteWithoutFormat", 1);
6840 
6841      print_VkBool32(obj.shaderUniformBufferArrayDynamicIndexing, "shaderUniformBufferArrayDynamicIndexing", 1);
6842 
6843      print_VkBool32(obj.shaderSampledImageArrayDynamicIndexing, "shaderSampledImageArrayDynamicIndexing", 1);
6844 
6845      print_VkBool32(obj.shaderStorageBufferArrayDynamicIndexing, "shaderStorageBufferArrayDynamicIndexing", 1);
6846 
6847      print_VkBool32(obj.shaderStorageImageArrayDynamicIndexing, "shaderStorageImageArrayDynamicIndexing", 1);
6848 
6849      print_VkBool32(obj.shaderClipDistance, "shaderClipDistance", 1);
6850 
6851      print_VkBool32(obj.shaderCullDistance, "shaderCullDistance", 1);
6852 
6853      print_VkBool32(obj.shaderFloat64, "shaderFloat64", 1);
6854 
6855      print_VkBool32(obj.shaderInt64, "shaderInt64", 1);
6856 
6857      print_VkBool32(obj.shaderInt16, "shaderInt16", 1);
6858 
6859      print_VkBool32(obj.shaderResourceResidency, "shaderResourceResidency", 1);
6860 
6861      print_VkBool32(obj.shaderResourceMinLod, "shaderResourceMinLod", 1);
6862 
6863      print_VkBool32(obj.sparseBinding, "sparseBinding", 1);
6864 
6865      print_VkBool32(obj.sparseResidencyBuffer, "sparseResidencyBuffer", 1);
6866 
6867      print_VkBool32(obj.sparseResidencyImage2D, "sparseResidencyImage2D", 1);
6868 
6869      print_VkBool32(obj.sparseResidencyImage3D, "sparseResidencyImage3D", 1);
6870 
6871      print_VkBool32(obj.sparseResidency2Samples, "sparseResidency2Samples", 1);
6872 
6873      print_VkBool32(obj.sparseResidency4Samples, "sparseResidency4Samples", 1);
6874 
6875      print_VkBool32(obj.sparseResidency8Samples, "sparseResidency8Samples", 1);
6876 
6877      print_VkBool32(obj.sparseResidency16Samples, "sparseResidency16Samples", 1);
6878 
6879      print_VkBool32(obj.sparseResidencyAliased, "sparseResidencyAliased", 1);
6880 
6881      print_VkBool32(obj.variableMultisampleRate, "variableMultisampleRate", 1);
6882 
6883      print_VkBool32(obj.inheritedQueries, "inheritedQueries", 0);
6884 
6885      INDENT(-4);
6886      PRINT_SPACE
6887      if (commaNeeded)
6888          _OUT << "}," << std::endl;
6889      else
6890          _OUT << "}" << std::endl;
6891 }
print_VkPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures * obj,const std::string & s,bool commaNeeded=true)6892 static void print_VkPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures * obj, const std::string& s, bool commaNeeded=true) {
6893      PRINT_SPACE
6894      _OUT << "{" << std::endl;
6895      INDENT(4);
6896 
6897      print_VkBool32(obj->robustBufferAccess, "robustBufferAccess", 1);
6898 
6899      print_VkBool32(obj->fullDrawIndexUint32, "fullDrawIndexUint32", 1);
6900 
6901      print_VkBool32(obj->imageCubeArray, "imageCubeArray", 1);
6902 
6903      print_VkBool32(obj->independentBlend, "independentBlend", 1);
6904 
6905      print_VkBool32(obj->geometryShader, "geometryShader", 1);
6906 
6907      print_VkBool32(obj->tessellationShader, "tessellationShader", 1);
6908 
6909      print_VkBool32(obj->sampleRateShading, "sampleRateShading", 1);
6910 
6911      print_VkBool32(obj->dualSrcBlend, "dualSrcBlend", 1);
6912 
6913      print_VkBool32(obj->logicOp, "logicOp", 1);
6914 
6915      print_VkBool32(obj->multiDrawIndirect, "multiDrawIndirect", 1);
6916 
6917      print_VkBool32(obj->drawIndirectFirstInstance, "drawIndirectFirstInstance", 1);
6918 
6919      print_VkBool32(obj->depthClamp, "depthClamp", 1);
6920 
6921      print_VkBool32(obj->depthBiasClamp, "depthBiasClamp", 1);
6922 
6923      print_VkBool32(obj->fillModeNonSolid, "fillModeNonSolid", 1);
6924 
6925      print_VkBool32(obj->depthBounds, "depthBounds", 1);
6926 
6927      print_VkBool32(obj->wideLines, "wideLines", 1);
6928 
6929      print_VkBool32(obj->largePoints, "largePoints", 1);
6930 
6931      print_VkBool32(obj->alphaToOne, "alphaToOne", 1);
6932 
6933      print_VkBool32(obj->multiViewport, "multiViewport", 1);
6934 
6935      print_VkBool32(obj->samplerAnisotropy, "samplerAnisotropy", 1);
6936 
6937      print_VkBool32(obj->textureCompressionETC2, "textureCompressionETC2", 1);
6938 
6939      print_VkBool32(obj->textureCompressionASTC_LDR, "textureCompressionASTC_LDR", 1);
6940 
6941      print_VkBool32(obj->textureCompressionBC, "textureCompressionBC", 1);
6942 
6943      print_VkBool32(obj->occlusionQueryPrecise, "occlusionQueryPrecise", 1);
6944 
6945      print_VkBool32(obj->pipelineStatisticsQuery, "pipelineStatisticsQuery", 1);
6946 
6947      print_VkBool32(obj->vertexPipelineStoresAndAtomics, "vertexPipelineStoresAndAtomics", 1);
6948 
6949      print_VkBool32(obj->fragmentStoresAndAtomics, "fragmentStoresAndAtomics", 1);
6950 
6951      print_VkBool32(obj->shaderTessellationAndGeometryPointSize, "shaderTessellationAndGeometryPointSize", 1);
6952 
6953      print_VkBool32(obj->shaderImageGatherExtended, "shaderImageGatherExtended", 1);
6954 
6955      print_VkBool32(obj->shaderStorageImageExtendedFormats, "shaderStorageImageExtendedFormats", 1);
6956 
6957      print_VkBool32(obj->shaderStorageImageMultisample, "shaderStorageImageMultisample", 1);
6958 
6959      print_VkBool32(obj->shaderStorageImageReadWithoutFormat, "shaderStorageImageReadWithoutFormat", 1);
6960 
6961      print_VkBool32(obj->shaderStorageImageWriteWithoutFormat, "shaderStorageImageWriteWithoutFormat", 1);
6962 
6963      print_VkBool32(obj->shaderUniformBufferArrayDynamicIndexing, "shaderUniformBufferArrayDynamicIndexing", 1);
6964 
6965      print_VkBool32(obj->shaderSampledImageArrayDynamicIndexing, "shaderSampledImageArrayDynamicIndexing", 1);
6966 
6967      print_VkBool32(obj->shaderStorageBufferArrayDynamicIndexing, "shaderStorageBufferArrayDynamicIndexing", 1);
6968 
6969      print_VkBool32(obj->shaderStorageImageArrayDynamicIndexing, "shaderStorageImageArrayDynamicIndexing", 1);
6970 
6971      print_VkBool32(obj->shaderClipDistance, "shaderClipDistance", 1);
6972 
6973      print_VkBool32(obj->shaderCullDistance, "shaderCullDistance", 1);
6974 
6975      print_VkBool32(obj->shaderFloat64, "shaderFloat64", 1);
6976 
6977      print_VkBool32(obj->shaderInt64, "shaderInt64", 1);
6978 
6979      print_VkBool32(obj->shaderInt16, "shaderInt16", 1);
6980 
6981      print_VkBool32(obj->shaderResourceResidency, "shaderResourceResidency", 1);
6982 
6983      print_VkBool32(obj->shaderResourceMinLod, "shaderResourceMinLod", 1);
6984 
6985      print_VkBool32(obj->sparseBinding, "sparseBinding", 1);
6986 
6987      print_VkBool32(obj->sparseResidencyBuffer, "sparseResidencyBuffer", 1);
6988 
6989      print_VkBool32(obj->sparseResidencyImage2D, "sparseResidencyImage2D", 1);
6990 
6991      print_VkBool32(obj->sparseResidencyImage3D, "sparseResidencyImage3D", 1);
6992 
6993      print_VkBool32(obj->sparseResidency2Samples, "sparseResidency2Samples", 1);
6994 
6995      print_VkBool32(obj->sparseResidency4Samples, "sparseResidency4Samples", 1);
6996 
6997      print_VkBool32(obj->sparseResidency8Samples, "sparseResidency8Samples", 1);
6998 
6999      print_VkBool32(obj->sparseResidency16Samples, "sparseResidency16Samples", 1);
7000 
7001      print_VkBool32(obj->sparseResidencyAliased, "sparseResidencyAliased", 1);
7002 
7003      print_VkBool32(obj->variableMultisampleRate, "variableMultisampleRate", 1);
7004 
7005      print_VkBool32(obj->inheritedQueries, "inheritedQueries", 0);
7006 
7007      INDENT(-4);
7008      PRINT_SPACE
7009      if (commaNeeded)
7010          _OUT << "}," << std::endl;
7011      else
7012          _OUT << "}" << std::endl;
7013 }
7014 
print_VkPhysicalDeviceLimits(VkPhysicalDeviceLimits obj,const std::string & s,bool commaNeeded=true)7015 static void print_VkPhysicalDeviceLimits(VkPhysicalDeviceLimits obj, const std::string& s, bool commaNeeded=true) {
7016      PRINT_SPACE
7017      _OUT << "{" << std::endl;
7018      INDENT(4);
7019 
7020      print_uint32_t(obj.maxImageDimension1D, "maxImageDimension1D", 1);
7021 
7022      print_uint32_t(obj.maxImageDimension2D, "maxImageDimension2D", 1);
7023 
7024      print_uint32_t(obj.maxImageDimension3D, "maxImageDimension3D", 1);
7025 
7026      print_uint32_t(obj.maxImageDimensionCube, "maxImageDimensionCube", 1);
7027 
7028      print_uint32_t(obj.maxImageArrayLayers, "maxImageArrayLayers", 1);
7029 
7030      print_uint32_t(obj.maxTexelBufferElements, "maxTexelBufferElements", 1);
7031 
7032      print_uint32_t(obj.maxUniformBufferRange, "maxUniformBufferRange", 1);
7033 
7034      print_uint32_t(obj.maxStorageBufferRange, "maxStorageBufferRange", 1);
7035 
7036      print_uint32_t(obj.maxPushConstantsSize, "maxPushConstantsSize", 1);
7037 
7038      print_uint32_t(obj.maxMemoryAllocationCount, "maxMemoryAllocationCount", 1);
7039 
7040      print_uint32_t(obj.maxSamplerAllocationCount, "maxSamplerAllocationCount", 1);
7041 
7042      print_VkDeviceSize(obj.bufferImageGranularity, "bufferImageGranularity", 1);
7043 
7044      print_VkDeviceSize(obj.sparseAddressSpaceSize, "sparseAddressSpaceSize", 1);
7045 
7046      print_uint32_t(obj.maxBoundDescriptorSets, "maxBoundDescriptorSets", 1);
7047 
7048      print_uint32_t(obj.maxPerStageDescriptorSamplers, "maxPerStageDescriptorSamplers", 1);
7049 
7050      print_uint32_t(obj.maxPerStageDescriptorUniformBuffers, "maxPerStageDescriptorUniformBuffers", 1);
7051 
7052      print_uint32_t(obj.maxPerStageDescriptorStorageBuffers, "maxPerStageDescriptorStorageBuffers", 1);
7053 
7054      print_uint32_t(obj.maxPerStageDescriptorSampledImages, "maxPerStageDescriptorSampledImages", 1);
7055 
7056      print_uint32_t(obj.maxPerStageDescriptorStorageImages, "maxPerStageDescriptorStorageImages", 1);
7057 
7058      print_uint32_t(obj.maxPerStageDescriptorInputAttachments, "maxPerStageDescriptorInputAttachments", 1);
7059 
7060      print_uint32_t(obj.maxPerStageResources, "maxPerStageResources", 1);
7061 
7062      print_uint32_t(obj.maxDescriptorSetSamplers, "maxDescriptorSetSamplers", 1);
7063 
7064      print_uint32_t(obj.maxDescriptorSetUniformBuffers, "maxDescriptorSetUniformBuffers", 1);
7065 
7066      print_uint32_t(obj.maxDescriptorSetUniformBuffersDynamic, "maxDescriptorSetUniformBuffersDynamic", 1);
7067 
7068      print_uint32_t(obj.maxDescriptorSetStorageBuffers, "maxDescriptorSetStorageBuffers", 1);
7069 
7070      print_uint32_t(obj.maxDescriptorSetStorageBuffersDynamic, "maxDescriptorSetStorageBuffersDynamic", 1);
7071 
7072      print_uint32_t(obj.maxDescriptorSetSampledImages, "maxDescriptorSetSampledImages", 1);
7073 
7074      print_uint32_t(obj.maxDescriptorSetStorageImages, "maxDescriptorSetStorageImages", 1);
7075 
7076      print_uint32_t(obj.maxDescriptorSetInputAttachments, "maxDescriptorSetInputAttachments", 1);
7077 
7078      print_uint32_t(obj.maxVertexInputAttributes, "maxVertexInputAttributes", 1);
7079 
7080      print_uint32_t(obj.maxVertexInputBindings, "maxVertexInputBindings", 1);
7081 
7082      print_uint32_t(obj.maxVertexInputAttributeOffset, "maxVertexInputAttributeOffset", 1);
7083 
7084      print_uint32_t(obj.maxVertexInputBindingStride, "maxVertexInputBindingStride", 1);
7085 
7086      print_uint32_t(obj.maxVertexOutputComponents, "maxVertexOutputComponents", 1);
7087 
7088      print_uint32_t(obj.maxTessellationGenerationLevel, "maxTessellationGenerationLevel", 1);
7089 
7090      print_uint32_t(obj.maxTessellationPatchSize, "maxTessellationPatchSize", 1);
7091 
7092      print_uint32_t(obj.maxTessellationControlPerVertexInputComponents, "maxTessellationControlPerVertexInputComponents", 1);
7093 
7094      print_uint32_t(obj.maxTessellationControlPerVertexOutputComponents, "maxTessellationControlPerVertexOutputComponents", 1);
7095 
7096      print_uint32_t(obj.maxTessellationControlPerPatchOutputComponents, "maxTessellationControlPerPatchOutputComponents", 1);
7097 
7098      print_uint32_t(obj.maxTessellationControlTotalOutputComponents, "maxTessellationControlTotalOutputComponents", 1);
7099 
7100      print_uint32_t(obj.maxTessellationEvaluationInputComponents, "maxTessellationEvaluationInputComponents", 1);
7101 
7102      print_uint32_t(obj.maxTessellationEvaluationOutputComponents, "maxTessellationEvaluationOutputComponents", 1);
7103 
7104      print_uint32_t(obj.maxGeometryShaderInvocations, "maxGeometryShaderInvocations", 1);
7105 
7106      print_uint32_t(obj.maxGeometryInputComponents, "maxGeometryInputComponents", 1);
7107 
7108      print_uint32_t(obj.maxGeometryOutputComponents, "maxGeometryOutputComponents", 1);
7109 
7110      print_uint32_t(obj.maxGeometryOutputVertices, "maxGeometryOutputVertices", 1);
7111 
7112      print_uint32_t(obj.maxGeometryTotalOutputComponents, "maxGeometryTotalOutputComponents", 1);
7113 
7114      print_uint32_t(obj.maxFragmentInputComponents, "maxFragmentInputComponents", 1);
7115 
7116      print_uint32_t(obj.maxFragmentOutputAttachments, "maxFragmentOutputAttachments", 1);
7117 
7118      print_uint32_t(obj.maxFragmentDualSrcAttachments, "maxFragmentDualSrcAttachments", 1);
7119 
7120      print_uint32_t(obj.maxFragmentCombinedOutputResources, "maxFragmentCombinedOutputResources", 1);
7121 
7122      print_uint32_t(obj.maxComputeSharedMemorySize, "maxComputeSharedMemorySize", 1);
7123 
7124      PRINT_SPACE
7125      _OUT << "\"maxComputeWorkGroupCount\":" << std::endl;
7126      PRINT_SPACE
7127      if (obj.maxComputeWorkGroupCount) {
7128        _OUT << "[" << std::endl;
7129        for (unsigned int i = 0; i < 3; i++) {
7130            bool isCommaNeeded = (i+1) != 3;
7131            print_uint32_t(obj.maxComputeWorkGroupCount[i], "", isCommaNeeded);
7132        }
7133        PRINT_SPACE
7134        _OUT << "]" << "," << std::endl;
7135      } else {
7136        _OUT << "\"NULL\"" << "," << std::endl;
7137      }
7138 
7139      print_uint32_t(obj.maxComputeWorkGroupInvocations, "maxComputeWorkGroupInvocations", 1);
7140 
7141      PRINT_SPACE
7142      _OUT << "\"maxComputeWorkGroupSize\":" << std::endl;
7143      PRINT_SPACE
7144      if (obj.maxComputeWorkGroupSize) {
7145        _OUT << "[" << std::endl;
7146        for (unsigned int i = 0; i < 3; i++) {
7147            bool isCommaNeeded = (i+1) != 3;
7148            print_uint32_t(obj.maxComputeWorkGroupSize[i], "", isCommaNeeded);
7149        }
7150        PRINT_SPACE
7151        _OUT << "]" << "," << std::endl;
7152      } else {
7153        _OUT << "\"NULL\"" << "," << std::endl;
7154      }
7155 
7156      print_uint32_t(obj.subPixelPrecisionBits, "subPixelPrecisionBits", 1);
7157 
7158      print_uint32_t(obj.subTexelPrecisionBits, "subTexelPrecisionBits", 1);
7159 
7160      print_uint32_t(obj.mipmapPrecisionBits, "mipmapPrecisionBits", 1);
7161 
7162      print_uint32_t(obj.maxDrawIndexedIndexValue, "maxDrawIndexedIndexValue", 1);
7163 
7164      print_uint32_t(obj.maxDrawIndirectCount, "maxDrawIndirectCount", 1);
7165 
7166      print_float(obj.maxSamplerLodBias, "maxSamplerLodBias", 1);
7167 
7168      print_float(obj.maxSamplerAnisotropy, "maxSamplerAnisotropy", 1);
7169 
7170      print_uint32_t(obj.maxViewports, "maxViewports", 1);
7171 
7172      PRINT_SPACE
7173      _OUT << "\"maxViewportDimensions\":" << std::endl;
7174      PRINT_SPACE
7175      if (obj.maxViewportDimensions) {
7176        _OUT << "[" << std::endl;
7177        for (unsigned int i = 0; i < 2; i++) {
7178            bool isCommaNeeded = (i+1) != 2;
7179            print_uint32_t(obj.maxViewportDimensions[i], "", isCommaNeeded);
7180        }
7181        PRINT_SPACE
7182        _OUT << "]" << "," << std::endl;
7183      } else {
7184        _OUT << "\"NULL\"" << "," << std::endl;
7185      }
7186 
7187      PRINT_SPACE
7188      _OUT << "\"viewportBoundsRange\":" << std::endl;
7189      PRINT_SPACE
7190      if (obj.viewportBoundsRange) {
7191        _OUT << "[" << std::endl;
7192        for (unsigned int i = 0; i < 2; i++) {
7193            bool isCommaNeeded = (i+1) != 2;
7194            print_float(obj.viewportBoundsRange[i], "", isCommaNeeded);
7195        }
7196        PRINT_SPACE
7197        _OUT << "]" << "," << std::endl;
7198      } else {
7199        _OUT << "\"NULL\"" << "," << std::endl;
7200      }
7201 
7202      print_uint32_t(obj.viewportSubPixelBits, "viewportSubPixelBits", 1);
7203 
7204      print_size_t(obj.minMemoryMapAlignment, "minMemoryMapAlignment", 1);
7205 
7206      print_VkDeviceSize(obj.minTexelBufferOffsetAlignment, "minTexelBufferOffsetAlignment", 1);
7207 
7208      print_VkDeviceSize(obj.minUniformBufferOffsetAlignment, "minUniformBufferOffsetAlignment", 1);
7209 
7210      print_VkDeviceSize(obj.minStorageBufferOffsetAlignment, "minStorageBufferOffsetAlignment", 1);
7211 
7212      print_int32_t(obj.minTexelOffset, "minTexelOffset", 1);
7213 
7214      print_uint32_t(obj.maxTexelOffset, "maxTexelOffset", 1);
7215 
7216      print_int32_t(obj.minTexelGatherOffset, "minTexelGatherOffset", 1);
7217 
7218      print_uint32_t(obj.maxTexelGatherOffset, "maxTexelGatherOffset", 1);
7219 
7220      print_float(obj.minInterpolationOffset, "minInterpolationOffset", 1);
7221 
7222      print_float(obj.maxInterpolationOffset, "maxInterpolationOffset", 1);
7223 
7224      print_uint32_t(obj.subPixelInterpolationOffsetBits, "subPixelInterpolationOffsetBits", 1);
7225 
7226      print_uint32_t(obj.maxFramebufferWidth, "maxFramebufferWidth", 1);
7227 
7228      print_uint32_t(obj.maxFramebufferHeight, "maxFramebufferHeight", 1);
7229 
7230      print_uint32_t(obj.maxFramebufferLayers, "maxFramebufferLayers", 1);
7231 
7232      print_VkSampleCountFlags(obj.framebufferColorSampleCounts, "framebufferColorSampleCounts", 1);
7233 
7234      print_VkSampleCountFlags(obj.framebufferDepthSampleCounts, "framebufferDepthSampleCounts", 1);
7235 
7236      print_VkSampleCountFlags(obj.framebufferStencilSampleCounts, "framebufferStencilSampleCounts", 1);
7237 
7238      print_VkSampleCountFlags(obj.framebufferNoAttachmentsSampleCounts, "framebufferNoAttachmentsSampleCounts", 1);
7239 
7240      print_uint32_t(obj.maxColorAttachments, "maxColorAttachments", 1);
7241 
7242      print_VkSampleCountFlags(obj.sampledImageColorSampleCounts, "sampledImageColorSampleCounts", 1);
7243 
7244      print_VkSampleCountFlags(obj.sampledImageIntegerSampleCounts, "sampledImageIntegerSampleCounts", 1);
7245 
7246      print_VkSampleCountFlags(obj.sampledImageDepthSampleCounts, "sampledImageDepthSampleCounts", 1);
7247 
7248      print_VkSampleCountFlags(obj.sampledImageStencilSampleCounts, "sampledImageStencilSampleCounts", 1);
7249 
7250      print_VkSampleCountFlags(obj.storageImageSampleCounts, "storageImageSampleCounts", 1);
7251 
7252      print_uint32_t(obj.maxSampleMaskWords, "maxSampleMaskWords", 1);
7253 
7254      print_VkBool32(obj.timestampComputeAndGraphics, "timestampComputeAndGraphics", 1);
7255 
7256      print_float(obj.timestampPeriod, "timestampPeriod", 1);
7257 
7258      print_uint32_t(obj.maxClipDistances, "maxClipDistances", 1);
7259 
7260      print_uint32_t(obj.maxCullDistances, "maxCullDistances", 1);
7261 
7262      print_uint32_t(obj.maxCombinedClipAndCullDistances, "maxCombinedClipAndCullDistances", 1);
7263 
7264      print_uint32_t(obj.discreteQueuePriorities, "discreteQueuePriorities", 1);
7265 
7266      PRINT_SPACE
7267      _OUT << "\"pointSizeRange\":" << std::endl;
7268      PRINT_SPACE
7269      if (obj.pointSizeRange) {
7270        _OUT << "[" << std::endl;
7271        for (unsigned int i = 0; i < 2; i++) {
7272            bool isCommaNeeded = (i+1) != 2;
7273            print_float(obj.pointSizeRange[i], "", isCommaNeeded);
7274        }
7275        PRINT_SPACE
7276        _OUT << "]" << "," << std::endl;
7277      } else {
7278        _OUT << "\"NULL\"" << "," << std::endl;
7279      }
7280 
7281      PRINT_SPACE
7282      _OUT << "\"lineWidthRange\":" << std::endl;
7283      PRINT_SPACE
7284      if (obj.lineWidthRange) {
7285        _OUT << "[" << std::endl;
7286        for (unsigned int i = 0; i < 2; i++) {
7287            bool isCommaNeeded = (i+1) != 2;
7288            print_float(obj.lineWidthRange[i], "", isCommaNeeded);
7289        }
7290        PRINT_SPACE
7291        _OUT << "]" << "," << std::endl;
7292      } else {
7293        _OUT << "\"NULL\"" << "," << std::endl;
7294      }
7295 
7296      print_float(obj.pointSizeGranularity, "pointSizeGranularity", 1);
7297 
7298      print_float(obj.lineWidthGranularity, "lineWidthGranularity", 1);
7299 
7300      print_VkBool32(obj.strictLines, "strictLines", 1);
7301 
7302      print_VkBool32(obj.standardSampleLocations, "standardSampleLocations", 1);
7303 
7304      print_VkDeviceSize(obj.optimalBufferCopyOffsetAlignment, "optimalBufferCopyOffsetAlignment", 1);
7305 
7306      print_VkDeviceSize(obj.optimalBufferCopyRowPitchAlignment, "optimalBufferCopyRowPitchAlignment", 1);
7307 
7308      print_VkDeviceSize(obj.nonCoherentAtomSize, "nonCoherentAtomSize", 0);
7309 
7310      INDENT(-4);
7311      PRINT_SPACE
7312      if (commaNeeded)
7313          _OUT << "}," << std::endl;
7314      else
7315          _OUT << "}" << std::endl;
7316 }
print_VkPhysicalDeviceLimits(const VkPhysicalDeviceLimits * obj,const std::string & s,bool commaNeeded=true)7317 static void print_VkPhysicalDeviceLimits(const VkPhysicalDeviceLimits * obj, const std::string& s, bool commaNeeded=true) {
7318      PRINT_SPACE
7319      _OUT << "{" << std::endl;
7320      INDENT(4);
7321 
7322      print_uint32_t(obj->maxImageDimension1D, "maxImageDimension1D", 1);
7323 
7324      print_uint32_t(obj->maxImageDimension2D, "maxImageDimension2D", 1);
7325 
7326      print_uint32_t(obj->maxImageDimension3D, "maxImageDimension3D", 1);
7327 
7328      print_uint32_t(obj->maxImageDimensionCube, "maxImageDimensionCube", 1);
7329 
7330      print_uint32_t(obj->maxImageArrayLayers, "maxImageArrayLayers", 1);
7331 
7332      print_uint32_t(obj->maxTexelBufferElements, "maxTexelBufferElements", 1);
7333 
7334      print_uint32_t(obj->maxUniformBufferRange, "maxUniformBufferRange", 1);
7335 
7336      print_uint32_t(obj->maxStorageBufferRange, "maxStorageBufferRange", 1);
7337 
7338      print_uint32_t(obj->maxPushConstantsSize, "maxPushConstantsSize", 1);
7339 
7340      print_uint32_t(obj->maxMemoryAllocationCount, "maxMemoryAllocationCount", 1);
7341 
7342      print_uint32_t(obj->maxSamplerAllocationCount, "maxSamplerAllocationCount", 1);
7343 
7344      print_VkDeviceSize(obj->bufferImageGranularity, "bufferImageGranularity", 1);
7345 
7346      print_VkDeviceSize(obj->sparseAddressSpaceSize, "sparseAddressSpaceSize", 1);
7347 
7348      print_uint32_t(obj->maxBoundDescriptorSets, "maxBoundDescriptorSets", 1);
7349 
7350      print_uint32_t(obj->maxPerStageDescriptorSamplers, "maxPerStageDescriptorSamplers", 1);
7351 
7352      print_uint32_t(obj->maxPerStageDescriptorUniformBuffers, "maxPerStageDescriptorUniformBuffers", 1);
7353 
7354      print_uint32_t(obj->maxPerStageDescriptorStorageBuffers, "maxPerStageDescriptorStorageBuffers", 1);
7355 
7356      print_uint32_t(obj->maxPerStageDescriptorSampledImages, "maxPerStageDescriptorSampledImages", 1);
7357 
7358      print_uint32_t(obj->maxPerStageDescriptorStorageImages, "maxPerStageDescriptorStorageImages", 1);
7359 
7360      print_uint32_t(obj->maxPerStageDescriptorInputAttachments, "maxPerStageDescriptorInputAttachments", 1);
7361 
7362      print_uint32_t(obj->maxPerStageResources, "maxPerStageResources", 1);
7363 
7364      print_uint32_t(obj->maxDescriptorSetSamplers, "maxDescriptorSetSamplers", 1);
7365 
7366      print_uint32_t(obj->maxDescriptorSetUniformBuffers, "maxDescriptorSetUniformBuffers", 1);
7367 
7368      print_uint32_t(obj->maxDescriptorSetUniformBuffersDynamic, "maxDescriptorSetUniformBuffersDynamic", 1);
7369 
7370      print_uint32_t(obj->maxDescriptorSetStorageBuffers, "maxDescriptorSetStorageBuffers", 1);
7371 
7372      print_uint32_t(obj->maxDescriptorSetStorageBuffersDynamic, "maxDescriptorSetStorageBuffersDynamic", 1);
7373 
7374      print_uint32_t(obj->maxDescriptorSetSampledImages, "maxDescriptorSetSampledImages", 1);
7375 
7376      print_uint32_t(obj->maxDescriptorSetStorageImages, "maxDescriptorSetStorageImages", 1);
7377 
7378      print_uint32_t(obj->maxDescriptorSetInputAttachments, "maxDescriptorSetInputAttachments", 1);
7379 
7380      print_uint32_t(obj->maxVertexInputAttributes, "maxVertexInputAttributes", 1);
7381 
7382      print_uint32_t(obj->maxVertexInputBindings, "maxVertexInputBindings", 1);
7383 
7384      print_uint32_t(obj->maxVertexInputAttributeOffset, "maxVertexInputAttributeOffset", 1);
7385 
7386      print_uint32_t(obj->maxVertexInputBindingStride, "maxVertexInputBindingStride", 1);
7387 
7388      print_uint32_t(obj->maxVertexOutputComponents, "maxVertexOutputComponents", 1);
7389 
7390      print_uint32_t(obj->maxTessellationGenerationLevel, "maxTessellationGenerationLevel", 1);
7391 
7392      print_uint32_t(obj->maxTessellationPatchSize, "maxTessellationPatchSize", 1);
7393 
7394      print_uint32_t(obj->maxTessellationControlPerVertexInputComponents, "maxTessellationControlPerVertexInputComponents", 1);
7395 
7396      print_uint32_t(obj->maxTessellationControlPerVertexOutputComponents, "maxTessellationControlPerVertexOutputComponents", 1);
7397 
7398      print_uint32_t(obj->maxTessellationControlPerPatchOutputComponents, "maxTessellationControlPerPatchOutputComponents", 1);
7399 
7400      print_uint32_t(obj->maxTessellationControlTotalOutputComponents, "maxTessellationControlTotalOutputComponents", 1);
7401 
7402      print_uint32_t(obj->maxTessellationEvaluationInputComponents, "maxTessellationEvaluationInputComponents", 1);
7403 
7404      print_uint32_t(obj->maxTessellationEvaluationOutputComponents, "maxTessellationEvaluationOutputComponents", 1);
7405 
7406      print_uint32_t(obj->maxGeometryShaderInvocations, "maxGeometryShaderInvocations", 1);
7407 
7408      print_uint32_t(obj->maxGeometryInputComponents, "maxGeometryInputComponents", 1);
7409 
7410      print_uint32_t(obj->maxGeometryOutputComponents, "maxGeometryOutputComponents", 1);
7411 
7412      print_uint32_t(obj->maxGeometryOutputVertices, "maxGeometryOutputVertices", 1);
7413 
7414      print_uint32_t(obj->maxGeometryTotalOutputComponents, "maxGeometryTotalOutputComponents", 1);
7415 
7416      print_uint32_t(obj->maxFragmentInputComponents, "maxFragmentInputComponents", 1);
7417 
7418      print_uint32_t(obj->maxFragmentOutputAttachments, "maxFragmentOutputAttachments", 1);
7419 
7420      print_uint32_t(obj->maxFragmentDualSrcAttachments, "maxFragmentDualSrcAttachments", 1);
7421 
7422      print_uint32_t(obj->maxFragmentCombinedOutputResources, "maxFragmentCombinedOutputResources", 1);
7423 
7424      print_uint32_t(obj->maxComputeSharedMemorySize, "maxComputeSharedMemorySize", 1);
7425 
7426      PRINT_SPACE
7427      _OUT << "\"maxComputeWorkGroupCount\":" << std::endl;
7428      PRINT_SPACE
7429      if (obj->maxComputeWorkGroupCount) {
7430        _OUT << "[" << std::endl;
7431        for (unsigned int i = 0; i < 3; i++) {
7432            bool isCommaNeeded = (i+1) != 3;
7433            print_uint32_t(obj->maxComputeWorkGroupCount[i], "", isCommaNeeded);
7434        }
7435        PRINT_SPACE
7436        _OUT << "]" << "," << std::endl;
7437      } else {
7438        _OUT << "\"NULL\"" << "," << std::endl;
7439      }
7440 
7441      print_uint32_t(obj->maxComputeWorkGroupInvocations, "maxComputeWorkGroupInvocations", 1);
7442 
7443      PRINT_SPACE
7444      _OUT << "\"maxComputeWorkGroupSize\":" << std::endl;
7445      PRINT_SPACE
7446      if (obj->maxComputeWorkGroupSize) {
7447        _OUT << "[" << std::endl;
7448        for (unsigned int i = 0; i < 3; i++) {
7449            bool isCommaNeeded = (i+1) != 3;
7450            print_uint32_t(obj->maxComputeWorkGroupSize[i], "", isCommaNeeded);
7451        }
7452        PRINT_SPACE
7453        _OUT << "]" << "," << std::endl;
7454      } else {
7455        _OUT << "\"NULL\"" << "," << std::endl;
7456      }
7457 
7458      print_uint32_t(obj->subPixelPrecisionBits, "subPixelPrecisionBits", 1);
7459 
7460      print_uint32_t(obj->subTexelPrecisionBits, "subTexelPrecisionBits", 1);
7461 
7462      print_uint32_t(obj->mipmapPrecisionBits, "mipmapPrecisionBits", 1);
7463 
7464      print_uint32_t(obj->maxDrawIndexedIndexValue, "maxDrawIndexedIndexValue", 1);
7465 
7466      print_uint32_t(obj->maxDrawIndirectCount, "maxDrawIndirectCount", 1);
7467 
7468      print_float(obj->maxSamplerLodBias, "maxSamplerLodBias", 1);
7469 
7470      print_float(obj->maxSamplerAnisotropy, "maxSamplerAnisotropy", 1);
7471 
7472      print_uint32_t(obj->maxViewports, "maxViewports", 1);
7473 
7474      PRINT_SPACE
7475      _OUT << "\"maxViewportDimensions\":" << std::endl;
7476      PRINT_SPACE
7477      if (obj->maxViewportDimensions) {
7478        _OUT << "[" << std::endl;
7479        for (unsigned int i = 0; i < 2; i++) {
7480            bool isCommaNeeded = (i+1) != 2;
7481            print_uint32_t(obj->maxViewportDimensions[i], "", isCommaNeeded);
7482        }
7483        PRINT_SPACE
7484        _OUT << "]" << "," << std::endl;
7485      } else {
7486        _OUT << "\"NULL\"" << "," << std::endl;
7487      }
7488 
7489      PRINT_SPACE
7490      _OUT << "\"viewportBoundsRange\":" << std::endl;
7491      PRINT_SPACE
7492      if (obj->viewportBoundsRange) {
7493        _OUT << "[" << std::endl;
7494        for (unsigned int i = 0; i < 2; i++) {
7495            bool isCommaNeeded = (i+1) != 2;
7496            print_float(obj->viewportBoundsRange[i], "", isCommaNeeded);
7497        }
7498        PRINT_SPACE
7499        _OUT << "]" << "," << std::endl;
7500      } else {
7501        _OUT << "\"NULL\"" << "," << std::endl;
7502      }
7503 
7504      print_uint32_t(obj->viewportSubPixelBits, "viewportSubPixelBits", 1);
7505 
7506      print_size_t(obj->minMemoryMapAlignment, "minMemoryMapAlignment", 1);
7507 
7508      print_VkDeviceSize(obj->minTexelBufferOffsetAlignment, "minTexelBufferOffsetAlignment", 1);
7509 
7510      print_VkDeviceSize(obj->minUniformBufferOffsetAlignment, "minUniformBufferOffsetAlignment", 1);
7511 
7512      print_VkDeviceSize(obj->minStorageBufferOffsetAlignment, "minStorageBufferOffsetAlignment", 1);
7513 
7514      print_int32_t(obj->minTexelOffset, "minTexelOffset", 1);
7515 
7516      print_uint32_t(obj->maxTexelOffset, "maxTexelOffset", 1);
7517 
7518      print_int32_t(obj->minTexelGatherOffset, "minTexelGatherOffset", 1);
7519 
7520      print_uint32_t(obj->maxTexelGatherOffset, "maxTexelGatherOffset", 1);
7521 
7522      print_float(obj->minInterpolationOffset, "minInterpolationOffset", 1);
7523 
7524      print_float(obj->maxInterpolationOffset, "maxInterpolationOffset", 1);
7525 
7526      print_uint32_t(obj->subPixelInterpolationOffsetBits, "subPixelInterpolationOffsetBits", 1);
7527 
7528      print_uint32_t(obj->maxFramebufferWidth, "maxFramebufferWidth", 1);
7529 
7530      print_uint32_t(obj->maxFramebufferHeight, "maxFramebufferHeight", 1);
7531 
7532      print_uint32_t(obj->maxFramebufferLayers, "maxFramebufferLayers", 1);
7533 
7534      print_VkSampleCountFlags(obj->framebufferColorSampleCounts, "framebufferColorSampleCounts", 1);
7535 
7536      print_VkSampleCountFlags(obj->framebufferDepthSampleCounts, "framebufferDepthSampleCounts", 1);
7537 
7538      print_VkSampleCountFlags(obj->framebufferStencilSampleCounts, "framebufferStencilSampleCounts", 1);
7539 
7540      print_VkSampleCountFlags(obj->framebufferNoAttachmentsSampleCounts, "framebufferNoAttachmentsSampleCounts", 1);
7541 
7542      print_uint32_t(obj->maxColorAttachments, "maxColorAttachments", 1);
7543 
7544      print_VkSampleCountFlags(obj->sampledImageColorSampleCounts, "sampledImageColorSampleCounts", 1);
7545 
7546      print_VkSampleCountFlags(obj->sampledImageIntegerSampleCounts, "sampledImageIntegerSampleCounts", 1);
7547 
7548      print_VkSampleCountFlags(obj->sampledImageDepthSampleCounts, "sampledImageDepthSampleCounts", 1);
7549 
7550      print_VkSampleCountFlags(obj->sampledImageStencilSampleCounts, "sampledImageStencilSampleCounts", 1);
7551 
7552      print_VkSampleCountFlags(obj->storageImageSampleCounts, "storageImageSampleCounts", 1);
7553 
7554      print_uint32_t(obj->maxSampleMaskWords, "maxSampleMaskWords", 1);
7555 
7556      print_VkBool32(obj->timestampComputeAndGraphics, "timestampComputeAndGraphics", 1);
7557 
7558      print_float(obj->timestampPeriod, "timestampPeriod", 1);
7559 
7560      print_uint32_t(obj->maxClipDistances, "maxClipDistances", 1);
7561 
7562      print_uint32_t(obj->maxCullDistances, "maxCullDistances", 1);
7563 
7564      print_uint32_t(obj->maxCombinedClipAndCullDistances, "maxCombinedClipAndCullDistances", 1);
7565 
7566      print_uint32_t(obj->discreteQueuePriorities, "discreteQueuePriorities", 1);
7567 
7568      PRINT_SPACE
7569      _OUT << "\"pointSizeRange\":" << std::endl;
7570      PRINT_SPACE
7571      if (obj->pointSizeRange) {
7572        _OUT << "[" << std::endl;
7573        for (unsigned int i = 0; i < 2; i++) {
7574            bool isCommaNeeded = (i+1) != 2;
7575            print_float(obj->pointSizeRange[i], "", isCommaNeeded);
7576        }
7577        PRINT_SPACE
7578        _OUT << "]" << "," << std::endl;
7579      } else {
7580        _OUT << "\"NULL\"" << "," << std::endl;
7581      }
7582 
7583      PRINT_SPACE
7584      _OUT << "\"lineWidthRange\":" << std::endl;
7585      PRINT_SPACE
7586      if (obj->lineWidthRange) {
7587        _OUT << "[" << std::endl;
7588        for (unsigned int i = 0; i < 2; i++) {
7589            bool isCommaNeeded = (i+1) != 2;
7590            print_float(obj->lineWidthRange[i], "", isCommaNeeded);
7591        }
7592        PRINT_SPACE
7593        _OUT << "]" << "," << std::endl;
7594      } else {
7595        _OUT << "\"NULL\"" << "," << std::endl;
7596      }
7597 
7598      print_float(obj->pointSizeGranularity, "pointSizeGranularity", 1);
7599 
7600      print_float(obj->lineWidthGranularity, "lineWidthGranularity", 1);
7601 
7602      print_VkBool32(obj->strictLines, "strictLines", 1);
7603 
7604      print_VkBool32(obj->standardSampleLocations, "standardSampleLocations", 1);
7605 
7606      print_VkDeviceSize(obj->optimalBufferCopyOffsetAlignment, "optimalBufferCopyOffsetAlignment", 1);
7607 
7608      print_VkDeviceSize(obj->optimalBufferCopyRowPitchAlignment, "optimalBufferCopyRowPitchAlignment", 1);
7609 
7610      print_VkDeviceSize(obj->nonCoherentAtomSize, "nonCoherentAtomSize", 0);
7611 
7612      INDENT(-4);
7613      PRINT_SPACE
7614      if (commaNeeded)
7615          _OUT << "}," << std::endl;
7616      else
7617          _OUT << "}" << std::endl;
7618 }
7619 
print_VkPhysicalDeviceMemoryProperties(VkPhysicalDeviceMemoryProperties obj,const std::string & s,bool commaNeeded=true)7620 static void print_VkPhysicalDeviceMemoryProperties(VkPhysicalDeviceMemoryProperties obj, const std::string& s, bool commaNeeded=true) {
7621      PRINT_SPACE
7622      _OUT << "{" << std::endl;
7623      INDENT(4);
7624 
7625      print_uint32_t(obj.memoryTypeCount, "memoryTypeCount", 1);
7626 
7627      PRINT_SPACE
7628      _OUT << "\"memoryTypes\":" << std::endl;
7629      PRINT_SPACE
7630      if (obj.memoryTypes) {
7631        _OUT << "[" << std::endl;
7632        for (unsigned int i = 0; i < VK_MAX_MEMORY_TYPES; i++) {
7633            bool isCommaNeeded = (i+1) != VK_MAX_MEMORY_TYPES;
7634            print_VkMemoryType(obj.memoryTypes[i], "", isCommaNeeded);
7635        }
7636        PRINT_SPACE
7637        _OUT << "]" << "," << std::endl;
7638      } else {
7639        _OUT << "\"NULL\"" << "," << std::endl;
7640      }
7641 
7642      print_uint32_t(obj.memoryHeapCount, "memoryHeapCount", 1);
7643 
7644      PRINT_SPACE
7645      _OUT << "\"memoryHeaps\":" << std::endl;
7646      PRINT_SPACE
7647      if (obj.memoryHeaps) {
7648        _OUT << "[" << std::endl;
7649        for (unsigned int i = 0; i < VK_MAX_MEMORY_HEAPS; i++) {
7650            bool isCommaNeeded = (i+1) != VK_MAX_MEMORY_HEAPS;
7651            print_VkMemoryHeap(obj.memoryHeaps[i], "", isCommaNeeded);
7652        }
7653        PRINT_SPACE
7654        _OUT << "]" << "" << std::endl;
7655      } else {
7656        _OUT << "\"NULL\"" << "" << std::endl;
7657      }
7658 
7659      INDENT(-4);
7660      PRINT_SPACE
7661      if (commaNeeded)
7662          _OUT << "}," << std::endl;
7663      else
7664          _OUT << "}" << std::endl;
7665 }
print_VkPhysicalDeviceMemoryProperties(const VkPhysicalDeviceMemoryProperties * obj,const std::string & s,bool commaNeeded=true)7666 static void print_VkPhysicalDeviceMemoryProperties(const VkPhysicalDeviceMemoryProperties * obj, const std::string& s, bool commaNeeded=true) {
7667      PRINT_SPACE
7668      _OUT << "{" << std::endl;
7669      INDENT(4);
7670 
7671      print_uint32_t(obj->memoryTypeCount, "memoryTypeCount", 1);
7672 
7673      PRINT_SPACE
7674      _OUT << "\"memoryTypes\":" << std::endl;
7675      PRINT_SPACE
7676      if (obj->memoryTypes) {
7677        _OUT << "[" << std::endl;
7678        for (unsigned int i = 0; i < VK_MAX_MEMORY_TYPES; i++) {
7679            bool isCommaNeeded = (i+1) != VK_MAX_MEMORY_TYPES;
7680            print_VkMemoryType(obj->memoryTypes[i], "", isCommaNeeded);
7681        }
7682        PRINT_SPACE
7683        _OUT << "]" << "," << std::endl;
7684      } else {
7685        _OUT << "\"NULL\"" << "," << std::endl;
7686      }
7687 
7688      print_uint32_t(obj->memoryHeapCount, "memoryHeapCount", 1);
7689 
7690      PRINT_SPACE
7691      _OUT << "\"memoryHeaps\":" << std::endl;
7692      PRINT_SPACE
7693      if (obj->memoryHeaps) {
7694        _OUT << "[" << std::endl;
7695        for (unsigned int i = 0; i < VK_MAX_MEMORY_HEAPS; i++) {
7696            bool isCommaNeeded = (i+1) != VK_MAX_MEMORY_HEAPS;
7697            print_VkMemoryHeap(obj->memoryHeaps[i], "", isCommaNeeded);
7698        }
7699        PRINT_SPACE
7700        _OUT << "]" << "" << std::endl;
7701      } else {
7702        _OUT << "\"NULL\"" << "" << std::endl;
7703      }
7704 
7705      INDENT(-4);
7706      PRINT_SPACE
7707      if (commaNeeded)
7708          _OUT << "}," << std::endl;
7709      else
7710          _OUT << "}" << std::endl;
7711 }
7712 
print_VkPhysicalDeviceSparseProperties(VkPhysicalDeviceSparseProperties obj,const std::string & s,bool commaNeeded=true)7713 static void print_VkPhysicalDeviceSparseProperties(VkPhysicalDeviceSparseProperties obj, const std::string& s, bool commaNeeded=true) {
7714      PRINT_SPACE
7715      _OUT << "{" << std::endl;
7716      INDENT(4);
7717 
7718      print_VkBool32(obj.residencyStandard2DBlockShape, "residencyStandard2DBlockShape", 1);
7719 
7720      print_VkBool32(obj.residencyStandard2DMultisampleBlockShape, "residencyStandard2DMultisampleBlockShape", 1);
7721 
7722      print_VkBool32(obj.residencyStandard3DBlockShape, "residencyStandard3DBlockShape", 1);
7723 
7724      print_VkBool32(obj.residencyAlignedMipSize, "residencyAlignedMipSize", 1);
7725 
7726      print_VkBool32(obj.residencyNonResidentStrict, "residencyNonResidentStrict", 0);
7727 
7728      INDENT(-4);
7729      PRINT_SPACE
7730      if (commaNeeded)
7731          _OUT << "}," << std::endl;
7732      else
7733          _OUT << "}" << std::endl;
7734 }
print_VkPhysicalDeviceSparseProperties(const VkPhysicalDeviceSparseProperties * obj,const std::string & s,bool commaNeeded=true)7735 static void print_VkPhysicalDeviceSparseProperties(const VkPhysicalDeviceSparseProperties * obj, const std::string& s, bool commaNeeded=true) {
7736      PRINT_SPACE
7737      _OUT << "{" << std::endl;
7738      INDENT(4);
7739 
7740      print_VkBool32(obj->residencyStandard2DBlockShape, "residencyStandard2DBlockShape", 1);
7741 
7742      print_VkBool32(obj->residencyStandard2DMultisampleBlockShape, "residencyStandard2DMultisampleBlockShape", 1);
7743 
7744      print_VkBool32(obj->residencyStandard3DBlockShape, "residencyStandard3DBlockShape", 1);
7745 
7746      print_VkBool32(obj->residencyAlignedMipSize, "residencyAlignedMipSize", 1);
7747 
7748      print_VkBool32(obj->residencyNonResidentStrict, "residencyNonResidentStrict", 0);
7749 
7750      INDENT(-4);
7751      PRINT_SPACE
7752      if (commaNeeded)
7753          _OUT << "}," << std::endl;
7754      else
7755          _OUT << "}" << std::endl;
7756 }
7757 
print_VkPhysicalDeviceProperties(VkPhysicalDeviceProperties obj,const std::string & s,bool commaNeeded=true)7758 static void print_VkPhysicalDeviceProperties(VkPhysicalDeviceProperties obj, const std::string& s, bool commaNeeded=true) {
7759      PRINT_SPACE
7760      _OUT << "{" << std::endl;
7761      INDENT(4);
7762 
7763      print_uint32_t(obj.apiVersion, "apiVersion", 1);
7764 
7765      print_uint32_t(obj.driverVersion, "driverVersion", 1);
7766 
7767      print_uint32_t(obj.vendorID, "vendorID", 1);
7768 
7769      print_uint32_t(obj.deviceID, "deviceID", 1);
7770 
7771      print_VkPhysicalDeviceType(obj.deviceType, "deviceType", 1);
7772 
7773      PRINT_SPACE
7774      _OUT << "\"deviceName\":" << std::endl;
7775      PRINT_SPACE
7776      if (obj.deviceName) {
7777        _OUT << "[" << std::endl;
7778        for (unsigned int i = 0; i < VK_MAX_PHYSICAL_DEVICE_NAME_SIZE; i++) {
7779            bool isCommaNeeded = (i+1) != VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
7780            print_char(obj.deviceName[i], "", isCommaNeeded);
7781        }
7782        PRINT_SPACE
7783        _OUT << "]" << "," << std::endl;
7784      } else {
7785        _OUT << "\"NULL\"" << "," << std::endl;
7786      }
7787 
7788      PRINT_SPACE
7789      _OUT << "\"pipelineCacheUUID\":" << std::endl;
7790      PRINT_SPACE
7791      if (obj.pipelineCacheUUID) {
7792        _OUT << "[" << std::endl;
7793        for (unsigned int i = 0; i < VK_UUID_SIZE; i++) {
7794            bool isCommaNeeded = (i+1) != VK_UUID_SIZE;
7795            print_uint8_t(obj.pipelineCacheUUID[i], "", isCommaNeeded);
7796        }
7797        PRINT_SPACE
7798        _OUT << "]" << "," << std::endl;
7799      } else {
7800        _OUT << "\"NULL\"" << "," << std::endl;
7801      }
7802 
7803      PRINT_SPACE
7804      _OUT << "\"limits\": " << std::endl;
7805      {
7806            print_VkPhysicalDeviceLimits(obj.limits, "limits", 1);
7807      }
7808 
7809      PRINT_SPACE
7810      _OUT << "\"sparseProperties\": " << std::endl;
7811      {
7812            print_VkPhysicalDeviceSparseProperties(obj.sparseProperties, "sparseProperties", 0);
7813      }
7814 
7815      INDENT(-4);
7816      PRINT_SPACE
7817      if (commaNeeded)
7818          _OUT << "}," << std::endl;
7819      else
7820          _OUT << "}" << std::endl;
7821 }
print_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties * obj,const std::string & s,bool commaNeeded=true)7822 static void print_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties * obj, const std::string& s, bool commaNeeded=true) {
7823      PRINT_SPACE
7824      _OUT << "{" << std::endl;
7825      INDENT(4);
7826 
7827      print_uint32_t(obj->apiVersion, "apiVersion", 1);
7828 
7829      print_uint32_t(obj->driverVersion, "driverVersion", 1);
7830 
7831      print_uint32_t(obj->vendorID, "vendorID", 1);
7832 
7833      print_uint32_t(obj->deviceID, "deviceID", 1);
7834 
7835      print_VkPhysicalDeviceType(obj->deviceType, "deviceType", 1);
7836 
7837      PRINT_SPACE
7838      _OUT << "\"deviceName\":" << std::endl;
7839      PRINT_SPACE
7840      if (obj->deviceName) {
7841        _OUT << "[" << std::endl;
7842        for (unsigned int i = 0; i < VK_MAX_PHYSICAL_DEVICE_NAME_SIZE; i++) {
7843            bool isCommaNeeded = (i+1) != VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
7844            print_char(obj->deviceName[i], "", isCommaNeeded);
7845        }
7846        PRINT_SPACE
7847        _OUT << "]" << "," << std::endl;
7848      } else {
7849        _OUT << "\"NULL\"" << "," << std::endl;
7850      }
7851 
7852      PRINT_SPACE
7853      _OUT << "\"pipelineCacheUUID\":" << std::endl;
7854      PRINT_SPACE
7855      if (obj->pipelineCacheUUID) {
7856        _OUT << "[" << std::endl;
7857        for (unsigned int i = 0; i < VK_UUID_SIZE; i++) {
7858            bool isCommaNeeded = (i+1) != VK_UUID_SIZE;
7859            print_uint8_t(obj->pipelineCacheUUID[i], "", isCommaNeeded);
7860        }
7861        PRINT_SPACE
7862        _OUT << "]" << "," << std::endl;
7863      } else {
7864        _OUT << "\"NULL\"" << "," << std::endl;
7865      }
7866 
7867      PRINT_SPACE
7868      _OUT << "\"limits\": " << std::endl;
7869      {
7870            print_VkPhysicalDeviceLimits(obj->limits, "limits", 1);
7871      }
7872 
7873      PRINT_SPACE
7874      _OUT << "\"sparseProperties\": " << std::endl;
7875      {
7876            print_VkPhysicalDeviceSparseProperties(obj->sparseProperties, "sparseProperties", 0);
7877      }
7878 
7879      INDENT(-4);
7880      PRINT_SPACE
7881      if (commaNeeded)
7882          _OUT << "}," << std::endl;
7883      else
7884          _OUT << "}" << std::endl;
7885 }
7886 
print_VkQueueFamilyProperties(VkQueueFamilyProperties obj,const std::string & s,bool commaNeeded=true)7887 static void print_VkQueueFamilyProperties(VkQueueFamilyProperties obj, const std::string& s, bool commaNeeded=true) {
7888      PRINT_SPACE
7889      _OUT << "{" << std::endl;
7890      INDENT(4);
7891 
7892      print_VkQueueFlags(obj.queueFlags, "queueFlags", 1);
7893 
7894      print_uint32_t(obj.queueCount, "queueCount", 1);
7895 
7896      print_uint32_t(obj.timestampValidBits, "timestampValidBits", 1);
7897 
7898      PRINT_SPACE
7899      _OUT << "\"minImageTransferGranularity\": " << std::endl;
7900      {
7901            print_VkExtent3D(obj.minImageTransferGranularity, "minImageTransferGranularity", 0);
7902      }
7903 
7904      INDENT(-4);
7905      PRINT_SPACE
7906      if (commaNeeded)
7907          _OUT << "}," << std::endl;
7908      else
7909          _OUT << "}" << std::endl;
7910 }
print_VkQueueFamilyProperties(const VkQueueFamilyProperties * obj,const std::string & s,bool commaNeeded=true)7911 static void print_VkQueueFamilyProperties(const VkQueueFamilyProperties * obj, const std::string& s, bool commaNeeded=true) {
7912      PRINT_SPACE
7913      _OUT << "{" << std::endl;
7914      INDENT(4);
7915 
7916      print_VkQueueFlags(obj->queueFlags, "queueFlags", 1);
7917 
7918      print_uint32_t(obj->queueCount, "queueCount", 1);
7919 
7920      print_uint32_t(obj->timestampValidBits, "timestampValidBits", 1);
7921 
7922      PRINT_SPACE
7923      _OUT << "\"minImageTransferGranularity\": " << std::endl;
7924      {
7925            print_VkExtent3D(obj->minImageTransferGranularity, "minImageTransferGranularity", 0);
7926      }
7927 
7928      INDENT(-4);
7929      PRINT_SPACE
7930      if (commaNeeded)
7931          _OUT << "}," << std::endl;
7932      else
7933          _OUT << "}" << std::endl;
7934 }
7935 
print_VkDeviceQueueCreateInfo(VkDeviceQueueCreateInfo obj,const std::string & s,bool commaNeeded=true)7936 static void print_VkDeviceQueueCreateInfo(VkDeviceQueueCreateInfo obj, const std::string& s, bool commaNeeded=true) {
7937      PRINT_SPACE
7938      _OUT << "{" << std::endl;
7939      INDENT(4);
7940 
7941      print_VkStructureType(obj.sType, "sType", 1);
7942 
7943       if (obj.pNext) {
7944          dumpPNextChain(obj.pNext);
7945       } else {
7946          PRINT_SPACE
7947          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
7948      }
7949 
7950      print_VkDeviceQueueCreateFlags(obj.flags, "flags", 1);
7951 
7952      print_uint32_t(obj.queueFamilyIndex, "queueFamilyIndex", 1);
7953 
7954      print_uint32_t(obj.queueCount, "queueCount", 1);
7955 
7956      PRINT_SPACE
7957      _OUT << "\"pQueuePriorities\":" << std::endl;
7958      PRINT_SPACE
7959      if (obj.pQueuePriorities) {
7960        _OUT << "[" << std::endl;
7961        for (unsigned int i = 0; i < obj.queueCount; i++) {
7962            bool isCommaNeeded = (i+1) != obj.queueCount;
7963            print_float(obj.pQueuePriorities[i], "", isCommaNeeded);
7964        }
7965        PRINT_SPACE
7966        _OUT << "]" << "" << std::endl;
7967      } else {
7968        _OUT << "\"NULL\"" << "" << std::endl;
7969      }
7970 
7971      INDENT(-4);
7972      PRINT_SPACE
7973      if (commaNeeded)
7974          _OUT << "}," << std::endl;
7975      else
7976          _OUT << "}" << std::endl;
7977 }
print_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo * obj,const std::string & s,bool commaNeeded=true)7978 static void print_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
7979      PRINT_SPACE
7980      _OUT << "{" << std::endl;
7981      INDENT(4);
7982 
7983      print_VkStructureType(obj->sType, "sType", 1);
7984 
7985       if (obj->pNext) {
7986          dumpPNextChain(obj->pNext);
7987       } else {
7988          PRINT_SPACE
7989          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
7990      }
7991 
7992      print_VkDeviceQueueCreateFlags(obj->flags, "flags", 1);
7993 
7994      print_uint32_t(obj->queueFamilyIndex, "queueFamilyIndex", 1);
7995 
7996      print_uint32_t(obj->queueCount, "queueCount", 1);
7997 
7998      PRINT_SPACE
7999      _OUT << "\"pQueuePriorities\":" << std::endl;
8000      PRINT_SPACE
8001      if (obj->pQueuePriorities) {
8002        _OUT << "[" << std::endl;
8003        for (unsigned int i = 0; i < obj->queueCount; i++) {
8004            bool isCommaNeeded = (i+1) != obj->queueCount;
8005            print_float(obj->pQueuePriorities[i], "", isCommaNeeded);
8006        }
8007        PRINT_SPACE
8008        _OUT << "]" << "" << std::endl;
8009      } else {
8010        _OUT << "\"NULL\"" << "" << std::endl;
8011      }
8012 
8013      INDENT(-4);
8014      PRINT_SPACE
8015      if (commaNeeded)
8016          _OUT << "}," << std::endl;
8017      else
8018          _OUT << "}" << std::endl;
8019 }
8020 
print_VkDeviceCreateInfo(VkDeviceCreateInfo obj,const std::string & s,bool commaNeeded=true)8021 static void print_VkDeviceCreateInfo(VkDeviceCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8022      PRINT_SPACE
8023      _OUT << "{" << std::endl;
8024      INDENT(4);
8025 
8026      print_VkStructureType(obj.sType, "sType", 1);
8027 
8028       if (obj.pNext) {
8029          dumpPNextChain(obj.pNext);
8030       } else {
8031          PRINT_SPACE
8032          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8033      }
8034 
8035      print_VkDeviceCreateFlags(obj.flags, "flags", 1);
8036 
8037      print_uint32_t(obj.queueCreateInfoCount, "queueCreateInfoCount", 1);
8038 
8039      PRINT_SPACE
8040      _OUT << "\"pQueueCreateInfos\": " << std::endl;
8041      if (obj.pQueueCreateInfos) {
8042          PRINT_SPACE
8043          _OUT << "[" << std::endl;
8044          for (unsigned int i = 0; i < obj.queueCreateInfoCount; i++) {
8045            if (i+1 == obj.queueCreateInfoCount)
8046                print_VkDeviceQueueCreateInfo(obj.pQueueCreateInfos[i], "pQueueCreateInfos", 0);
8047            else
8048                print_VkDeviceQueueCreateInfo(obj.pQueueCreateInfos[i], "pQueueCreateInfos", 1);
8049          }
8050          PRINT_SPACE
8051          _OUT << "]," << std::endl;
8052     }
8053      else
8054      {
8055          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
8056      }
8057 
8058      print_uint32_t(obj.enabledLayerCount, "enabledLayerCount", 1);
8059 
8060      print_char(obj.ppEnabledLayerNames, "ppEnabledLayerNames", 1);
8061 
8062      print_uint32_t(obj.enabledExtensionCount, "enabledExtensionCount", 1);
8063 
8064      print_char(obj.ppEnabledExtensionNames, "ppEnabledExtensionNames", 1);
8065 
8066      PRINT_SPACE
8067      _OUT << "\"pEnabledFeatures\": " << std::endl;
8068      if (obj.pEnabledFeatures) {
8069            print_VkPhysicalDeviceFeatures(obj.pEnabledFeatures, "pEnabledFeatures", 0);
8070      }
8071      else
8072      {
8073          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
8074      }
8075 
8076      INDENT(-4);
8077      PRINT_SPACE
8078      if (commaNeeded)
8079          _OUT << "}," << std::endl;
8080      else
8081          _OUT << "}" << std::endl;
8082 }
print_VkDeviceCreateInfo(const VkDeviceCreateInfo * obj,const std::string & s,bool commaNeeded=true)8083 static void print_VkDeviceCreateInfo(const VkDeviceCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8084      PRINT_SPACE
8085      _OUT << "{" << std::endl;
8086      INDENT(4);
8087 
8088      print_VkStructureType(obj->sType, "sType", 1);
8089 
8090       if (obj->pNext) {
8091          dumpPNextChain(obj->pNext);
8092       } else {
8093          PRINT_SPACE
8094          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8095      }
8096 
8097      print_VkDeviceCreateFlags(obj->flags, "flags", 1);
8098 
8099      print_uint32_t(obj->queueCreateInfoCount, "queueCreateInfoCount", 1);
8100 
8101      PRINT_SPACE
8102      _OUT << "\"pQueueCreateInfos\": " << std::endl;
8103      if (obj->pQueueCreateInfos) {
8104          PRINT_SPACE
8105          _OUT << "[" << std::endl;
8106          for (unsigned int i = 0; i < obj->queueCreateInfoCount; i++) {
8107            if (i+1 == obj->queueCreateInfoCount)
8108                print_VkDeviceQueueCreateInfo(obj->pQueueCreateInfos[i], "pQueueCreateInfos", 0);
8109            else
8110                print_VkDeviceQueueCreateInfo(obj->pQueueCreateInfos[i], "pQueueCreateInfos", 1);
8111          }
8112          PRINT_SPACE
8113          _OUT << "]," << std::endl;
8114     }
8115      else
8116      {
8117          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
8118      }
8119 
8120      print_uint32_t(obj->enabledLayerCount, "enabledLayerCount", 1);
8121 
8122      print_char(obj->ppEnabledLayerNames, "ppEnabledLayerNames", 1);
8123 
8124      print_uint32_t(obj->enabledExtensionCount, "enabledExtensionCount", 1);
8125 
8126      print_char(obj->ppEnabledExtensionNames, "ppEnabledExtensionNames", 1);
8127 
8128      PRINT_SPACE
8129      _OUT << "\"pEnabledFeatures\": " << std::endl;
8130      if (obj->pEnabledFeatures) {
8131            print_VkPhysicalDeviceFeatures(obj->pEnabledFeatures, "pEnabledFeatures", 0);
8132      }
8133      else
8134      {
8135          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
8136      }
8137 
8138      INDENT(-4);
8139      PRINT_SPACE
8140      if (commaNeeded)
8141          _OUT << "}," << std::endl;
8142      else
8143          _OUT << "}" << std::endl;
8144 }
8145 
print_VkExtensionProperties(VkExtensionProperties obj,const std::string & s,bool commaNeeded=true)8146 static void print_VkExtensionProperties(VkExtensionProperties obj, const std::string& s, bool commaNeeded=true) {
8147      PRINT_SPACE
8148      _OUT << "{" << std::endl;
8149      INDENT(4);
8150 
8151      PRINT_SPACE
8152      _OUT << "\"extensionName\":" << std::endl;
8153      PRINT_SPACE
8154      if (obj.extensionName) {
8155        _OUT << "[" << std::endl;
8156        for (unsigned int i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; i++) {
8157            bool isCommaNeeded = (i+1) != VK_MAX_EXTENSION_NAME_SIZE;
8158            print_char(obj.extensionName[i], "", isCommaNeeded);
8159        }
8160        PRINT_SPACE
8161        _OUT << "]" << "," << std::endl;
8162      } else {
8163        _OUT << "\"NULL\"" << "," << std::endl;
8164      }
8165 
8166      print_uint32_t(obj.specVersion, "specVersion", 0);
8167 
8168      INDENT(-4);
8169      PRINT_SPACE
8170      if (commaNeeded)
8171          _OUT << "}," << std::endl;
8172      else
8173          _OUT << "}" << std::endl;
8174 }
print_VkExtensionProperties(const VkExtensionProperties * obj,const std::string & s,bool commaNeeded=true)8175 static void print_VkExtensionProperties(const VkExtensionProperties * obj, const std::string& s, bool commaNeeded=true) {
8176      PRINT_SPACE
8177      _OUT << "{" << std::endl;
8178      INDENT(4);
8179 
8180      PRINT_SPACE
8181      _OUT << "\"extensionName\":" << std::endl;
8182      PRINT_SPACE
8183      if (obj->extensionName) {
8184        _OUT << "[" << std::endl;
8185        for (unsigned int i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; i++) {
8186            bool isCommaNeeded = (i+1) != VK_MAX_EXTENSION_NAME_SIZE;
8187            print_char(obj->extensionName[i], "", isCommaNeeded);
8188        }
8189        PRINT_SPACE
8190        _OUT << "]" << "," << std::endl;
8191      } else {
8192        _OUT << "\"NULL\"" << "," << std::endl;
8193      }
8194 
8195      print_uint32_t(obj->specVersion, "specVersion", 0);
8196 
8197      INDENT(-4);
8198      PRINT_SPACE
8199      if (commaNeeded)
8200          _OUT << "}," << std::endl;
8201      else
8202          _OUT << "}" << std::endl;
8203 }
8204 
print_VkLayerProperties(VkLayerProperties obj,const std::string & s,bool commaNeeded=true)8205 static void print_VkLayerProperties(VkLayerProperties obj, const std::string& s, bool commaNeeded=true) {
8206      PRINT_SPACE
8207      _OUT << "{" << std::endl;
8208      INDENT(4);
8209 
8210      PRINT_SPACE
8211      _OUT << "\"layerName\":" << std::endl;
8212      PRINT_SPACE
8213      if (obj.layerName) {
8214        _OUT << "[" << std::endl;
8215        for (unsigned int i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; i++) {
8216            bool isCommaNeeded = (i+1) != VK_MAX_EXTENSION_NAME_SIZE;
8217            print_char(obj.layerName[i], "", isCommaNeeded);
8218        }
8219        PRINT_SPACE
8220        _OUT << "]" << "," << std::endl;
8221      } else {
8222        _OUT << "\"NULL\"" << "," << std::endl;
8223      }
8224 
8225      print_uint32_t(obj.specVersion, "specVersion", 1);
8226 
8227      print_uint32_t(obj.implementationVersion, "implementationVersion", 1);
8228 
8229      PRINT_SPACE
8230      _OUT << "\"description\":" << std::endl;
8231      PRINT_SPACE
8232      if (obj.description) {
8233        _OUT << "[" << std::endl;
8234        for (unsigned int i = 0; i < VK_MAX_DESCRIPTION_SIZE; i++) {
8235            bool isCommaNeeded = (i+1) != VK_MAX_DESCRIPTION_SIZE;
8236            print_char(obj.description[i], "", isCommaNeeded);
8237        }
8238        PRINT_SPACE
8239        _OUT << "]" << "" << std::endl;
8240      } else {
8241        _OUT << "\"NULL\"" << "" << std::endl;
8242      }
8243 
8244      INDENT(-4);
8245      PRINT_SPACE
8246      if (commaNeeded)
8247          _OUT << "}," << std::endl;
8248      else
8249          _OUT << "}" << std::endl;
8250 }
print_VkLayerProperties(const VkLayerProperties * obj,const std::string & s,bool commaNeeded=true)8251 static void print_VkLayerProperties(const VkLayerProperties * obj, const std::string& s, bool commaNeeded=true) {
8252      PRINT_SPACE
8253      _OUT << "{" << std::endl;
8254      INDENT(4);
8255 
8256      PRINT_SPACE
8257      _OUT << "\"layerName\":" << std::endl;
8258      PRINT_SPACE
8259      if (obj->layerName) {
8260        _OUT << "[" << std::endl;
8261        for (unsigned int i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; i++) {
8262            bool isCommaNeeded = (i+1) != VK_MAX_EXTENSION_NAME_SIZE;
8263            print_char(obj->layerName[i], "", isCommaNeeded);
8264        }
8265        PRINT_SPACE
8266        _OUT << "]" << "," << std::endl;
8267      } else {
8268        _OUT << "\"NULL\"" << "," << std::endl;
8269      }
8270 
8271      print_uint32_t(obj->specVersion, "specVersion", 1);
8272 
8273      print_uint32_t(obj->implementationVersion, "implementationVersion", 1);
8274 
8275      PRINT_SPACE
8276      _OUT << "\"description\":" << std::endl;
8277      PRINT_SPACE
8278      if (obj->description) {
8279        _OUT << "[" << std::endl;
8280        for (unsigned int i = 0; i < VK_MAX_DESCRIPTION_SIZE; i++) {
8281            bool isCommaNeeded = (i+1) != VK_MAX_DESCRIPTION_SIZE;
8282            print_char(obj->description[i], "", isCommaNeeded);
8283        }
8284        PRINT_SPACE
8285        _OUT << "]" << "" << std::endl;
8286      } else {
8287        _OUT << "\"NULL\"" << "" << std::endl;
8288      }
8289 
8290      INDENT(-4);
8291      PRINT_SPACE
8292      if (commaNeeded)
8293          _OUT << "}," << std::endl;
8294      else
8295          _OUT << "}" << std::endl;
8296 }
8297 
print_VkSubmitInfo(VkSubmitInfo obj,const std::string & s,bool commaNeeded=true)8298 static void print_VkSubmitInfo(VkSubmitInfo obj, const std::string& s, bool commaNeeded=true) {
8299      PRINT_SPACE
8300      _OUT << "{" << std::endl;
8301      INDENT(4);
8302 
8303      print_VkStructureType(obj.sType, "sType", 1);
8304 
8305       if (obj.pNext) {
8306          dumpPNextChain(obj.pNext);
8307       } else {
8308          PRINT_SPACE
8309          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8310      }
8311 
8312      print_uint32_t(obj.waitSemaphoreCount, "waitSemaphoreCount", 1);
8313 
8314      PRINT_SPACE
8315      _OUT << "\"pWaitSemaphores\":" << std::endl;
8316      PRINT_SPACE
8317      if (obj.pWaitSemaphores) {
8318        _OUT << "[" << std::endl;
8319        for (unsigned int i = 0; i < obj.waitSemaphoreCount; i++) {
8320            std:: stringstream tmp;
8321            tmp << "pWaitSemaphores" << "_" << i;
8322            bool isCommaNeeded = (i+1) != obj.waitSemaphoreCount;
8323            print_VkSemaphore(obj.pWaitSemaphores[i], tmp.str(), isCommaNeeded);
8324        }
8325        PRINT_SPACE
8326        _OUT << "]" << "," << std::endl;
8327      } else {
8328        _OUT << "\"NULL\"" << "," << std::endl;
8329      }
8330 
8331      PRINT_SPACE
8332      _OUT << "\"pWaitDstStageMask\":" << std::endl;
8333      PRINT_SPACE
8334      if (obj.pWaitDstStageMask) {
8335        _OUT << "[" << std::endl;
8336        for (unsigned int i = 0; i < obj.waitSemaphoreCount; i++) {
8337            bool isCommaNeeded = (i+1) != obj.waitSemaphoreCount;
8338            print_VkPipelineStageFlags(obj.pWaitDstStageMask[i], "", isCommaNeeded);
8339        }
8340        PRINT_SPACE
8341        _OUT << "]" << "," << std::endl;
8342      } else {
8343        _OUT << "\"NULL\"" << "," << std::endl;
8344      }
8345 
8346      print_uint32_t(obj.commandBufferCount, "commandBufferCount", 1);
8347 
8348      PRINT_SPACE
8349      _OUT << "\"pCommandBuffers\":" << std::endl;
8350      PRINT_SPACE
8351      if (obj.pCommandBuffers) {
8352        _OUT << "[" << std::endl;
8353        for (unsigned int i = 0; i < obj.commandBufferCount; i++) {
8354            std:: stringstream tmp;
8355            tmp << "pCommandBuffers" << "_" << i;
8356            bool isCommaNeeded = (i+1) != obj.commandBufferCount;
8357            print_VkCommandBuffer(obj.pCommandBuffers[i], tmp.str(), isCommaNeeded);
8358        }
8359        PRINT_SPACE
8360        _OUT << "]" << "," << std::endl;
8361      } else {
8362        _OUT << "\"NULL\"" << "," << std::endl;
8363      }
8364 
8365      print_uint32_t(obj.signalSemaphoreCount, "signalSemaphoreCount", 1);
8366 
8367      PRINT_SPACE
8368      _OUT << "\"pSignalSemaphores\":" << std::endl;
8369      PRINT_SPACE
8370      if (obj.pSignalSemaphores) {
8371        _OUT << "[" << std::endl;
8372        for (unsigned int i = 0; i < obj.signalSemaphoreCount; i++) {
8373            std:: stringstream tmp;
8374            tmp << "pSignalSemaphores" << "_" << i;
8375            bool isCommaNeeded = (i+1) != obj.signalSemaphoreCount;
8376            print_VkSemaphore(obj.pSignalSemaphores[i], tmp.str(), isCommaNeeded);
8377        }
8378        PRINT_SPACE
8379        _OUT << "]" << "" << std::endl;
8380      } else {
8381        _OUT << "\"NULL\"" << "" << std::endl;
8382      }
8383 
8384      INDENT(-4);
8385      PRINT_SPACE
8386      if (commaNeeded)
8387          _OUT << "}," << std::endl;
8388      else
8389          _OUT << "}" << std::endl;
8390 }
print_VkSubmitInfo(const VkSubmitInfo * obj,const std::string & s,bool commaNeeded=true)8391 static void print_VkSubmitInfo(const VkSubmitInfo * obj, const std::string& s, bool commaNeeded=true) {
8392      PRINT_SPACE
8393      _OUT << "{" << std::endl;
8394      INDENT(4);
8395 
8396      print_VkStructureType(obj->sType, "sType", 1);
8397 
8398       if (obj->pNext) {
8399          dumpPNextChain(obj->pNext);
8400       } else {
8401          PRINT_SPACE
8402          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8403      }
8404 
8405      print_uint32_t(obj->waitSemaphoreCount, "waitSemaphoreCount", 1);
8406 
8407      PRINT_SPACE
8408      _OUT << "\"pWaitSemaphores\":" << std::endl;
8409      PRINT_SPACE
8410      if (obj->pWaitSemaphores) {
8411        _OUT << "[" << std::endl;
8412        for (unsigned int i = 0; i < obj->waitSemaphoreCount; i++) {
8413            std:: stringstream tmp;
8414            tmp << "pWaitSemaphores" << "_" << i;
8415            bool isCommaNeeded = (i+1) != obj->waitSemaphoreCount;
8416            print_VkSemaphore(obj->pWaitSemaphores[i], tmp.str(), isCommaNeeded);
8417        }
8418        PRINT_SPACE
8419        _OUT << "]" << "," << std::endl;
8420      } else {
8421        _OUT << "\"NULL\"" << "," << std::endl;
8422      }
8423 
8424      PRINT_SPACE
8425      _OUT << "\"pWaitDstStageMask\":" << std::endl;
8426      PRINT_SPACE
8427      if (obj->pWaitDstStageMask) {
8428        _OUT << "[" << std::endl;
8429        for (unsigned int i = 0; i < obj->waitSemaphoreCount; i++) {
8430            bool isCommaNeeded = (i+1) != obj->waitSemaphoreCount;
8431            print_VkPipelineStageFlags(obj->pWaitDstStageMask[i], "", isCommaNeeded);
8432        }
8433        PRINT_SPACE
8434        _OUT << "]" << "," << std::endl;
8435      } else {
8436        _OUT << "\"NULL\"" << "," << std::endl;
8437      }
8438 
8439      print_uint32_t(obj->commandBufferCount, "commandBufferCount", 1);
8440 
8441      PRINT_SPACE
8442      _OUT << "\"pCommandBuffers\":" << std::endl;
8443      PRINT_SPACE
8444      if (obj->pCommandBuffers) {
8445        _OUT << "[" << std::endl;
8446        for (unsigned int i = 0; i < obj->commandBufferCount; i++) {
8447            std:: stringstream tmp;
8448            tmp << "pCommandBuffers" << "_" << i;
8449            bool isCommaNeeded = (i+1) != obj->commandBufferCount;
8450            print_VkCommandBuffer(obj->pCommandBuffers[i], tmp.str(), isCommaNeeded);
8451        }
8452        PRINT_SPACE
8453        _OUT << "]" << "," << std::endl;
8454      } else {
8455        _OUT << "\"NULL\"" << "," << std::endl;
8456      }
8457 
8458      print_uint32_t(obj->signalSemaphoreCount, "signalSemaphoreCount", 1);
8459 
8460      PRINT_SPACE
8461      _OUT << "\"pSignalSemaphores\":" << std::endl;
8462      PRINT_SPACE
8463      if (obj->pSignalSemaphores) {
8464        _OUT << "[" << std::endl;
8465        for (unsigned int i = 0; i < obj->signalSemaphoreCount; i++) {
8466            std:: stringstream tmp;
8467            tmp << "pSignalSemaphores" << "_" << i;
8468            bool isCommaNeeded = (i+1) != obj->signalSemaphoreCount;
8469            print_VkSemaphore(obj->pSignalSemaphores[i], tmp.str(), isCommaNeeded);
8470        }
8471        PRINT_SPACE
8472        _OUT << "]" << "" << std::endl;
8473      } else {
8474        _OUT << "\"NULL\"" << "" << std::endl;
8475      }
8476 
8477      INDENT(-4);
8478      PRINT_SPACE
8479      if (commaNeeded)
8480          _OUT << "}," << std::endl;
8481      else
8482          _OUT << "}" << std::endl;
8483 }
8484 
print_VkMappedMemoryRange(VkMappedMemoryRange obj,const std::string & s,bool commaNeeded=true)8485 static void print_VkMappedMemoryRange(VkMappedMemoryRange obj, const std::string& s, bool commaNeeded=true) {
8486      PRINT_SPACE
8487      _OUT << "{" << std::endl;
8488      INDENT(4);
8489 
8490      print_VkStructureType(obj.sType, "sType", 1);
8491 
8492       if (obj.pNext) {
8493          dumpPNextChain(obj.pNext);
8494       } else {
8495          PRINT_SPACE
8496          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8497      }
8498 
8499      // CTS : required value
8500      PRINT_SPACE    _OUT << "\"" << "memory" << "\"" << " : " << "\"" << "\"," << std::endl;
8501 
8502      print_VkDeviceSize(obj.offset, "offset", 1);
8503 
8504      print_VkDeviceSize(obj.size, "size", 0);
8505 
8506      INDENT(-4);
8507      PRINT_SPACE
8508      if (commaNeeded)
8509          _OUT << "}," << std::endl;
8510      else
8511          _OUT << "}" << std::endl;
8512 }
print_VkMappedMemoryRange(const VkMappedMemoryRange * obj,const std::string & s,bool commaNeeded=true)8513 static void print_VkMappedMemoryRange(const VkMappedMemoryRange * obj, const std::string& s, bool commaNeeded=true) {
8514      PRINT_SPACE
8515      _OUT << "{" << std::endl;
8516      INDENT(4);
8517 
8518      print_VkStructureType(obj->sType, "sType", 1);
8519 
8520       if (obj->pNext) {
8521          dumpPNextChain(obj->pNext);
8522       } else {
8523          PRINT_SPACE
8524          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8525      }
8526 
8527      // CTS : required value
8528      PRINT_SPACE    _OUT << "\"" << "memory" << "\"" << " : " << "\"" << "\"," << std::endl;
8529 
8530      print_VkDeviceSize(obj->offset, "offset", 1);
8531 
8532      print_VkDeviceSize(obj->size, "size", 0);
8533 
8534      INDENT(-4);
8535      PRINT_SPACE
8536      if (commaNeeded)
8537          _OUT << "}," << std::endl;
8538      else
8539          _OUT << "}" << std::endl;
8540 }
8541 
print_VkMemoryAllocateInfo(VkMemoryAllocateInfo obj,const std::string & s,bool commaNeeded=true)8542 static void print_VkMemoryAllocateInfo(VkMemoryAllocateInfo obj, const std::string& s, bool commaNeeded=true) {
8543      PRINT_SPACE
8544      _OUT << "{" << std::endl;
8545      INDENT(4);
8546 
8547      print_VkStructureType(obj.sType, "sType", 1);
8548 
8549       if (obj.pNext) {
8550          dumpPNextChain(obj.pNext);
8551       } else {
8552          PRINT_SPACE
8553          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8554      }
8555 
8556      print_VkDeviceSize(obj.allocationSize, "allocationSize", 1);
8557 
8558      print_uint32_t(obj.memoryTypeIndex, "memoryTypeIndex", 0);
8559 
8560      INDENT(-4);
8561      PRINT_SPACE
8562      if (commaNeeded)
8563          _OUT << "}," << std::endl;
8564      else
8565          _OUT << "}" << std::endl;
8566 }
print_VkMemoryAllocateInfo(const VkMemoryAllocateInfo * obj,const std::string & s,bool commaNeeded=true)8567 static void print_VkMemoryAllocateInfo(const VkMemoryAllocateInfo * obj, const std::string& s, bool commaNeeded=true) {
8568      PRINT_SPACE
8569      _OUT << "{" << std::endl;
8570      INDENT(4);
8571 
8572      print_VkStructureType(obj->sType, "sType", 1);
8573 
8574       if (obj->pNext) {
8575          dumpPNextChain(obj->pNext);
8576       } else {
8577          PRINT_SPACE
8578          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8579      }
8580 
8581      print_VkDeviceSize(obj->allocationSize, "allocationSize", 1);
8582 
8583      print_uint32_t(obj->memoryTypeIndex, "memoryTypeIndex", 0);
8584 
8585      INDENT(-4);
8586      PRINT_SPACE
8587      if (commaNeeded)
8588          _OUT << "}," << std::endl;
8589      else
8590          _OUT << "}" << std::endl;
8591 }
8592 
print_VkMemoryRequirements(VkMemoryRequirements obj,const std::string & s,bool commaNeeded=true)8593 static void print_VkMemoryRequirements(VkMemoryRequirements obj, const std::string& s, bool commaNeeded=true) {
8594      PRINT_SPACE
8595      _OUT << "{" << std::endl;
8596      INDENT(4);
8597 
8598      print_VkDeviceSize(obj.size, "size", 1);
8599 
8600      print_VkDeviceSize(obj.alignment, "alignment", 1);
8601 
8602      print_uint32_t(obj.memoryTypeBits, "memoryTypeBits", 0);
8603 
8604      INDENT(-4);
8605      PRINT_SPACE
8606      if (commaNeeded)
8607          _OUT << "}," << std::endl;
8608      else
8609          _OUT << "}" << std::endl;
8610 }
print_VkMemoryRequirements(const VkMemoryRequirements * obj,const std::string & s,bool commaNeeded=true)8611 static void print_VkMemoryRequirements(const VkMemoryRequirements * obj, const std::string& s, bool commaNeeded=true) {
8612      PRINT_SPACE
8613      _OUT << "{" << std::endl;
8614      INDENT(4);
8615 
8616      print_VkDeviceSize(obj->size, "size", 1);
8617 
8618      print_VkDeviceSize(obj->alignment, "alignment", 1);
8619 
8620      print_uint32_t(obj->memoryTypeBits, "memoryTypeBits", 0);
8621 
8622      INDENT(-4);
8623      PRINT_SPACE
8624      if (commaNeeded)
8625          _OUT << "}," << std::endl;
8626      else
8627          _OUT << "}" << std::endl;
8628 }
8629 
print_VkImageSubresource(VkImageSubresource obj,const std::string & s,bool commaNeeded=true)8630 static void print_VkImageSubresource(VkImageSubresource obj, const std::string& s, bool commaNeeded=true) {
8631      PRINT_SPACE
8632      _OUT << "{" << std::endl;
8633      INDENT(4);
8634 
8635      print_VkImageAspectFlags(obj.aspectMask, "aspectMask", 1);
8636 
8637      print_uint32_t(obj.mipLevel, "mipLevel", 1);
8638 
8639      print_uint32_t(obj.arrayLayer, "arrayLayer", 0);
8640 
8641      INDENT(-4);
8642      PRINT_SPACE
8643      if (commaNeeded)
8644          _OUT << "}," << std::endl;
8645      else
8646          _OUT << "}" << std::endl;
8647 }
print_VkImageSubresource(const VkImageSubresource * obj,const std::string & s,bool commaNeeded=true)8648 static void print_VkImageSubresource(const VkImageSubresource * obj, const std::string& s, bool commaNeeded=true) {
8649      PRINT_SPACE
8650      _OUT << "{" << std::endl;
8651      INDENT(4);
8652 
8653      print_VkImageAspectFlags(obj->aspectMask, "aspectMask", 1);
8654 
8655      print_uint32_t(obj->mipLevel, "mipLevel", 1);
8656 
8657      print_uint32_t(obj->arrayLayer, "arrayLayer", 0);
8658 
8659      INDENT(-4);
8660      PRINT_SPACE
8661      if (commaNeeded)
8662          _OUT << "}," << std::endl;
8663      else
8664          _OUT << "}" << std::endl;
8665 }
8666 
print_VkFenceCreateInfo(VkFenceCreateInfo obj,const std::string & s,bool commaNeeded=true)8667 static void print_VkFenceCreateInfo(VkFenceCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8668      PRINT_SPACE
8669      _OUT << "{" << std::endl;
8670      INDENT(4);
8671 
8672      print_VkStructureType(obj.sType, "sType", 1);
8673 
8674       if (obj.pNext) {
8675          dumpPNextChain(obj.pNext);
8676       } else {
8677          PRINT_SPACE
8678          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8679      }
8680 
8681      print_VkFenceCreateFlags(obj.flags, "flags", 0);
8682 
8683      INDENT(-4);
8684      PRINT_SPACE
8685      if (commaNeeded)
8686          _OUT << "}," << std::endl;
8687      else
8688          _OUT << "}" << std::endl;
8689 }
print_VkFenceCreateInfo(const VkFenceCreateInfo * obj,const std::string & s,bool commaNeeded=true)8690 static void print_VkFenceCreateInfo(const VkFenceCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8691      PRINT_SPACE
8692      _OUT << "{" << std::endl;
8693      INDENT(4);
8694 
8695      print_VkStructureType(obj->sType, "sType", 1);
8696 
8697       if (obj->pNext) {
8698          dumpPNextChain(obj->pNext);
8699       } else {
8700          PRINT_SPACE
8701          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8702      }
8703 
8704      print_VkFenceCreateFlags(obj->flags, "flags", 0);
8705 
8706      INDENT(-4);
8707      PRINT_SPACE
8708      if (commaNeeded)
8709          _OUT << "}," << std::endl;
8710      else
8711          _OUT << "}" << std::endl;
8712 }
8713 
print_VkSemaphoreCreateInfo(VkSemaphoreCreateInfo obj,const std::string & s,bool commaNeeded=true)8714 static void print_VkSemaphoreCreateInfo(VkSemaphoreCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8715      PRINT_SPACE
8716      _OUT << "{" << std::endl;
8717      INDENT(4);
8718 
8719      print_VkStructureType(obj.sType, "sType", 1);
8720 
8721       if (obj.pNext) {
8722          dumpPNextChain(obj.pNext);
8723       } else {
8724          PRINT_SPACE
8725          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8726      }
8727 
8728      print_VkSemaphoreCreateFlags(obj.flags, "flags", 0);
8729 
8730      INDENT(-4);
8731      PRINT_SPACE
8732      if (commaNeeded)
8733          _OUT << "}," << std::endl;
8734      else
8735          _OUT << "}" << std::endl;
8736 }
print_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo * obj,const std::string & s,bool commaNeeded=true)8737 static void print_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8738      PRINT_SPACE
8739      _OUT << "{" << std::endl;
8740      INDENT(4);
8741 
8742      print_VkStructureType(obj->sType, "sType", 1);
8743 
8744       if (obj->pNext) {
8745          dumpPNextChain(obj->pNext);
8746       } else {
8747          PRINT_SPACE
8748          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8749      }
8750 
8751      print_VkSemaphoreCreateFlags(obj->flags, "flags", 0);
8752 
8753      INDENT(-4);
8754      PRINT_SPACE
8755      if (commaNeeded)
8756          _OUT << "}," << std::endl;
8757      else
8758          _OUT << "}" << std::endl;
8759 }
8760 
print_VkEventCreateInfo(VkEventCreateInfo obj,const std::string & s,bool commaNeeded=true)8761 static void print_VkEventCreateInfo(VkEventCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8762      PRINT_SPACE
8763      _OUT << "{" << std::endl;
8764      INDENT(4);
8765 
8766      print_VkStructureType(obj.sType, "sType", 1);
8767 
8768       if (obj.pNext) {
8769          dumpPNextChain(obj.pNext);
8770       } else {
8771          PRINT_SPACE
8772          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8773      }
8774 
8775      print_VkEventCreateFlags(obj.flags, "flags", 0);
8776 
8777      INDENT(-4);
8778      PRINT_SPACE
8779      if (commaNeeded)
8780          _OUT << "}," << std::endl;
8781      else
8782          _OUT << "}" << std::endl;
8783 }
print_VkEventCreateInfo(const VkEventCreateInfo * obj,const std::string & s,bool commaNeeded=true)8784 static void print_VkEventCreateInfo(const VkEventCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8785      PRINT_SPACE
8786      _OUT << "{" << std::endl;
8787      INDENT(4);
8788 
8789      print_VkStructureType(obj->sType, "sType", 1);
8790 
8791       if (obj->pNext) {
8792          dumpPNextChain(obj->pNext);
8793       } else {
8794          PRINT_SPACE
8795          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8796      }
8797 
8798      print_VkEventCreateFlags(obj->flags, "flags", 0);
8799 
8800      INDENT(-4);
8801      PRINT_SPACE
8802      if (commaNeeded)
8803          _OUT << "}," << std::endl;
8804      else
8805          _OUT << "}" << std::endl;
8806 }
8807 
print_VkQueryPoolCreateInfo(VkQueryPoolCreateInfo obj,const std::string & s,bool commaNeeded=true)8808 static void print_VkQueryPoolCreateInfo(VkQueryPoolCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8809      PRINT_SPACE
8810      _OUT << "{" << std::endl;
8811      INDENT(4);
8812 
8813      print_VkStructureType(obj.sType, "sType", 1);
8814 
8815       if (obj.pNext) {
8816          dumpPNextChain(obj.pNext);
8817       } else {
8818          PRINT_SPACE
8819          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8820      }
8821 
8822      print_VkQueryPoolCreateFlags(obj.flags, "flags", 1);
8823 
8824      print_VkQueryType(obj.queryType, "queryType", 1);
8825 
8826      print_uint32_t(obj.queryCount, "queryCount", 1);
8827 
8828      print_VkQueryPipelineStatisticFlags(obj.pipelineStatistics, "pipelineStatistics", 0);
8829 
8830      INDENT(-4);
8831      PRINT_SPACE
8832      if (commaNeeded)
8833          _OUT << "}," << std::endl;
8834      else
8835          _OUT << "}" << std::endl;
8836 }
print_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo * obj,const std::string & s,bool commaNeeded=true)8837 static void print_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8838      PRINT_SPACE
8839      _OUT << "{" << std::endl;
8840      INDENT(4);
8841 
8842      print_VkStructureType(obj->sType, "sType", 1);
8843 
8844       if (obj->pNext) {
8845          dumpPNextChain(obj->pNext);
8846       } else {
8847          PRINT_SPACE
8848          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8849      }
8850 
8851      print_VkQueryPoolCreateFlags(obj->flags, "flags", 1);
8852 
8853      print_VkQueryType(obj->queryType, "queryType", 1);
8854 
8855      print_uint32_t(obj->queryCount, "queryCount", 1);
8856 
8857      print_VkQueryPipelineStatisticFlags(obj->pipelineStatistics, "pipelineStatistics", 0);
8858 
8859      INDENT(-4);
8860      PRINT_SPACE
8861      if (commaNeeded)
8862          _OUT << "}," << std::endl;
8863      else
8864          _OUT << "}" << std::endl;
8865 }
8866 
print_VkBufferCreateInfo(VkBufferCreateInfo obj,const std::string & s,bool commaNeeded=true)8867 static void print_VkBufferCreateInfo(VkBufferCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8868      PRINT_SPACE
8869      _OUT << "{" << std::endl;
8870      INDENT(4);
8871 
8872      print_VkStructureType(obj.sType, "sType", 1);
8873 
8874       if (obj.pNext) {
8875          dumpPNextChain(obj.pNext);
8876       } else {
8877          PRINT_SPACE
8878          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8879      }
8880 
8881      print_VkBufferCreateFlags(obj.flags, "flags", 1);
8882 
8883      print_VkDeviceSize(obj.size, "size", 1);
8884 
8885      print_VkBufferUsageFlags(obj.usage, "usage", 1);
8886 
8887      print_VkSharingMode(obj.sharingMode, "sharingMode", 1);
8888 
8889      print_uint32_t(obj.queueFamilyIndexCount, "queueFamilyIndexCount", 1);
8890 
8891      PRINT_SPACE
8892      _OUT << "\"pQueueFamilyIndices\":" << std::endl;
8893      PRINT_SPACE
8894      if (obj.pQueueFamilyIndices) {
8895        _OUT << "[" << std::endl;
8896        for (unsigned int i = 0; i < obj.queueFamilyIndexCount; i++) {
8897            bool isCommaNeeded = (i+1) != obj.queueFamilyIndexCount;
8898            print_uint32_t(obj.pQueueFamilyIndices[i], "", isCommaNeeded);
8899        }
8900        PRINT_SPACE
8901        _OUT << "]" << "" << std::endl;
8902      } else {
8903        _OUT << "\"NULL\"" << "" << std::endl;
8904      }
8905 
8906      INDENT(-4);
8907      PRINT_SPACE
8908      if (commaNeeded)
8909          _OUT << "}," << std::endl;
8910      else
8911          _OUT << "}" << std::endl;
8912 }
print_VkBufferCreateInfo(const VkBufferCreateInfo * obj,const std::string & s,bool commaNeeded=true)8913 static void print_VkBufferCreateInfo(const VkBufferCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8914      PRINT_SPACE
8915      _OUT << "{" << std::endl;
8916      INDENT(4);
8917 
8918      print_VkStructureType(obj->sType, "sType", 1);
8919 
8920       if (obj->pNext) {
8921          dumpPNextChain(obj->pNext);
8922       } else {
8923          PRINT_SPACE
8924          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8925      }
8926 
8927      print_VkBufferCreateFlags(obj->flags, "flags", 1);
8928 
8929      print_VkDeviceSize(obj->size, "size", 1);
8930 
8931      print_VkBufferUsageFlags(obj->usage, "usage", 1);
8932 
8933      print_VkSharingMode(obj->sharingMode, "sharingMode", 1);
8934 
8935      print_uint32_t(obj->queueFamilyIndexCount, "queueFamilyIndexCount", 1);
8936 
8937      PRINT_SPACE
8938      _OUT << "\"pQueueFamilyIndices\":" << std::endl;
8939      PRINT_SPACE
8940      if (obj->pQueueFamilyIndices) {
8941        _OUT << "[" << std::endl;
8942        for (unsigned int i = 0; i < obj->queueFamilyIndexCount; i++) {
8943            bool isCommaNeeded = (i+1) != obj->queueFamilyIndexCount;
8944            print_uint32_t(obj->pQueueFamilyIndices[i], "", isCommaNeeded);
8945        }
8946        PRINT_SPACE
8947        _OUT << "]" << "" << std::endl;
8948      } else {
8949        _OUT << "\"NULL\"" << "" << std::endl;
8950      }
8951 
8952      INDENT(-4);
8953      PRINT_SPACE
8954      if (commaNeeded)
8955          _OUT << "}," << std::endl;
8956      else
8957          _OUT << "}" << std::endl;
8958 }
8959 
print_VkBufferViewCreateInfo(VkBufferViewCreateInfo obj,const std::string & s,bool commaNeeded=true)8960 static void print_VkBufferViewCreateInfo(VkBufferViewCreateInfo obj, const std::string& s, bool commaNeeded=true) {
8961      PRINT_SPACE
8962      _OUT << "{" << std::endl;
8963      INDENT(4);
8964 
8965      print_VkStructureType(obj.sType, "sType", 1);
8966 
8967       if (obj.pNext) {
8968          dumpPNextChain(obj.pNext);
8969       } else {
8970          PRINT_SPACE
8971          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
8972      }
8973 
8974      print_VkBufferViewCreateFlags(obj.flags, "flags", 1);
8975 
8976      // CTS : required value
8977      PRINT_SPACE    _OUT << "\"" << "buffer" << "\"" << " : " << "\"" << "\"," << std::endl;
8978 
8979      print_VkFormat(obj.format, "format", 1);
8980 
8981      print_VkDeviceSize(obj.offset, "offset", 1);
8982 
8983      print_VkDeviceSize(obj.range, "range", 0);
8984 
8985      INDENT(-4);
8986      PRINT_SPACE
8987      if (commaNeeded)
8988          _OUT << "}," << std::endl;
8989      else
8990          _OUT << "}" << std::endl;
8991 }
print_VkBufferViewCreateInfo(const VkBufferViewCreateInfo * obj,const std::string & s,bool commaNeeded=true)8992 static void print_VkBufferViewCreateInfo(const VkBufferViewCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
8993      PRINT_SPACE
8994      _OUT << "{" << std::endl;
8995      INDENT(4);
8996 
8997      print_VkStructureType(obj->sType, "sType", 1);
8998 
8999       if (obj->pNext) {
9000          dumpPNextChain(obj->pNext);
9001       } else {
9002          PRINT_SPACE
9003          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9004      }
9005 
9006      print_VkBufferViewCreateFlags(obj->flags, "flags", 1);
9007 
9008      // CTS : required value
9009      PRINT_SPACE    _OUT << "\"" << "buffer" << "\"" << " : " << "\"" << "\"," << std::endl;
9010 
9011      print_VkFormat(obj->format, "format", 1);
9012 
9013      print_VkDeviceSize(obj->offset, "offset", 1);
9014 
9015      print_VkDeviceSize(obj->range, "range", 0);
9016 
9017      INDENT(-4);
9018      PRINT_SPACE
9019      if (commaNeeded)
9020          _OUT << "}," << std::endl;
9021      else
9022          _OUT << "}" << std::endl;
9023 }
9024 
print_VkImageCreateInfo(VkImageCreateInfo obj,const std::string & s,bool commaNeeded=true)9025 static void print_VkImageCreateInfo(VkImageCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9026      PRINT_SPACE
9027      _OUT << "{" << std::endl;
9028      INDENT(4);
9029 
9030      print_VkStructureType(obj.sType, "sType", 1);
9031 
9032       if (obj.pNext) {
9033          dumpPNextChain(obj.pNext);
9034       } else {
9035          PRINT_SPACE
9036          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9037      }
9038 
9039      print_VkImageCreateFlags(obj.flags, "flags", 1);
9040 
9041      print_VkImageType(obj.imageType, "imageType", 1);
9042 
9043      print_VkFormat(obj.format, "format", 1);
9044 
9045      PRINT_SPACE
9046      _OUT << "\"extent\": " << std::endl;
9047      {
9048            print_VkExtent3D(obj.extent, "extent", 1);
9049      }
9050 
9051      print_uint32_t(obj.mipLevels, "mipLevels", 1);
9052 
9053      print_uint32_t(obj.arrayLayers, "arrayLayers", 1);
9054 
9055      print_VkSampleCountFlagBits(obj.samples, "samples", 1);
9056 
9057      print_VkImageTiling(obj.tiling, "tiling", 1);
9058 
9059      print_VkImageUsageFlags(obj.usage, "usage", 1);
9060 
9061      print_VkSharingMode(obj.sharingMode, "sharingMode", 1);
9062 
9063      print_uint32_t(obj.queueFamilyIndexCount, "queueFamilyIndexCount", 1);
9064 
9065      PRINT_SPACE
9066      _OUT << "\"pQueueFamilyIndices\":" << std::endl;
9067      PRINT_SPACE
9068      if (obj.pQueueFamilyIndices) {
9069        _OUT << "[" << std::endl;
9070        for (unsigned int i = 0; i < obj.queueFamilyIndexCount; i++) {
9071            bool isCommaNeeded = (i+1) != obj.queueFamilyIndexCount;
9072            print_uint32_t(obj.pQueueFamilyIndices[i], "", isCommaNeeded);
9073        }
9074        PRINT_SPACE
9075        _OUT << "]" << "," << std::endl;
9076      } else {
9077        _OUT << "\"NULL\"" << "," << std::endl;
9078      }
9079 
9080      print_VkImageLayout(obj.initialLayout, "initialLayout", 0);
9081 
9082      INDENT(-4);
9083      PRINT_SPACE
9084      if (commaNeeded)
9085          _OUT << "}," << std::endl;
9086      else
9087          _OUT << "}" << std::endl;
9088 }
print_VkImageCreateInfo(const VkImageCreateInfo * obj,const std::string & s,bool commaNeeded=true)9089 static void print_VkImageCreateInfo(const VkImageCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9090      PRINT_SPACE
9091      _OUT << "{" << std::endl;
9092      INDENT(4);
9093 
9094      print_VkStructureType(obj->sType, "sType", 1);
9095 
9096       if (obj->pNext) {
9097          dumpPNextChain(obj->pNext);
9098       } else {
9099          PRINT_SPACE
9100          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9101      }
9102 
9103      print_VkImageCreateFlags(obj->flags, "flags", 1);
9104 
9105      print_VkImageType(obj->imageType, "imageType", 1);
9106 
9107      print_VkFormat(obj->format, "format", 1);
9108 
9109      PRINT_SPACE
9110      _OUT << "\"extent\": " << std::endl;
9111      {
9112            print_VkExtent3D(obj->extent, "extent", 1);
9113      }
9114 
9115      print_uint32_t(obj->mipLevels, "mipLevels", 1);
9116 
9117      print_uint32_t(obj->arrayLayers, "arrayLayers", 1);
9118 
9119      print_VkSampleCountFlagBits(obj->samples, "samples", 1);
9120 
9121      print_VkImageTiling(obj->tiling, "tiling", 1);
9122 
9123      print_VkImageUsageFlags(obj->usage, "usage", 1);
9124 
9125      print_VkSharingMode(obj->sharingMode, "sharingMode", 1);
9126 
9127      print_uint32_t(obj->queueFamilyIndexCount, "queueFamilyIndexCount", 1);
9128 
9129      PRINT_SPACE
9130      _OUT << "\"pQueueFamilyIndices\":" << std::endl;
9131      PRINT_SPACE
9132      if (obj->pQueueFamilyIndices) {
9133        _OUT << "[" << std::endl;
9134        for (unsigned int i = 0; i < obj->queueFamilyIndexCount; i++) {
9135            bool isCommaNeeded = (i+1) != obj->queueFamilyIndexCount;
9136            print_uint32_t(obj->pQueueFamilyIndices[i], "", isCommaNeeded);
9137        }
9138        PRINT_SPACE
9139        _OUT << "]" << "," << std::endl;
9140      } else {
9141        _OUT << "\"NULL\"" << "," << std::endl;
9142      }
9143 
9144      print_VkImageLayout(obj->initialLayout, "initialLayout", 0);
9145 
9146      INDENT(-4);
9147      PRINT_SPACE
9148      if (commaNeeded)
9149          _OUT << "}," << std::endl;
9150      else
9151          _OUT << "}" << std::endl;
9152 }
9153 
print_VkSubresourceLayout(VkSubresourceLayout obj,const std::string & s,bool commaNeeded=true)9154 static void print_VkSubresourceLayout(VkSubresourceLayout obj, const std::string& s, bool commaNeeded=true) {
9155      PRINT_SPACE
9156      _OUT << "{" << std::endl;
9157      INDENT(4);
9158 
9159      print_VkDeviceSize(obj.offset, "offset", 1);
9160 
9161      print_VkDeviceSize(obj.size, "size", 1);
9162 
9163      print_VkDeviceSize(obj.rowPitch, "rowPitch", 1);
9164 
9165      print_VkDeviceSize(obj.arrayPitch, "arrayPitch", 1);
9166 
9167      print_VkDeviceSize(obj.depthPitch, "depthPitch", 0);
9168 
9169      INDENT(-4);
9170      PRINT_SPACE
9171      if (commaNeeded)
9172          _OUT << "}," << std::endl;
9173      else
9174          _OUT << "}" << std::endl;
9175 }
print_VkSubresourceLayout(const VkSubresourceLayout * obj,const std::string & s,bool commaNeeded=true)9176 static void print_VkSubresourceLayout(const VkSubresourceLayout * obj, const std::string& s, bool commaNeeded=true) {
9177      PRINT_SPACE
9178      _OUT << "{" << std::endl;
9179      INDENT(4);
9180 
9181      print_VkDeviceSize(obj->offset, "offset", 1);
9182 
9183      print_VkDeviceSize(obj->size, "size", 1);
9184 
9185      print_VkDeviceSize(obj->rowPitch, "rowPitch", 1);
9186 
9187      print_VkDeviceSize(obj->arrayPitch, "arrayPitch", 1);
9188 
9189      print_VkDeviceSize(obj->depthPitch, "depthPitch", 0);
9190 
9191      INDENT(-4);
9192      PRINT_SPACE
9193      if (commaNeeded)
9194          _OUT << "}," << std::endl;
9195      else
9196          _OUT << "}" << std::endl;
9197 }
9198 
print_VkComponentMapping(VkComponentMapping obj,const std::string & s,bool commaNeeded=true)9199 static void print_VkComponentMapping(VkComponentMapping obj, const std::string& s, bool commaNeeded=true) {
9200      PRINT_SPACE
9201      _OUT << "{" << std::endl;
9202      INDENT(4);
9203 
9204      print_VkComponentSwizzle(obj.r, "r", 1);
9205 
9206      print_VkComponentSwizzle(obj.g, "g", 1);
9207 
9208      print_VkComponentSwizzle(obj.b, "b", 1);
9209 
9210      print_VkComponentSwizzle(obj.a, "a", 0);
9211 
9212      INDENT(-4);
9213      PRINT_SPACE
9214      if (commaNeeded)
9215          _OUT << "}," << std::endl;
9216      else
9217          _OUT << "}" << std::endl;
9218 }
print_VkComponentMapping(const VkComponentMapping * obj,const std::string & s,bool commaNeeded=true)9219 static void print_VkComponentMapping(const VkComponentMapping * obj, const std::string& s, bool commaNeeded=true) {
9220      PRINT_SPACE
9221      _OUT << "{" << std::endl;
9222      INDENT(4);
9223 
9224      print_VkComponentSwizzle(obj->r, "r", 1);
9225 
9226      print_VkComponentSwizzle(obj->g, "g", 1);
9227 
9228      print_VkComponentSwizzle(obj->b, "b", 1);
9229 
9230      print_VkComponentSwizzle(obj->a, "a", 0);
9231 
9232      INDENT(-4);
9233      PRINT_SPACE
9234      if (commaNeeded)
9235          _OUT << "}," << std::endl;
9236      else
9237          _OUT << "}" << std::endl;
9238 }
9239 
print_VkImageViewCreateInfo(VkImageViewCreateInfo obj,const std::string & s,bool commaNeeded=true)9240 static void print_VkImageViewCreateInfo(VkImageViewCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9241      PRINT_SPACE
9242      _OUT << "{" << std::endl;
9243      INDENT(4);
9244 
9245      print_VkStructureType(obj.sType, "sType", 1);
9246 
9247       if (obj.pNext) {
9248          dumpPNextChain(obj.pNext);
9249       } else {
9250          PRINT_SPACE
9251          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9252      }
9253 
9254      print_VkImageViewCreateFlags(obj.flags, "flags", 1);
9255 
9256      // CTS : required value
9257      PRINT_SPACE    _OUT << "\"" << "image" << "\"" << " : " << "\"" << "\"," << std::endl;
9258 
9259      print_VkImageViewType(obj.viewType, "viewType", 1);
9260 
9261      print_VkFormat(obj.format, "format", 1);
9262 
9263      PRINT_SPACE
9264      _OUT << "\"components\": " << std::endl;
9265      {
9266            print_VkComponentMapping(obj.components, "components", 1);
9267      }
9268 
9269      PRINT_SPACE
9270      _OUT << "\"subresourceRange\": " << std::endl;
9271      {
9272            print_VkImageSubresourceRange(obj.subresourceRange, "subresourceRange", 0);
9273      }
9274 
9275      INDENT(-4);
9276      PRINT_SPACE
9277      if (commaNeeded)
9278          _OUT << "}," << std::endl;
9279      else
9280          _OUT << "}" << std::endl;
9281 }
print_VkImageViewCreateInfo(const VkImageViewCreateInfo * obj,const std::string & s,bool commaNeeded=true)9282 static void print_VkImageViewCreateInfo(const VkImageViewCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9283      PRINT_SPACE
9284      _OUT << "{" << std::endl;
9285      INDENT(4);
9286 
9287      print_VkStructureType(obj->sType, "sType", 1);
9288 
9289       if (obj->pNext) {
9290          dumpPNextChain(obj->pNext);
9291       } else {
9292          PRINT_SPACE
9293          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9294      }
9295 
9296      print_VkImageViewCreateFlags(obj->flags, "flags", 1);
9297 
9298      // CTS : required value
9299      PRINT_SPACE    _OUT << "\"" << "image" << "\"" << " : " << "\"" << "\"," << std::endl;
9300 
9301      print_VkImageViewType(obj->viewType, "viewType", 1);
9302 
9303      print_VkFormat(obj->format, "format", 1);
9304 
9305      PRINT_SPACE
9306      _OUT << "\"components\": " << std::endl;
9307      {
9308            print_VkComponentMapping(obj->components, "components", 1);
9309      }
9310 
9311      PRINT_SPACE
9312      _OUT << "\"subresourceRange\": " << std::endl;
9313      {
9314            print_VkImageSubresourceRange(obj->subresourceRange, "subresourceRange", 0);
9315      }
9316 
9317      INDENT(-4);
9318      PRINT_SPACE
9319      if (commaNeeded)
9320          _OUT << "}," << std::endl;
9321      else
9322          _OUT << "}" << std::endl;
9323 }
9324 
print_VkPipelineCacheCreateInfo(VkPipelineCacheCreateInfo obj,const std::string & s,bool commaNeeded=true)9325 static void print_VkPipelineCacheCreateInfo(VkPipelineCacheCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9326      PRINT_SPACE
9327      _OUT << "{" << std::endl;
9328      INDENT(4);
9329 
9330      print_VkStructureType(obj.sType, "sType", 1);
9331 
9332       if (obj.pNext) {
9333          dumpPNextChain(obj.pNext);
9334       } else {
9335          PRINT_SPACE
9336          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9337      }
9338 
9339      print_VkPipelineCacheCreateFlags(obj.flags, "flags", 1);
9340 
9341      print_size_t(obj.initialDataSize, "initialDataSize", 1);
9342 
9343      print_void_data(obj.pInitialData, int(obj.initialDataSize), "pInitialData", 0);
9344 
9345      INDENT(-4);
9346      PRINT_SPACE
9347      if (commaNeeded)
9348          _OUT << "}," << std::endl;
9349      else
9350          _OUT << "}" << std::endl;
9351 }
print_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo * obj,const std::string & s,bool commaNeeded=true)9352 static void print_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9353      PRINT_SPACE
9354      _OUT << "{" << std::endl;
9355      INDENT(4);
9356 
9357      print_VkStructureType(obj->sType, "sType", 1);
9358 
9359       if (obj->pNext) {
9360          dumpPNextChain(obj->pNext);
9361       } else {
9362          PRINT_SPACE
9363          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9364      }
9365 
9366      print_VkPipelineCacheCreateFlags(obj->flags, "flags", 1);
9367 
9368      print_size_t(obj->initialDataSize, "initialDataSize", 1);
9369 
9370      print_void_data(obj->pInitialData, int(obj->initialDataSize), "pInitialData", 0);
9371 
9372      INDENT(-4);
9373      PRINT_SPACE
9374      if (commaNeeded)
9375          _OUT << "}," << std::endl;
9376      else
9377          _OUT << "}" << std::endl;
9378 }
9379 
print_VkSpecializationMapEntry(VkSpecializationMapEntry obj,const std::string & s,bool commaNeeded=true)9380 static void print_VkSpecializationMapEntry(VkSpecializationMapEntry obj, const std::string& s, bool commaNeeded=true) {
9381      PRINT_SPACE
9382      _OUT << "{" << std::endl;
9383      INDENT(4);
9384 
9385      print_uint32_t(obj.constantID, "constantID", 1);
9386 
9387      print_uint32_t(obj.offset, "offset", 1);
9388 
9389      print_size_t(obj.size, "size", 0);
9390 
9391      INDENT(-4);
9392      PRINT_SPACE
9393      if (commaNeeded)
9394          _OUT << "}," << std::endl;
9395      else
9396          _OUT << "}" << std::endl;
9397 }
print_VkSpecializationMapEntry(const VkSpecializationMapEntry * obj,const std::string & s,bool commaNeeded=true)9398 static void print_VkSpecializationMapEntry(const VkSpecializationMapEntry * obj, const std::string& s, bool commaNeeded=true) {
9399      PRINT_SPACE
9400      _OUT << "{" << std::endl;
9401      INDENT(4);
9402 
9403      print_uint32_t(obj->constantID, "constantID", 1);
9404 
9405      print_uint32_t(obj->offset, "offset", 1);
9406 
9407      print_size_t(obj->size, "size", 0);
9408 
9409      INDENT(-4);
9410      PRINT_SPACE
9411      if (commaNeeded)
9412          _OUT << "}," << std::endl;
9413      else
9414          _OUT << "}" << std::endl;
9415 }
9416 
print_VkSpecializationInfo(VkSpecializationInfo obj,const std::string & s,bool commaNeeded=true)9417 static void print_VkSpecializationInfo(VkSpecializationInfo obj, const std::string& s, bool commaNeeded=true) {
9418      PRINT_SPACE
9419      _OUT << "{" << std::endl;
9420      INDENT(4);
9421 
9422      print_uint32_t(obj.mapEntryCount, "mapEntryCount", 1);
9423 
9424      PRINT_SPACE
9425      _OUT << "\"pMapEntries\": " << std::endl;
9426      if (obj.pMapEntries) {
9427          PRINT_SPACE
9428          _OUT << "[" << std::endl;
9429          for (unsigned int i = 0; i < obj.mapEntryCount; i++) {
9430            if (i+1 == obj.mapEntryCount)
9431                print_VkSpecializationMapEntry(obj.pMapEntries[i], "pMapEntries", 0);
9432            else
9433                print_VkSpecializationMapEntry(obj.pMapEntries[i], "pMapEntries", 1);
9434          }
9435          PRINT_SPACE
9436          _OUT << "]," << std::endl;
9437     }
9438      else
9439      {
9440          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
9441      }
9442 
9443      print_size_t(obj.dataSize, "dataSize", 1);
9444 
9445      print_void_data(obj.pData, int(obj.dataSize), "pData", 0);
9446 
9447      INDENT(-4);
9448      PRINT_SPACE
9449      if (commaNeeded)
9450          _OUT << "}," << std::endl;
9451      else
9452          _OUT << "}" << std::endl;
9453 }
print_VkSpecializationInfo(const VkSpecializationInfo * obj,const std::string & s,bool commaNeeded=true)9454 static void print_VkSpecializationInfo(const VkSpecializationInfo * obj, const std::string& s, bool commaNeeded=true) {
9455      PRINT_SPACE
9456      _OUT << "{" << std::endl;
9457      INDENT(4);
9458 
9459      print_uint32_t(obj->mapEntryCount, "mapEntryCount", 1);
9460 
9461      PRINT_SPACE
9462      _OUT << "\"pMapEntries\": " << std::endl;
9463      if (obj->pMapEntries) {
9464          PRINT_SPACE
9465          _OUT << "[" << std::endl;
9466          for (unsigned int i = 0; i < obj->mapEntryCount; i++) {
9467            if (i+1 == obj->mapEntryCount)
9468                print_VkSpecializationMapEntry(obj->pMapEntries[i], "pMapEntries", 0);
9469            else
9470                print_VkSpecializationMapEntry(obj->pMapEntries[i], "pMapEntries", 1);
9471          }
9472          PRINT_SPACE
9473          _OUT << "]," << std::endl;
9474     }
9475      else
9476      {
9477          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
9478      }
9479 
9480      print_size_t(obj->dataSize, "dataSize", 1);
9481 
9482      print_void_data(obj->pData, int(obj->dataSize), "pData", 0);
9483 
9484      INDENT(-4);
9485      PRINT_SPACE
9486      if (commaNeeded)
9487          _OUT << "}," << std::endl;
9488      else
9489          _OUT << "}" << std::endl;
9490 }
9491 
print_VkPipelineShaderStageCreateInfo(VkPipelineShaderStageCreateInfo obj,const std::string & s,bool commaNeeded=true)9492 static void print_VkPipelineShaderStageCreateInfo(VkPipelineShaderStageCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9493      PRINT_SPACE
9494      _OUT << "{" << std::endl;
9495      INDENT(4);
9496 
9497      print_VkStructureType(obj.sType, "sType", 1);
9498 
9499       if (obj.pNext) {
9500          dumpPNextChain(obj.pNext);
9501       } else {
9502          PRINT_SPACE
9503          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9504      }
9505 
9506      print_VkPipelineShaderStageCreateFlags(obj.flags, "flags", 1);
9507 
9508      print_VkShaderStageFlagBits(obj.stage, "stage", 1);
9509 
9510      // CTS : required value
9511      PRINT_SPACE    _OUT << "\"" << "module" << "\"" << " : " << obj.module.getInternal() << "," << std::endl;
9512 
9513      print_char(obj.pName, "pName", 1);
9514 
9515      PRINT_SPACE
9516      _OUT << "\"pSpecializationInfo\": " << std::endl;
9517      if (obj.pSpecializationInfo) {
9518            print_VkSpecializationInfo(obj.pSpecializationInfo, "pSpecializationInfo", 0);
9519      }
9520      else
9521      {
9522          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
9523      }
9524 
9525      INDENT(-4);
9526      PRINT_SPACE
9527      if (commaNeeded)
9528          _OUT << "}," << std::endl;
9529      else
9530          _OUT << "}" << std::endl;
9531 }
print_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo * obj,const std::string & s,bool commaNeeded=true)9532 static void print_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9533      PRINT_SPACE
9534      _OUT << "{" << std::endl;
9535      INDENT(4);
9536 
9537      print_VkStructureType(obj->sType, "sType", 1);
9538 
9539       if (obj->pNext) {
9540          dumpPNextChain(obj->pNext);
9541       } else {
9542          PRINT_SPACE
9543          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9544      }
9545 
9546      print_VkPipelineShaderStageCreateFlags(obj->flags, "flags", 1);
9547 
9548      print_VkShaderStageFlagBits(obj->stage, "stage", 1);
9549 
9550      // CTS : required value
9551      PRINT_SPACE    _OUT << "\"" << "module" << "\"" << " : " << obj->module.getInternal() << "," << std::endl;
9552 
9553      print_char(obj->pName, "pName", 1);
9554 
9555      PRINT_SPACE
9556      _OUT << "\"pSpecializationInfo\": " << std::endl;
9557      if (obj->pSpecializationInfo) {
9558            print_VkSpecializationInfo(obj->pSpecializationInfo, "pSpecializationInfo", 0);
9559      }
9560      else
9561      {
9562          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
9563      }
9564 
9565      INDENT(-4);
9566      PRINT_SPACE
9567      if (commaNeeded)
9568          _OUT << "}," << std::endl;
9569      else
9570          _OUT << "}" << std::endl;
9571 }
9572 
print_VkComputePipelineCreateInfo(VkComputePipelineCreateInfo obj,const std::string & s,bool commaNeeded=true)9573 static void print_VkComputePipelineCreateInfo(VkComputePipelineCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9574      PRINT_SPACE
9575      _OUT << "{" << std::endl;
9576      INDENT(4);
9577 
9578      print_VkStructureType(obj.sType, "sType", 1);
9579 
9580       if (obj.pNext) {
9581          dumpPNextChain(obj.pNext);
9582       } else {
9583          PRINT_SPACE
9584          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9585      }
9586 
9587      print_VkPipelineCreateFlags(obj.flags, "flags", 1);
9588 
9589      PRINT_SPACE
9590      _OUT << "\"stage\": " << std::endl;
9591      {
9592            print_VkPipelineShaderStageCreateInfo(obj.stage, "stage", 1);
9593      }
9594 
9595      // CTS : required value
9596      PRINT_SPACE    _OUT << "\"" << "layout" << "\"" << " : " << obj.layout.getInternal() << "," << std::endl;
9597 
9598      // CTS : required value
9599      PRINT_SPACE    _OUT << "\"" << "basePipelineHandle" << "\"" << " : " << "\"" << "\"," << std::endl;
9600 
9601      print_int32_t(obj.basePipelineIndex, "basePipelineIndex", 0);
9602 
9603      INDENT(-4);
9604      PRINT_SPACE
9605      if (commaNeeded)
9606          _OUT << "}," << std::endl;
9607      else
9608          _OUT << "}" << std::endl;
9609 }
print_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo * obj,const std::string & s,bool commaNeeded=true)9610 static void print_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9611      PRINT_SPACE
9612      _OUT << "{" << std::endl;
9613      INDENT(4);
9614 
9615      print_VkStructureType(obj->sType, "sType", 1);
9616 
9617       if (obj->pNext) {
9618          dumpPNextChain(obj->pNext);
9619       } else {
9620          PRINT_SPACE
9621          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9622      }
9623 
9624      print_VkPipelineCreateFlags(obj->flags, "flags", 1);
9625 
9626      PRINT_SPACE
9627      _OUT << "\"stage\": " << std::endl;
9628      {
9629            print_VkPipelineShaderStageCreateInfo(obj->stage, "stage", 1);
9630      }
9631 
9632      // CTS : required value
9633      PRINT_SPACE    _OUT << "\"" << "layout" << "\"" << " : " << obj->layout.getInternal() << "," << std::endl;
9634 
9635      // CTS : required value
9636      PRINT_SPACE    _OUT << "\"" << "basePipelineHandle" << "\"" << " : " << "\"" << "\"," << std::endl;
9637 
9638      print_int32_t(obj->basePipelineIndex, "basePipelineIndex", 0);
9639 
9640      INDENT(-4);
9641      PRINT_SPACE
9642      if (commaNeeded)
9643          _OUT << "}," << std::endl;
9644      else
9645          _OUT << "}" << std::endl;
9646 }
9647 
print_VkVertexInputBindingDescription(VkVertexInputBindingDescription obj,const std::string & s,bool commaNeeded=true)9648 static void print_VkVertexInputBindingDescription(VkVertexInputBindingDescription obj, const std::string& s, bool commaNeeded=true) {
9649      PRINT_SPACE
9650      _OUT << "{" << std::endl;
9651      INDENT(4);
9652 
9653      print_uint32_t(obj.binding, "binding", 1);
9654 
9655      print_uint32_t(obj.stride, "stride", 1);
9656 
9657      print_VkVertexInputRate(obj.inputRate, "inputRate", 0);
9658 
9659      INDENT(-4);
9660      PRINT_SPACE
9661      if (commaNeeded)
9662          _OUT << "}," << std::endl;
9663      else
9664          _OUT << "}" << std::endl;
9665 }
print_VkVertexInputBindingDescription(const VkVertexInputBindingDescription * obj,const std::string & s,bool commaNeeded=true)9666 static void print_VkVertexInputBindingDescription(const VkVertexInputBindingDescription * obj, const std::string& s, bool commaNeeded=true) {
9667      PRINT_SPACE
9668      _OUT << "{" << std::endl;
9669      INDENT(4);
9670 
9671      print_uint32_t(obj->binding, "binding", 1);
9672 
9673      print_uint32_t(obj->stride, "stride", 1);
9674 
9675      print_VkVertexInputRate(obj->inputRate, "inputRate", 0);
9676 
9677      INDENT(-4);
9678      PRINT_SPACE
9679      if (commaNeeded)
9680          _OUT << "}," << std::endl;
9681      else
9682          _OUT << "}" << std::endl;
9683 }
9684 
print_VkVertexInputAttributeDescription(VkVertexInputAttributeDescription obj,const std::string & s,bool commaNeeded=true)9685 static void print_VkVertexInputAttributeDescription(VkVertexInputAttributeDescription obj, const std::string& s, bool commaNeeded=true) {
9686      PRINT_SPACE
9687      _OUT << "{" << std::endl;
9688      INDENT(4);
9689 
9690      print_uint32_t(obj.location, "location", 1);
9691 
9692      print_uint32_t(obj.binding, "binding", 1);
9693 
9694      print_VkFormat(obj.format, "format", 1);
9695 
9696      print_uint32_t(obj.offset, "offset", 0);
9697 
9698      INDENT(-4);
9699      PRINT_SPACE
9700      if (commaNeeded)
9701          _OUT << "}," << std::endl;
9702      else
9703          _OUT << "}" << std::endl;
9704 }
print_VkVertexInputAttributeDescription(const VkVertexInputAttributeDescription * obj,const std::string & s,bool commaNeeded=true)9705 static void print_VkVertexInputAttributeDescription(const VkVertexInputAttributeDescription * obj, const std::string& s, bool commaNeeded=true) {
9706      PRINT_SPACE
9707      _OUT << "{" << std::endl;
9708      INDENT(4);
9709 
9710      print_uint32_t(obj->location, "location", 1);
9711 
9712      print_uint32_t(obj->binding, "binding", 1);
9713 
9714      print_VkFormat(obj->format, "format", 1);
9715 
9716      print_uint32_t(obj->offset, "offset", 0);
9717 
9718      INDENT(-4);
9719      PRINT_SPACE
9720      if (commaNeeded)
9721          _OUT << "}," << std::endl;
9722      else
9723          _OUT << "}" << std::endl;
9724 }
9725 
print_VkPipelineVertexInputStateCreateInfo(VkPipelineVertexInputStateCreateInfo obj,const std::string & s,bool commaNeeded=true)9726 static void print_VkPipelineVertexInputStateCreateInfo(VkPipelineVertexInputStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9727      PRINT_SPACE
9728      _OUT << "{" << std::endl;
9729      INDENT(4);
9730 
9731      print_VkStructureType(obj.sType, "sType", 1);
9732 
9733       if (obj.pNext) {
9734          dumpPNextChain(obj.pNext);
9735       } else {
9736          PRINT_SPACE
9737          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9738      }
9739 
9740      print_VkPipelineVertexInputStateCreateFlags(obj.flags, "flags", 1);
9741 
9742      print_uint32_t(obj.vertexBindingDescriptionCount, "vertexBindingDescriptionCount", 1);
9743 
9744      PRINT_SPACE
9745      _OUT << "\"pVertexBindingDescriptions\": " << std::endl;
9746      if (obj.pVertexBindingDescriptions) {
9747          PRINT_SPACE
9748          _OUT << "[" << std::endl;
9749          for (unsigned int i = 0; i < obj.vertexBindingDescriptionCount; i++) {
9750            if (i+1 == obj.vertexBindingDescriptionCount)
9751                print_VkVertexInputBindingDescription(obj.pVertexBindingDescriptions[i], "pVertexBindingDescriptions", 0);
9752            else
9753                print_VkVertexInputBindingDescription(obj.pVertexBindingDescriptions[i], "pVertexBindingDescriptions", 1);
9754          }
9755          PRINT_SPACE
9756          _OUT << "]," << std::endl;
9757     }
9758      else
9759      {
9760          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
9761      }
9762 
9763      print_uint32_t(obj.vertexAttributeDescriptionCount, "vertexAttributeDescriptionCount", 1);
9764 
9765      PRINT_SPACE
9766      _OUT << "\"pVertexAttributeDescriptions\": " << std::endl;
9767      if (obj.pVertexAttributeDescriptions) {
9768          PRINT_SPACE
9769          _OUT << "[" << std::endl;
9770          for (unsigned int i = 0; i < obj.vertexAttributeDescriptionCount; i++) {
9771            if (i+1 == obj.vertexAttributeDescriptionCount)
9772                print_VkVertexInputAttributeDescription(obj.pVertexAttributeDescriptions[i], "pVertexAttributeDescriptions", 0);
9773            else
9774                print_VkVertexInputAttributeDescription(obj.pVertexAttributeDescriptions[i], "pVertexAttributeDescriptions", 1);
9775          }
9776          PRINT_SPACE
9777          _OUT << "]" << std::endl;
9778     }
9779      else
9780      {
9781          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
9782      }
9783 
9784      INDENT(-4);
9785      PRINT_SPACE
9786      if (commaNeeded)
9787          _OUT << "}," << std::endl;
9788      else
9789          _OUT << "}" << std::endl;
9790 }
print_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)9791 static void print_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9792      PRINT_SPACE
9793      _OUT << "{" << std::endl;
9794      INDENT(4);
9795 
9796      print_VkStructureType(obj->sType, "sType", 1);
9797 
9798       if (obj->pNext) {
9799          dumpPNextChain(obj->pNext);
9800       } else {
9801          PRINT_SPACE
9802          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9803      }
9804 
9805      print_VkPipelineVertexInputStateCreateFlags(obj->flags, "flags", 1);
9806 
9807      print_uint32_t(obj->vertexBindingDescriptionCount, "vertexBindingDescriptionCount", 1);
9808 
9809      PRINT_SPACE
9810      _OUT << "\"pVertexBindingDescriptions\": " << std::endl;
9811      if (obj->pVertexBindingDescriptions) {
9812          PRINT_SPACE
9813          _OUT << "[" << std::endl;
9814          for (unsigned int i = 0; i < obj->vertexBindingDescriptionCount; i++) {
9815            if (i+1 == obj->vertexBindingDescriptionCount)
9816                print_VkVertexInputBindingDescription(obj->pVertexBindingDescriptions[i], "pVertexBindingDescriptions", 0);
9817            else
9818                print_VkVertexInputBindingDescription(obj->pVertexBindingDescriptions[i], "pVertexBindingDescriptions", 1);
9819          }
9820          PRINT_SPACE
9821          _OUT << "]," << std::endl;
9822     }
9823      else
9824      {
9825          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
9826      }
9827 
9828      print_uint32_t(obj->vertexAttributeDescriptionCount, "vertexAttributeDescriptionCount", 1);
9829 
9830      PRINT_SPACE
9831      _OUT << "\"pVertexAttributeDescriptions\": " << std::endl;
9832      if (obj->pVertexAttributeDescriptions) {
9833          PRINT_SPACE
9834          _OUT << "[" << std::endl;
9835          for (unsigned int i = 0; i < obj->vertexAttributeDescriptionCount; i++) {
9836            if (i+1 == obj->vertexAttributeDescriptionCount)
9837                print_VkVertexInputAttributeDescription(obj->pVertexAttributeDescriptions[i], "pVertexAttributeDescriptions", 0);
9838            else
9839                print_VkVertexInputAttributeDescription(obj->pVertexAttributeDescriptions[i], "pVertexAttributeDescriptions", 1);
9840          }
9841          PRINT_SPACE
9842          _OUT << "]" << std::endl;
9843     }
9844      else
9845      {
9846          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
9847      }
9848 
9849      INDENT(-4);
9850      PRINT_SPACE
9851      if (commaNeeded)
9852          _OUT << "}," << std::endl;
9853      else
9854          _OUT << "}" << std::endl;
9855 }
9856 
print_VkPipelineInputAssemblyStateCreateInfo(VkPipelineInputAssemblyStateCreateInfo obj,const std::string & s,bool commaNeeded=true)9857 static void print_VkPipelineInputAssemblyStateCreateInfo(VkPipelineInputAssemblyStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9858      PRINT_SPACE
9859      _OUT << "{" << std::endl;
9860      INDENT(4);
9861 
9862      print_VkStructureType(obj.sType, "sType", 1);
9863 
9864       if (obj.pNext) {
9865          dumpPNextChain(obj.pNext);
9866       } else {
9867          PRINT_SPACE
9868          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9869      }
9870 
9871      print_VkPipelineInputAssemblyStateCreateFlags(obj.flags, "flags", 1);
9872 
9873      print_VkPrimitiveTopology(obj.topology, "topology", 1);
9874 
9875      print_VkBool32(obj.primitiveRestartEnable, "primitiveRestartEnable", 0);
9876 
9877      INDENT(-4);
9878      PRINT_SPACE
9879      if (commaNeeded)
9880          _OUT << "}," << std::endl;
9881      else
9882          _OUT << "}" << std::endl;
9883 }
print_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)9884 static void print_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9885      PRINT_SPACE
9886      _OUT << "{" << std::endl;
9887      INDENT(4);
9888 
9889      print_VkStructureType(obj->sType, "sType", 1);
9890 
9891       if (obj->pNext) {
9892          dumpPNextChain(obj->pNext);
9893       } else {
9894          PRINT_SPACE
9895          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9896      }
9897 
9898      print_VkPipelineInputAssemblyStateCreateFlags(obj->flags, "flags", 1);
9899 
9900      print_VkPrimitiveTopology(obj->topology, "topology", 1);
9901 
9902      print_VkBool32(obj->primitiveRestartEnable, "primitiveRestartEnable", 0);
9903 
9904      INDENT(-4);
9905      PRINT_SPACE
9906      if (commaNeeded)
9907          _OUT << "}," << std::endl;
9908      else
9909          _OUT << "}" << std::endl;
9910 }
9911 
print_VkPipelineTessellationStateCreateInfo(VkPipelineTessellationStateCreateInfo obj,const std::string & s,bool commaNeeded=true)9912 static void print_VkPipelineTessellationStateCreateInfo(VkPipelineTessellationStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
9913      PRINT_SPACE
9914      _OUT << "{" << std::endl;
9915      INDENT(4);
9916 
9917      print_VkStructureType(obj.sType, "sType", 1);
9918 
9919       if (obj.pNext) {
9920          dumpPNextChain(obj.pNext);
9921       } else {
9922          PRINT_SPACE
9923          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9924      }
9925 
9926      print_VkPipelineTessellationStateCreateFlags(obj.flags, "flags", 1);
9927 
9928      print_uint32_t(obj.patchControlPoints, "patchControlPoints", 0);
9929 
9930      INDENT(-4);
9931      PRINT_SPACE
9932      if (commaNeeded)
9933          _OUT << "}," << std::endl;
9934      else
9935          _OUT << "}" << std::endl;
9936 }
print_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)9937 static void print_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
9938      PRINT_SPACE
9939      _OUT << "{" << std::endl;
9940      INDENT(4);
9941 
9942      print_VkStructureType(obj->sType, "sType", 1);
9943 
9944       if (obj->pNext) {
9945          dumpPNextChain(obj->pNext);
9946       } else {
9947          PRINT_SPACE
9948          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
9949      }
9950 
9951      print_VkPipelineTessellationStateCreateFlags(obj->flags, "flags", 1);
9952 
9953      print_uint32_t(obj->patchControlPoints, "patchControlPoints", 0);
9954 
9955      INDENT(-4);
9956      PRINT_SPACE
9957      if (commaNeeded)
9958          _OUT << "}," << std::endl;
9959      else
9960          _OUT << "}" << std::endl;
9961 }
9962 
print_VkViewport(VkViewport obj,const std::string & s,bool commaNeeded=true)9963 static void print_VkViewport(VkViewport obj, const std::string& s, bool commaNeeded=true) {
9964      PRINT_SPACE
9965      _OUT << "{" << std::endl;
9966      INDENT(4);
9967 
9968      print_float(obj.x, "x", 1);
9969 
9970      print_float(obj.y, "y", 1);
9971 
9972      print_float(obj.width, "width", 1);
9973 
9974      print_float(obj.height, "height", 1);
9975 
9976      print_float(obj.minDepth, "minDepth", 1);
9977 
9978      print_float(obj.maxDepth, "maxDepth", 0);
9979 
9980      INDENT(-4);
9981      PRINT_SPACE
9982      if (commaNeeded)
9983          _OUT << "}," << std::endl;
9984      else
9985          _OUT << "}" << std::endl;
9986 }
print_VkViewport(const VkViewport * obj,const std::string & s,bool commaNeeded=true)9987 static void print_VkViewport(const VkViewport * obj, const std::string& s, bool commaNeeded=true) {
9988      PRINT_SPACE
9989      _OUT << "{" << std::endl;
9990      INDENT(4);
9991 
9992      print_float(obj->x, "x", 1);
9993 
9994      print_float(obj->y, "y", 1);
9995 
9996      print_float(obj->width, "width", 1);
9997 
9998      print_float(obj->height, "height", 1);
9999 
10000      print_float(obj->minDepth, "minDepth", 1);
10001 
10002      print_float(obj->maxDepth, "maxDepth", 0);
10003 
10004      INDENT(-4);
10005      PRINT_SPACE
10006      if (commaNeeded)
10007          _OUT << "}," << std::endl;
10008      else
10009          _OUT << "}" << std::endl;
10010 }
10011 
print_VkPipelineViewportStateCreateInfo(VkPipelineViewportStateCreateInfo obj,const std::string & s,bool commaNeeded=true)10012 static void print_VkPipelineViewportStateCreateInfo(VkPipelineViewportStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10013      PRINT_SPACE
10014      _OUT << "{" << std::endl;
10015      INDENT(4);
10016 
10017      print_VkStructureType(obj.sType, "sType", 1);
10018 
10019       if (obj.pNext) {
10020          dumpPNextChain(obj.pNext);
10021       } else {
10022          PRINT_SPACE
10023          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10024      }
10025 
10026      print_VkPipelineViewportStateCreateFlags(obj.flags, "flags", 1);
10027 
10028      print_uint32_t(obj.viewportCount, "viewportCount", 1);
10029 
10030      PRINT_SPACE
10031      _OUT << "\"pViewports\": " << std::endl;
10032      if (obj.pViewports) {
10033          PRINT_SPACE
10034          _OUT << "[" << std::endl;
10035          for (unsigned int i = 0; i < obj.viewportCount; i++) {
10036            if (i+1 == obj.viewportCount)
10037                print_VkViewport(obj.pViewports[i], "pViewports", 0);
10038            else
10039                print_VkViewport(obj.pViewports[i], "pViewports", 1);
10040          }
10041          PRINT_SPACE
10042          _OUT << "]," << std::endl;
10043     }
10044      else
10045      {
10046          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10047      }
10048 
10049      print_uint32_t(obj.scissorCount, "scissorCount", 1);
10050 
10051      PRINT_SPACE
10052      _OUT << "\"pScissors\": " << std::endl;
10053      if (obj.pScissors) {
10054          PRINT_SPACE
10055          _OUT << "[" << std::endl;
10056          for (unsigned int i = 0; i < obj.scissorCount; i++) {
10057            if (i+1 == obj.scissorCount)
10058                print_VkRect2D(obj.pScissors[i], "pScissors", 0);
10059            else
10060                print_VkRect2D(obj.pScissors[i], "pScissors", 1);
10061          }
10062          PRINT_SPACE
10063          _OUT << "]" << std::endl;
10064     }
10065      else
10066      {
10067          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
10068      }
10069 
10070      INDENT(-4);
10071      PRINT_SPACE
10072      if (commaNeeded)
10073          _OUT << "}," << std::endl;
10074      else
10075          _OUT << "}" << std::endl;
10076 }
print_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)10077 static void print_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10078      PRINT_SPACE
10079      _OUT << "{" << std::endl;
10080      INDENT(4);
10081 
10082      print_VkStructureType(obj->sType, "sType", 1);
10083 
10084       if (obj->pNext) {
10085          dumpPNextChain(obj->pNext);
10086       } else {
10087          PRINT_SPACE
10088          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10089      }
10090 
10091      print_VkPipelineViewportStateCreateFlags(obj->flags, "flags", 1);
10092 
10093      print_uint32_t(obj->viewportCount, "viewportCount", 1);
10094 
10095      PRINT_SPACE
10096      _OUT << "\"pViewports\": " << std::endl;
10097      if (obj->pViewports) {
10098          PRINT_SPACE
10099          _OUT << "[" << std::endl;
10100          for (unsigned int i = 0; i < obj->viewportCount; i++) {
10101            if (i+1 == obj->viewportCount)
10102                print_VkViewport(obj->pViewports[i], "pViewports", 0);
10103            else
10104                print_VkViewport(obj->pViewports[i], "pViewports", 1);
10105          }
10106          PRINT_SPACE
10107          _OUT << "]," << std::endl;
10108     }
10109      else
10110      {
10111          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10112      }
10113 
10114      print_uint32_t(obj->scissorCount, "scissorCount", 1);
10115 
10116      PRINT_SPACE
10117      _OUT << "\"pScissors\": " << std::endl;
10118      if (obj->pScissors) {
10119          PRINT_SPACE
10120          _OUT << "[" << std::endl;
10121          for (unsigned int i = 0; i < obj->scissorCount; i++) {
10122            if (i+1 == obj->scissorCount)
10123                print_VkRect2D(obj->pScissors[i], "pScissors", 0);
10124            else
10125                print_VkRect2D(obj->pScissors[i], "pScissors", 1);
10126          }
10127          PRINT_SPACE
10128          _OUT << "]" << std::endl;
10129     }
10130      else
10131      {
10132          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
10133      }
10134 
10135      INDENT(-4);
10136      PRINT_SPACE
10137      if (commaNeeded)
10138          _OUT << "}," << std::endl;
10139      else
10140          _OUT << "}" << std::endl;
10141 }
10142 
print_VkPipelineRasterizationStateCreateInfo(VkPipelineRasterizationStateCreateInfo obj,const std::string & s,bool commaNeeded=true)10143 static void print_VkPipelineRasterizationStateCreateInfo(VkPipelineRasterizationStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10144      PRINT_SPACE
10145      _OUT << "{" << std::endl;
10146      INDENT(4);
10147 
10148      print_VkStructureType(obj.sType, "sType", 1);
10149 
10150       if (obj.pNext) {
10151          dumpPNextChain(obj.pNext);
10152       } else {
10153          PRINT_SPACE
10154          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10155      }
10156 
10157      print_VkPipelineRasterizationStateCreateFlags(obj.flags, "flags", 1);
10158 
10159      print_VkBool32(obj.depthClampEnable, "depthClampEnable", 1);
10160 
10161      print_VkBool32(obj.rasterizerDiscardEnable, "rasterizerDiscardEnable", 1);
10162 
10163      print_VkPolygonMode(obj.polygonMode, "polygonMode", 1);
10164 
10165      print_VkCullModeFlags(obj.cullMode, "cullMode", 1);
10166 
10167      print_VkFrontFace(obj.frontFace, "frontFace", 1);
10168 
10169      print_VkBool32(obj.depthBiasEnable, "depthBiasEnable", 1);
10170 
10171      print_float(obj.depthBiasConstantFactor, "depthBiasConstantFactor", 1);
10172 
10173      print_float(obj.depthBiasClamp, "depthBiasClamp", 1);
10174 
10175      print_float(obj.depthBiasSlopeFactor, "depthBiasSlopeFactor", 1);
10176 
10177      print_float(obj.lineWidth, "lineWidth", 0);
10178 
10179      INDENT(-4);
10180      PRINT_SPACE
10181      if (commaNeeded)
10182          _OUT << "}," << std::endl;
10183      else
10184          _OUT << "}" << std::endl;
10185 }
print_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)10186 static void print_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10187      PRINT_SPACE
10188      _OUT << "{" << std::endl;
10189      INDENT(4);
10190 
10191      print_VkStructureType(obj->sType, "sType", 1);
10192 
10193       if (obj->pNext) {
10194          dumpPNextChain(obj->pNext);
10195       } else {
10196          PRINT_SPACE
10197          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10198      }
10199 
10200      print_VkPipelineRasterizationStateCreateFlags(obj->flags, "flags", 1);
10201 
10202      print_VkBool32(obj->depthClampEnable, "depthClampEnable", 1);
10203 
10204      print_VkBool32(obj->rasterizerDiscardEnable, "rasterizerDiscardEnable", 1);
10205 
10206      print_VkPolygonMode(obj->polygonMode, "polygonMode", 1);
10207 
10208      print_VkCullModeFlags(obj->cullMode, "cullMode", 1);
10209 
10210      print_VkFrontFace(obj->frontFace, "frontFace", 1);
10211 
10212      print_VkBool32(obj->depthBiasEnable, "depthBiasEnable", 1);
10213 
10214      print_float(obj->depthBiasConstantFactor, "depthBiasConstantFactor", 1);
10215 
10216      print_float(obj->depthBiasClamp, "depthBiasClamp", 1);
10217 
10218      print_float(obj->depthBiasSlopeFactor, "depthBiasSlopeFactor", 1);
10219 
10220      print_float(obj->lineWidth, "lineWidth", 0);
10221 
10222      INDENT(-4);
10223      PRINT_SPACE
10224      if (commaNeeded)
10225          _OUT << "}," << std::endl;
10226      else
10227          _OUT << "}" << std::endl;
10228 }
10229 
print_VkPipelineMultisampleStateCreateInfo(VkPipelineMultisampleStateCreateInfo obj,const std::string & s,bool commaNeeded=true)10230 static void print_VkPipelineMultisampleStateCreateInfo(VkPipelineMultisampleStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10231      PRINT_SPACE
10232      _OUT << "{" << std::endl;
10233      INDENT(4);
10234 
10235      print_VkStructureType(obj.sType, "sType", 1);
10236 
10237       if (obj.pNext) {
10238          dumpPNextChain(obj.pNext);
10239       } else {
10240          PRINT_SPACE
10241          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10242      }
10243 
10244      print_VkPipelineMultisampleStateCreateFlags(obj.flags, "flags", 1);
10245 
10246      print_VkSampleCountFlagBits(obj.rasterizationSamples, "rasterizationSamples", 1);
10247 
10248      print_VkBool32(obj.sampleShadingEnable, "sampleShadingEnable", 1);
10249 
10250      print_float(obj.minSampleShading, "minSampleShading", 1);
10251 
10252      deUint32 sampleMaskSize = ((obj.rasterizationSamples + 31) / 32);
10253      PRINT_SPACE
10254      _OUT << "\"pSampleMask\":" << std::endl;
10255      PRINT_SPACE
10256      if (obj.pSampleMask) {
10257        _OUT << "[" << std::endl;
10258        for (unsigned int i = 0; i < sampleMaskSize; i++) {
10259            bool isCommaNeeded = (i+1) != sampleMaskSize;
10260            print_uint32_t(obj.pSampleMask[i], "", isCommaNeeded);
10261        }
10262        PRINT_SPACE
10263        _OUT << "]" << "," << std::endl;
10264      } else {
10265        _OUT << "\"NULL\"" << "," << std::endl;
10266      }
10267 
10268      print_VkBool32(obj.alphaToCoverageEnable, "alphaToCoverageEnable", 1);
10269 
10270      print_VkBool32(obj.alphaToOneEnable, "alphaToOneEnable", 0);
10271 
10272      INDENT(-4);
10273      PRINT_SPACE
10274      if (commaNeeded)
10275          _OUT << "}," << std::endl;
10276      else
10277          _OUT << "}" << std::endl;
10278 }
print_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)10279 static void print_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10280      PRINT_SPACE
10281      _OUT << "{" << std::endl;
10282      INDENT(4);
10283 
10284      print_VkStructureType(obj->sType, "sType", 1);
10285 
10286       if (obj->pNext) {
10287          dumpPNextChain(obj->pNext);
10288       } else {
10289          PRINT_SPACE
10290          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10291      }
10292 
10293      print_VkPipelineMultisampleStateCreateFlags(obj->flags, "flags", 1);
10294 
10295      print_VkSampleCountFlagBits(obj->rasterizationSamples, "rasterizationSamples", 1);
10296 
10297      print_VkBool32(obj->sampleShadingEnable, "sampleShadingEnable", 1);
10298 
10299      print_float(obj->minSampleShading, "minSampleShading", 1);
10300 
10301      deUint32 sampleMaskSize = ((obj->rasterizationSamples + 31) / 32);
10302      PRINT_SPACE
10303      _OUT << "\"pSampleMask\":" << std::endl;
10304      PRINT_SPACE
10305      if (obj->pSampleMask) {
10306        _OUT << "[" << std::endl;
10307        for (unsigned int i = 0; i < sampleMaskSize; i++) {
10308            bool isCommaNeeded = (i+1) != sampleMaskSize;
10309            print_uint32_t(obj->pSampleMask[i], "", isCommaNeeded);
10310        }
10311        PRINT_SPACE
10312        _OUT << "]" << "," << std::endl;
10313      } else {
10314        _OUT << "\"NULL\"" << "," << std::endl;
10315      }
10316 
10317      print_VkBool32(obj->alphaToCoverageEnable, "alphaToCoverageEnable", 1);
10318 
10319      print_VkBool32(obj->alphaToOneEnable, "alphaToOneEnable", 0);
10320 
10321      INDENT(-4);
10322      PRINT_SPACE
10323      if (commaNeeded)
10324          _OUT << "}," << std::endl;
10325      else
10326          _OUT << "}" << std::endl;
10327 }
10328 
print_VkStencilOpState(VkStencilOpState obj,const std::string & s,bool commaNeeded=true)10329 static void print_VkStencilOpState(VkStencilOpState obj, const std::string& s, bool commaNeeded=true) {
10330      PRINT_SPACE
10331      _OUT << "{" << std::endl;
10332      INDENT(4);
10333 
10334      print_VkStencilOp(obj.failOp, "failOp", 1);
10335 
10336      print_VkStencilOp(obj.passOp, "passOp", 1);
10337 
10338      print_VkStencilOp(obj.depthFailOp, "depthFailOp", 1);
10339 
10340      print_VkCompareOp(obj.compareOp, "compareOp", 1);
10341 
10342      print_uint32_t(obj.compareMask, "compareMask", 1);
10343 
10344      print_uint32_t(obj.writeMask, "writeMask", 1);
10345 
10346      print_uint32_t(obj.reference, "reference", 0);
10347 
10348      INDENT(-4);
10349      PRINT_SPACE
10350      if (commaNeeded)
10351          _OUT << "}," << std::endl;
10352      else
10353          _OUT << "}" << std::endl;
10354 }
print_VkStencilOpState(const VkStencilOpState * obj,const std::string & s,bool commaNeeded=true)10355 static void print_VkStencilOpState(const VkStencilOpState * obj, const std::string& s, bool commaNeeded=true) {
10356      PRINT_SPACE
10357      _OUT << "{" << std::endl;
10358      INDENT(4);
10359 
10360      print_VkStencilOp(obj->failOp, "failOp", 1);
10361 
10362      print_VkStencilOp(obj->passOp, "passOp", 1);
10363 
10364      print_VkStencilOp(obj->depthFailOp, "depthFailOp", 1);
10365 
10366      print_VkCompareOp(obj->compareOp, "compareOp", 1);
10367 
10368      print_uint32_t(obj->compareMask, "compareMask", 1);
10369 
10370      print_uint32_t(obj->writeMask, "writeMask", 1);
10371 
10372      print_uint32_t(obj->reference, "reference", 0);
10373 
10374      INDENT(-4);
10375      PRINT_SPACE
10376      if (commaNeeded)
10377          _OUT << "}," << std::endl;
10378      else
10379          _OUT << "}" << std::endl;
10380 }
10381 
print_VkPipelineDepthStencilStateCreateInfo(VkPipelineDepthStencilStateCreateInfo obj,const std::string & s,bool commaNeeded=true)10382 static void print_VkPipelineDepthStencilStateCreateInfo(VkPipelineDepthStencilStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10383      PRINT_SPACE
10384      _OUT << "{" << std::endl;
10385      INDENT(4);
10386 
10387      print_VkStructureType(obj.sType, "sType", 1);
10388 
10389       if (obj.pNext) {
10390          dumpPNextChain(obj.pNext);
10391       } else {
10392          PRINT_SPACE
10393          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10394      }
10395 
10396      print_VkPipelineDepthStencilStateCreateFlags(obj.flags, "flags", 1);
10397 
10398      print_VkBool32(obj.depthTestEnable, "depthTestEnable", 1);
10399 
10400      print_VkBool32(obj.depthWriteEnable, "depthWriteEnable", 1);
10401 
10402      print_VkCompareOp(obj.depthCompareOp, "depthCompareOp", 1);
10403 
10404      print_VkBool32(obj.depthBoundsTestEnable, "depthBoundsTestEnable", 1);
10405 
10406      print_VkBool32(obj.stencilTestEnable, "stencilTestEnable", 1);
10407 
10408      PRINT_SPACE
10409      _OUT << "\"front\": " << std::endl;
10410      {
10411            print_VkStencilOpState(obj.front, "front", 1);
10412      }
10413 
10414      PRINT_SPACE
10415      _OUT << "\"back\": " << std::endl;
10416      {
10417            print_VkStencilOpState(obj.back, "back", 1);
10418      }
10419 
10420      print_float(obj.minDepthBounds, "minDepthBounds", 1);
10421 
10422      print_float(obj.maxDepthBounds, "maxDepthBounds", 0);
10423 
10424      INDENT(-4);
10425      PRINT_SPACE
10426      if (commaNeeded)
10427          _OUT << "}," << std::endl;
10428      else
10429          _OUT << "}" << std::endl;
10430 }
print_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)10431 static void print_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10432      PRINT_SPACE
10433      _OUT << "{" << std::endl;
10434      INDENT(4);
10435 
10436      print_VkStructureType(obj->sType, "sType", 1);
10437 
10438       if (obj->pNext) {
10439          dumpPNextChain(obj->pNext);
10440       } else {
10441          PRINT_SPACE
10442          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10443      }
10444 
10445      print_VkPipelineDepthStencilStateCreateFlags(obj->flags, "flags", 1);
10446 
10447      print_VkBool32(obj->depthTestEnable, "depthTestEnable", 1);
10448 
10449      print_VkBool32(obj->depthWriteEnable, "depthWriteEnable", 1);
10450 
10451      print_VkCompareOp(obj->depthCompareOp, "depthCompareOp", 1);
10452 
10453      print_VkBool32(obj->depthBoundsTestEnable, "depthBoundsTestEnable", 1);
10454 
10455      print_VkBool32(obj->stencilTestEnable, "stencilTestEnable", 1);
10456 
10457      PRINT_SPACE
10458      _OUT << "\"front\": " << std::endl;
10459      {
10460            print_VkStencilOpState(obj->front, "front", 1);
10461      }
10462 
10463      PRINT_SPACE
10464      _OUT << "\"back\": " << std::endl;
10465      {
10466            print_VkStencilOpState(obj->back, "back", 1);
10467      }
10468 
10469      print_float(obj->minDepthBounds, "minDepthBounds", 1);
10470 
10471      print_float(obj->maxDepthBounds, "maxDepthBounds", 0);
10472 
10473      INDENT(-4);
10474      PRINT_SPACE
10475      if (commaNeeded)
10476          _OUT << "}," << std::endl;
10477      else
10478          _OUT << "}" << std::endl;
10479 }
10480 
print_VkPipelineColorBlendAttachmentState(VkPipelineColorBlendAttachmentState obj,const std::string & s,bool commaNeeded=true)10481 static void print_VkPipelineColorBlendAttachmentState(VkPipelineColorBlendAttachmentState obj, const std::string& s, bool commaNeeded=true) {
10482      PRINT_SPACE
10483      _OUT << "{" << std::endl;
10484      INDENT(4);
10485 
10486      print_VkBool32(obj.blendEnable, "blendEnable", 1);
10487 
10488      print_VkBlendFactor(obj.srcColorBlendFactor, "srcColorBlendFactor", 1);
10489 
10490      print_VkBlendFactor(obj.dstColorBlendFactor, "dstColorBlendFactor", 1);
10491 
10492      print_VkBlendOp(obj.colorBlendOp, "colorBlendOp", 1);
10493 
10494      print_VkBlendFactor(obj.srcAlphaBlendFactor, "srcAlphaBlendFactor", 1);
10495 
10496      print_VkBlendFactor(obj.dstAlphaBlendFactor, "dstAlphaBlendFactor", 1);
10497 
10498      print_VkBlendOp(obj.alphaBlendOp, "alphaBlendOp", 1);
10499 
10500      print_VkColorComponentFlags(obj.colorWriteMask, "colorWriteMask", 0);
10501 
10502      INDENT(-4);
10503      PRINT_SPACE
10504      if (commaNeeded)
10505          _OUT << "}," << std::endl;
10506      else
10507          _OUT << "}" << std::endl;
10508 }
print_VkPipelineColorBlendAttachmentState(const VkPipelineColorBlendAttachmentState * obj,const std::string & s,bool commaNeeded=true)10509 static void print_VkPipelineColorBlendAttachmentState(const VkPipelineColorBlendAttachmentState * obj, const std::string& s, bool commaNeeded=true) {
10510      PRINT_SPACE
10511      _OUT << "{" << std::endl;
10512      INDENT(4);
10513 
10514      print_VkBool32(obj->blendEnable, "blendEnable", 1);
10515 
10516      print_VkBlendFactor(obj->srcColorBlendFactor, "srcColorBlendFactor", 1);
10517 
10518      print_VkBlendFactor(obj->dstColorBlendFactor, "dstColorBlendFactor", 1);
10519 
10520      print_VkBlendOp(obj->colorBlendOp, "colorBlendOp", 1);
10521 
10522      print_VkBlendFactor(obj->srcAlphaBlendFactor, "srcAlphaBlendFactor", 1);
10523 
10524      print_VkBlendFactor(obj->dstAlphaBlendFactor, "dstAlphaBlendFactor", 1);
10525 
10526      print_VkBlendOp(obj->alphaBlendOp, "alphaBlendOp", 1);
10527 
10528      print_VkColorComponentFlags(obj->colorWriteMask, "colorWriteMask", 0);
10529 
10530      INDENT(-4);
10531      PRINT_SPACE
10532      if (commaNeeded)
10533          _OUT << "}," << std::endl;
10534      else
10535          _OUT << "}" << std::endl;
10536 }
10537 
print_VkPipelineColorBlendStateCreateInfo(VkPipelineColorBlendStateCreateInfo obj,const std::string & s,bool commaNeeded=true)10538 static void print_VkPipelineColorBlendStateCreateInfo(VkPipelineColorBlendStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10539      PRINT_SPACE
10540      _OUT << "{" << std::endl;
10541      INDENT(4);
10542 
10543      print_VkStructureType(obj.sType, "sType", 1);
10544 
10545       if (obj.pNext) {
10546          dumpPNextChain(obj.pNext);
10547       } else {
10548          PRINT_SPACE
10549          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10550      }
10551 
10552      print_VkPipelineColorBlendStateCreateFlags(obj.flags, "flags", 1);
10553 
10554      print_VkBool32(obj.logicOpEnable, "logicOpEnable", 1);
10555 
10556      print_VkLogicOp(obj.logicOp, "logicOp", 1);
10557 
10558      print_uint32_t(obj.attachmentCount, "attachmentCount", 1);
10559 
10560      PRINT_SPACE
10561      _OUT << "\"pAttachments\": " << std::endl;
10562      if (obj.pAttachments) {
10563          PRINT_SPACE
10564          _OUT << "[" << std::endl;
10565          for (unsigned int i = 0; i < obj.attachmentCount; i++) {
10566            if (i+1 == obj.attachmentCount)
10567                print_VkPipelineColorBlendAttachmentState(obj.pAttachments[i], "pAttachments", 0);
10568            else
10569                print_VkPipelineColorBlendAttachmentState(obj.pAttachments[i], "pAttachments", 1);
10570          }
10571          PRINT_SPACE
10572          _OUT << "]," << std::endl;
10573     }
10574      else
10575      {
10576          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10577      }
10578 
10579      PRINT_SPACE
10580      _OUT << "\"blendConstants\":" << std::endl;
10581      PRINT_SPACE
10582      if (obj.blendConstants) {
10583        _OUT << "[" << std::endl;
10584        for (unsigned int i = 0; i < 4; i++) {
10585            bool isCommaNeeded = (i+1) != 4;
10586            print_float(obj.blendConstants[i], "", isCommaNeeded);
10587        }
10588        PRINT_SPACE
10589        _OUT << "]" << "" << std::endl;
10590      } else {
10591        _OUT << "\"NULL\"" << "" << std::endl;
10592      }
10593 
10594      INDENT(-4);
10595      PRINT_SPACE
10596      if (commaNeeded)
10597          _OUT << "}," << std::endl;
10598      else
10599          _OUT << "}" << std::endl;
10600 }
print_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)10601 static void print_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10602      PRINT_SPACE
10603      _OUT << "{" << std::endl;
10604      INDENT(4);
10605 
10606      print_VkStructureType(obj->sType, "sType", 1);
10607 
10608       if (obj->pNext) {
10609          dumpPNextChain(obj->pNext);
10610       } else {
10611          PRINT_SPACE
10612          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10613      }
10614 
10615      print_VkPipelineColorBlendStateCreateFlags(obj->flags, "flags", 1);
10616 
10617      print_VkBool32(obj->logicOpEnable, "logicOpEnable", 1);
10618 
10619      print_VkLogicOp(obj->logicOp, "logicOp", 1);
10620 
10621      print_uint32_t(obj->attachmentCount, "attachmentCount", 1);
10622 
10623      PRINT_SPACE
10624      _OUT << "\"pAttachments\": " << std::endl;
10625      if (obj->pAttachments) {
10626          PRINT_SPACE
10627          _OUT << "[" << std::endl;
10628          for (unsigned int i = 0; i < obj->attachmentCount; i++) {
10629            if (i+1 == obj->attachmentCount)
10630                print_VkPipelineColorBlendAttachmentState(obj->pAttachments[i], "pAttachments", 0);
10631            else
10632                print_VkPipelineColorBlendAttachmentState(obj->pAttachments[i], "pAttachments", 1);
10633          }
10634          PRINT_SPACE
10635          _OUT << "]," << std::endl;
10636     }
10637      else
10638      {
10639          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10640      }
10641 
10642      PRINT_SPACE
10643      _OUT << "\"blendConstants\":" << std::endl;
10644      PRINT_SPACE
10645      if (obj->blendConstants) {
10646        _OUT << "[" << std::endl;
10647        for (unsigned int i = 0; i < 4; i++) {
10648            bool isCommaNeeded = (i+1) != 4;
10649            print_float(obj->blendConstants[i], "", isCommaNeeded);
10650        }
10651        PRINT_SPACE
10652        _OUT << "]" << "" << std::endl;
10653      } else {
10654        _OUT << "\"NULL\"" << "" << std::endl;
10655      }
10656 
10657      INDENT(-4);
10658      PRINT_SPACE
10659      if (commaNeeded)
10660          _OUT << "}," << std::endl;
10661      else
10662          _OUT << "}" << std::endl;
10663 }
10664 
print_VkPipelineDynamicStateCreateInfo(VkPipelineDynamicStateCreateInfo obj,const std::string & s,bool commaNeeded=true)10665 static void print_VkPipelineDynamicStateCreateInfo(VkPipelineDynamicStateCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10666      PRINT_SPACE
10667      _OUT << "{" << std::endl;
10668      INDENT(4);
10669 
10670      print_VkStructureType(obj.sType, "sType", 1);
10671 
10672       if (obj.pNext) {
10673          dumpPNextChain(obj.pNext);
10674       } else {
10675          PRINT_SPACE
10676          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10677      }
10678 
10679      print_VkPipelineDynamicStateCreateFlags(obj.flags, "flags", 1);
10680 
10681      print_uint32_t(obj.dynamicStateCount, "dynamicStateCount", 1);
10682 
10683      PRINT_SPACE
10684      _OUT << "\"pDynamicStates\":" << std::endl;
10685      PRINT_SPACE
10686      if (obj.pDynamicStates) {
10687        _OUT << "[" << std::endl;
10688        for (unsigned int i = 0; i < obj.dynamicStateCount; i++) {
10689            bool isCommaNeeded = (i+1) != obj.dynamicStateCount;
10690            print_VkDynamicState(obj.pDynamicStates[i], "", isCommaNeeded);
10691        }
10692        PRINT_SPACE
10693        _OUT << "]" << "" << std::endl;
10694      } else {
10695        _OUT << "\"NULL\"" << "" << std::endl;
10696      }
10697 
10698      INDENT(-4);
10699      PRINT_SPACE
10700      if (commaNeeded)
10701          _OUT << "}," << std::endl;
10702      else
10703          _OUT << "}" << std::endl;
10704 }
print_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo * obj,const std::string & s,bool commaNeeded=true)10705 static void print_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10706      PRINT_SPACE
10707      _OUT << "{" << std::endl;
10708      INDENT(4);
10709 
10710      print_VkStructureType(obj->sType, "sType", 1);
10711 
10712       if (obj->pNext) {
10713          dumpPNextChain(obj->pNext);
10714       } else {
10715          PRINT_SPACE
10716          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10717      }
10718 
10719      print_VkPipelineDynamicStateCreateFlags(obj->flags, "flags", 1);
10720 
10721      print_uint32_t(obj->dynamicStateCount, "dynamicStateCount", 1);
10722 
10723      PRINT_SPACE
10724      _OUT << "\"pDynamicStates\":" << std::endl;
10725      PRINT_SPACE
10726      if (obj->pDynamicStates) {
10727        _OUT << "[" << std::endl;
10728        for (unsigned int i = 0; i < obj->dynamicStateCount; i++) {
10729            bool isCommaNeeded = (i+1) != obj->dynamicStateCount;
10730            print_VkDynamicState(obj->pDynamicStates[i], "", isCommaNeeded);
10731        }
10732        PRINT_SPACE
10733        _OUT << "]" << "" << std::endl;
10734      } else {
10735        _OUT << "\"NULL\"" << "" << std::endl;
10736      }
10737 
10738      INDENT(-4);
10739      PRINT_SPACE
10740      if (commaNeeded)
10741          _OUT << "}," << std::endl;
10742      else
10743          _OUT << "}" << std::endl;
10744 }
10745 
print_VkGraphicsPipelineCreateInfo(VkGraphicsPipelineCreateInfo obj,const std::string & s,bool commaNeeded=true)10746 static void print_VkGraphicsPipelineCreateInfo(VkGraphicsPipelineCreateInfo obj, const std::string& s, bool commaNeeded=true) {
10747      PRINT_SPACE
10748      _OUT << "{" << std::endl;
10749      INDENT(4);
10750 
10751      print_VkStructureType(obj.sType, "sType", 1);
10752 
10753       if (obj.pNext) {
10754          dumpPNextChain(obj.pNext);
10755       } else {
10756          PRINT_SPACE
10757          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10758      }
10759 
10760      print_VkPipelineCreateFlags(obj.flags, "flags", 1);
10761 
10762      print_uint32_t(obj.stageCount, "stageCount", 1);
10763 
10764      PRINT_SPACE
10765      _OUT << "\"pStages\": " << std::endl;
10766      if (obj.pStages) {
10767          PRINT_SPACE
10768          _OUT << "[" << std::endl;
10769          for (unsigned int i = 0; i < obj.stageCount; i++) {
10770            if (i+1 == obj.stageCount)
10771                print_VkPipelineShaderStageCreateInfo(obj.pStages[i], "pStages", 0);
10772            else
10773                print_VkPipelineShaderStageCreateInfo(obj.pStages[i], "pStages", 1);
10774          }
10775          PRINT_SPACE
10776          _OUT << "]," << std::endl;
10777     }
10778      else
10779      {
10780          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10781      }
10782 
10783      PRINT_SPACE
10784      _OUT << "\"pVertexInputState\": " << std::endl;
10785      if (obj.pVertexInputState) {
10786            print_VkPipelineVertexInputStateCreateInfo(obj.pVertexInputState, "pVertexInputState", 1);
10787      }
10788      else
10789      {
10790          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10791      }
10792 
10793      PRINT_SPACE
10794      _OUT << "\"pInputAssemblyState\": " << std::endl;
10795      if (obj.pInputAssemblyState) {
10796            print_VkPipelineInputAssemblyStateCreateInfo(obj.pInputAssemblyState, "pInputAssemblyState", 1);
10797      }
10798      else
10799      {
10800          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10801      }
10802 
10803      PRINT_SPACE
10804      _OUT << "\"pTessellationState\": " << std::endl;
10805      if (obj.pTessellationState) {
10806            print_VkPipelineTessellationStateCreateInfo(obj.pTessellationState, "pTessellationState", 1);
10807      }
10808      else
10809      {
10810          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10811      }
10812 
10813      PRINT_SPACE
10814      _OUT << "\"pViewportState\": " << std::endl;
10815      if (obj.pViewportState) {
10816            print_VkPipelineViewportStateCreateInfo(obj.pViewportState, "pViewportState", 1);
10817      }
10818      else
10819      {
10820          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10821      }
10822 
10823      PRINT_SPACE
10824      _OUT << "\"pRasterizationState\": " << std::endl;
10825      if (obj.pRasterizationState) {
10826            print_VkPipelineRasterizationStateCreateInfo(obj.pRasterizationState, "pRasterizationState", 1);
10827      }
10828      else
10829      {
10830          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10831      }
10832 
10833      PRINT_SPACE
10834      _OUT << "\"pMultisampleState\": " << std::endl;
10835      if (obj.pMultisampleState) {
10836            print_VkPipelineMultisampleStateCreateInfo(obj.pMultisampleState, "pMultisampleState", 1);
10837      }
10838      else
10839      {
10840          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10841      }
10842 
10843      PRINT_SPACE
10844      _OUT << "\"pDepthStencilState\": " << std::endl;
10845      if (obj.pDepthStencilState) {
10846            print_VkPipelineDepthStencilStateCreateInfo(obj.pDepthStencilState, "pDepthStencilState", 1);
10847      }
10848      else
10849      {
10850          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10851      }
10852 
10853      PRINT_SPACE
10854      _OUT << "\"pColorBlendState\": " << std::endl;
10855      if (obj.pColorBlendState) {
10856            print_VkPipelineColorBlendStateCreateInfo(obj.pColorBlendState, "pColorBlendState", 1);
10857      }
10858      else
10859      {
10860          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10861      }
10862 
10863      PRINT_SPACE
10864      _OUT << "\"pDynamicState\": " << std::endl;
10865      if (obj.pDynamicState) {
10866            print_VkPipelineDynamicStateCreateInfo(obj.pDynamicState, "pDynamicState", 1);
10867      }
10868      else
10869      {
10870          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10871      }
10872 
10873      // CTS : required value
10874      PRINT_SPACE    _OUT << "\"" << "layout" << "\"" << " : " << obj.layout.getInternal() << "," << std::endl;
10875 
10876      // CTS : required value
10877      PRINT_SPACE    _OUT << "\"" << "renderPass" << "\"" << " : " << obj.renderPass.getInternal() << "," << std::endl;
10878 
10879      print_uint32_t(obj.subpass, "subpass", 1);
10880 
10881      // CTS : required value
10882      PRINT_SPACE    _OUT << "\"" << "basePipelineHandle" << "\"" << " : " << "\"" << "\"," << std::endl;
10883 
10884      print_int32_t(obj.basePipelineIndex, "basePipelineIndex", 0);
10885 
10886      INDENT(-4);
10887      PRINT_SPACE
10888      if (commaNeeded)
10889          _OUT << "}," << std::endl;
10890      else
10891          _OUT << "}" << std::endl;
10892 }
print_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo * obj,const std::string & s,bool commaNeeded=true)10893 static void print_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
10894      PRINT_SPACE
10895      _OUT << "{" << std::endl;
10896      INDENT(4);
10897 
10898      print_VkStructureType(obj->sType, "sType", 1);
10899 
10900       if (obj->pNext) {
10901          dumpPNextChain(obj->pNext);
10902       } else {
10903          PRINT_SPACE
10904          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
10905      }
10906 
10907      print_VkPipelineCreateFlags(obj->flags, "flags", 1);
10908 
10909      print_uint32_t(obj->stageCount, "stageCount", 1);
10910 
10911      PRINT_SPACE
10912      _OUT << "\"pStages\": " << std::endl;
10913      if (obj->pStages) {
10914          PRINT_SPACE
10915          _OUT << "[" << std::endl;
10916          for (unsigned int i = 0; i < obj->stageCount; i++) {
10917            if (i+1 == obj->stageCount)
10918                print_VkPipelineShaderStageCreateInfo(obj->pStages[i], "pStages", 0);
10919            else
10920                print_VkPipelineShaderStageCreateInfo(obj->pStages[i], "pStages", 1);
10921          }
10922          PRINT_SPACE
10923          _OUT << "]," << std::endl;
10924     }
10925      else
10926      {
10927          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10928      }
10929 
10930      PRINT_SPACE
10931      _OUT << "\"pVertexInputState\": " << std::endl;
10932      if (obj->pVertexInputState) {
10933            print_VkPipelineVertexInputStateCreateInfo(obj->pVertexInputState, "pVertexInputState", 1);
10934      }
10935      else
10936      {
10937          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10938      }
10939 
10940      PRINT_SPACE
10941      _OUT << "\"pInputAssemblyState\": " << std::endl;
10942      if (obj->pInputAssemblyState) {
10943            print_VkPipelineInputAssemblyStateCreateInfo(obj->pInputAssemblyState, "pInputAssemblyState", 1);
10944      }
10945      else
10946      {
10947          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10948      }
10949 
10950      PRINT_SPACE
10951      _OUT << "\"pTessellationState\": " << std::endl;
10952      if (obj->pTessellationState) {
10953            print_VkPipelineTessellationStateCreateInfo(obj->pTessellationState, "pTessellationState", 1);
10954      }
10955      else
10956      {
10957          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10958      }
10959 
10960      PRINT_SPACE
10961      _OUT << "\"pViewportState\": " << std::endl;
10962      if (obj->pViewportState) {
10963            print_VkPipelineViewportStateCreateInfo(obj->pViewportState, "pViewportState", 1);
10964      }
10965      else
10966      {
10967          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10968      }
10969 
10970      PRINT_SPACE
10971      _OUT << "\"pRasterizationState\": " << std::endl;
10972      if (obj->pRasterizationState) {
10973            print_VkPipelineRasterizationStateCreateInfo(obj->pRasterizationState, "pRasterizationState", 1);
10974      }
10975      else
10976      {
10977          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10978      }
10979 
10980      PRINT_SPACE
10981      _OUT << "\"pMultisampleState\": " << std::endl;
10982      if (obj->pMultisampleState) {
10983            print_VkPipelineMultisampleStateCreateInfo(obj->pMultisampleState, "pMultisampleState", 1);
10984      }
10985      else
10986      {
10987          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10988      }
10989 
10990      PRINT_SPACE
10991      _OUT << "\"pDepthStencilState\": " << std::endl;
10992      if (obj->pDepthStencilState) {
10993            print_VkPipelineDepthStencilStateCreateInfo(obj->pDepthStencilState, "pDepthStencilState", 1);
10994      }
10995      else
10996      {
10997          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
10998      }
10999 
11000      PRINT_SPACE
11001      _OUT << "\"pColorBlendState\": " << std::endl;
11002      if (obj->pColorBlendState) {
11003            print_VkPipelineColorBlendStateCreateInfo(obj->pColorBlendState, "pColorBlendState", 1);
11004      }
11005      else
11006      {
11007          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
11008      }
11009 
11010      PRINT_SPACE
11011      _OUT << "\"pDynamicState\": " << std::endl;
11012      if (obj->pDynamicState) {
11013            print_VkPipelineDynamicStateCreateInfo(obj->pDynamicState, "pDynamicState", 1);
11014      }
11015      else
11016      {
11017          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
11018      }
11019 
11020      // CTS : required value
11021      PRINT_SPACE    _OUT << "\"" << "layout" << "\"" << " : " << obj->layout.getInternal() << "," << std::endl;
11022 
11023      // CTS : required value
11024      PRINT_SPACE    _OUT << "\"" << "renderPass" << "\"" << " : " << obj->renderPass.getInternal() << "," << std::endl;
11025 
11026      print_uint32_t(obj->subpass, "subpass", 1);
11027 
11028      // CTS : required value
11029      PRINT_SPACE    _OUT << "\"" << "basePipelineHandle" << "\"" << " : " << "\"" << "\"," << std::endl;
11030 
11031      print_int32_t(obj->basePipelineIndex, "basePipelineIndex", 0);
11032 
11033      INDENT(-4);
11034      PRINT_SPACE
11035      if (commaNeeded)
11036          _OUT << "}," << std::endl;
11037      else
11038          _OUT << "}" << std::endl;
11039 }
11040 
print_VkPushConstantRange(VkPushConstantRange obj,const std::string & s,bool commaNeeded=true)11041 static void print_VkPushConstantRange(VkPushConstantRange obj, const std::string& s, bool commaNeeded=true) {
11042      PRINT_SPACE
11043      _OUT << "{" << std::endl;
11044      INDENT(4);
11045 
11046      print_VkShaderStageFlags(obj.stageFlags, "stageFlags", 1);
11047 
11048      print_uint32_t(obj.offset, "offset", 1);
11049 
11050      print_uint32_t(obj.size, "size", 0);
11051 
11052      INDENT(-4);
11053      PRINT_SPACE
11054      if (commaNeeded)
11055          _OUT << "}," << std::endl;
11056      else
11057          _OUT << "}" << std::endl;
11058 }
print_VkPushConstantRange(const VkPushConstantRange * obj,const std::string & s,bool commaNeeded=true)11059 static void print_VkPushConstantRange(const VkPushConstantRange * obj, const std::string& s, bool commaNeeded=true) {
11060      PRINT_SPACE
11061      _OUT << "{" << std::endl;
11062      INDENT(4);
11063 
11064      print_VkShaderStageFlags(obj->stageFlags, "stageFlags", 1);
11065 
11066      print_uint32_t(obj->offset, "offset", 1);
11067 
11068      print_uint32_t(obj->size, "size", 0);
11069 
11070      INDENT(-4);
11071      PRINT_SPACE
11072      if (commaNeeded)
11073          _OUT << "}," << std::endl;
11074      else
11075          _OUT << "}" << std::endl;
11076 }
11077 
print_VkPipelineLayoutCreateInfo(VkPipelineLayoutCreateInfo obj,const std::string & s,bool commaNeeded=true)11078 static void print_VkPipelineLayoutCreateInfo(VkPipelineLayoutCreateInfo obj, const std::string& s, bool commaNeeded=true) {
11079      PRINT_SPACE
11080      _OUT << "{" << std::endl;
11081      INDENT(4);
11082 
11083      print_VkStructureType(obj.sType, "sType", 1);
11084 
11085       if (obj.pNext) {
11086          dumpPNextChain(obj.pNext);
11087       } else {
11088          PRINT_SPACE
11089          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11090      }
11091 
11092      print_VkPipelineLayoutCreateFlags(obj.flags, "flags", 1);
11093 
11094      print_uint32_t(obj.setLayoutCount, "setLayoutCount", 1);
11095 
11096      PRINT_SPACE
11097      _OUT << "\"pSetLayouts\":" << std::endl;
11098      PRINT_SPACE
11099      if (obj.pSetLayouts) {
11100        _OUT << "[" << std::endl;
11101        for (unsigned int i = 0; i < obj.setLayoutCount; i++) {
11102            bool isCommaNeeded = (i+1) != obj.setLayoutCount;
11103            if (isCommaNeeded)
11104            {
11105                PRINT_SPACE
11106                _OUT << obj.pSetLayouts[i].getInternal() << "," << std::endl;
11107            }
11108            else
11109            {
11110                PRINT_SPACE
11111                _OUT << obj.pSetLayouts[i].getInternal() << std::endl;
11112            }
11113        }
11114        PRINT_SPACE
11115        _OUT << "]" << "," << std::endl;
11116      } else {
11117        _OUT << "\"NULL\"" << "," << std::endl;
11118      }
11119 
11120      print_uint32_t(obj.pushConstantRangeCount, "pushConstantRangeCount", 1);
11121 
11122      PRINT_SPACE
11123      _OUT << "\"pPushConstantRanges\": " << std::endl;
11124      if (obj.pPushConstantRanges) {
11125          PRINT_SPACE
11126          _OUT << "[" << std::endl;
11127          for (unsigned int i = 0; i < obj.pushConstantRangeCount; i++) {
11128            if (i+1 == obj.pushConstantRangeCount)
11129                print_VkPushConstantRange(obj.pPushConstantRanges[i], "pPushConstantRanges", 0);
11130            else
11131                print_VkPushConstantRange(obj.pPushConstantRanges[i], "pPushConstantRanges", 1);
11132          }
11133          PRINT_SPACE
11134          _OUT << "]" << std::endl;
11135     }
11136      else
11137      {
11138          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
11139      }
11140 
11141      INDENT(-4);
11142      PRINT_SPACE
11143      if (commaNeeded)
11144          _OUT << "}," << std::endl;
11145      else
11146          _OUT << "}" << std::endl;
11147 }
print_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo * obj,const std::string & s,bool commaNeeded=true)11148 static void print_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
11149      PRINT_SPACE
11150      _OUT << "{" << std::endl;
11151      INDENT(4);
11152 
11153      print_VkStructureType(obj->sType, "sType", 1);
11154 
11155       if (obj->pNext) {
11156          dumpPNextChain(obj->pNext);
11157       } else {
11158          PRINT_SPACE
11159          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11160      }
11161 
11162      print_VkPipelineLayoutCreateFlags(obj->flags, "flags", 1);
11163 
11164      print_uint32_t(obj->setLayoutCount, "setLayoutCount", 1);
11165 
11166      PRINT_SPACE
11167      _OUT << "\"pSetLayouts\":" << std::endl;
11168      PRINT_SPACE
11169      if (obj->pSetLayouts) {
11170        _OUT << "[" << std::endl;
11171        for (unsigned int i = 0; i < obj->setLayoutCount; i++) {
11172            bool isCommaNeeded = (i+1) != obj->setLayoutCount;
11173            if (isCommaNeeded)
11174            {
11175                PRINT_SPACE
11176                _OUT << obj->pSetLayouts[i].getInternal() << "," << std::endl;
11177            }
11178            else
11179            {
11180                PRINT_SPACE
11181                _OUT << obj->pSetLayouts[i].getInternal() << std::endl;
11182            }
11183        }
11184        PRINT_SPACE
11185        _OUT << "]" << "," << std::endl;
11186      } else {
11187        _OUT << "\"NULL\"" << "," << std::endl;
11188      }
11189 
11190      print_uint32_t(obj->pushConstantRangeCount, "pushConstantRangeCount", 1);
11191 
11192      PRINT_SPACE
11193      _OUT << "\"pPushConstantRanges\": " << std::endl;
11194      if (obj->pPushConstantRanges) {
11195          PRINT_SPACE
11196          _OUT << "[" << std::endl;
11197          for (unsigned int i = 0; i < obj->pushConstantRangeCount; i++) {
11198            if (i+1 == obj->pushConstantRangeCount)
11199                print_VkPushConstantRange(obj->pPushConstantRanges[i], "pPushConstantRanges", 0);
11200            else
11201                print_VkPushConstantRange(obj->pPushConstantRanges[i], "pPushConstantRanges", 1);
11202          }
11203          PRINT_SPACE
11204          _OUT << "]" << std::endl;
11205     }
11206      else
11207      {
11208          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
11209      }
11210 
11211      INDENT(-4);
11212      PRINT_SPACE
11213      if (commaNeeded)
11214          _OUT << "}," << std::endl;
11215      else
11216          _OUT << "}" << std::endl;
11217 }
11218 
print_VkSamplerCreateInfo(VkSamplerCreateInfo obj,const std::string & s,bool commaNeeded=true)11219 static void print_VkSamplerCreateInfo(VkSamplerCreateInfo obj, const std::string& s, bool commaNeeded=true) {
11220      PRINT_SPACE
11221      _OUT << "{" << std::endl;
11222      INDENT(4);
11223 
11224      print_VkStructureType(obj.sType, "sType", 1);
11225 
11226       if (obj.pNext) {
11227          dumpPNextChain(obj.pNext);
11228       } else {
11229          PRINT_SPACE
11230          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11231      }
11232 
11233      print_VkSamplerCreateFlags(obj.flags, "flags", 1);
11234 
11235      print_VkFilter(obj.magFilter, "magFilter", 1);
11236 
11237      print_VkFilter(obj.minFilter, "minFilter", 1);
11238 
11239      print_VkSamplerMipmapMode(obj.mipmapMode, "mipmapMode", 1);
11240 
11241      print_VkSamplerAddressMode(obj.addressModeU, "addressModeU", 1);
11242 
11243      print_VkSamplerAddressMode(obj.addressModeV, "addressModeV", 1);
11244 
11245      print_VkSamplerAddressMode(obj.addressModeW, "addressModeW", 1);
11246 
11247      print_float(obj.mipLodBias, "mipLodBias", 1);
11248 
11249      print_VkBool32(obj.anisotropyEnable, "anisotropyEnable", 1);
11250 
11251      print_float(obj.maxAnisotropy, "maxAnisotropy", 1);
11252 
11253      print_VkBool32(obj.compareEnable, "compareEnable", 1);
11254 
11255      print_VkCompareOp(obj.compareOp, "compareOp", 1);
11256 
11257      print_float(obj.minLod, "minLod", 1);
11258 
11259      print_float(obj.maxLod, "maxLod", 1);
11260 
11261      print_VkBorderColor(obj.borderColor, "borderColor", 1);
11262 
11263      print_VkBool32(obj.unnormalizedCoordinates, "unnormalizedCoordinates", 0);
11264 
11265      INDENT(-4);
11266      PRINT_SPACE
11267      if (commaNeeded)
11268          _OUT << "}," << std::endl;
11269      else
11270          _OUT << "}" << std::endl;
11271 }
print_VkSamplerCreateInfo(const VkSamplerCreateInfo * obj,const std::string & s,bool commaNeeded=true)11272 static void print_VkSamplerCreateInfo(const VkSamplerCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
11273      PRINT_SPACE
11274      _OUT << "{" << std::endl;
11275      INDENT(4);
11276 
11277      print_VkStructureType(obj->sType, "sType", 1);
11278 
11279       if (obj->pNext) {
11280          dumpPNextChain(obj->pNext);
11281       } else {
11282          PRINT_SPACE
11283          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11284      }
11285 
11286      print_VkSamplerCreateFlags(obj->flags, "flags", 1);
11287 
11288      print_VkFilter(obj->magFilter, "magFilter", 1);
11289 
11290      print_VkFilter(obj->minFilter, "minFilter", 1);
11291 
11292      print_VkSamplerMipmapMode(obj->mipmapMode, "mipmapMode", 1);
11293 
11294      print_VkSamplerAddressMode(obj->addressModeU, "addressModeU", 1);
11295 
11296      print_VkSamplerAddressMode(obj->addressModeV, "addressModeV", 1);
11297 
11298      print_VkSamplerAddressMode(obj->addressModeW, "addressModeW", 1);
11299 
11300      print_float(obj->mipLodBias, "mipLodBias", 1);
11301 
11302      print_VkBool32(obj->anisotropyEnable, "anisotropyEnable", 1);
11303 
11304      print_float(obj->maxAnisotropy, "maxAnisotropy", 1);
11305 
11306      print_VkBool32(obj->compareEnable, "compareEnable", 1);
11307 
11308      print_VkCompareOp(obj->compareOp, "compareOp", 1);
11309 
11310      print_float(obj->minLod, "minLod", 1);
11311 
11312      print_float(obj->maxLod, "maxLod", 1);
11313 
11314      print_VkBorderColor(obj->borderColor, "borderColor", 1);
11315 
11316      print_VkBool32(obj->unnormalizedCoordinates, "unnormalizedCoordinates", 0);
11317 
11318      INDENT(-4);
11319      PRINT_SPACE
11320      if (commaNeeded)
11321          _OUT << "}," << std::endl;
11322      else
11323          _OUT << "}" << std::endl;
11324 }
11325 
print_VkCopyDescriptorSet(VkCopyDescriptorSet obj,const std::string & s,bool commaNeeded=true)11326 static void print_VkCopyDescriptorSet(VkCopyDescriptorSet obj, const std::string& s, bool commaNeeded=true) {
11327      PRINT_SPACE
11328      _OUT << "{" << std::endl;
11329      INDENT(4);
11330 
11331      print_VkStructureType(obj.sType, "sType", 1);
11332 
11333       if (obj.pNext) {
11334          dumpPNextChain(obj.pNext);
11335       } else {
11336          PRINT_SPACE
11337          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11338      }
11339 
11340      // CTS : required value
11341      PRINT_SPACE    _OUT << "\"" << "srcSet" << "\"" << " : " << "\"" << "\"," << std::endl;
11342 
11343      print_uint32_t(obj.srcBinding, "srcBinding", 1);
11344 
11345      print_uint32_t(obj.srcArrayElement, "srcArrayElement", 1);
11346 
11347      // CTS : required value
11348      PRINT_SPACE    _OUT << "\"" << "dstSet" << "\"" << " : " << "\"" << "\"," << std::endl;
11349 
11350      print_uint32_t(obj.dstBinding, "dstBinding", 1);
11351 
11352      print_uint32_t(obj.dstArrayElement, "dstArrayElement", 1);
11353 
11354      print_uint32_t(obj.descriptorCount, "descriptorCount", 0);
11355 
11356      INDENT(-4);
11357      PRINT_SPACE
11358      if (commaNeeded)
11359          _OUT << "}," << std::endl;
11360      else
11361          _OUT << "}" << std::endl;
11362 }
print_VkCopyDescriptorSet(const VkCopyDescriptorSet * obj,const std::string & s,bool commaNeeded=true)11363 static void print_VkCopyDescriptorSet(const VkCopyDescriptorSet * obj, const std::string& s, bool commaNeeded=true) {
11364      PRINT_SPACE
11365      _OUT << "{" << std::endl;
11366      INDENT(4);
11367 
11368      print_VkStructureType(obj->sType, "sType", 1);
11369 
11370       if (obj->pNext) {
11371          dumpPNextChain(obj->pNext);
11372       } else {
11373          PRINT_SPACE
11374          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11375      }
11376 
11377      // CTS : required value
11378      PRINT_SPACE    _OUT << "\"" << "srcSet" << "\"" << " : " << "\"" << "\"," << std::endl;
11379 
11380      print_uint32_t(obj->srcBinding, "srcBinding", 1);
11381 
11382      print_uint32_t(obj->srcArrayElement, "srcArrayElement", 1);
11383 
11384      // CTS : required value
11385      PRINT_SPACE    _OUT << "\"" << "dstSet" << "\"" << " : " << "\"" << "\"," << std::endl;
11386 
11387      print_uint32_t(obj->dstBinding, "dstBinding", 1);
11388 
11389      print_uint32_t(obj->dstArrayElement, "dstArrayElement", 1);
11390 
11391      print_uint32_t(obj->descriptorCount, "descriptorCount", 0);
11392 
11393      INDENT(-4);
11394      PRINT_SPACE
11395      if (commaNeeded)
11396          _OUT << "}," << std::endl;
11397      else
11398          _OUT << "}" << std::endl;
11399 }
11400 
print_VkDescriptorBufferInfo(VkDescriptorBufferInfo obj,const std::string & s,bool commaNeeded=true)11401 static void print_VkDescriptorBufferInfo(VkDescriptorBufferInfo obj, const std::string& s, bool commaNeeded=true) {
11402      PRINT_SPACE
11403      _OUT << "{" << std::endl;
11404      INDENT(4);
11405 
11406      // CTS : required value
11407      PRINT_SPACE    _OUT << "\"" << "buffer" << "\"" << " : " << "\"" << "\"," << std::endl;
11408 
11409      print_VkDeviceSize(obj.offset, "offset", 1);
11410 
11411      print_VkDeviceSize(obj.range, "range", 0);
11412 
11413      INDENT(-4);
11414      PRINT_SPACE
11415      if (commaNeeded)
11416          _OUT << "}," << std::endl;
11417      else
11418          _OUT << "}" << std::endl;
11419 }
print_VkDescriptorBufferInfo(const VkDescriptorBufferInfo * obj,const std::string & s,bool commaNeeded=true)11420 static void print_VkDescriptorBufferInfo(const VkDescriptorBufferInfo * obj, const std::string& s, bool commaNeeded=true) {
11421      PRINT_SPACE
11422      _OUT << "{" << std::endl;
11423      INDENT(4);
11424 
11425      // CTS : required value
11426      PRINT_SPACE    _OUT << "\"" << "buffer" << "\"" << " : " << "\"" << "\"," << std::endl;
11427 
11428      print_VkDeviceSize(obj->offset, "offset", 1);
11429 
11430      print_VkDeviceSize(obj->range, "range", 0);
11431 
11432      INDENT(-4);
11433      PRINT_SPACE
11434      if (commaNeeded)
11435          _OUT << "}," << std::endl;
11436      else
11437          _OUT << "}" << std::endl;
11438 }
11439 
print_VkDescriptorImageInfo(VkDescriptorImageInfo obj,const std::string & s,bool commaNeeded=true)11440 static void print_VkDescriptorImageInfo(VkDescriptorImageInfo obj, const std::string& s, bool commaNeeded=true) {
11441      PRINT_SPACE
11442      _OUT << "{" << std::endl;
11443      INDENT(4);
11444 
11445      // CTS : required value
11446      PRINT_SPACE    _OUT << "\"" << "sampler" << "\"" << " : " << "\"" << "\"," << std::endl;
11447 
11448      // CTS : required value
11449      PRINT_SPACE    _OUT << "\"" << "imageView" << "\"" << " : " << "\"" << "\"," << std::endl;
11450 
11451      print_VkImageLayout(obj.imageLayout, "imageLayout", 0);
11452 
11453      INDENT(-4);
11454      PRINT_SPACE
11455      if (commaNeeded)
11456          _OUT << "}," << std::endl;
11457      else
11458          _OUT << "}" << std::endl;
11459 }
print_VkDescriptorImageInfo(const VkDescriptorImageInfo * obj,const std::string & s,bool commaNeeded=true)11460 static void print_VkDescriptorImageInfo(const VkDescriptorImageInfo * obj, const std::string& s, bool commaNeeded=true) {
11461      PRINT_SPACE
11462      _OUT << "{" << std::endl;
11463      INDENT(4);
11464 
11465      // CTS : required value
11466      PRINT_SPACE    _OUT << "\"" << "sampler" << "\"" << " : " << "\"" << "\"," << std::endl;
11467 
11468      // CTS : required value
11469      PRINT_SPACE    _OUT << "\"" << "imageView" << "\"" << " : " << "\"" << "\"," << std::endl;
11470 
11471      print_VkImageLayout(obj->imageLayout, "imageLayout", 0);
11472 
11473      INDENT(-4);
11474      PRINT_SPACE
11475      if (commaNeeded)
11476          _OUT << "}," << std::endl;
11477      else
11478          _OUT << "}" << std::endl;
11479 }
11480 
print_VkDescriptorPoolSize(VkDescriptorPoolSize obj,const std::string & s,bool commaNeeded=true)11481 static void print_VkDescriptorPoolSize(VkDescriptorPoolSize obj, const std::string& s, bool commaNeeded=true) {
11482      PRINT_SPACE
11483      _OUT << "{" << std::endl;
11484      INDENT(4);
11485 
11486      print_VkDescriptorType(obj.type, "type", 1);
11487 
11488      print_uint32_t(obj.descriptorCount, "descriptorCount", 0);
11489 
11490      INDENT(-4);
11491      PRINT_SPACE
11492      if (commaNeeded)
11493          _OUT << "}," << std::endl;
11494      else
11495          _OUT << "}" << std::endl;
11496 }
print_VkDescriptorPoolSize(const VkDescriptorPoolSize * obj,const std::string & s,bool commaNeeded=true)11497 static void print_VkDescriptorPoolSize(const VkDescriptorPoolSize * obj, const std::string& s, bool commaNeeded=true) {
11498      PRINT_SPACE
11499      _OUT << "{" << std::endl;
11500      INDENT(4);
11501 
11502      print_VkDescriptorType(obj->type, "type", 1);
11503 
11504      print_uint32_t(obj->descriptorCount, "descriptorCount", 0);
11505 
11506      INDENT(-4);
11507      PRINT_SPACE
11508      if (commaNeeded)
11509          _OUT << "}," << std::endl;
11510      else
11511          _OUT << "}" << std::endl;
11512 }
11513 
print_VkDescriptorPoolCreateInfo(VkDescriptorPoolCreateInfo obj,const std::string & s,bool commaNeeded=true)11514 static void print_VkDescriptorPoolCreateInfo(VkDescriptorPoolCreateInfo obj, const std::string& s, bool commaNeeded=true) {
11515      PRINT_SPACE
11516      _OUT << "{" << std::endl;
11517      INDENT(4);
11518 
11519      print_VkStructureType(obj.sType, "sType", 1);
11520 
11521       if (obj.pNext) {
11522          dumpPNextChain(obj.pNext);
11523       } else {
11524          PRINT_SPACE
11525          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11526      }
11527 
11528      print_VkDescriptorPoolCreateFlags(obj.flags, "flags", 1);
11529 
11530      print_uint32_t(obj.maxSets, "maxSets", 1);
11531 
11532      print_uint32_t(obj.poolSizeCount, "poolSizeCount", 1);
11533 
11534      PRINT_SPACE
11535      _OUT << "\"pPoolSizes\": " << std::endl;
11536      if (obj.pPoolSizes) {
11537          PRINT_SPACE
11538          _OUT << "[" << std::endl;
11539          for (unsigned int i = 0; i < obj.poolSizeCount; i++) {
11540            if (i+1 == obj.poolSizeCount)
11541                print_VkDescriptorPoolSize(obj.pPoolSizes[i], "pPoolSizes", 0);
11542            else
11543                print_VkDescriptorPoolSize(obj.pPoolSizes[i], "pPoolSizes", 1);
11544          }
11545          PRINT_SPACE
11546          _OUT << "]" << std::endl;
11547     }
11548      else
11549      {
11550          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
11551      }
11552 
11553      INDENT(-4);
11554      PRINT_SPACE
11555      if (commaNeeded)
11556          _OUT << "}," << std::endl;
11557      else
11558          _OUT << "}" << std::endl;
11559 }
print_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo * obj,const std::string & s,bool commaNeeded=true)11560 static void print_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
11561      PRINT_SPACE
11562      _OUT << "{" << std::endl;
11563      INDENT(4);
11564 
11565      print_VkStructureType(obj->sType, "sType", 1);
11566 
11567       if (obj->pNext) {
11568          dumpPNextChain(obj->pNext);
11569       } else {
11570          PRINT_SPACE
11571          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11572      }
11573 
11574      print_VkDescriptorPoolCreateFlags(obj->flags, "flags", 1);
11575 
11576      print_uint32_t(obj->maxSets, "maxSets", 1);
11577 
11578      print_uint32_t(obj->poolSizeCount, "poolSizeCount", 1);
11579 
11580      PRINT_SPACE
11581      _OUT << "\"pPoolSizes\": " << std::endl;
11582      if (obj->pPoolSizes) {
11583          PRINT_SPACE
11584          _OUT << "[" << std::endl;
11585          for (unsigned int i = 0; i < obj->poolSizeCount; i++) {
11586            if (i+1 == obj->poolSizeCount)
11587                print_VkDescriptorPoolSize(obj->pPoolSizes[i], "pPoolSizes", 0);
11588            else
11589                print_VkDescriptorPoolSize(obj->pPoolSizes[i], "pPoolSizes", 1);
11590          }
11591          PRINT_SPACE
11592          _OUT << "]" << std::endl;
11593     }
11594      else
11595      {
11596          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
11597      }
11598 
11599      INDENT(-4);
11600      PRINT_SPACE
11601      if (commaNeeded)
11602          _OUT << "}," << std::endl;
11603      else
11604          _OUT << "}" << std::endl;
11605 }
11606 
print_VkDescriptorSetAllocateInfo(VkDescriptorSetAllocateInfo obj,const std::string & s,bool commaNeeded=true)11607 static void print_VkDescriptorSetAllocateInfo(VkDescriptorSetAllocateInfo obj, const std::string& s, bool commaNeeded=true) {
11608      PRINT_SPACE
11609      _OUT << "{" << std::endl;
11610      INDENT(4);
11611 
11612      print_VkStructureType(obj.sType, "sType", 1);
11613 
11614       if (obj.pNext) {
11615          dumpPNextChain(obj.pNext);
11616       } else {
11617          PRINT_SPACE
11618          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11619      }
11620 
11621      // CTS : required value
11622      PRINT_SPACE    _OUT << "\"" << "descriptorPool" << "\"" << " : " << "\"" << "\"," << std::endl;
11623 
11624      print_uint32_t(obj.descriptorSetCount, "descriptorSetCount", 1);
11625 
11626      PRINT_SPACE
11627      _OUT << "\"pSetLayouts\":" << std::endl;
11628      PRINT_SPACE
11629      if (obj.pSetLayouts) {
11630        _OUT << "[" << std::endl;
11631        for (unsigned int i = 0; i < obj.descriptorSetCount; i++) {
11632            std:: stringstream tmp;
11633            tmp << "pSetLayouts" << "_" << i;
11634            bool isCommaNeeded = (i+1) != obj.descriptorSetCount;
11635            print_VkDescriptorSetLayout(obj.pSetLayouts[i], tmp.str(), isCommaNeeded);
11636        }
11637        PRINT_SPACE
11638        _OUT << "]" << "" << std::endl;
11639      } else {
11640        _OUT << "\"NULL\"" << "" << std::endl;
11641      }
11642 
11643      INDENT(-4);
11644      PRINT_SPACE
11645      if (commaNeeded)
11646          _OUT << "}," << std::endl;
11647      else
11648          _OUT << "}" << std::endl;
11649 }
print_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo * obj,const std::string & s,bool commaNeeded=true)11650 static void print_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo * obj, const std::string& s, bool commaNeeded=true) {
11651      PRINT_SPACE
11652      _OUT << "{" << std::endl;
11653      INDENT(4);
11654 
11655      print_VkStructureType(obj->sType, "sType", 1);
11656 
11657       if (obj->pNext) {
11658          dumpPNextChain(obj->pNext);
11659       } else {
11660          PRINT_SPACE
11661          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11662      }
11663 
11664      // CTS : required value
11665      PRINT_SPACE    _OUT << "\"" << "descriptorPool" << "\"" << " : " << "\"" << "\"," << std::endl;
11666 
11667      print_uint32_t(obj->descriptorSetCount, "descriptorSetCount", 1);
11668 
11669      PRINT_SPACE
11670      _OUT << "\"pSetLayouts\":" << std::endl;
11671      PRINT_SPACE
11672      if (obj->pSetLayouts) {
11673        _OUT << "[" << std::endl;
11674        for (unsigned int i = 0; i < obj->descriptorSetCount; i++) {
11675            std:: stringstream tmp;
11676            tmp << "pSetLayouts" << "_" << i;
11677            bool isCommaNeeded = (i+1) != obj->descriptorSetCount;
11678            print_VkDescriptorSetLayout(obj->pSetLayouts[i], tmp.str(), isCommaNeeded);
11679        }
11680        PRINT_SPACE
11681        _OUT << "]" << "" << std::endl;
11682      } else {
11683        _OUT << "\"NULL\"" << "" << std::endl;
11684      }
11685 
11686      INDENT(-4);
11687      PRINT_SPACE
11688      if (commaNeeded)
11689          _OUT << "}," << std::endl;
11690      else
11691          _OUT << "}" << std::endl;
11692 }
11693 
print_VkDescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding obj,const std::string & s,bool commaNeeded=true)11694 static void print_VkDescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding obj, const std::string& s, bool commaNeeded=true) {
11695      PRINT_SPACE
11696      _OUT << "{" << std::endl;
11697      INDENT(4);
11698 
11699      print_uint32_t(obj.binding, "binding", 1);
11700 
11701      print_VkDescriptorType(obj.descriptorType, "descriptorType", 1);
11702 
11703      print_uint32_t(obj.descriptorCount, "descriptorCount", 1);
11704 
11705      print_VkShaderStageFlags(obj.stageFlags, "stageFlags", 1);
11706 
11707      PRINT_SPACE
11708      _OUT << "\"pImmutableSamplers\":" << std::endl;
11709      PRINT_SPACE
11710      if (obj.pImmutableSamplers) {
11711        _OUT << "[" << std::endl;
11712        for (unsigned int i = 0; i < obj.descriptorCount; i++) {
11713            bool isCommaNeeded = (i+1) != obj.descriptorCount;
11714            if (isCommaNeeded)
11715            {
11716                PRINT_SPACE
11717                _OUT << obj.pImmutableSamplers[i].getInternal() << "," << std::endl;
11718            }
11719            else
11720            {
11721                PRINT_SPACE
11722                _OUT << obj.pImmutableSamplers[i].getInternal() << std::endl;
11723            }
11724        }
11725        PRINT_SPACE
11726        _OUT << "]" << "" << std::endl;
11727      } else {
11728        _OUT << "\"NULL\"" << "" << std::endl;
11729      }
11730 
11731      INDENT(-4);
11732      PRINT_SPACE
11733      if (commaNeeded)
11734          _OUT << "}," << std::endl;
11735      else
11736          _OUT << "}" << std::endl;
11737 }
print_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding * obj,const std::string & s,bool commaNeeded=true)11738 static void print_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding * obj, const std::string& s, bool commaNeeded=true) {
11739      PRINT_SPACE
11740      _OUT << "{" << std::endl;
11741      INDENT(4);
11742 
11743      print_uint32_t(obj->binding, "binding", 1);
11744 
11745      print_VkDescriptorType(obj->descriptorType, "descriptorType", 1);
11746 
11747      print_uint32_t(obj->descriptorCount, "descriptorCount", 1);
11748 
11749      print_VkShaderStageFlags(obj->stageFlags, "stageFlags", 1);
11750 
11751      PRINT_SPACE
11752      _OUT << "\"pImmutableSamplers\":" << std::endl;
11753      PRINT_SPACE
11754      if (obj->pImmutableSamplers) {
11755        _OUT << "[" << std::endl;
11756        for (unsigned int i = 0; i < obj->descriptorCount; i++) {
11757            bool isCommaNeeded = (i+1) != obj->descriptorCount;
11758            if (isCommaNeeded)
11759            {
11760                PRINT_SPACE
11761                _OUT << obj->pImmutableSamplers[i].getInternal() << "," << std::endl;
11762            }
11763            else
11764            {
11765                PRINT_SPACE
11766                _OUT << obj->pImmutableSamplers[i].getInternal() << std::endl;
11767            }
11768        }
11769        PRINT_SPACE
11770        _OUT << "]" << "" << std::endl;
11771      } else {
11772        _OUT << "\"NULL\"" << "" << std::endl;
11773      }
11774 
11775      INDENT(-4);
11776      PRINT_SPACE
11777      if (commaNeeded)
11778          _OUT << "}," << std::endl;
11779      else
11780          _OUT << "}" << std::endl;
11781 }
11782 
print_VkDescriptorSetLayoutCreateInfo(VkDescriptorSetLayoutCreateInfo obj,const std::string & s,bool commaNeeded=true)11783 static void print_VkDescriptorSetLayoutCreateInfo(VkDescriptorSetLayoutCreateInfo obj, const std::string& s, bool commaNeeded=true) {
11784      PRINT_SPACE
11785      _OUT << "{" << std::endl;
11786      INDENT(4);
11787 
11788      print_VkStructureType(obj.sType, "sType", 1);
11789 
11790       if (obj.pNext) {
11791          dumpPNextChain(obj.pNext);
11792       } else {
11793          PRINT_SPACE
11794          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11795      }
11796 
11797      print_VkDescriptorSetLayoutCreateFlags(obj.flags, "flags", 1);
11798 
11799      print_uint32_t(obj.bindingCount, "bindingCount", 1);
11800 
11801      PRINT_SPACE
11802      _OUT << "\"pBindings\": " << std::endl;
11803      if (obj.pBindings) {
11804          PRINT_SPACE
11805          _OUT << "[" << std::endl;
11806          for (unsigned int i = 0; i < obj.bindingCount; i++) {
11807            if (i+1 == obj.bindingCount)
11808                print_VkDescriptorSetLayoutBinding(obj.pBindings[i], "pBindings", 0);
11809            else
11810                print_VkDescriptorSetLayoutBinding(obj.pBindings[i], "pBindings", 1);
11811          }
11812          PRINT_SPACE
11813          _OUT << "]" << std::endl;
11814     }
11815      else
11816      {
11817          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
11818      }
11819 
11820      INDENT(-4);
11821      PRINT_SPACE
11822      if (commaNeeded)
11823          _OUT << "}," << std::endl;
11824      else
11825          _OUT << "}" << std::endl;
11826 }
print_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo * obj,const std::string & s,bool commaNeeded=true)11827 static void print_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
11828      PRINT_SPACE
11829      _OUT << "{" << std::endl;
11830      INDENT(4);
11831 
11832      print_VkStructureType(obj->sType, "sType", 1);
11833 
11834       if (obj->pNext) {
11835          dumpPNextChain(obj->pNext);
11836       } else {
11837          PRINT_SPACE
11838          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11839      }
11840 
11841      print_VkDescriptorSetLayoutCreateFlags(obj->flags, "flags", 1);
11842 
11843      print_uint32_t(obj->bindingCount, "bindingCount", 1);
11844 
11845      PRINT_SPACE
11846      _OUT << "\"pBindings\": " << std::endl;
11847      if (obj->pBindings) {
11848          PRINT_SPACE
11849          _OUT << "[" << std::endl;
11850          for (unsigned int i = 0; i < obj->bindingCount; i++) {
11851            if (i+1 == obj->bindingCount)
11852                print_VkDescriptorSetLayoutBinding(obj->pBindings[i], "pBindings", 0);
11853            else
11854                print_VkDescriptorSetLayoutBinding(obj->pBindings[i], "pBindings", 1);
11855          }
11856          PRINT_SPACE
11857          _OUT << "]" << std::endl;
11858     }
11859      else
11860      {
11861          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
11862      }
11863 
11864      INDENT(-4);
11865      PRINT_SPACE
11866      if (commaNeeded)
11867          _OUT << "}," << std::endl;
11868      else
11869          _OUT << "}" << std::endl;
11870 }
11871 
print_VkWriteDescriptorSet(VkWriteDescriptorSet obj,const std::string & s,bool commaNeeded=true)11872 static void print_VkWriteDescriptorSet(VkWriteDescriptorSet obj, const std::string& s, bool commaNeeded=true) {
11873      PRINT_SPACE
11874      _OUT << "{" << std::endl;
11875      INDENT(4);
11876 
11877      print_VkStructureType(obj.sType, "sType", 1);
11878 
11879       if (obj.pNext) {
11880          dumpPNextChain(obj.pNext);
11881       } else {
11882          PRINT_SPACE
11883          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11884      }
11885 
11886      // CTS : required value
11887      PRINT_SPACE    _OUT << "\"" << "dstSet" << "\"" << " : " << "\"" << "\"," << std::endl;
11888 
11889      print_uint32_t(obj.dstBinding, "dstBinding", 1);
11890 
11891      print_uint32_t(obj.dstArrayElement, "dstArrayElement", 1);
11892 
11893      print_uint32_t(obj.descriptorCount, "descriptorCount", 1);
11894 
11895      print_VkDescriptorType(obj.descriptorType, "descriptorType", 1);
11896 
11897      PRINT_SPACE
11898      _OUT << "\"pImageInfo\": " << std::endl;
11899      if (obj.pImageInfo) {
11900          PRINT_SPACE
11901          _OUT << "[" << std::endl;
11902          for (unsigned int i = 0; i < obj.descriptorCount; i++) {
11903            if (i+1 == obj.descriptorCount)
11904                print_VkDescriptorImageInfo(obj.pImageInfo[i], "pImageInfo", 0);
11905            else
11906                print_VkDescriptorImageInfo(obj.pImageInfo[i], "pImageInfo", 1);
11907          }
11908          PRINT_SPACE
11909          _OUT << "]," << std::endl;
11910     }
11911      else
11912      {
11913          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
11914      }
11915 
11916      PRINT_SPACE
11917      _OUT << "\"pBufferInfo\": " << std::endl;
11918      if (obj.pBufferInfo) {
11919          PRINT_SPACE
11920          _OUT << "[" << std::endl;
11921          for (unsigned int i = 0; i < obj.descriptorCount; i++) {
11922            if (i+1 == obj.descriptorCount)
11923                print_VkDescriptorBufferInfo(obj.pBufferInfo[i], "pBufferInfo", 0);
11924            else
11925                print_VkDescriptorBufferInfo(obj.pBufferInfo[i], "pBufferInfo", 1);
11926          }
11927          PRINT_SPACE
11928          _OUT << "]," << std::endl;
11929     }
11930      else
11931      {
11932          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
11933      }
11934 
11935      PRINT_SPACE
11936      _OUT << "\"pTexelBufferView\":" << std::endl;
11937      PRINT_SPACE
11938      if (obj.pTexelBufferView) {
11939        _OUT << "[" << std::endl;
11940        for (unsigned int i = 0; i < obj.descriptorCount; i++) {
11941            std:: stringstream tmp;
11942            tmp << "pTexelBufferView" << "_" << i;
11943            bool isCommaNeeded = (i+1) != obj.descriptorCount;
11944            print_VkBufferView(obj.pTexelBufferView[i], tmp.str(), isCommaNeeded);
11945        }
11946        PRINT_SPACE
11947        _OUT << "]" << "" << std::endl;
11948      } else {
11949        _OUT << "\"NULL\"" << "" << std::endl;
11950      }
11951 
11952      INDENT(-4);
11953      PRINT_SPACE
11954      if (commaNeeded)
11955          _OUT << "}," << std::endl;
11956      else
11957          _OUT << "}" << std::endl;
11958 }
print_VkWriteDescriptorSet(const VkWriteDescriptorSet * obj,const std::string & s,bool commaNeeded=true)11959 static void print_VkWriteDescriptorSet(const VkWriteDescriptorSet * obj, const std::string& s, bool commaNeeded=true) {
11960      PRINT_SPACE
11961      _OUT << "{" << std::endl;
11962      INDENT(4);
11963 
11964      print_VkStructureType(obj->sType, "sType", 1);
11965 
11966       if (obj->pNext) {
11967          dumpPNextChain(obj->pNext);
11968       } else {
11969          PRINT_SPACE
11970          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
11971      }
11972 
11973      // CTS : required value
11974      PRINT_SPACE    _OUT << "\"" << "dstSet" << "\"" << " : " << "\"" << "\"," << std::endl;
11975 
11976      print_uint32_t(obj->dstBinding, "dstBinding", 1);
11977 
11978      print_uint32_t(obj->dstArrayElement, "dstArrayElement", 1);
11979 
11980      print_uint32_t(obj->descriptorCount, "descriptorCount", 1);
11981 
11982      print_VkDescriptorType(obj->descriptorType, "descriptorType", 1);
11983 
11984      PRINT_SPACE
11985      _OUT << "\"pImageInfo\": " << std::endl;
11986      if (obj->pImageInfo) {
11987          PRINT_SPACE
11988          _OUT << "[" << std::endl;
11989          for (unsigned int i = 0; i < obj->descriptorCount; i++) {
11990            if (i+1 == obj->descriptorCount)
11991                print_VkDescriptorImageInfo(obj->pImageInfo[i], "pImageInfo", 0);
11992            else
11993                print_VkDescriptorImageInfo(obj->pImageInfo[i], "pImageInfo", 1);
11994          }
11995          PRINT_SPACE
11996          _OUT << "]," << std::endl;
11997     }
11998      else
11999      {
12000          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12001      }
12002 
12003      PRINT_SPACE
12004      _OUT << "\"pBufferInfo\": " << std::endl;
12005      if (obj->pBufferInfo) {
12006          PRINT_SPACE
12007          _OUT << "[" << std::endl;
12008          for (unsigned int i = 0; i < obj->descriptorCount; i++) {
12009            if (i+1 == obj->descriptorCount)
12010                print_VkDescriptorBufferInfo(obj->pBufferInfo[i], "pBufferInfo", 0);
12011            else
12012                print_VkDescriptorBufferInfo(obj->pBufferInfo[i], "pBufferInfo", 1);
12013          }
12014          PRINT_SPACE
12015          _OUT << "]," << std::endl;
12016     }
12017      else
12018      {
12019          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12020      }
12021 
12022      PRINT_SPACE
12023      _OUT << "\"pTexelBufferView\":" << std::endl;
12024      PRINT_SPACE
12025      if (obj->pTexelBufferView) {
12026        _OUT << "[" << std::endl;
12027        for (unsigned int i = 0; i < obj->descriptorCount; i++) {
12028            std:: stringstream tmp;
12029            tmp << "pTexelBufferView" << "_" << i;
12030            bool isCommaNeeded = (i+1) != obj->descriptorCount;
12031            print_VkBufferView(obj->pTexelBufferView[i], tmp.str(), isCommaNeeded);
12032        }
12033        PRINT_SPACE
12034        _OUT << "]" << "" << std::endl;
12035      } else {
12036        _OUT << "\"NULL\"" << "" << std::endl;
12037      }
12038 
12039      INDENT(-4);
12040      PRINT_SPACE
12041      if (commaNeeded)
12042          _OUT << "}," << std::endl;
12043      else
12044          _OUT << "}" << std::endl;
12045 }
12046 
print_VkAttachmentDescription(VkAttachmentDescription obj,const std::string & s,bool commaNeeded=true)12047 static void print_VkAttachmentDescription(VkAttachmentDescription obj, const std::string& s, bool commaNeeded=true) {
12048      PRINT_SPACE
12049      _OUT << "{" << std::endl;
12050      INDENT(4);
12051 
12052      print_VkAttachmentDescriptionFlags(obj.flags, "flags", 1);
12053 
12054      print_VkFormat(obj.format, "format", 1);
12055 
12056      print_VkSampleCountFlagBits(obj.samples, "samples", 1);
12057 
12058      print_VkAttachmentLoadOp(obj.loadOp, "loadOp", 1);
12059 
12060      print_VkAttachmentStoreOp(obj.storeOp, "storeOp", 1);
12061 
12062      print_VkAttachmentLoadOp(obj.stencilLoadOp, "stencilLoadOp", 1);
12063 
12064      print_VkAttachmentStoreOp(obj.stencilStoreOp, "stencilStoreOp", 1);
12065 
12066      print_VkImageLayout(obj.initialLayout, "initialLayout", 1);
12067 
12068      print_VkImageLayout(obj.finalLayout, "finalLayout", 0);
12069 
12070      INDENT(-4);
12071      PRINT_SPACE
12072      if (commaNeeded)
12073          _OUT << "}," << std::endl;
12074      else
12075          _OUT << "}" << std::endl;
12076 }
print_VkAttachmentDescription(const VkAttachmentDescription * obj,const std::string & s,bool commaNeeded=true)12077 static void print_VkAttachmentDescription(const VkAttachmentDescription * obj, const std::string& s, bool commaNeeded=true) {
12078      PRINT_SPACE
12079      _OUT << "{" << std::endl;
12080      INDENT(4);
12081 
12082      print_VkAttachmentDescriptionFlags(obj->flags, "flags", 1);
12083 
12084      print_VkFormat(obj->format, "format", 1);
12085 
12086      print_VkSampleCountFlagBits(obj->samples, "samples", 1);
12087 
12088      print_VkAttachmentLoadOp(obj->loadOp, "loadOp", 1);
12089 
12090      print_VkAttachmentStoreOp(obj->storeOp, "storeOp", 1);
12091 
12092      print_VkAttachmentLoadOp(obj->stencilLoadOp, "stencilLoadOp", 1);
12093 
12094      print_VkAttachmentStoreOp(obj->stencilStoreOp, "stencilStoreOp", 1);
12095 
12096      print_VkImageLayout(obj->initialLayout, "initialLayout", 1);
12097 
12098      print_VkImageLayout(obj->finalLayout, "finalLayout", 0);
12099 
12100      INDENT(-4);
12101      PRINT_SPACE
12102      if (commaNeeded)
12103          _OUT << "}," << std::endl;
12104      else
12105          _OUT << "}" << std::endl;
12106 }
12107 
print_VkAttachmentReference(VkAttachmentReference obj,const std::string & s,bool commaNeeded=true)12108 static void print_VkAttachmentReference(VkAttachmentReference obj, const std::string& s, bool commaNeeded=true) {
12109      PRINT_SPACE
12110      _OUT << "{" << std::endl;
12111      INDENT(4);
12112 
12113      print_uint32_t(obj.attachment, "attachment", 1);
12114 
12115      print_VkImageLayout(obj.layout, "layout", 0);
12116 
12117      INDENT(-4);
12118      PRINT_SPACE
12119      if (commaNeeded)
12120          _OUT << "}," << std::endl;
12121      else
12122          _OUT << "}" << std::endl;
12123 }
print_VkAttachmentReference(const VkAttachmentReference * obj,const std::string & s,bool commaNeeded=true)12124 static void print_VkAttachmentReference(const VkAttachmentReference * obj, const std::string& s, bool commaNeeded=true) {
12125      PRINT_SPACE
12126      _OUT << "{" << std::endl;
12127      INDENT(4);
12128 
12129      print_uint32_t(obj->attachment, "attachment", 1);
12130 
12131      print_VkImageLayout(obj->layout, "layout", 0);
12132 
12133      INDENT(-4);
12134      PRINT_SPACE
12135      if (commaNeeded)
12136          _OUT << "}," << std::endl;
12137      else
12138          _OUT << "}" << std::endl;
12139 }
12140 
print_VkFramebufferCreateInfo(VkFramebufferCreateInfo obj,const std::string & s,bool commaNeeded=true)12141 static void print_VkFramebufferCreateInfo(VkFramebufferCreateInfo obj, const std::string& s, bool commaNeeded=true) {
12142      PRINT_SPACE
12143      _OUT << "{" << std::endl;
12144      INDENT(4);
12145 
12146      print_VkStructureType(obj.sType, "sType", 1);
12147 
12148       if (obj.pNext) {
12149          dumpPNextChain(obj.pNext);
12150       } else {
12151          PRINT_SPACE
12152          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12153      }
12154 
12155      print_VkFramebufferCreateFlags(obj.flags, "flags", 1);
12156 
12157      // CTS : required value
12158      PRINT_SPACE    _OUT << "\"" << "renderPass" << "\"" << " : " << obj.renderPass.getInternal() << "," << std::endl;
12159 
12160      print_uint32_t(obj.attachmentCount, "attachmentCount", 1);
12161 
12162      PRINT_SPACE
12163      _OUT << "\"pAttachments\":" << std::endl;
12164      PRINT_SPACE
12165      if (obj.pAttachments) {
12166        _OUT << "[" << std::endl;
12167        for (unsigned int i = 0; i < obj.attachmentCount; i++) {
12168            std:: stringstream tmp;
12169            tmp << "pAttachments" << "_" << i;
12170            bool isCommaNeeded = (i+1) != obj.attachmentCount;
12171            print_VkImageView(obj.pAttachments[i], tmp.str(), isCommaNeeded);
12172        }
12173        PRINT_SPACE
12174        _OUT << "]" << "," << std::endl;
12175      } else {
12176        _OUT << "\"NULL\"" << "," << std::endl;
12177      }
12178 
12179      print_uint32_t(obj.width, "width", 1);
12180 
12181      print_uint32_t(obj.height, "height", 1);
12182 
12183      print_uint32_t(obj.layers, "layers", 0);
12184 
12185      INDENT(-4);
12186      PRINT_SPACE
12187      if (commaNeeded)
12188          _OUT << "}," << std::endl;
12189      else
12190          _OUT << "}" << std::endl;
12191 }
print_VkFramebufferCreateInfo(const VkFramebufferCreateInfo * obj,const std::string & s,bool commaNeeded=true)12192 static void print_VkFramebufferCreateInfo(const VkFramebufferCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
12193      PRINT_SPACE
12194      _OUT << "{" << std::endl;
12195      INDENT(4);
12196 
12197      print_VkStructureType(obj->sType, "sType", 1);
12198 
12199       if (obj->pNext) {
12200          dumpPNextChain(obj->pNext);
12201       } else {
12202          PRINT_SPACE
12203          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12204      }
12205 
12206      print_VkFramebufferCreateFlags(obj->flags, "flags", 1);
12207 
12208      // CTS : required value
12209      PRINT_SPACE    _OUT << "\"" << "renderPass" << "\"" << " : " << obj->renderPass.getInternal() << "," << std::endl;
12210 
12211      print_uint32_t(obj->attachmentCount, "attachmentCount", 1);
12212 
12213      PRINT_SPACE
12214      _OUT << "\"pAttachments\":" << std::endl;
12215      PRINT_SPACE
12216      if (obj->pAttachments) {
12217        _OUT << "[" << std::endl;
12218        for (unsigned int i = 0; i < obj->attachmentCount; i++) {
12219            std:: stringstream tmp;
12220            tmp << "pAttachments" << "_" << i;
12221            bool isCommaNeeded = (i+1) != obj->attachmentCount;
12222            print_VkImageView(obj->pAttachments[i], tmp.str(), isCommaNeeded);
12223        }
12224        PRINT_SPACE
12225        _OUT << "]" << "," << std::endl;
12226      } else {
12227        _OUT << "\"NULL\"" << "," << std::endl;
12228      }
12229 
12230      print_uint32_t(obj->width, "width", 1);
12231 
12232      print_uint32_t(obj->height, "height", 1);
12233 
12234      print_uint32_t(obj->layers, "layers", 0);
12235 
12236      INDENT(-4);
12237      PRINT_SPACE
12238      if (commaNeeded)
12239          _OUT << "}," << std::endl;
12240      else
12241          _OUT << "}" << std::endl;
12242 }
12243 
print_VkSubpassDescription(VkSubpassDescription obj,const std::string & s,bool commaNeeded=true)12244 static void print_VkSubpassDescription(VkSubpassDescription obj, const std::string& s, bool commaNeeded=true) {
12245      PRINT_SPACE
12246      _OUT << "{" << std::endl;
12247      INDENT(4);
12248 
12249      print_VkSubpassDescriptionFlags(obj.flags, "flags", 1);
12250 
12251      print_VkPipelineBindPoint(obj.pipelineBindPoint, "pipelineBindPoint", 1);
12252 
12253      print_uint32_t(obj.inputAttachmentCount, "inputAttachmentCount", 1);
12254 
12255      PRINT_SPACE
12256      _OUT << "\"pInputAttachments\": " << std::endl;
12257      if (obj.pInputAttachments) {
12258          PRINT_SPACE
12259          _OUT << "[" << std::endl;
12260          for (unsigned int i = 0; i < obj.inputAttachmentCount; i++) {
12261            if (i+1 == obj.inputAttachmentCount)
12262                print_VkAttachmentReference(obj.pInputAttachments[i], "pInputAttachments", 0);
12263            else
12264                print_VkAttachmentReference(obj.pInputAttachments[i], "pInputAttachments", 1);
12265          }
12266          PRINT_SPACE
12267          _OUT << "]," << std::endl;
12268     }
12269      else
12270      {
12271          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12272      }
12273 
12274      print_uint32_t(obj.colorAttachmentCount, "colorAttachmentCount", 1);
12275 
12276      PRINT_SPACE
12277      _OUT << "\"pColorAttachments\": " << std::endl;
12278      if (obj.pColorAttachments) {
12279          PRINT_SPACE
12280          _OUT << "[" << std::endl;
12281          for (unsigned int i = 0; i < obj.colorAttachmentCount; i++) {
12282            if (i+1 == obj.colorAttachmentCount)
12283                print_VkAttachmentReference(obj.pColorAttachments[i], "pColorAttachments", 0);
12284            else
12285                print_VkAttachmentReference(obj.pColorAttachments[i], "pColorAttachments", 1);
12286          }
12287          PRINT_SPACE
12288          _OUT << "]," << std::endl;
12289     }
12290      else
12291      {
12292          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12293      }
12294 
12295      PRINT_SPACE
12296      _OUT << "\"pResolveAttachments\": " << std::endl;
12297      if (obj.pResolveAttachments) {
12298          PRINT_SPACE
12299          _OUT << "[" << std::endl;
12300          for (unsigned int i = 0; i < obj.colorAttachmentCount; i++) {
12301            if (i+1 == obj.colorAttachmentCount)
12302                print_VkAttachmentReference(obj.pResolveAttachments[i], "pResolveAttachments", 0);
12303            else
12304                print_VkAttachmentReference(obj.pResolveAttachments[i], "pResolveAttachments", 1);
12305          }
12306          PRINT_SPACE
12307          _OUT << "]," << std::endl;
12308     }
12309      else
12310      {
12311          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12312      }
12313 
12314      PRINT_SPACE
12315      _OUT << "\"pDepthStencilAttachment\": " << std::endl;
12316      if (obj.pDepthStencilAttachment) {
12317            print_VkAttachmentReference(obj.pDepthStencilAttachment, "pDepthStencilAttachment", 1);
12318      }
12319      else
12320      {
12321          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12322      }
12323 
12324      print_uint32_t(obj.preserveAttachmentCount, "preserveAttachmentCount", 1);
12325 
12326      PRINT_SPACE
12327      _OUT << "\"pPreserveAttachments\":" << std::endl;
12328      PRINT_SPACE
12329      if (obj.pPreserveAttachments) {
12330        _OUT << "[" << std::endl;
12331        for (unsigned int i = 0; i < obj.preserveAttachmentCount; i++) {
12332            bool isCommaNeeded = (i+1) != obj.preserveAttachmentCount;
12333            print_uint32_t(obj.pPreserveAttachments[i], "", isCommaNeeded);
12334        }
12335        PRINT_SPACE
12336        _OUT << "]" << "" << std::endl;
12337      } else {
12338        _OUT << "\"NULL\"" << "" << std::endl;
12339      }
12340 
12341      INDENT(-4);
12342      PRINT_SPACE
12343      if (commaNeeded)
12344          _OUT << "}," << std::endl;
12345      else
12346          _OUT << "}" << std::endl;
12347 }
print_VkSubpassDescription(const VkSubpassDescription * obj,const std::string & s,bool commaNeeded=true)12348 static void print_VkSubpassDescription(const VkSubpassDescription * obj, const std::string& s, bool commaNeeded=true) {
12349      PRINT_SPACE
12350      _OUT << "{" << std::endl;
12351      INDENT(4);
12352 
12353      print_VkSubpassDescriptionFlags(obj->flags, "flags", 1);
12354 
12355      print_VkPipelineBindPoint(obj->pipelineBindPoint, "pipelineBindPoint", 1);
12356 
12357      print_uint32_t(obj->inputAttachmentCount, "inputAttachmentCount", 1);
12358 
12359      PRINT_SPACE
12360      _OUT << "\"pInputAttachments\": " << std::endl;
12361      if (obj->pInputAttachments) {
12362          PRINT_SPACE
12363          _OUT << "[" << std::endl;
12364          for (unsigned int i = 0; i < obj->inputAttachmentCount; i++) {
12365            if (i+1 == obj->inputAttachmentCount)
12366                print_VkAttachmentReference(obj->pInputAttachments[i], "pInputAttachments", 0);
12367            else
12368                print_VkAttachmentReference(obj->pInputAttachments[i], "pInputAttachments", 1);
12369          }
12370          PRINT_SPACE
12371          _OUT << "]," << std::endl;
12372     }
12373      else
12374      {
12375          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12376      }
12377 
12378      print_uint32_t(obj->colorAttachmentCount, "colorAttachmentCount", 1);
12379 
12380      PRINT_SPACE
12381      _OUT << "\"pColorAttachments\": " << std::endl;
12382      if (obj->pColorAttachments) {
12383          PRINT_SPACE
12384          _OUT << "[" << std::endl;
12385          for (unsigned int i = 0; i < obj->colorAttachmentCount; i++) {
12386            if (i+1 == obj->colorAttachmentCount)
12387                print_VkAttachmentReference(obj->pColorAttachments[i], "pColorAttachments", 0);
12388            else
12389                print_VkAttachmentReference(obj->pColorAttachments[i], "pColorAttachments", 1);
12390          }
12391          PRINT_SPACE
12392          _OUT << "]," << std::endl;
12393     }
12394      else
12395      {
12396          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12397      }
12398 
12399      PRINT_SPACE
12400      _OUT << "\"pResolveAttachments\": " << std::endl;
12401      if (obj->pResolveAttachments) {
12402          PRINT_SPACE
12403          _OUT << "[" << std::endl;
12404          for (unsigned int i = 0; i < obj->colorAttachmentCount; i++) {
12405            if (i+1 == obj->colorAttachmentCount)
12406                print_VkAttachmentReference(obj->pResolveAttachments[i], "pResolveAttachments", 0);
12407            else
12408                print_VkAttachmentReference(obj->pResolveAttachments[i], "pResolveAttachments", 1);
12409          }
12410          PRINT_SPACE
12411          _OUT << "]," << std::endl;
12412     }
12413      else
12414      {
12415          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12416      }
12417 
12418      PRINT_SPACE
12419      _OUT << "\"pDepthStencilAttachment\": " << std::endl;
12420      if (obj->pDepthStencilAttachment) {
12421            print_VkAttachmentReference(obj->pDepthStencilAttachment, "pDepthStencilAttachment", 1);
12422      }
12423      else
12424      {
12425          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12426      }
12427 
12428      print_uint32_t(obj->preserveAttachmentCount, "preserveAttachmentCount", 1);
12429 
12430      PRINT_SPACE
12431      _OUT << "\"pPreserveAttachments\":" << std::endl;
12432      PRINT_SPACE
12433      if (obj->pPreserveAttachments) {
12434        _OUT << "[" << std::endl;
12435        for (unsigned int i = 0; i < obj->preserveAttachmentCount; i++) {
12436            bool isCommaNeeded = (i+1) != obj->preserveAttachmentCount;
12437            print_uint32_t(obj->pPreserveAttachments[i], "", isCommaNeeded);
12438        }
12439        PRINT_SPACE
12440        _OUT << "]" << "" << std::endl;
12441      } else {
12442        _OUT << "\"NULL\"" << "" << std::endl;
12443      }
12444 
12445      INDENT(-4);
12446      PRINT_SPACE
12447      if (commaNeeded)
12448          _OUT << "}," << std::endl;
12449      else
12450          _OUT << "}" << std::endl;
12451 }
12452 
print_VkSubpassDependency(VkSubpassDependency obj,const std::string & s,bool commaNeeded=true)12453 static void print_VkSubpassDependency(VkSubpassDependency obj, const std::string& s, bool commaNeeded=true) {
12454      PRINT_SPACE
12455      _OUT << "{" << std::endl;
12456      INDENT(4);
12457 
12458      print_uint32_t(obj.srcSubpass, "srcSubpass", 1);
12459 
12460      print_uint32_t(obj.dstSubpass, "dstSubpass", 1);
12461 
12462      print_VkPipelineStageFlags(obj.srcStageMask, "srcStageMask", 1);
12463 
12464      print_VkPipelineStageFlags(obj.dstStageMask, "dstStageMask", 1);
12465 
12466      print_VkAccessFlags(obj.srcAccessMask, "srcAccessMask", 1);
12467 
12468      print_VkAccessFlags(obj.dstAccessMask, "dstAccessMask", 1);
12469 
12470      print_VkDependencyFlags(obj.dependencyFlags, "dependencyFlags", 0);
12471 
12472      INDENT(-4);
12473      PRINT_SPACE
12474      if (commaNeeded)
12475          _OUT << "}," << std::endl;
12476      else
12477          _OUT << "}" << std::endl;
12478 }
print_VkSubpassDependency(const VkSubpassDependency * obj,const std::string & s,bool commaNeeded=true)12479 static void print_VkSubpassDependency(const VkSubpassDependency * obj, const std::string& s, bool commaNeeded=true) {
12480      PRINT_SPACE
12481      _OUT << "{" << std::endl;
12482      INDENT(4);
12483 
12484      print_uint32_t(obj->srcSubpass, "srcSubpass", 1);
12485 
12486      print_uint32_t(obj->dstSubpass, "dstSubpass", 1);
12487 
12488      print_VkPipelineStageFlags(obj->srcStageMask, "srcStageMask", 1);
12489 
12490      print_VkPipelineStageFlags(obj->dstStageMask, "dstStageMask", 1);
12491 
12492      print_VkAccessFlags(obj->srcAccessMask, "srcAccessMask", 1);
12493 
12494      print_VkAccessFlags(obj->dstAccessMask, "dstAccessMask", 1);
12495 
12496      print_VkDependencyFlags(obj->dependencyFlags, "dependencyFlags", 0);
12497 
12498      INDENT(-4);
12499      PRINT_SPACE
12500      if (commaNeeded)
12501          _OUT << "}," << std::endl;
12502      else
12503          _OUT << "}" << std::endl;
12504 }
12505 
print_VkRenderPassCreateInfo(VkRenderPassCreateInfo obj,const std::string & s,bool commaNeeded=true)12506 static void print_VkRenderPassCreateInfo(VkRenderPassCreateInfo obj, const std::string& s, bool commaNeeded=true) {
12507      PRINT_SPACE
12508      _OUT << "{" << std::endl;
12509      INDENT(4);
12510 
12511      print_VkStructureType(obj.sType, "sType", 1);
12512 
12513       if (obj.pNext) {
12514          dumpPNextChain(obj.pNext);
12515       } else {
12516          PRINT_SPACE
12517          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12518      }
12519 
12520      print_VkRenderPassCreateFlags(obj.flags, "flags", 1);
12521 
12522      print_uint32_t(obj.attachmentCount, "attachmentCount", 1);
12523 
12524      PRINT_SPACE
12525      _OUT << "\"pAttachments\": " << std::endl;
12526      if (obj.pAttachments) {
12527          PRINT_SPACE
12528          _OUT << "[" << std::endl;
12529          for (unsigned int i = 0; i < obj.attachmentCount; i++) {
12530            if (i+1 == obj.attachmentCount)
12531                print_VkAttachmentDescription(obj.pAttachments[i], "pAttachments", 0);
12532            else
12533                print_VkAttachmentDescription(obj.pAttachments[i], "pAttachments", 1);
12534          }
12535          PRINT_SPACE
12536          _OUT << "]," << std::endl;
12537     }
12538      else
12539      {
12540          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12541      }
12542 
12543      print_uint32_t(obj.subpassCount, "subpassCount", 1);
12544 
12545      PRINT_SPACE
12546      _OUT << "\"pSubpasses\": " << std::endl;
12547      if (obj.pSubpasses) {
12548          PRINT_SPACE
12549          _OUT << "[" << std::endl;
12550          for (unsigned int i = 0; i < obj.subpassCount; i++) {
12551            if (i+1 == obj.subpassCount)
12552                print_VkSubpassDescription(obj.pSubpasses[i], "pSubpasses", 0);
12553            else
12554                print_VkSubpassDescription(obj.pSubpasses[i], "pSubpasses", 1);
12555          }
12556          PRINT_SPACE
12557          _OUT << "]," << std::endl;
12558     }
12559      else
12560      {
12561          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12562      }
12563 
12564      print_uint32_t(obj.dependencyCount, "dependencyCount", 1);
12565 
12566      PRINT_SPACE
12567      _OUT << "\"pDependencies\": " << std::endl;
12568      if (obj.pDependencies) {
12569          PRINT_SPACE
12570          _OUT << "[" << std::endl;
12571          for (unsigned int i = 0; i < obj.dependencyCount; i++) {
12572            if (i+1 == obj.dependencyCount)
12573                print_VkSubpassDependency(obj.pDependencies[i], "pDependencies", 0);
12574            else
12575                print_VkSubpassDependency(obj.pDependencies[i], "pDependencies", 1);
12576          }
12577          PRINT_SPACE
12578          _OUT << "]" << std::endl;
12579     }
12580      else
12581      {
12582          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
12583      }
12584 
12585      INDENT(-4);
12586      PRINT_SPACE
12587      if (commaNeeded)
12588          _OUT << "}," << std::endl;
12589      else
12590          _OUT << "}" << std::endl;
12591 }
print_VkRenderPassCreateInfo(const VkRenderPassCreateInfo * obj,const std::string & s,bool commaNeeded=true)12592 static void print_VkRenderPassCreateInfo(const VkRenderPassCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
12593      PRINT_SPACE
12594      _OUT << "{" << std::endl;
12595      INDENT(4);
12596 
12597      print_VkStructureType(obj->sType, "sType", 1);
12598 
12599       if (obj->pNext) {
12600          dumpPNextChain(obj->pNext);
12601       } else {
12602          PRINT_SPACE
12603          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12604      }
12605 
12606      print_VkRenderPassCreateFlags(obj->flags, "flags", 1);
12607 
12608      print_uint32_t(obj->attachmentCount, "attachmentCount", 1);
12609 
12610      PRINT_SPACE
12611      _OUT << "\"pAttachments\": " << std::endl;
12612      if (obj->pAttachments) {
12613          PRINT_SPACE
12614          _OUT << "[" << std::endl;
12615          for (unsigned int i = 0; i < obj->attachmentCount; i++) {
12616            if (i+1 == obj->attachmentCount)
12617                print_VkAttachmentDescription(obj->pAttachments[i], "pAttachments", 0);
12618            else
12619                print_VkAttachmentDescription(obj->pAttachments[i], "pAttachments", 1);
12620          }
12621          PRINT_SPACE
12622          _OUT << "]," << std::endl;
12623     }
12624      else
12625      {
12626          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12627      }
12628 
12629      print_uint32_t(obj->subpassCount, "subpassCount", 1);
12630 
12631      PRINT_SPACE
12632      _OUT << "\"pSubpasses\": " << std::endl;
12633      if (obj->pSubpasses) {
12634          PRINT_SPACE
12635          _OUT << "[" << std::endl;
12636          for (unsigned int i = 0; i < obj->subpassCount; i++) {
12637            if (i+1 == obj->subpassCount)
12638                print_VkSubpassDescription(obj->pSubpasses[i], "pSubpasses", 0);
12639            else
12640                print_VkSubpassDescription(obj->pSubpasses[i], "pSubpasses", 1);
12641          }
12642          PRINT_SPACE
12643          _OUT << "]," << std::endl;
12644     }
12645      else
12646      {
12647          PRINT_SPACE _OUT << "\"NULL\""<< ","<< std::endl;
12648      }
12649 
12650      print_uint32_t(obj->dependencyCount, "dependencyCount", 1);
12651 
12652      PRINT_SPACE
12653      _OUT << "\"pDependencies\": " << std::endl;
12654      if (obj->pDependencies) {
12655          PRINT_SPACE
12656          _OUT << "[" << std::endl;
12657          for (unsigned int i = 0; i < obj->dependencyCount; i++) {
12658            if (i+1 == obj->dependencyCount)
12659                print_VkSubpassDependency(obj->pDependencies[i], "pDependencies", 0);
12660            else
12661                print_VkSubpassDependency(obj->pDependencies[i], "pDependencies", 1);
12662          }
12663          PRINT_SPACE
12664          _OUT << "]" << std::endl;
12665     }
12666      else
12667      {
12668          PRINT_SPACE _OUT << "\"NULL\""<< ""<< std::endl;
12669      }
12670 
12671      INDENT(-4);
12672      PRINT_SPACE
12673      if (commaNeeded)
12674          _OUT << "}," << std::endl;
12675      else
12676          _OUT << "}" << std::endl;
12677 }
12678 
print_VkCommandPoolCreateInfo(VkCommandPoolCreateInfo obj,const std::string & s,bool commaNeeded=true)12679 static void print_VkCommandPoolCreateInfo(VkCommandPoolCreateInfo obj, const std::string& s, bool commaNeeded=true) {
12680      PRINT_SPACE
12681      _OUT << "{" << std::endl;
12682      INDENT(4);
12683 
12684      print_VkStructureType(obj.sType, "sType", 1);
12685 
12686       if (obj.pNext) {
12687          dumpPNextChain(obj.pNext);
12688       } else {
12689          PRINT_SPACE
12690          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12691      }
12692 
12693      print_VkCommandPoolCreateFlags(obj.flags, "flags", 1);
12694 
12695      print_uint32_t(obj.queueFamilyIndex, "queueFamilyIndex", 0);
12696 
12697      INDENT(-4);
12698      PRINT_SPACE
12699      if (commaNeeded)
12700          _OUT << "}," << std::endl;
12701      else
12702          _OUT << "}" << std::endl;
12703 }
print_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo * obj,const std::string & s,bool commaNeeded=true)12704 static void print_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo * obj, const std::string& s, bool commaNeeded=true) {
12705      PRINT_SPACE
12706      _OUT << "{" << std::endl;
12707      INDENT(4);
12708 
12709      print_VkStructureType(obj->sType, "sType", 1);
12710 
12711       if (obj->pNext) {
12712          dumpPNextChain(obj->pNext);
12713       } else {
12714          PRINT_SPACE
12715          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12716      }
12717 
12718      print_VkCommandPoolCreateFlags(obj->flags, "flags", 1);
12719 
12720      print_uint32_t(obj->queueFamilyIndex, "queueFamilyIndex", 0);
12721 
12722      INDENT(-4);
12723      PRINT_SPACE
12724      if (commaNeeded)
12725          _OUT << "}," << std::endl;
12726      else
12727          _OUT << "}" << std::endl;
12728 }
12729 
print_VkCommandBufferAllocateInfo(VkCommandBufferAllocateInfo obj,const std::string & s,bool commaNeeded=true)12730 static void print_VkCommandBufferAllocateInfo(VkCommandBufferAllocateInfo obj, const std::string& s, bool commaNeeded=true) {
12731      PRINT_SPACE
12732      _OUT << "{" << std::endl;
12733      INDENT(4);
12734 
12735      print_VkStructureType(obj.sType, "sType", 1);
12736 
12737       if (obj.pNext) {
12738          dumpPNextChain(obj.pNext);
12739       } else {
12740          PRINT_SPACE
12741          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12742      }
12743 
12744      // CTS : required value
12745      PRINT_SPACE    _OUT << "\"" << "commandPool" << "\"" << " : " << "\"" << "\"," << std::endl;
12746 
12747      print_VkCommandBufferLevel(obj.level, "level", 1);
12748 
12749      print_uint32_t(obj.commandBufferCount, "commandBufferCount", 0);
12750 
12751      INDENT(-4);
12752      PRINT_SPACE
12753      if (commaNeeded)
12754          _OUT << "}," << std::endl;
12755      else
12756          _OUT << "}" << std::endl;
12757 }
print_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo * obj,const std::string & s,bool commaNeeded=true)12758 static void print_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo * obj, const std::string& s, bool commaNeeded=true) {
12759      PRINT_SPACE
12760      _OUT << "{" << std::endl;
12761      INDENT(4);
12762 
12763      print_VkStructureType(obj->sType, "sType", 1);
12764 
12765       if (obj->pNext) {
12766          dumpPNextChain(obj->pNext);
12767       } else {
12768          PRINT_SPACE
12769          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12770      }
12771 
12772      // CTS : required value
12773      PRINT_SPACE    _OUT << "\"" << "commandPool" << "\"" << " : " << "\"" << "\"," << std::endl;
12774 
12775      print_VkCommandBufferLevel(obj->level, "level", 1);
12776 
12777      print_uint32_t(obj->commandBufferCount, "commandBufferCount", 0);
12778 
12779      INDENT(-4);
12780      PRINT_SPACE
12781      if (commaNeeded)
12782          _OUT << "}," << std::endl;
12783      else
12784          _OUT << "}" << std::endl;
12785 }
12786 
print_VkCommandBufferInheritanceInfo(VkCommandBufferInheritanceInfo obj,const std::string & s,bool commaNeeded=true)12787 static void print_VkCommandBufferInheritanceInfo(VkCommandBufferInheritanceInfo obj, const std::string& s, bool commaNeeded=true) {
12788      PRINT_SPACE
12789      _OUT << "{" << std::endl;
12790      INDENT(4);
12791 
12792      print_VkStructureType(obj.sType, "sType", 1);
12793 
12794       if (obj.pNext) {
12795          dumpPNextChain(obj.pNext);
12796       } else {
12797          PRINT_SPACE
12798          _OUT << "\"pNext\":" << "\"NULL\""<< ","<< std::endl;
12799      }
12800 
12801      // CTS : required value
12802      PRINT_SPACE    _OUT << "\"" << "renderPass" << "\"" << " : " << obj.renderPass.getInternal() << "," << std::endl;
12803 
12804      print_uint32_t(obj.subpass, "subpass", 1);
12805 
12806      // CTS : required value
12807      PRINT_SPACE    _OUT << "\"" << "framebuffer" << "\"" << " : " << "\"" << "\"," << std::endl;
12808 
12809      print_VkBool32(obj.occlusionQueryEnable, "occlusionQueryEnable", 1);
12810 
12811      print_VkQueryControlFlags(obj.queryFlags, "queryFlags", 1);
12812 
12813      print_VkQueryPipelineStatisticFlags(obj.pipelineStatistics, "pipelineStatistics", 0);
12814 
12815      INDENT(-4);
12816      PRINT_SPACE
12817      if (commaNeeded)
12818          _OUT << "}," << std::endl;
12819      else
12820          _OUT << "}" << std::endl;
12821 }
print_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo * obj,const std::string & s,bool commaNeeded=true)12822