• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
3 */
4struct VkApplicationInfo
5{
6	VkStructureType	sType;
7	const void*		pNext;
8	const char*		pApplicationName;
9	deUint32		applicationVersion;
10	const char*		pEngineName;
11	deUint32		engineVersion;
12	deUint32		apiVersion;
13};
14
15struct VkInstanceCreateInfo
16{
17	VkStructureType				sType;
18	const void*					pNext;
19	VkInstanceCreateFlags		flags;
20	const VkApplicationInfo*	pApplicationInfo;
21	deUint32					enabledLayerCount;
22	const char* const*			ppEnabledLayerNames;
23	deUint32					enabledExtensionCount;
24	const char* const*			ppEnabledExtensionNames;
25};
26
27struct VkAllocationCallbacks
28{
29	void*									pUserData;
30	PFN_vkAllocationFunction				pfnAllocation;
31	PFN_vkReallocationFunction				pfnReallocation;
32	PFN_vkFreeFunction						pfnFree;
33	PFN_vkInternalAllocationNotification	pfnInternalAllocation;
34	PFN_vkInternalFreeNotification			pfnInternalFree;
35};
36
37struct VkPhysicalDeviceFeatures
38{
39	VkBool32	robustBufferAccess;
40	VkBool32	fullDrawIndexUint32;
41	VkBool32	imageCubeArray;
42	VkBool32	independentBlend;
43	VkBool32	geometryShader;
44	VkBool32	tessellationShader;
45	VkBool32	sampleRateShading;
46	VkBool32	dualSrcBlend;
47	VkBool32	logicOp;
48	VkBool32	multiDrawIndirect;
49	VkBool32	drawIndirectFirstInstance;
50	VkBool32	depthClamp;
51	VkBool32	depthBiasClamp;
52	VkBool32	fillModeNonSolid;
53	VkBool32	depthBounds;
54	VkBool32	wideLines;
55	VkBool32	largePoints;
56	VkBool32	alphaToOne;
57	VkBool32	multiViewport;
58	VkBool32	samplerAnisotropy;
59	VkBool32	textureCompressionETC2;
60	VkBool32	textureCompressionASTC_LDR;
61	VkBool32	textureCompressionBC;
62	VkBool32	occlusionQueryPrecise;
63	VkBool32	pipelineStatisticsQuery;
64	VkBool32	vertexPipelineStoresAndAtomics;
65	VkBool32	fragmentStoresAndAtomics;
66	VkBool32	shaderTessellationAndGeometryPointSize;
67	VkBool32	shaderImageGatherExtended;
68	VkBool32	shaderStorageImageExtendedFormats;
69	VkBool32	shaderStorageImageMultisample;
70	VkBool32	shaderStorageImageReadWithoutFormat;
71	VkBool32	shaderStorageImageWriteWithoutFormat;
72	VkBool32	shaderUniformBufferArrayDynamicIndexing;
73	VkBool32	shaderSampledImageArrayDynamicIndexing;
74	VkBool32	shaderStorageBufferArrayDynamicIndexing;
75	VkBool32	shaderStorageImageArrayDynamicIndexing;
76	VkBool32	shaderClipDistance;
77	VkBool32	shaderCullDistance;
78	VkBool32	shaderFloat64;
79	VkBool32	shaderInt64;
80	VkBool32	shaderInt16;
81	VkBool32	shaderResourceResidency;
82	VkBool32	shaderResourceMinLod;
83	VkBool32	sparseBinding;
84	VkBool32	sparseResidencyBuffer;
85	VkBool32	sparseResidencyImage2D;
86	VkBool32	sparseResidencyImage3D;
87	VkBool32	sparseResidency2Samples;
88	VkBool32	sparseResidency4Samples;
89	VkBool32	sparseResidency8Samples;
90	VkBool32	sparseResidency16Samples;
91	VkBool32	sparseResidencyAliased;
92	VkBool32	variableMultisampleRate;
93	VkBool32	inheritedQueries;
94};
95
96struct VkFormatProperties
97{
98	VkFormatFeatureFlags	linearTilingFeatures;
99	VkFormatFeatureFlags	optimalTilingFeatures;
100	VkFormatFeatureFlags	bufferFeatures;
101};
102
103struct VkExtent3D
104{
105	deUint32	width;
106	deUint32	height;
107	deUint32	depth;
108};
109
110struct VkImageFormatProperties
111{
112	VkExtent3D			maxExtent;
113	deUint32			maxMipLevels;
114	deUint32			maxArrayLayers;
115	VkSampleCountFlags	sampleCounts;
116	VkDeviceSize		maxResourceSize;
117};
118
119struct VkPhysicalDeviceLimits
120{
121	deUint32			maxImageDimension1D;
122	deUint32			maxImageDimension2D;
123	deUint32			maxImageDimension3D;
124	deUint32			maxImageDimensionCube;
125	deUint32			maxImageArrayLayers;
126	deUint32			maxTexelBufferElements;
127	deUint32			maxUniformBufferRange;
128	deUint32			maxStorageBufferRange;
129	deUint32			maxPushConstantsSize;
130	deUint32			maxMemoryAllocationCount;
131	deUint32			maxSamplerAllocationCount;
132	VkDeviceSize		bufferImageGranularity;
133	VkDeviceSize		sparseAddressSpaceSize;
134	deUint32			maxBoundDescriptorSets;
135	deUint32			maxPerStageDescriptorSamplers;
136	deUint32			maxPerStageDescriptorUniformBuffers;
137	deUint32			maxPerStageDescriptorStorageBuffers;
138	deUint32			maxPerStageDescriptorSampledImages;
139	deUint32			maxPerStageDescriptorStorageImages;
140	deUint32			maxPerStageDescriptorInputAttachments;
141	deUint32			maxPerStageResources;
142	deUint32			maxDescriptorSetSamplers;
143	deUint32			maxDescriptorSetUniformBuffers;
144	deUint32			maxDescriptorSetUniformBuffersDynamic;
145	deUint32			maxDescriptorSetStorageBuffers;
146	deUint32			maxDescriptorSetStorageBuffersDynamic;
147	deUint32			maxDescriptorSetSampledImages;
148	deUint32			maxDescriptorSetStorageImages;
149	deUint32			maxDescriptorSetInputAttachments;
150	deUint32			maxVertexInputAttributes;
151	deUint32			maxVertexInputBindings;
152	deUint32			maxVertexInputAttributeOffset;
153	deUint32			maxVertexInputBindingStride;
154	deUint32			maxVertexOutputComponents;
155	deUint32			maxTessellationGenerationLevel;
156	deUint32			maxTessellationPatchSize;
157	deUint32			maxTessellationControlPerVertexInputComponents;
158	deUint32			maxTessellationControlPerVertexOutputComponents;
159	deUint32			maxTessellationControlPerPatchOutputComponents;
160	deUint32			maxTessellationControlTotalOutputComponents;
161	deUint32			maxTessellationEvaluationInputComponents;
162	deUint32			maxTessellationEvaluationOutputComponents;
163	deUint32			maxGeometryShaderInvocations;
164	deUint32			maxGeometryInputComponents;
165	deUint32			maxGeometryOutputComponents;
166	deUint32			maxGeometryOutputVertices;
167	deUint32			maxGeometryTotalOutputComponents;
168	deUint32			maxFragmentInputComponents;
169	deUint32			maxFragmentOutputAttachments;
170	deUint32			maxFragmentDualSrcAttachments;
171	deUint32			maxFragmentCombinedOutputResources;
172	deUint32			maxComputeSharedMemorySize;
173	deUint32			maxComputeWorkGroupCount[3];
174	deUint32			maxComputeWorkGroupInvocations;
175	deUint32			maxComputeWorkGroupSize[3];
176	deUint32			subPixelPrecisionBits;
177	deUint32			subTexelPrecisionBits;
178	deUint32			mipmapPrecisionBits;
179	deUint32			maxDrawIndexedIndexValue;
180	deUint32			maxDrawIndirectCount;
181	float				maxSamplerLodBias;
182	float				maxSamplerAnisotropy;
183	deUint32			maxViewports;
184	deUint32			maxViewportDimensions[2];
185	float				viewportBoundsRange[2];
186	deUint32			viewportSubPixelBits;
187	deUintptr			minMemoryMapAlignment;
188	VkDeviceSize		minTexelBufferOffsetAlignment;
189	VkDeviceSize		minUniformBufferOffsetAlignment;
190	VkDeviceSize		minStorageBufferOffsetAlignment;
191	deInt32				minTexelOffset;
192	deUint32			maxTexelOffset;
193	deInt32				minTexelGatherOffset;
194	deUint32			maxTexelGatherOffset;
195	float				minInterpolationOffset;
196	float				maxInterpolationOffset;
197	deUint32			subPixelInterpolationOffsetBits;
198	deUint32			maxFramebufferWidth;
199	deUint32			maxFramebufferHeight;
200	deUint32			maxFramebufferLayers;
201	VkSampleCountFlags	framebufferColorSampleCounts;
202	VkSampleCountFlags	framebufferDepthSampleCounts;
203	VkSampleCountFlags	framebufferStencilSampleCounts;
204	VkSampleCountFlags	framebufferNoAttachmentsSampleCounts;
205	deUint32			maxColorAttachments;
206	VkSampleCountFlags	sampledImageColorSampleCounts;
207	VkSampleCountFlags	sampledImageIntegerSampleCounts;
208	VkSampleCountFlags	sampledImageDepthSampleCounts;
209	VkSampleCountFlags	sampledImageStencilSampleCounts;
210	VkSampleCountFlags	storageImageSampleCounts;
211	deUint32			maxSampleMaskWords;
212	VkBool32			timestampComputeAndGraphics;
213	float				timestampPeriod;
214	deUint32			maxClipDistances;
215	deUint32			maxCullDistances;
216	deUint32			maxCombinedClipAndCullDistances;
217	deUint32			discreteQueuePriorities;
218	float				pointSizeRange[2];
219	float				lineWidthRange[2];
220	float				pointSizeGranularity;
221	float				lineWidthGranularity;
222	VkBool32			strictLines;
223	VkBool32			standardSampleLocations;
224	VkDeviceSize		optimalBufferCopyOffsetAlignment;
225	VkDeviceSize		optimalBufferCopyRowPitchAlignment;
226	VkDeviceSize		nonCoherentAtomSize;
227};
228
229struct VkPhysicalDeviceSparseProperties
230{
231	VkBool32	residencyStandard2DBlockShape;
232	VkBool32	residencyStandard2DMultisampleBlockShape;
233	VkBool32	residencyStandard3DBlockShape;
234	VkBool32	residencyAlignedMipSize;
235	VkBool32	residencyNonResidentStrict;
236};
237
238struct VkPhysicalDeviceProperties
239{
240	deUint32							apiVersion;
241	deUint32							driverVersion;
242	deUint32							vendorID;
243	deUint32							deviceID;
244	VkPhysicalDeviceType				deviceType;
245	char								deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
246	deUint8								pipelineCacheUUID[VK_UUID_SIZE];
247	VkPhysicalDeviceLimits				limits;
248	VkPhysicalDeviceSparseProperties	sparseProperties;
249};
250
251struct VkQueueFamilyProperties
252{
253	VkQueueFlags	queueFlags;
254	deUint32		queueCount;
255	deUint32		timestampValidBits;
256	VkExtent3D		minImageTransferGranularity;
257};
258
259struct VkMemoryType
260{
261	VkMemoryPropertyFlags	propertyFlags;
262	deUint32				heapIndex;
263};
264
265struct VkMemoryHeap
266{
267	VkDeviceSize		size;
268	VkMemoryHeapFlags	flags;
269};
270
271struct VkPhysicalDeviceMemoryProperties
272{
273	deUint32		memoryTypeCount;
274	VkMemoryType	memoryTypes[VK_MAX_MEMORY_TYPES];
275	deUint32		memoryHeapCount;
276	VkMemoryHeap	memoryHeaps[VK_MAX_MEMORY_HEAPS];
277};
278
279struct VkDeviceQueueCreateInfo
280{
281	VkStructureType				sType;
282	const void*					pNext;
283	VkDeviceQueueCreateFlags	flags;
284	deUint32					queueFamilyIndex;
285	deUint32					queueCount;
286	const float*				pQueuePriorities;
287};
288
289struct VkDeviceCreateInfo
290{
291	VkStructureType					sType;
292	const void*						pNext;
293	VkDeviceCreateFlags				flags;
294	deUint32						queueCreateInfoCount;
295	const VkDeviceQueueCreateInfo*	pQueueCreateInfos;
296	deUint32						enabledLayerCount;
297	const char* const*				ppEnabledLayerNames;
298	deUint32						enabledExtensionCount;
299	const char* const*				ppEnabledExtensionNames;
300	const VkPhysicalDeviceFeatures*	pEnabledFeatures;
301};
302
303struct VkExtensionProperties
304{
305	char		extensionName[VK_MAX_EXTENSION_NAME_SIZE];
306	deUint32	specVersion;
307};
308
309struct VkLayerProperties
310{
311	char		layerName[VK_MAX_EXTENSION_NAME_SIZE];
312	deUint32	specVersion;
313	deUint32	implementationVersion;
314	char		description[VK_MAX_DESCRIPTION_SIZE];
315};
316
317struct VkSubmitInfo
318{
319	VkStructureType				sType;
320	const void*					pNext;
321	deUint32					waitSemaphoreCount;
322	const VkSemaphore*			pWaitSemaphores;
323	const VkPipelineStageFlags*	pWaitDstStageMask;
324	deUint32					commandBufferCount;
325	const VkCommandBuffer*		pCommandBuffers;
326	deUint32					signalSemaphoreCount;
327	const VkSemaphore*			pSignalSemaphores;
328};
329
330struct VkMemoryAllocateInfo
331{
332	VkStructureType	sType;
333	const void*		pNext;
334	VkDeviceSize	allocationSize;
335	deUint32		memoryTypeIndex;
336};
337
338struct VkMappedMemoryRange
339{
340	VkStructureType	sType;
341	const void*		pNext;
342	VkDeviceMemory	memory;
343	VkDeviceSize	offset;
344	VkDeviceSize	size;
345};
346
347struct VkMemoryRequirements
348{
349	VkDeviceSize	size;
350	VkDeviceSize	alignment;
351	deUint32		memoryTypeBits;
352};
353
354struct VkSparseImageFormatProperties
355{
356	VkImageAspectFlags			aspectMask;
357	VkExtent3D					imageGranularity;
358	VkSparseImageFormatFlags	flags;
359};
360
361struct VkSparseImageMemoryRequirements
362{
363	VkSparseImageFormatProperties	formatProperties;
364	deUint32						imageMipTailFirstLod;
365	VkDeviceSize					imageMipTailSize;
366	VkDeviceSize					imageMipTailOffset;
367	VkDeviceSize					imageMipTailStride;
368};
369
370struct VkSparseMemoryBind
371{
372	VkDeviceSize			resourceOffset;
373	VkDeviceSize			size;
374	VkDeviceMemory			memory;
375	VkDeviceSize			memoryOffset;
376	VkSparseMemoryBindFlags	flags;
377};
378
379struct VkSparseBufferMemoryBindInfo
380{
381	VkBuffer					buffer;
382	deUint32					bindCount;
383	const VkSparseMemoryBind*	pBinds;
384};
385
386struct VkSparseImageOpaqueMemoryBindInfo
387{
388	VkImage						image;
389	deUint32					bindCount;
390	const VkSparseMemoryBind*	pBinds;
391};
392
393struct VkImageSubresource
394{
395	VkImageAspectFlags	aspectMask;
396	deUint32			mipLevel;
397	deUint32			arrayLayer;
398};
399
400struct VkOffset3D
401{
402	deInt32	x;
403	deInt32	y;
404	deInt32	z;
405};
406
407struct VkSparseImageMemoryBind
408{
409	VkImageSubresource		subresource;
410	VkOffset3D				offset;
411	VkExtent3D				extent;
412	VkDeviceMemory			memory;
413	VkDeviceSize			memoryOffset;
414	VkSparseMemoryBindFlags	flags;
415};
416
417struct VkSparseImageMemoryBindInfo
418{
419	VkImage							image;
420	deUint32						bindCount;
421	const VkSparseImageMemoryBind*	pBinds;
422};
423
424struct VkBindSparseInfo
425{
426	VkStructureType								sType;
427	const void*									pNext;
428	deUint32									waitSemaphoreCount;
429	const VkSemaphore*							pWaitSemaphores;
430	deUint32									bufferBindCount;
431	const VkSparseBufferMemoryBindInfo*			pBufferBinds;
432	deUint32									imageOpaqueBindCount;
433	const VkSparseImageOpaqueMemoryBindInfo*	pImageOpaqueBinds;
434	deUint32									imageBindCount;
435	const VkSparseImageMemoryBindInfo*			pImageBinds;
436	deUint32									signalSemaphoreCount;
437	const VkSemaphore*							pSignalSemaphores;
438};
439
440struct VkFenceCreateInfo
441{
442	VkStructureType		sType;
443	const void*			pNext;
444	VkFenceCreateFlags	flags;
445};
446
447struct VkSemaphoreCreateInfo
448{
449	VkStructureType			sType;
450	const void*				pNext;
451	VkSemaphoreCreateFlags	flags;
452};
453
454struct VkEventCreateInfo
455{
456	VkStructureType		sType;
457	const void*			pNext;
458	VkEventCreateFlags	flags;
459};
460
461struct VkQueryPoolCreateInfo
462{
463	VkStructureType					sType;
464	const void*						pNext;
465	VkQueryPoolCreateFlags			flags;
466	VkQueryType						queryType;
467	deUint32						queryCount;
468	VkQueryPipelineStatisticFlags	pipelineStatistics;
469};
470
471struct VkBufferCreateInfo
472{
473	VkStructureType		sType;
474	const void*			pNext;
475	VkBufferCreateFlags	flags;
476	VkDeviceSize		size;
477	VkBufferUsageFlags	usage;
478	VkSharingMode		sharingMode;
479	deUint32			queueFamilyIndexCount;
480	const deUint32*		pQueueFamilyIndices;
481};
482
483struct VkBufferViewCreateInfo
484{
485	VkStructureType			sType;
486	const void*				pNext;
487	VkBufferViewCreateFlags	flags;
488	VkBuffer				buffer;
489	VkFormat				format;
490	VkDeviceSize			offset;
491	VkDeviceSize			range;
492};
493
494struct VkImageCreateInfo
495{
496	VkStructureType			sType;
497	const void*				pNext;
498	VkImageCreateFlags		flags;
499	VkImageType				imageType;
500	VkFormat				format;
501	VkExtent3D				extent;
502	deUint32				mipLevels;
503	deUint32				arrayLayers;
504	VkSampleCountFlagBits	samples;
505	VkImageTiling			tiling;
506	VkImageUsageFlags		usage;
507	VkSharingMode			sharingMode;
508	deUint32				queueFamilyIndexCount;
509	const deUint32*			pQueueFamilyIndices;
510	VkImageLayout			initialLayout;
511};
512
513struct VkSubresourceLayout
514{
515	VkDeviceSize	offset;
516	VkDeviceSize	size;
517	VkDeviceSize	rowPitch;
518	VkDeviceSize	arrayPitch;
519	VkDeviceSize	depthPitch;
520};
521
522struct VkComponentMapping
523{
524	VkComponentSwizzle	r;
525	VkComponentSwizzle	g;
526	VkComponentSwizzle	b;
527	VkComponentSwizzle	a;
528};
529
530struct VkImageSubresourceRange
531{
532	VkImageAspectFlags	aspectMask;
533	deUint32			baseMipLevel;
534	deUint32			levelCount;
535	deUint32			baseArrayLayer;
536	deUint32			layerCount;
537};
538
539struct VkImageViewCreateInfo
540{
541	VkStructureType			sType;
542	const void*				pNext;
543	VkImageViewCreateFlags	flags;
544	VkImage					image;
545	VkImageViewType			viewType;
546	VkFormat				format;
547	VkComponentMapping		components;
548	VkImageSubresourceRange	subresourceRange;
549};
550
551struct VkShaderModuleCreateInfo
552{
553	VkStructureType				sType;
554	const void*					pNext;
555	VkShaderModuleCreateFlags	flags;
556	deUintptr					codeSize;
557	const deUint32*				pCode;
558};
559
560struct VkPipelineCacheCreateInfo
561{
562	VkStructureType				sType;
563	const void*					pNext;
564	VkPipelineCacheCreateFlags	flags;
565	deUintptr					initialDataSize;
566	const void*					pInitialData;
567};
568
569struct VkSpecializationMapEntry
570{
571	deUint32	constantID;
572	deUint32	offset;
573	deUintptr	size;
574};
575
576struct VkSpecializationInfo
577{
578	deUint32						mapEntryCount;
579	const VkSpecializationMapEntry*	pMapEntries;
580	deUintptr						dataSize;
581	const void*						pData;
582};
583
584struct VkPipelineShaderStageCreateInfo
585{
586	VkStructureType						sType;
587	const void*							pNext;
588	VkPipelineShaderStageCreateFlags	flags;
589	VkShaderStageFlagBits				stage;
590	VkShaderModule						module;
591	const char*							pName;
592	const VkSpecializationInfo*			pSpecializationInfo;
593};
594
595struct VkVertexInputBindingDescription
596{
597	deUint32			binding;
598	deUint32			stride;
599	VkVertexInputRate	inputRate;
600};
601
602struct VkVertexInputAttributeDescription
603{
604	deUint32	location;
605	deUint32	binding;
606	VkFormat	format;
607	deUint32	offset;
608};
609
610struct VkPipelineVertexInputStateCreateInfo
611{
612	VkStructureType								sType;
613	const void*									pNext;
614	VkPipelineVertexInputStateCreateFlags		flags;
615	deUint32									vertexBindingDescriptionCount;
616	const VkVertexInputBindingDescription*		pVertexBindingDescriptions;
617	deUint32									vertexAttributeDescriptionCount;
618	const VkVertexInputAttributeDescription*	pVertexAttributeDescriptions;
619};
620
621struct VkPipelineInputAssemblyStateCreateInfo
622{
623	VkStructureType							sType;
624	const void*								pNext;
625	VkPipelineInputAssemblyStateCreateFlags	flags;
626	VkPrimitiveTopology						topology;
627	VkBool32								primitiveRestartEnable;
628};
629
630struct VkPipelineTessellationStateCreateInfo
631{
632	VkStructureType							sType;
633	const void*								pNext;
634	VkPipelineTessellationStateCreateFlags	flags;
635	deUint32								patchControlPoints;
636};
637
638struct VkViewport
639{
640	float	x;
641	float	y;
642	float	width;
643	float	height;
644	float	minDepth;
645	float	maxDepth;
646};
647
648struct VkOffset2D
649{
650	deInt32	x;
651	deInt32	y;
652};
653
654struct VkExtent2D
655{
656	deUint32	width;
657	deUint32	height;
658};
659
660struct VkRect2D
661{
662	VkOffset2D	offset;
663	VkExtent2D	extent;
664};
665
666struct VkPipelineViewportStateCreateInfo
667{
668	VkStructureType						sType;
669	const void*							pNext;
670	VkPipelineViewportStateCreateFlags	flags;
671	deUint32							viewportCount;
672	const VkViewport*					pViewports;
673	deUint32							scissorCount;
674	const VkRect2D*						pScissors;
675};
676
677struct VkPipelineRasterizationStateCreateInfo
678{
679	VkStructureType							sType;
680	const void*								pNext;
681	VkPipelineRasterizationStateCreateFlags	flags;
682	VkBool32								depthClampEnable;
683	VkBool32								rasterizerDiscardEnable;
684	VkPolygonMode							polygonMode;
685	VkCullModeFlags							cullMode;
686	VkFrontFace								frontFace;
687	VkBool32								depthBiasEnable;
688	float									depthBiasConstantFactor;
689	float									depthBiasClamp;
690	float									depthBiasSlopeFactor;
691	float									lineWidth;
692};
693
694struct VkPipelineMultisampleStateCreateInfo
695{
696	VkStructureType							sType;
697	const void*								pNext;
698	VkPipelineMultisampleStateCreateFlags	flags;
699	VkSampleCountFlagBits					rasterizationSamples;
700	VkBool32								sampleShadingEnable;
701	float									minSampleShading;
702	const VkSampleMask*						pSampleMask;
703	VkBool32								alphaToCoverageEnable;
704	VkBool32								alphaToOneEnable;
705};
706
707struct VkStencilOpState
708{
709	VkStencilOp	failOp;
710	VkStencilOp	passOp;
711	VkStencilOp	depthFailOp;
712	VkCompareOp	compareOp;
713	deUint32	compareMask;
714	deUint32	writeMask;
715	deUint32	reference;
716};
717
718struct VkPipelineDepthStencilStateCreateInfo
719{
720	VkStructureType							sType;
721	const void*								pNext;
722	VkPipelineDepthStencilStateCreateFlags	flags;
723	VkBool32								depthTestEnable;
724	VkBool32								depthWriteEnable;
725	VkCompareOp								depthCompareOp;
726	VkBool32								depthBoundsTestEnable;
727	VkBool32								stencilTestEnable;
728	VkStencilOpState						front;
729	VkStencilOpState						back;
730	float									minDepthBounds;
731	float									maxDepthBounds;
732};
733
734struct VkPipelineColorBlendAttachmentState
735{
736	VkBool32				blendEnable;
737	VkBlendFactor			srcColorBlendFactor;
738	VkBlendFactor			dstColorBlendFactor;
739	VkBlendOp				colorBlendOp;
740	VkBlendFactor			srcAlphaBlendFactor;
741	VkBlendFactor			dstAlphaBlendFactor;
742	VkBlendOp				alphaBlendOp;
743	VkColorComponentFlags	colorWriteMask;
744};
745
746struct VkPipelineColorBlendStateCreateInfo
747{
748	VkStructureType								sType;
749	const void*									pNext;
750	VkPipelineColorBlendStateCreateFlags		flags;
751	VkBool32									logicOpEnable;
752	VkLogicOp									logicOp;
753	deUint32									attachmentCount;
754	const VkPipelineColorBlendAttachmentState*	pAttachments;
755	float										blendConstants[4];
756};
757
758struct VkPipelineDynamicStateCreateInfo
759{
760	VkStructureType						sType;
761	const void*							pNext;
762	VkPipelineDynamicStateCreateFlags	flags;
763	deUint32							dynamicStateCount;
764	const VkDynamicState*				pDynamicStates;
765};
766
767struct VkGraphicsPipelineCreateInfo
768{
769	VkStructureType									sType;
770	const void*										pNext;
771	VkPipelineCreateFlags							flags;
772	deUint32										stageCount;
773	const VkPipelineShaderStageCreateInfo*			pStages;
774	const VkPipelineVertexInputStateCreateInfo*		pVertexInputState;
775	const VkPipelineInputAssemblyStateCreateInfo*	pInputAssemblyState;
776	const VkPipelineTessellationStateCreateInfo*	pTessellationState;
777	const VkPipelineViewportStateCreateInfo*		pViewportState;
778	const VkPipelineRasterizationStateCreateInfo*	pRasterizationState;
779	const VkPipelineMultisampleStateCreateInfo*		pMultisampleState;
780	const VkPipelineDepthStencilStateCreateInfo*	pDepthStencilState;
781	const VkPipelineColorBlendStateCreateInfo*		pColorBlendState;
782	const VkPipelineDynamicStateCreateInfo*			pDynamicState;
783	VkPipelineLayout								layout;
784	VkRenderPass									renderPass;
785	deUint32										subpass;
786	VkPipeline										basePipelineHandle;
787	deInt32											basePipelineIndex;
788};
789
790struct VkComputePipelineCreateInfo
791{
792	VkStructureType					sType;
793	const void*						pNext;
794	VkPipelineCreateFlags			flags;
795	VkPipelineShaderStageCreateInfo	stage;
796	VkPipelineLayout				layout;
797	VkPipeline						basePipelineHandle;
798	deInt32							basePipelineIndex;
799};
800
801struct VkPushConstantRange
802{
803	VkShaderStageFlags	stageFlags;
804	deUint32			offset;
805	deUint32			size;
806};
807
808struct VkPipelineLayoutCreateInfo
809{
810	VkStructureType					sType;
811	const void*						pNext;
812	VkPipelineLayoutCreateFlags		flags;
813	deUint32						setLayoutCount;
814	const VkDescriptorSetLayout*	pSetLayouts;
815	deUint32						pushConstantRangeCount;
816	const VkPushConstantRange*		pPushConstantRanges;
817};
818
819struct VkSamplerCreateInfo
820{
821	VkStructureType			sType;
822	const void*				pNext;
823	VkSamplerCreateFlags	flags;
824	VkFilter				magFilter;
825	VkFilter				minFilter;
826	VkSamplerMipmapMode		mipmapMode;
827	VkSamplerAddressMode	addressModeU;
828	VkSamplerAddressMode	addressModeV;
829	VkSamplerAddressMode	addressModeW;
830	float					mipLodBias;
831	VkBool32				anisotropyEnable;
832	float					maxAnisotropy;
833	VkBool32				compareEnable;
834	VkCompareOp				compareOp;
835	float					minLod;
836	float					maxLod;
837	VkBorderColor			borderColor;
838	VkBool32				unnormalizedCoordinates;
839};
840
841struct VkDescriptorSetLayoutBinding
842{
843	deUint32			binding;
844	VkDescriptorType	descriptorType;
845	deUint32			descriptorCount;
846	VkShaderStageFlags	stageFlags;
847	const VkSampler*	pImmutableSamplers;
848};
849
850struct VkDescriptorSetLayoutCreateInfo
851{
852	VkStructureType						sType;
853	const void*							pNext;
854	VkDescriptorSetLayoutCreateFlags	flags;
855	deUint32							bindingCount;
856	const VkDescriptorSetLayoutBinding*	pBindings;
857};
858
859struct VkDescriptorPoolSize
860{
861	VkDescriptorType	type;
862	deUint32			descriptorCount;
863};
864
865struct VkDescriptorPoolCreateInfo
866{
867	VkStructureType				sType;
868	const void*					pNext;
869	VkDescriptorPoolCreateFlags	flags;
870	deUint32					maxSets;
871	deUint32					poolSizeCount;
872	const VkDescriptorPoolSize*	pPoolSizes;
873};
874
875struct VkDescriptorSetAllocateInfo
876{
877	VkStructureType					sType;
878	const void*						pNext;
879	VkDescriptorPool				descriptorPool;
880	deUint32						descriptorSetCount;
881	const VkDescriptorSetLayout*	pSetLayouts;
882};
883
884struct VkDescriptorImageInfo
885{
886	VkSampler		sampler;
887	VkImageView		imageView;
888	VkImageLayout	imageLayout;
889};
890
891struct VkDescriptorBufferInfo
892{
893	VkBuffer		buffer;
894	VkDeviceSize	offset;
895	VkDeviceSize	range;
896};
897
898struct VkWriteDescriptorSet
899{
900	VkStructureType					sType;
901	const void*						pNext;
902	VkDescriptorSet					dstSet;
903	deUint32						dstBinding;
904	deUint32						dstArrayElement;
905	deUint32						descriptorCount;
906	VkDescriptorType				descriptorType;
907	const VkDescriptorImageInfo*	pImageInfo;
908	const VkDescriptorBufferInfo*	pBufferInfo;
909	const VkBufferView*				pTexelBufferView;
910};
911
912struct VkCopyDescriptorSet
913{
914	VkStructureType	sType;
915	const void*		pNext;
916	VkDescriptorSet	srcSet;
917	deUint32		srcBinding;
918	deUint32		srcArrayElement;
919	VkDescriptorSet	dstSet;
920	deUint32		dstBinding;
921	deUint32		dstArrayElement;
922	deUint32		descriptorCount;
923};
924
925struct VkFramebufferCreateInfo
926{
927	VkStructureType				sType;
928	const void*					pNext;
929	VkFramebufferCreateFlags	flags;
930	VkRenderPass				renderPass;
931	deUint32					attachmentCount;
932	const VkImageView*			pAttachments;
933	deUint32					width;
934	deUint32					height;
935	deUint32					layers;
936};
937
938struct VkAttachmentDescription
939{
940	VkAttachmentDescriptionFlags	flags;
941	VkFormat						format;
942	VkSampleCountFlagBits			samples;
943	VkAttachmentLoadOp				loadOp;
944	VkAttachmentStoreOp				storeOp;
945	VkAttachmentLoadOp				stencilLoadOp;
946	VkAttachmentStoreOp				stencilStoreOp;
947	VkImageLayout					initialLayout;
948	VkImageLayout					finalLayout;
949};
950
951struct VkAttachmentReference
952{
953	deUint32		attachment;
954	VkImageLayout	layout;
955};
956
957struct VkSubpassDescription
958{
959	VkSubpassDescriptionFlags		flags;
960	VkPipelineBindPoint				pipelineBindPoint;
961	deUint32						inputAttachmentCount;
962	const VkAttachmentReference*	pInputAttachments;
963	deUint32						colorAttachmentCount;
964	const VkAttachmentReference*	pColorAttachments;
965	const VkAttachmentReference*	pResolveAttachments;
966	const VkAttachmentReference*	pDepthStencilAttachment;
967	deUint32						preserveAttachmentCount;
968	const deUint32*					pPreserveAttachments;
969};
970
971struct VkSubpassDependency
972{
973	deUint32				srcSubpass;
974	deUint32				dstSubpass;
975	VkPipelineStageFlags	srcStageMask;
976	VkPipelineStageFlags	dstStageMask;
977	VkAccessFlags			srcAccessMask;
978	VkAccessFlags			dstAccessMask;
979	VkDependencyFlags		dependencyFlags;
980};
981
982struct VkRenderPassCreateInfo
983{
984	VkStructureType					sType;
985	const void*						pNext;
986	VkRenderPassCreateFlags			flags;
987	deUint32						attachmentCount;
988	const VkAttachmentDescription*	pAttachments;
989	deUint32						subpassCount;
990	const VkSubpassDescription*		pSubpasses;
991	deUint32						dependencyCount;
992	const VkSubpassDependency*		pDependencies;
993};
994
995struct VkCommandPoolCreateInfo
996{
997	VkStructureType				sType;
998	const void*					pNext;
999	VkCommandPoolCreateFlags	flags;
1000	deUint32					queueFamilyIndex;
1001};
1002
1003struct VkCommandBufferAllocateInfo
1004{
1005	VkStructureType			sType;
1006	const void*				pNext;
1007	VkCommandPool			commandPool;
1008	VkCommandBufferLevel	level;
1009	deUint32				commandBufferCount;
1010};
1011
1012struct VkCommandBufferInheritanceInfo
1013{
1014	VkStructureType					sType;
1015	const void*						pNext;
1016	VkRenderPass					renderPass;
1017	deUint32						subpass;
1018	VkFramebuffer					framebuffer;
1019	VkBool32						occlusionQueryEnable;
1020	VkQueryControlFlags				queryFlags;
1021	VkQueryPipelineStatisticFlags	pipelineStatistics;
1022};
1023
1024struct VkCommandBufferBeginInfo
1025{
1026	VkStructureType							sType;
1027	const void*								pNext;
1028	VkCommandBufferUsageFlags				flags;
1029	const VkCommandBufferInheritanceInfo*	pInheritanceInfo;
1030};
1031
1032struct VkBufferCopy
1033{
1034	VkDeviceSize	srcOffset;
1035	VkDeviceSize	dstOffset;
1036	VkDeviceSize	size;
1037};
1038
1039struct VkImageSubresourceLayers
1040{
1041	VkImageAspectFlags	aspectMask;
1042	deUint32			mipLevel;
1043	deUint32			baseArrayLayer;
1044	deUint32			layerCount;
1045};
1046
1047struct VkImageCopy
1048{
1049	VkImageSubresourceLayers	srcSubresource;
1050	VkOffset3D					srcOffset;
1051	VkImageSubresourceLayers	dstSubresource;
1052	VkOffset3D					dstOffset;
1053	VkExtent3D					extent;
1054};
1055
1056struct VkImageBlit
1057{
1058	VkImageSubresourceLayers	srcSubresource;
1059	VkOffset3D					srcOffsets[2];
1060	VkImageSubresourceLayers	dstSubresource;
1061	VkOffset3D					dstOffsets[2];
1062};
1063
1064struct VkBufferImageCopy
1065{
1066	VkDeviceSize				bufferOffset;
1067	deUint32					bufferRowLength;
1068	deUint32					bufferImageHeight;
1069	VkImageSubresourceLayers	imageSubresource;
1070	VkOffset3D					imageOffset;
1071	VkExtent3D					imageExtent;
1072};
1073
1074union VkClearColorValue
1075{
1076	float		float32[4];
1077	deInt32		int32[4];
1078	deUint32	uint32[4];
1079};
1080
1081struct VkClearDepthStencilValue
1082{
1083	float		depth;
1084	deUint32	stencil;
1085};
1086
1087union VkClearValue
1088{
1089	VkClearColorValue			color;
1090	VkClearDepthStencilValue	depthStencil;
1091};
1092
1093struct VkClearAttachment
1094{
1095	VkImageAspectFlags	aspectMask;
1096	deUint32			colorAttachment;
1097	VkClearValue		clearValue;
1098};
1099
1100struct VkClearRect
1101{
1102	VkRect2D	rect;
1103	deUint32	baseArrayLayer;
1104	deUint32	layerCount;
1105};
1106
1107struct VkImageResolve
1108{
1109	VkImageSubresourceLayers	srcSubresource;
1110	VkOffset3D					srcOffset;
1111	VkImageSubresourceLayers	dstSubresource;
1112	VkOffset3D					dstOffset;
1113	VkExtent3D					extent;
1114};
1115
1116struct VkMemoryBarrier
1117{
1118	VkStructureType	sType;
1119	const void*		pNext;
1120	VkAccessFlags	srcAccessMask;
1121	VkAccessFlags	dstAccessMask;
1122};
1123
1124struct VkBufferMemoryBarrier
1125{
1126	VkStructureType	sType;
1127	const void*		pNext;
1128	VkAccessFlags	srcAccessMask;
1129	VkAccessFlags	dstAccessMask;
1130	deUint32		srcQueueFamilyIndex;
1131	deUint32		dstQueueFamilyIndex;
1132	VkBuffer		buffer;
1133	VkDeviceSize	offset;
1134	VkDeviceSize	size;
1135};
1136
1137struct VkImageMemoryBarrier
1138{
1139	VkStructureType			sType;
1140	const void*				pNext;
1141	VkAccessFlags			srcAccessMask;
1142	VkAccessFlags			dstAccessMask;
1143	VkImageLayout			oldLayout;
1144	VkImageLayout			newLayout;
1145	deUint32				srcQueueFamilyIndex;
1146	deUint32				dstQueueFamilyIndex;
1147	VkImage					image;
1148	VkImageSubresourceRange	subresourceRange;
1149};
1150
1151struct VkRenderPassBeginInfo
1152{
1153	VkStructureType		sType;
1154	const void*			pNext;
1155	VkRenderPass		renderPass;
1156	VkFramebuffer		framebuffer;
1157	VkRect2D			renderArea;
1158	deUint32			clearValueCount;
1159	const VkClearValue*	pClearValues;
1160};
1161
1162struct VkDispatchIndirectCommand
1163{
1164	deUint32	x;
1165	deUint32	y;
1166	deUint32	z;
1167};
1168
1169struct VkDrawIndexedIndirectCommand
1170{
1171	deUint32	indexCount;
1172	deUint32	instanceCount;
1173	deUint32	firstIndex;
1174	deInt32		vertexOffset;
1175	deUint32	firstInstance;
1176};
1177
1178struct VkDrawIndirectCommand
1179{
1180	deUint32	vertexCount;
1181	deUint32	instanceCount;
1182	deUint32	firstVertex;
1183	deUint32	firstInstance;
1184};
1185
1186struct VkBaseOutStructure
1187{
1188	VkStructureType				sType;
1189	struct VkBaseOutStructure*	pNext;
1190};
1191
1192struct VkBaseInStructure
1193{
1194	VkStructureType					sType;
1195	const struct VkBaseInStructure*	pNext;
1196};
1197
1198struct VkPhysicalDeviceSubgroupProperties
1199{
1200	VkStructureType			sType;
1201	void*					pNext;
1202	deUint32				subgroupSize;
1203	VkShaderStageFlags		supportedStages;
1204	VkSubgroupFeatureFlags	supportedOperations;
1205	VkBool32				quadOperationsInAllStages;
1206};
1207
1208struct VkBindBufferMemoryInfo
1209{
1210	VkStructureType	sType;
1211	const void*		pNext;
1212	VkBuffer		buffer;
1213	VkDeviceMemory	memory;
1214	VkDeviceSize	memoryOffset;
1215};
1216
1217struct VkBindImageMemoryInfo
1218{
1219	VkStructureType	sType;
1220	const void*		pNext;
1221	VkImage			image;
1222	VkDeviceMemory	memory;
1223	VkDeviceSize	memoryOffset;
1224};
1225
1226struct VkPhysicalDevice16BitStorageFeatures
1227{
1228	VkStructureType	sType;
1229	void*			pNext;
1230	VkBool32		storageBuffer16BitAccess;
1231	VkBool32		uniformAndStorageBuffer16BitAccess;
1232	VkBool32		storagePushConstant16;
1233	VkBool32		storageInputOutput16;
1234};
1235
1236struct VkMemoryDedicatedRequirements
1237{
1238	VkStructureType	sType;
1239	void*			pNext;
1240	VkBool32		prefersDedicatedAllocation;
1241	VkBool32		requiresDedicatedAllocation;
1242};
1243
1244struct VkMemoryDedicatedAllocateInfo
1245{
1246	VkStructureType	sType;
1247	const void*		pNext;
1248	VkImage			image;
1249	VkBuffer		buffer;
1250};
1251
1252struct VkMemoryAllocateFlagsInfo
1253{
1254	VkStructureType			sType;
1255	const void*				pNext;
1256	VkMemoryAllocateFlags	flags;
1257	deUint32				deviceMask;
1258};
1259
1260struct VkDeviceGroupRenderPassBeginInfo
1261{
1262	VkStructureType	sType;
1263	const void*		pNext;
1264	deUint32		deviceMask;
1265	deUint32		deviceRenderAreaCount;
1266	const VkRect2D*	pDeviceRenderAreas;
1267};
1268
1269struct VkDeviceGroupCommandBufferBeginInfo
1270{
1271	VkStructureType	sType;
1272	const void*		pNext;
1273	deUint32		deviceMask;
1274};
1275
1276struct VkDeviceGroupSubmitInfo
1277{
1278	VkStructureType	sType;
1279	const void*		pNext;
1280	deUint32		waitSemaphoreCount;
1281	const deUint32*	pWaitSemaphoreDeviceIndices;
1282	deUint32		commandBufferCount;
1283	const deUint32*	pCommandBufferDeviceMasks;
1284	deUint32		signalSemaphoreCount;
1285	const deUint32*	pSignalSemaphoreDeviceIndices;
1286};
1287
1288struct VkDeviceGroupBindSparseInfo
1289{
1290	VkStructureType	sType;
1291	const void*		pNext;
1292	deUint32		resourceDeviceIndex;
1293	deUint32		memoryDeviceIndex;
1294};
1295
1296struct VkBindBufferMemoryDeviceGroupInfo
1297{
1298	VkStructureType	sType;
1299	const void*		pNext;
1300	deUint32		deviceIndexCount;
1301	const deUint32*	pDeviceIndices;
1302};
1303
1304struct VkBindImageMemoryDeviceGroupInfo
1305{
1306	VkStructureType	sType;
1307	const void*		pNext;
1308	deUint32		deviceIndexCount;
1309	const deUint32*	pDeviceIndices;
1310	deUint32		splitInstanceBindRegionCount;
1311	const VkRect2D*	pSplitInstanceBindRegions;
1312};
1313
1314struct VkPhysicalDeviceGroupProperties
1315{
1316	VkStructureType		sType;
1317	void*				pNext;
1318	deUint32			physicalDeviceCount;
1319	VkPhysicalDevice	physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
1320	VkBool32			subsetAllocation;
1321};
1322
1323struct VkDeviceGroupDeviceCreateInfo
1324{
1325	VkStructureType			sType;
1326	const void*				pNext;
1327	deUint32				physicalDeviceCount;
1328	const VkPhysicalDevice*	pPhysicalDevices;
1329};
1330
1331struct VkBufferMemoryRequirementsInfo2
1332{
1333	VkStructureType	sType;
1334	const void*		pNext;
1335	VkBuffer		buffer;
1336};
1337
1338struct VkImageMemoryRequirementsInfo2
1339{
1340	VkStructureType	sType;
1341	const void*		pNext;
1342	VkImage			image;
1343};
1344
1345struct VkImageSparseMemoryRequirementsInfo2
1346{
1347	VkStructureType	sType;
1348	const void*		pNext;
1349	VkImage			image;
1350};
1351
1352struct VkMemoryRequirements2
1353{
1354	VkStructureType			sType;
1355	void*					pNext;
1356	VkMemoryRequirements	memoryRequirements;
1357};
1358
1359struct VkSparseImageMemoryRequirements2
1360{
1361	VkStructureType					sType;
1362	void*							pNext;
1363	VkSparseImageMemoryRequirements	memoryRequirements;
1364};
1365
1366struct VkPhysicalDeviceFeatures2
1367{
1368	VkStructureType				sType;
1369	void*						pNext;
1370	VkPhysicalDeviceFeatures	features;
1371};
1372
1373struct VkPhysicalDeviceProperties2
1374{
1375	VkStructureType				sType;
1376	void*						pNext;
1377	VkPhysicalDeviceProperties	properties;
1378};
1379
1380struct VkFormatProperties2
1381{
1382	VkStructureType		sType;
1383	void*				pNext;
1384	VkFormatProperties	formatProperties;
1385};
1386
1387struct VkImageFormatProperties2
1388{
1389	VkStructureType			sType;
1390	void*					pNext;
1391	VkImageFormatProperties	imageFormatProperties;
1392};
1393
1394struct VkPhysicalDeviceImageFormatInfo2
1395{
1396	VkStructureType		sType;
1397	const void*			pNext;
1398	VkFormat			format;
1399	VkImageType			type;
1400	VkImageTiling		tiling;
1401	VkImageUsageFlags	usage;
1402	VkImageCreateFlags	flags;
1403};
1404
1405struct VkQueueFamilyProperties2
1406{
1407	VkStructureType			sType;
1408	void*					pNext;
1409	VkQueueFamilyProperties	queueFamilyProperties;
1410};
1411
1412struct VkPhysicalDeviceMemoryProperties2
1413{
1414	VkStructureType						sType;
1415	void*								pNext;
1416	VkPhysicalDeviceMemoryProperties	memoryProperties;
1417};
1418
1419struct VkSparseImageFormatProperties2
1420{
1421	VkStructureType					sType;
1422	void*							pNext;
1423	VkSparseImageFormatProperties	properties;
1424};
1425
1426struct VkPhysicalDeviceSparseImageFormatInfo2
1427{
1428	VkStructureType			sType;
1429	const void*				pNext;
1430	VkFormat				format;
1431	VkImageType				type;
1432	VkSampleCountFlagBits	samples;
1433	VkImageUsageFlags		usage;
1434	VkImageTiling			tiling;
1435};
1436
1437struct VkPhysicalDevicePointClippingProperties
1438{
1439	VkStructureType			sType;
1440	void*					pNext;
1441	VkPointClippingBehavior	pointClippingBehavior;
1442};
1443
1444struct VkInputAttachmentAspectReference
1445{
1446	deUint32			subpass;
1447	deUint32			inputAttachmentIndex;
1448	VkImageAspectFlags	aspectMask;
1449};
1450
1451struct VkRenderPassInputAttachmentAspectCreateInfo
1452{
1453	VkStructureType							sType;
1454	const void*								pNext;
1455	deUint32								aspectReferenceCount;
1456	const VkInputAttachmentAspectReference*	pAspectReferences;
1457};
1458
1459struct VkImageViewUsageCreateInfo
1460{
1461	VkStructureType		sType;
1462	const void*			pNext;
1463	VkImageUsageFlags	usage;
1464};
1465
1466struct VkPipelineTessellationDomainOriginStateCreateInfo
1467{
1468	VkStructureType				sType;
1469	const void*					pNext;
1470	VkTessellationDomainOrigin	domainOrigin;
1471};
1472
1473struct VkRenderPassMultiviewCreateInfo
1474{
1475	VkStructureType	sType;
1476	const void*		pNext;
1477	deUint32		subpassCount;
1478	const deUint32*	pViewMasks;
1479	deUint32		dependencyCount;
1480	const deInt32*	pViewOffsets;
1481	deUint32		correlationMaskCount;
1482	const deUint32*	pCorrelationMasks;
1483};
1484
1485struct VkPhysicalDeviceMultiviewFeatures
1486{
1487	VkStructureType	sType;
1488	void*			pNext;
1489	VkBool32		multiview;
1490	VkBool32		multiviewGeometryShader;
1491	VkBool32		multiviewTessellationShader;
1492};
1493
1494struct VkPhysicalDeviceMultiviewProperties
1495{
1496	VkStructureType	sType;
1497	void*			pNext;
1498	deUint32		maxMultiviewViewCount;
1499	deUint32		maxMultiviewInstanceIndex;
1500};
1501
1502struct VkPhysicalDeviceVariablePointersFeatures
1503{
1504	VkStructureType	sType;
1505	void*			pNext;
1506	VkBool32		variablePointersStorageBuffer;
1507	VkBool32		variablePointers;
1508};
1509
1510struct VkPhysicalDeviceProtectedMemoryFeatures
1511{
1512	VkStructureType	sType;
1513	void*			pNext;
1514	VkBool32		protectedMemory;
1515};
1516
1517struct VkPhysicalDeviceProtectedMemoryProperties
1518{
1519	VkStructureType	sType;
1520	void*			pNext;
1521	VkBool32		protectedNoFault;
1522};
1523
1524struct VkDeviceQueueInfo2
1525{
1526	VkStructureType				sType;
1527	const void*					pNext;
1528	VkDeviceQueueCreateFlags	flags;
1529	deUint32					queueFamilyIndex;
1530	deUint32					queueIndex;
1531};
1532
1533struct VkProtectedSubmitInfo
1534{
1535	VkStructureType	sType;
1536	const void*		pNext;
1537	VkBool32		protectedSubmit;
1538};
1539
1540struct VkSamplerYcbcrConversionCreateInfo
1541{
1542	VkStructureType					sType;
1543	const void*						pNext;
1544	VkFormat						format;
1545	VkSamplerYcbcrModelConversion	ycbcrModel;
1546	VkSamplerYcbcrRange				ycbcrRange;
1547	VkComponentMapping				components;
1548	VkChromaLocation				xChromaOffset;
1549	VkChromaLocation				yChromaOffset;
1550	VkFilter						chromaFilter;
1551	VkBool32						forceExplicitReconstruction;
1552};
1553
1554struct VkSamplerYcbcrConversionInfo
1555{
1556	VkStructureType				sType;
1557	const void*					pNext;
1558	VkSamplerYcbcrConversion	conversion;
1559};
1560
1561struct VkBindImagePlaneMemoryInfo
1562{
1563	VkStructureType			sType;
1564	const void*				pNext;
1565	VkImageAspectFlagBits	planeAspect;
1566};
1567
1568struct VkImagePlaneMemoryRequirementsInfo
1569{
1570	VkStructureType			sType;
1571	const void*				pNext;
1572	VkImageAspectFlagBits	planeAspect;
1573};
1574
1575struct VkPhysicalDeviceSamplerYcbcrConversionFeatures
1576{
1577	VkStructureType	sType;
1578	void*			pNext;
1579	VkBool32		samplerYcbcrConversion;
1580};
1581
1582struct VkSamplerYcbcrConversionImageFormatProperties
1583{
1584	VkStructureType	sType;
1585	void*			pNext;
1586	deUint32		combinedImageSamplerDescriptorCount;
1587};
1588
1589struct VkDescriptorUpdateTemplateEntry
1590{
1591	deUint32			dstBinding;
1592	deUint32			dstArrayElement;
1593	deUint32			descriptorCount;
1594	VkDescriptorType	descriptorType;
1595	deUintptr			offset;
1596	deUintptr			stride;
1597};
1598
1599struct VkDescriptorUpdateTemplateCreateInfo
1600{
1601	VkStructureType							sType;
1602	const void*								pNext;
1603	VkDescriptorUpdateTemplateCreateFlags	flags;
1604	deUint32								descriptorUpdateEntryCount;
1605	const VkDescriptorUpdateTemplateEntry*	pDescriptorUpdateEntries;
1606	VkDescriptorUpdateTemplateType			templateType;
1607	VkDescriptorSetLayout					descriptorSetLayout;
1608	VkPipelineBindPoint						pipelineBindPoint;
1609	VkPipelineLayout						pipelineLayout;
1610	deUint32								set;
1611};
1612
1613struct VkExternalMemoryProperties
1614{
1615	VkExternalMemoryFeatureFlags	externalMemoryFeatures;
1616	VkExternalMemoryHandleTypeFlags	exportFromImportedHandleTypes;
1617	VkExternalMemoryHandleTypeFlags	compatibleHandleTypes;
1618};
1619
1620struct VkPhysicalDeviceExternalImageFormatInfo
1621{
1622	VkStructureType						sType;
1623	const void*							pNext;
1624	VkExternalMemoryHandleTypeFlagBits	handleType;
1625};
1626
1627struct VkExternalImageFormatProperties
1628{
1629	VkStructureType				sType;
1630	void*						pNext;
1631	VkExternalMemoryProperties	externalMemoryProperties;
1632};
1633
1634struct VkPhysicalDeviceExternalBufferInfo
1635{
1636	VkStructureType						sType;
1637	const void*							pNext;
1638	VkBufferCreateFlags					flags;
1639	VkBufferUsageFlags					usage;
1640	VkExternalMemoryHandleTypeFlagBits	handleType;
1641};
1642
1643struct VkExternalBufferProperties
1644{
1645	VkStructureType				sType;
1646	void*						pNext;
1647	VkExternalMemoryProperties	externalMemoryProperties;
1648};
1649
1650struct VkPhysicalDeviceIDProperties
1651{
1652	VkStructureType	sType;
1653	void*			pNext;
1654	deUint8			deviceUUID[VK_UUID_SIZE];
1655	deUint8			driverUUID[VK_UUID_SIZE];
1656	deUint8			deviceLUID[VK_LUID_SIZE];
1657	deUint32		deviceNodeMask;
1658	VkBool32		deviceLUIDValid;
1659};
1660
1661struct VkExternalMemoryImageCreateInfo
1662{
1663	VkStructureType					sType;
1664	const void*						pNext;
1665	VkExternalMemoryHandleTypeFlags	handleTypes;
1666};
1667
1668struct VkExternalMemoryBufferCreateInfo
1669{
1670	VkStructureType					sType;
1671	const void*						pNext;
1672	VkExternalMemoryHandleTypeFlags	handleTypes;
1673};
1674
1675struct VkExportMemoryAllocateInfo
1676{
1677	VkStructureType					sType;
1678	const void*						pNext;
1679	VkExternalMemoryHandleTypeFlags	handleTypes;
1680};
1681
1682struct VkPhysicalDeviceExternalFenceInfo
1683{
1684	VkStructureType						sType;
1685	const void*							pNext;
1686	VkExternalFenceHandleTypeFlagBits	handleType;
1687};
1688
1689struct VkExternalFenceProperties
1690{
1691	VkStructureType					sType;
1692	void*							pNext;
1693	VkExternalFenceHandleTypeFlags	exportFromImportedHandleTypes;
1694	VkExternalFenceHandleTypeFlags	compatibleHandleTypes;
1695	VkExternalFenceFeatureFlags		externalFenceFeatures;
1696};
1697
1698struct VkExportFenceCreateInfo
1699{
1700	VkStructureType					sType;
1701	const void*						pNext;
1702	VkExternalFenceHandleTypeFlags	handleTypes;
1703};
1704
1705struct VkExportSemaphoreCreateInfo
1706{
1707	VkStructureType						sType;
1708	const void*							pNext;
1709	VkExternalSemaphoreHandleTypeFlags	handleTypes;
1710};
1711
1712struct VkPhysicalDeviceExternalSemaphoreInfo
1713{
1714	VkStructureType							sType;
1715	const void*								pNext;
1716	VkExternalSemaphoreHandleTypeFlagBits	handleType;
1717};
1718
1719struct VkExternalSemaphoreProperties
1720{
1721	VkStructureType						sType;
1722	void*								pNext;
1723	VkExternalSemaphoreHandleTypeFlags	exportFromImportedHandleTypes;
1724	VkExternalSemaphoreHandleTypeFlags	compatibleHandleTypes;
1725	VkExternalSemaphoreFeatureFlags		externalSemaphoreFeatures;
1726};
1727
1728struct VkPhysicalDeviceMaintenance3Properties
1729{
1730	VkStructureType	sType;
1731	void*			pNext;
1732	deUint32		maxPerSetDescriptors;
1733	VkDeviceSize	maxMemoryAllocationSize;
1734};
1735
1736struct VkDescriptorSetLayoutSupport
1737{
1738	VkStructureType	sType;
1739	void*			pNext;
1740	VkBool32		supported;
1741};
1742
1743struct VkPhysicalDeviceShaderDrawParametersFeatures
1744{
1745	VkStructureType	sType;
1746	void*			pNext;
1747	VkBool32		shaderDrawParameters;
1748};
1749
1750struct VkPhysicalDeviceVulkan11Features
1751{
1752	VkStructureType	sType;
1753	void*			pNext;
1754	VkBool32		storageBuffer16BitAccess;
1755	VkBool32		uniformAndStorageBuffer16BitAccess;
1756	VkBool32		storagePushConstant16;
1757	VkBool32		storageInputOutput16;
1758	VkBool32		multiview;
1759	VkBool32		multiviewGeometryShader;
1760	VkBool32		multiviewTessellationShader;
1761	VkBool32		variablePointersStorageBuffer;
1762	VkBool32		variablePointers;
1763	VkBool32		protectedMemory;
1764	VkBool32		samplerYcbcrConversion;
1765	VkBool32		shaderDrawParameters;
1766};
1767
1768struct VkPhysicalDeviceVulkan11Properties
1769{
1770	VkStructureType			sType;
1771	void*					pNext;
1772	deUint8					deviceUUID[VK_UUID_SIZE];
1773	deUint8					driverUUID[VK_UUID_SIZE];
1774	deUint8					deviceLUID[VK_LUID_SIZE];
1775	deUint32				deviceNodeMask;
1776	VkBool32				deviceLUIDValid;
1777	deUint32				subgroupSize;
1778	VkShaderStageFlags		subgroupSupportedStages;
1779	VkSubgroupFeatureFlags	subgroupSupportedOperations;
1780	VkBool32				subgroupQuadOperationsInAllStages;
1781	VkPointClippingBehavior	pointClippingBehavior;
1782	deUint32				maxMultiviewViewCount;
1783	deUint32				maxMultiviewInstanceIndex;
1784	VkBool32				protectedNoFault;
1785	deUint32				maxPerSetDescriptors;
1786	VkDeviceSize			maxMemoryAllocationSize;
1787};
1788
1789struct VkPhysicalDeviceVulkan12Features
1790{
1791	VkStructureType	sType;
1792	void*			pNext;
1793	VkBool32		samplerMirrorClampToEdge;
1794	VkBool32		drawIndirectCount;
1795	VkBool32		storageBuffer8BitAccess;
1796	VkBool32		uniformAndStorageBuffer8BitAccess;
1797	VkBool32		storagePushConstant8;
1798	VkBool32		shaderBufferInt64Atomics;
1799	VkBool32		shaderSharedInt64Atomics;
1800	VkBool32		shaderFloat16;
1801	VkBool32		shaderInt8;
1802	VkBool32		descriptorIndexing;
1803	VkBool32		shaderInputAttachmentArrayDynamicIndexing;
1804	VkBool32		shaderUniformTexelBufferArrayDynamicIndexing;
1805	VkBool32		shaderStorageTexelBufferArrayDynamicIndexing;
1806	VkBool32		shaderUniformBufferArrayNonUniformIndexing;
1807	VkBool32		shaderSampledImageArrayNonUniformIndexing;
1808	VkBool32		shaderStorageBufferArrayNonUniformIndexing;
1809	VkBool32		shaderStorageImageArrayNonUniformIndexing;
1810	VkBool32		shaderInputAttachmentArrayNonUniformIndexing;
1811	VkBool32		shaderUniformTexelBufferArrayNonUniformIndexing;
1812	VkBool32		shaderStorageTexelBufferArrayNonUniformIndexing;
1813	VkBool32		descriptorBindingUniformBufferUpdateAfterBind;
1814	VkBool32		descriptorBindingSampledImageUpdateAfterBind;
1815	VkBool32		descriptorBindingStorageImageUpdateAfterBind;
1816	VkBool32		descriptorBindingStorageBufferUpdateAfterBind;
1817	VkBool32		descriptorBindingUniformTexelBufferUpdateAfterBind;
1818	VkBool32		descriptorBindingStorageTexelBufferUpdateAfterBind;
1819	VkBool32		descriptorBindingUpdateUnusedWhilePending;
1820	VkBool32		descriptorBindingPartiallyBound;
1821	VkBool32		descriptorBindingVariableDescriptorCount;
1822	VkBool32		runtimeDescriptorArray;
1823	VkBool32		samplerFilterMinmax;
1824	VkBool32		scalarBlockLayout;
1825	VkBool32		imagelessFramebuffer;
1826	VkBool32		uniformBufferStandardLayout;
1827	VkBool32		shaderSubgroupExtendedTypes;
1828	VkBool32		separateDepthStencilLayouts;
1829	VkBool32		hostQueryReset;
1830	VkBool32		timelineSemaphore;
1831	VkBool32		bufferDeviceAddress;
1832	VkBool32		bufferDeviceAddressCaptureReplay;
1833	VkBool32		bufferDeviceAddressMultiDevice;
1834	VkBool32		vulkanMemoryModel;
1835	VkBool32		vulkanMemoryModelDeviceScope;
1836	VkBool32		vulkanMemoryModelAvailabilityVisibilityChains;
1837	VkBool32		shaderOutputViewportIndex;
1838	VkBool32		shaderOutputLayer;
1839	VkBool32		subgroupBroadcastDynamicId;
1840};
1841
1842struct VkConformanceVersion
1843{
1844	deUint8	major;
1845	deUint8	minor;
1846	deUint8	subminor;
1847	deUint8	patch;
1848};
1849
1850struct VkPhysicalDeviceVulkan12Properties
1851{
1852	VkStructureType						sType;
1853	void*								pNext;
1854	VkDriverId							driverID;
1855	char								driverName[VK_MAX_DRIVER_NAME_SIZE];
1856	char								driverInfo[VK_MAX_DRIVER_INFO_SIZE];
1857	VkConformanceVersion				conformanceVersion;
1858	VkShaderFloatControlsIndependence	denormBehaviorIndependence;
1859	VkShaderFloatControlsIndependence	roundingModeIndependence;
1860	VkBool32							shaderSignedZeroInfNanPreserveFloat16;
1861	VkBool32							shaderSignedZeroInfNanPreserveFloat32;
1862	VkBool32							shaderSignedZeroInfNanPreserveFloat64;
1863	VkBool32							shaderDenormPreserveFloat16;
1864	VkBool32							shaderDenormPreserveFloat32;
1865	VkBool32							shaderDenormPreserveFloat64;
1866	VkBool32							shaderDenormFlushToZeroFloat16;
1867	VkBool32							shaderDenormFlushToZeroFloat32;
1868	VkBool32							shaderDenormFlushToZeroFloat64;
1869	VkBool32							shaderRoundingModeRTEFloat16;
1870	VkBool32							shaderRoundingModeRTEFloat32;
1871	VkBool32							shaderRoundingModeRTEFloat64;
1872	VkBool32							shaderRoundingModeRTZFloat16;
1873	VkBool32							shaderRoundingModeRTZFloat32;
1874	VkBool32							shaderRoundingModeRTZFloat64;
1875	deUint32							maxUpdateAfterBindDescriptorsInAllPools;
1876	VkBool32							shaderUniformBufferArrayNonUniformIndexingNative;
1877	VkBool32							shaderSampledImageArrayNonUniformIndexingNative;
1878	VkBool32							shaderStorageBufferArrayNonUniformIndexingNative;
1879	VkBool32							shaderStorageImageArrayNonUniformIndexingNative;
1880	VkBool32							shaderInputAttachmentArrayNonUniformIndexingNative;
1881	VkBool32							robustBufferAccessUpdateAfterBind;
1882	VkBool32							quadDivergentImplicitLod;
1883	deUint32							maxPerStageDescriptorUpdateAfterBindSamplers;
1884	deUint32							maxPerStageDescriptorUpdateAfterBindUniformBuffers;
1885	deUint32							maxPerStageDescriptorUpdateAfterBindStorageBuffers;
1886	deUint32							maxPerStageDescriptorUpdateAfterBindSampledImages;
1887	deUint32							maxPerStageDescriptorUpdateAfterBindStorageImages;
1888	deUint32							maxPerStageDescriptorUpdateAfterBindInputAttachments;
1889	deUint32							maxPerStageUpdateAfterBindResources;
1890	deUint32							maxDescriptorSetUpdateAfterBindSamplers;
1891	deUint32							maxDescriptorSetUpdateAfterBindUniformBuffers;
1892	deUint32							maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
1893	deUint32							maxDescriptorSetUpdateAfterBindStorageBuffers;
1894	deUint32							maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
1895	deUint32							maxDescriptorSetUpdateAfterBindSampledImages;
1896	deUint32							maxDescriptorSetUpdateAfterBindStorageImages;
1897	deUint32							maxDescriptorSetUpdateAfterBindInputAttachments;
1898	VkResolveModeFlags					supportedDepthResolveModes;
1899	VkResolveModeFlags					supportedStencilResolveModes;
1900	VkBool32							independentResolveNone;
1901	VkBool32							independentResolve;
1902	VkBool32							filterMinmaxSingleComponentFormats;
1903	VkBool32							filterMinmaxImageComponentMapping;
1904	deUint64							maxTimelineSemaphoreValueDifference;
1905	VkSampleCountFlags					framebufferIntegerColorSampleCounts;
1906};
1907
1908struct VkImageFormatListCreateInfo
1909{
1910	VkStructureType	sType;
1911	const void*		pNext;
1912	deUint32		viewFormatCount;
1913	const VkFormat*	pViewFormats;
1914};
1915
1916struct VkAttachmentDescription2
1917{
1918	VkStructureType					sType;
1919	const void*						pNext;
1920	VkAttachmentDescriptionFlags	flags;
1921	VkFormat						format;
1922	VkSampleCountFlagBits			samples;
1923	VkAttachmentLoadOp				loadOp;
1924	VkAttachmentStoreOp				storeOp;
1925	VkAttachmentLoadOp				stencilLoadOp;
1926	VkAttachmentStoreOp				stencilStoreOp;
1927	VkImageLayout					initialLayout;
1928	VkImageLayout					finalLayout;
1929};
1930
1931struct VkAttachmentReference2
1932{
1933	VkStructureType		sType;
1934	const void*			pNext;
1935	deUint32			attachment;
1936	VkImageLayout		layout;
1937	VkImageAspectFlags	aspectMask;
1938};
1939
1940struct VkSubpassDescription2
1941{
1942	VkStructureType					sType;
1943	const void*						pNext;
1944	VkSubpassDescriptionFlags		flags;
1945	VkPipelineBindPoint				pipelineBindPoint;
1946	deUint32						viewMask;
1947	deUint32						inputAttachmentCount;
1948	const VkAttachmentReference2*	pInputAttachments;
1949	deUint32						colorAttachmentCount;
1950	const VkAttachmentReference2*	pColorAttachments;
1951	const VkAttachmentReference2*	pResolveAttachments;
1952	const VkAttachmentReference2*	pDepthStencilAttachment;
1953	deUint32						preserveAttachmentCount;
1954	const deUint32*					pPreserveAttachments;
1955};
1956
1957struct VkSubpassDependency2
1958{
1959	VkStructureType			sType;
1960	const void*				pNext;
1961	deUint32				srcSubpass;
1962	deUint32				dstSubpass;
1963	VkPipelineStageFlags	srcStageMask;
1964	VkPipelineStageFlags	dstStageMask;
1965	VkAccessFlags			srcAccessMask;
1966	VkAccessFlags			dstAccessMask;
1967	VkDependencyFlags		dependencyFlags;
1968	deInt32					viewOffset;
1969};
1970
1971struct VkRenderPassCreateInfo2
1972{
1973	VkStructureType					sType;
1974	const void*						pNext;
1975	VkRenderPassCreateFlags			flags;
1976	deUint32						attachmentCount;
1977	const VkAttachmentDescription2*	pAttachments;
1978	deUint32						subpassCount;
1979	const VkSubpassDescription2*	pSubpasses;
1980	deUint32						dependencyCount;
1981	const VkSubpassDependency2*		pDependencies;
1982	deUint32						correlatedViewMaskCount;
1983	const deUint32*					pCorrelatedViewMasks;
1984};
1985
1986struct VkSubpassBeginInfo
1987{
1988	VkStructureType		sType;
1989	const void*			pNext;
1990	VkSubpassContents	contents;
1991};
1992
1993struct VkSubpassEndInfo
1994{
1995	VkStructureType	sType;
1996	const void*		pNext;
1997};
1998
1999struct VkPhysicalDevice8BitStorageFeatures
2000{
2001	VkStructureType	sType;
2002	void*			pNext;
2003	VkBool32		storageBuffer8BitAccess;
2004	VkBool32		uniformAndStorageBuffer8BitAccess;
2005	VkBool32		storagePushConstant8;
2006};
2007
2008struct VkPhysicalDeviceDriverProperties
2009{
2010	VkStructureType			sType;
2011	void*					pNext;
2012	VkDriverId				driverID;
2013	char					driverName[VK_MAX_DRIVER_NAME_SIZE];
2014	char					driverInfo[VK_MAX_DRIVER_INFO_SIZE];
2015	VkConformanceVersion	conformanceVersion;
2016};
2017
2018struct VkPhysicalDeviceShaderAtomicInt64Features
2019{
2020	VkStructureType	sType;
2021	void*			pNext;
2022	VkBool32		shaderBufferInt64Atomics;
2023	VkBool32		shaderSharedInt64Atomics;
2024};
2025
2026struct VkPhysicalDeviceShaderFloat16Int8Features
2027{
2028	VkStructureType	sType;
2029	void*			pNext;
2030	VkBool32		shaderFloat16;
2031	VkBool32		shaderInt8;
2032};
2033
2034struct VkPhysicalDeviceFloatControlsProperties
2035{
2036	VkStructureType						sType;
2037	void*								pNext;
2038	VkShaderFloatControlsIndependence	denormBehaviorIndependence;
2039	VkShaderFloatControlsIndependence	roundingModeIndependence;
2040	VkBool32							shaderSignedZeroInfNanPreserveFloat16;
2041	VkBool32							shaderSignedZeroInfNanPreserveFloat32;
2042	VkBool32							shaderSignedZeroInfNanPreserveFloat64;
2043	VkBool32							shaderDenormPreserveFloat16;
2044	VkBool32							shaderDenormPreserveFloat32;
2045	VkBool32							shaderDenormPreserveFloat64;
2046	VkBool32							shaderDenormFlushToZeroFloat16;
2047	VkBool32							shaderDenormFlushToZeroFloat32;
2048	VkBool32							shaderDenormFlushToZeroFloat64;
2049	VkBool32							shaderRoundingModeRTEFloat16;
2050	VkBool32							shaderRoundingModeRTEFloat32;
2051	VkBool32							shaderRoundingModeRTEFloat64;
2052	VkBool32							shaderRoundingModeRTZFloat16;
2053	VkBool32							shaderRoundingModeRTZFloat32;
2054	VkBool32							shaderRoundingModeRTZFloat64;
2055};
2056
2057struct VkDescriptorSetLayoutBindingFlagsCreateInfo
2058{
2059	VkStructureType					sType;
2060	const void*						pNext;
2061	deUint32						bindingCount;
2062	const VkDescriptorBindingFlags*	pBindingFlags;
2063};
2064
2065struct VkPhysicalDeviceDescriptorIndexingFeatures
2066{
2067	VkStructureType	sType;
2068	void*			pNext;
2069	VkBool32		shaderInputAttachmentArrayDynamicIndexing;
2070	VkBool32		shaderUniformTexelBufferArrayDynamicIndexing;
2071	VkBool32		shaderStorageTexelBufferArrayDynamicIndexing;
2072	VkBool32		shaderUniformBufferArrayNonUniformIndexing;
2073	VkBool32		shaderSampledImageArrayNonUniformIndexing;
2074	VkBool32		shaderStorageBufferArrayNonUniformIndexing;
2075	VkBool32		shaderStorageImageArrayNonUniformIndexing;
2076	VkBool32		shaderInputAttachmentArrayNonUniformIndexing;
2077	VkBool32		shaderUniformTexelBufferArrayNonUniformIndexing;
2078	VkBool32		shaderStorageTexelBufferArrayNonUniformIndexing;
2079	VkBool32		descriptorBindingUniformBufferUpdateAfterBind;
2080	VkBool32		descriptorBindingSampledImageUpdateAfterBind;
2081	VkBool32		descriptorBindingStorageImageUpdateAfterBind;
2082	VkBool32		descriptorBindingStorageBufferUpdateAfterBind;
2083	VkBool32		descriptorBindingUniformTexelBufferUpdateAfterBind;
2084	VkBool32		descriptorBindingStorageTexelBufferUpdateAfterBind;
2085	VkBool32		descriptorBindingUpdateUnusedWhilePending;
2086	VkBool32		descriptorBindingPartiallyBound;
2087	VkBool32		descriptorBindingVariableDescriptorCount;
2088	VkBool32		runtimeDescriptorArray;
2089};
2090
2091struct VkPhysicalDeviceDescriptorIndexingProperties
2092{
2093	VkStructureType	sType;
2094	void*			pNext;
2095	deUint32		maxUpdateAfterBindDescriptorsInAllPools;
2096	VkBool32		shaderUniformBufferArrayNonUniformIndexingNative;
2097	VkBool32		shaderSampledImageArrayNonUniformIndexingNative;
2098	VkBool32		shaderStorageBufferArrayNonUniformIndexingNative;
2099	VkBool32		shaderStorageImageArrayNonUniformIndexingNative;
2100	VkBool32		shaderInputAttachmentArrayNonUniformIndexingNative;
2101	VkBool32		robustBufferAccessUpdateAfterBind;
2102	VkBool32		quadDivergentImplicitLod;
2103	deUint32		maxPerStageDescriptorUpdateAfterBindSamplers;
2104	deUint32		maxPerStageDescriptorUpdateAfterBindUniformBuffers;
2105	deUint32		maxPerStageDescriptorUpdateAfterBindStorageBuffers;
2106	deUint32		maxPerStageDescriptorUpdateAfterBindSampledImages;
2107	deUint32		maxPerStageDescriptorUpdateAfterBindStorageImages;
2108	deUint32		maxPerStageDescriptorUpdateAfterBindInputAttachments;
2109	deUint32		maxPerStageUpdateAfterBindResources;
2110	deUint32		maxDescriptorSetUpdateAfterBindSamplers;
2111	deUint32		maxDescriptorSetUpdateAfterBindUniformBuffers;
2112	deUint32		maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
2113	deUint32		maxDescriptorSetUpdateAfterBindStorageBuffers;
2114	deUint32		maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
2115	deUint32		maxDescriptorSetUpdateAfterBindSampledImages;
2116	deUint32		maxDescriptorSetUpdateAfterBindStorageImages;
2117	deUint32		maxDescriptorSetUpdateAfterBindInputAttachments;
2118};
2119
2120struct VkDescriptorSetVariableDescriptorCountAllocateInfo
2121{
2122	VkStructureType	sType;
2123	const void*		pNext;
2124	deUint32		descriptorSetCount;
2125	const deUint32*	pDescriptorCounts;
2126};
2127
2128struct VkDescriptorSetVariableDescriptorCountLayoutSupport
2129{
2130	VkStructureType	sType;
2131	void*			pNext;
2132	deUint32		maxVariableDescriptorCount;
2133};
2134
2135struct VkSubpassDescriptionDepthStencilResolve
2136{
2137	VkStructureType					sType;
2138	const void*						pNext;
2139	VkResolveModeFlagBits			depthResolveMode;
2140	VkResolveModeFlagBits			stencilResolveMode;
2141	const VkAttachmentReference2*	pDepthStencilResolveAttachment;
2142};
2143
2144struct VkPhysicalDeviceDepthStencilResolveProperties
2145{
2146	VkStructureType		sType;
2147	void*				pNext;
2148	VkResolveModeFlags	supportedDepthResolveModes;
2149	VkResolveModeFlags	supportedStencilResolveModes;
2150	VkBool32			independentResolveNone;
2151	VkBool32			independentResolve;
2152};
2153
2154struct VkPhysicalDeviceScalarBlockLayoutFeatures
2155{
2156	VkStructureType	sType;
2157	void*			pNext;
2158	VkBool32		scalarBlockLayout;
2159};
2160
2161struct VkImageStencilUsageCreateInfo
2162{
2163	VkStructureType		sType;
2164	const void*			pNext;
2165	VkImageUsageFlags	stencilUsage;
2166};
2167
2168struct VkSamplerReductionModeCreateInfo
2169{
2170	VkStructureType			sType;
2171	const void*				pNext;
2172	VkSamplerReductionMode	reductionMode;
2173};
2174
2175struct VkPhysicalDeviceSamplerFilterMinmaxProperties
2176{
2177	VkStructureType	sType;
2178	void*			pNext;
2179	VkBool32		filterMinmaxSingleComponentFormats;
2180	VkBool32		filterMinmaxImageComponentMapping;
2181};
2182
2183struct VkPhysicalDeviceVulkanMemoryModelFeatures
2184{
2185	VkStructureType	sType;
2186	void*			pNext;
2187	VkBool32		vulkanMemoryModel;
2188	VkBool32		vulkanMemoryModelDeviceScope;
2189	VkBool32		vulkanMemoryModelAvailabilityVisibilityChains;
2190};
2191
2192struct VkPhysicalDeviceImagelessFramebufferFeatures
2193{
2194	VkStructureType	sType;
2195	void*			pNext;
2196	VkBool32		imagelessFramebuffer;
2197};
2198
2199struct VkFramebufferAttachmentImageInfo
2200{
2201	VkStructureType		sType;
2202	const void*			pNext;
2203	VkImageCreateFlags	flags;
2204	VkImageUsageFlags	usage;
2205	deUint32			width;
2206	deUint32			height;
2207	deUint32			layerCount;
2208	deUint32			viewFormatCount;
2209	const VkFormat*		pViewFormats;
2210};
2211
2212struct VkFramebufferAttachmentsCreateInfo
2213{
2214	VkStructureType							sType;
2215	const void*								pNext;
2216	deUint32								attachmentImageInfoCount;
2217	const VkFramebufferAttachmentImageInfo*	pAttachmentImageInfos;
2218};
2219
2220struct VkRenderPassAttachmentBeginInfo
2221{
2222	VkStructureType		sType;
2223	const void*			pNext;
2224	deUint32			attachmentCount;
2225	const VkImageView*	pAttachments;
2226};
2227
2228struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures
2229{
2230	VkStructureType	sType;
2231	void*			pNext;
2232	VkBool32		uniformBufferStandardLayout;
2233};
2234
2235struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
2236{
2237	VkStructureType	sType;
2238	void*			pNext;
2239	VkBool32		shaderSubgroupExtendedTypes;
2240};
2241
2242struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
2243{
2244	VkStructureType	sType;
2245	void*			pNext;
2246	VkBool32		separateDepthStencilLayouts;
2247};
2248
2249struct VkAttachmentReferenceStencilLayout
2250{
2251	VkStructureType	sType;
2252	void*			pNext;
2253	VkImageLayout	stencilLayout;
2254};
2255
2256struct VkAttachmentDescriptionStencilLayout
2257{
2258	VkStructureType	sType;
2259	void*			pNext;
2260	VkImageLayout	stencilInitialLayout;
2261	VkImageLayout	stencilFinalLayout;
2262};
2263
2264struct VkPhysicalDeviceHostQueryResetFeatures
2265{
2266	VkStructureType	sType;
2267	void*			pNext;
2268	VkBool32		hostQueryReset;
2269};
2270
2271struct VkPhysicalDeviceTimelineSemaphoreFeatures
2272{
2273	VkStructureType	sType;
2274	void*			pNext;
2275	VkBool32		timelineSemaphore;
2276};
2277
2278struct VkPhysicalDeviceTimelineSemaphoreProperties
2279{
2280	VkStructureType	sType;
2281	void*			pNext;
2282	deUint64		maxTimelineSemaphoreValueDifference;
2283};
2284
2285struct VkSemaphoreTypeCreateInfo
2286{
2287	VkStructureType	sType;
2288	const void*		pNext;
2289	VkSemaphoreType	semaphoreType;
2290	deUint64		initialValue;
2291};
2292
2293struct VkTimelineSemaphoreSubmitInfo
2294{
2295	VkStructureType	sType;
2296	const void*		pNext;
2297	deUint32		waitSemaphoreValueCount;
2298	const deUint64*	pWaitSemaphoreValues;
2299	deUint32		signalSemaphoreValueCount;
2300	const deUint64*	pSignalSemaphoreValues;
2301};
2302
2303struct VkSemaphoreWaitInfo
2304{
2305	VkStructureType			sType;
2306	const void*				pNext;
2307	VkSemaphoreWaitFlags	flags;
2308	deUint32				semaphoreCount;
2309	const VkSemaphore*		pSemaphores;
2310	const deUint64*			pValues;
2311};
2312
2313struct VkSemaphoreSignalInfo
2314{
2315	VkStructureType	sType;
2316	const void*		pNext;
2317	VkSemaphore		semaphore;
2318	deUint64		value;
2319};
2320
2321struct VkPhysicalDeviceBufferDeviceAddressFeatures
2322{
2323	VkStructureType	sType;
2324	void*			pNext;
2325	VkBool32		bufferDeviceAddress;
2326	VkBool32		bufferDeviceAddressCaptureReplay;
2327	VkBool32		bufferDeviceAddressMultiDevice;
2328};
2329
2330struct VkBufferDeviceAddressInfo
2331{
2332	VkStructureType	sType;
2333	const void*		pNext;
2334	VkBuffer		buffer;
2335};
2336
2337struct VkBufferOpaqueCaptureAddressCreateInfo
2338{
2339	VkStructureType	sType;
2340	const void*		pNext;
2341	deUint64		opaqueCaptureAddress;
2342};
2343
2344struct VkMemoryOpaqueCaptureAddressAllocateInfo
2345{
2346	VkStructureType	sType;
2347	const void*		pNext;
2348	deUint64		opaqueCaptureAddress;
2349};
2350
2351struct VkDeviceMemoryOpaqueCaptureAddressInfo
2352{
2353	VkStructureType	sType;
2354	const void*		pNext;
2355	VkDeviceMemory	memory;
2356};
2357
2358struct VkSurfaceCapabilitiesKHR
2359{
2360	deUint32						minImageCount;
2361	deUint32						maxImageCount;
2362	VkExtent2D						currentExtent;
2363	VkExtent2D						minImageExtent;
2364	VkExtent2D						maxImageExtent;
2365	deUint32						maxImageArrayLayers;
2366	VkSurfaceTransformFlagsKHR		supportedTransforms;
2367	VkSurfaceTransformFlagBitsKHR	currentTransform;
2368	VkCompositeAlphaFlagsKHR		supportedCompositeAlpha;
2369	VkImageUsageFlags				supportedUsageFlags;
2370};
2371
2372struct VkSurfaceFormatKHR
2373{
2374	VkFormat		format;
2375	VkColorSpaceKHR	colorSpace;
2376};
2377
2378struct VkSwapchainCreateInfoKHR
2379{
2380	VkStructureType					sType;
2381	const void*						pNext;
2382	VkSwapchainCreateFlagsKHR		flags;
2383	VkSurfaceKHR					surface;
2384	deUint32						minImageCount;
2385	VkFormat						imageFormat;
2386	VkColorSpaceKHR					imageColorSpace;
2387	VkExtent2D						imageExtent;
2388	deUint32						imageArrayLayers;
2389	VkImageUsageFlags				imageUsage;
2390	VkSharingMode					imageSharingMode;
2391	deUint32						queueFamilyIndexCount;
2392	const deUint32*					pQueueFamilyIndices;
2393	VkSurfaceTransformFlagBitsKHR	preTransform;
2394	VkCompositeAlphaFlagBitsKHR		compositeAlpha;
2395	VkPresentModeKHR				presentMode;
2396	VkBool32						clipped;
2397	VkSwapchainKHR					oldSwapchain;
2398};
2399
2400struct VkPresentInfoKHR
2401{
2402	VkStructureType			sType;
2403	const void*				pNext;
2404	deUint32				waitSemaphoreCount;
2405	const VkSemaphore*		pWaitSemaphores;
2406	deUint32				swapchainCount;
2407	const VkSwapchainKHR*	pSwapchains;
2408	const deUint32*			pImageIndices;
2409	VkResult*				pResults;
2410};
2411
2412struct VkImageSwapchainCreateInfoKHR
2413{
2414	VkStructureType	sType;
2415	const void*		pNext;
2416	VkSwapchainKHR	swapchain;
2417};
2418
2419struct VkBindImageMemorySwapchainInfoKHR
2420{
2421	VkStructureType	sType;
2422	const void*		pNext;
2423	VkSwapchainKHR	swapchain;
2424	deUint32		imageIndex;
2425};
2426
2427struct VkAcquireNextImageInfoKHR
2428{
2429	VkStructureType	sType;
2430	const void*		pNext;
2431	VkSwapchainKHR	swapchain;
2432	deUint64		timeout;
2433	VkSemaphore		semaphore;
2434	VkFence			fence;
2435	deUint32		deviceMask;
2436};
2437
2438struct VkDeviceGroupPresentCapabilitiesKHR
2439{
2440	VkStructureType						sType;
2441	const void*							pNext;
2442	deUint32							presentMask[VK_MAX_DEVICE_GROUP_SIZE];
2443	VkDeviceGroupPresentModeFlagsKHR	modes;
2444};
2445
2446struct VkDeviceGroupPresentInfoKHR
2447{
2448	VkStructureType						sType;
2449	const void*							pNext;
2450	deUint32							swapchainCount;
2451	const deUint32*						pDeviceMasks;
2452	VkDeviceGroupPresentModeFlagBitsKHR	mode;
2453};
2454
2455struct VkDeviceGroupSwapchainCreateInfoKHR
2456{
2457	VkStructureType						sType;
2458	const void*							pNext;
2459	VkDeviceGroupPresentModeFlagsKHR	modes;
2460};
2461
2462struct VkDisplayPropertiesKHR
2463{
2464	VkDisplayKHR				display;
2465	const char*					displayName;
2466	VkExtent2D					physicalDimensions;
2467	VkExtent2D					physicalResolution;
2468	VkSurfaceTransformFlagsKHR	supportedTransforms;
2469	VkBool32					planeReorderPossible;
2470	VkBool32					persistentContent;
2471};
2472
2473struct VkDisplayModeParametersKHR
2474{
2475	VkExtent2D	visibleRegion;
2476	deUint32	refreshRate;
2477};
2478
2479struct VkDisplayModePropertiesKHR
2480{
2481	VkDisplayModeKHR			displayMode;
2482	VkDisplayModeParametersKHR	parameters;
2483};
2484
2485struct VkDisplayModeCreateInfoKHR
2486{
2487	VkStructureType				sType;
2488	const void*					pNext;
2489	VkDisplayModeCreateFlagsKHR	flags;
2490	VkDisplayModeParametersKHR	parameters;
2491};
2492
2493struct VkDisplayPlaneCapabilitiesKHR
2494{
2495	VkDisplayPlaneAlphaFlagsKHR	supportedAlpha;
2496	VkOffset2D					minSrcPosition;
2497	VkOffset2D					maxSrcPosition;
2498	VkExtent2D					minSrcExtent;
2499	VkExtent2D					maxSrcExtent;
2500	VkOffset2D					minDstPosition;
2501	VkOffset2D					maxDstPosition;
2502	VkExtent2D					minDstExtent;
2503	VkExtent2D					maxDstExtent;
2504};
2505
2506struct VkDisplayPlanePropertiesKHR
2507{
2508	VkDisplayKHR	currentDisplay;
2509	deUint32		currentStackIndex;
2510};
2511
2512struct VkDisplaySurfaceCreateInfoKHR
2513{
2514	VkStructureType					sType;
2515	const void*						pNext;
2516	VkDisplaySurfaceCreateFlagsKHR	flags;
2517	VkDisplayModeKHR				displayMode;
2518	deUint32						planeIndex;
2519	deUint32						planeStackIndex;
2520	VkSurfaceTransformFlagBitsKHR	transform;
2521	float							globalAlpha;
2522	VkDisplayPlaneAlphaFlagBitsKHR	alphaMode;
2523	VkExtent2D						imageExtent;
2524};
2525
2526struct VkDisplayPresentInfoKHR
2527{
2528	VkStructureType	sType;
2529	const void*		pNext;
2530	VkRect2D		srcRect;
2531	VkRect2D		dstRect;
2532	VkBool32		persistent;
2533};
2534
2535struct VkImportMemoryFdInfoKHR
2536{
2537	VkStructureType						sType;
2538	const void*							pNext;
2539	VkExternalMemoryHandleTypeFlagBits	handleType;
2540	int									fd;
2541};
2542
2543struct VkMemoryFdPropertiesKHR
2544{
2545	VkStructureType	sType;
2546	void*			pNext;
2547	deUint32		memoryTypeBits;
2548};
2549
2550struct VkMemoryGetFdInfoKHR
2551{
2552	VkStructureType						sType;
2553	const void*							pNext;
2554	VkDeviceMemory						memory;
2555	VkExternalMemoryHandleTypeFlagBits	handleType;
2556};
2557
2558struct VkImportSemaphoreFdInfoKHR
2559{
2560	VkStructureType							sType;
2561	const void*								pNext;
2562	VkSemaphore								semaphore;
2563	VkSemaphoreImportFlags					flags;
2564	VkExternalSemaphoreHandleTypeFlagBits	handleType;
2565	int										fd;
2566};
2567
2568struct VkSemaphoreGetFdInfoKHR
2569{
2570	VkStructureType							sType;
2571	const void*								pNext;
2572	VkSemaphore								semaphore;
2573	VkExternalSemaphoreHandleTypeFlagBits	handleType;
2574};
2575
2576struct VkPhysicalDevicePushDescriptorPropertiesKHR
2577{
2578	VkStructureType	sType;
2579	void*			pNext;
2580	deUint32		maxPushDescriptors;
2581};
2582
2583struct VkRectLayerKHR
2584{
2585	VkOffset2D	offset;
2586	VkExtent2D	extent;
2587	deUint32	layer;
2588};
2589
2590struct VkPresentRegionKHR
2591{
2592	deUint32				rectangleCount;
2593	const VkRectLayerKHR*	pRectangles;
2594};
2595
2596struct VkPresentRegionsKHR
2597{
2598	VkStructureType				sType;
2599	const void*					pNext;
2600	deUint32					swapchainCount;
2601	const VkPresentRegionKHR*	pRegions;
2602};
2603
2604struct VkSharedPresentSurfaceCapabilitiesKHR
2605{
2606	VkStructureType		sType;
2607	void*				pNext;
2608	VkImageUsageFlags	sharedPresentSupportedUsageFlags;
2609};
2610
2611struct VkImportFenceFdInfoKHR
2612{
2613	VkStructureType						sType;
2614	const void*							pNext;
2615	VkFence								fence;
2616	VkFenceImportFlags					flags;
2617	VkExternalFenceHandleTypeFlagBits	handleType;
2618	int									fd;
2619};
2620
2621struct VkFenceGetFdInfoKHR
2622{
2623	VkStructureType						sType;
2624	const void*							pNext;
2625	VkFence								fence;
2626	VkExternalFenceHandleTypeFlagBits	handleType;
2627};
2628
2629struct VkPhysicalDevicePerformanceQueryFeaturesKHR
2630{
2631	VkStructureType	sType;
2632	void*			pNext;
2633	VkBool32		performanceCounterQueryPools;
2634	VkBool32		performanceCounterMultipleQueryPools;
2635};
2636
2637struct VkPhysicalDevicePerformanceQueryPropertiesKHR
2638{
2639	VkStructureType	sType;
2640	void*			pNext;
2641	VkBool32		allowCommandBufferQueryCopies;
2642};
2643
2644struct VkPerformanceCounterKHR
2645{
2646	VkStructureType					sType;
2647	const void*						pNext;
2648	VkPerformanceCounterUnitKHR		unit;
2649	VkPerformanceCounterScopeKHR	scope;
2650	VkPerformanceCounterStorageKHR	storage;
2651	deUint8							uuid[VK_UUID_SIZE];
2652};
2653
2654struct VkPerformanceCounterDescriptionKHR
2655{
2656	VkStructureType							sType;
2657	const void*								pNext;
2658	VkPerformanceCounterDescriptionFlagsKHR	flags;
2659	char									name[VK_MAX_DESCRIPTION_SIZE];
2660	char									category[VK_MAX_DESCRIPTION_SIZE];
2661	char									description[VK_MAX_DESCRIPTION_SIZE];
2662};
2663
2664struct VkQueryPoolPerformanceCreateInfoKHR
2665{
2666	VkStructureType	sType;
2667	const void*		pNext;
2668	deUint32		queueFamilyIndex;
2669	deUint32		counterIndexCount;
2670	const deUint32*	pCounterIndices;
2671};
2672
2673union VkPerformanceCounterResultKHR
2674{
2675	deInt32		int32;
2676	deInt64		int64;
2677	deUint32	uint32;
2678	deUint64	uint64;
2679	float		float32;
2680	double		float64;
2681};
2682
2683struct VkAcquireProfilingLockInfoKHR
2684{
2685	VkStructureType					sType;
2686	const void*						pNext;
2687	VkAcquireProfilingLockFlagsKHR	flags;
2688	deUint64						timeout;
2689};
2690
2691struct VkPerformanceQuerySubmitInfoKHR
2692{
2693	VkStructureType	sType;
2694	const void*		pNext;
2695	deUint32		counterPassIndex;
2696};
2697
2698struct VkPhysicalDeviceSurfaceInfo2KHR
2699{
2700	VkStructureType	sType;
2701	const void*		pNext;
2702	VkSurfaceKHR	surface;
2703};
2704
2705struct VkSurfaceCapabilities2KHR
2706{
2707	VkStructureType				sType;
2708	void*						pNext;
2709	VkSurfaceCapabilitiesKHR	surfaceCapabilities;
2710};
2711
2712struct VkSurfaceFormat2KHR
2713{
2714	VkStructureType		sType;
2715	void*				pNext;
2716	VkSurfaceFormatKHR	surfaceFormat;
2717};
2718
2719struct VkDisplayProperties2KHR
2720{
2721	VkStructureType			sType;
2722	void*					pNext;
2723	VkDisplayPropertiesKHR	displayProperties;
2724};
2725
2726struct VkDisplayPlaneProperties2KHR
2727{
2728	VkStructureType				sType;
2729	void*						pNext;
2730	VkDisplayPlanePropertiesKHR	displayPlaneProperties;
2731};
2732
2733struct VkDisplayModeProperties2KHR
2734{
2735	VkStructureType				sType;
2736	void*						pNext;
2737	VkDisplayModePropertiesKHR	displayModeProperties;
2738};
2739
2740struct VkDisplayPlaneInfo2KHR
2741{
2742	VkStructureType		sType;
2743	const void*			pNext;
2744	VkDisplayModeKHR	mode;
2745	deUint32			planeIndex;
2746};
2747
2748struct VkDisplayPlaneCapabilities2KHR
2749{
2750	VkStructureType					sType;
2751	void*							pNext;
2752	VkDisplayPlaneCapabilitiesKHR	capabilities;
2753};
2754
2755struct VkPhysicalDeviceShaderClockFeaturesKHR
2756{
2757	VkStructureType	sType;
2758	void*			pNext;
2759	VkBool32		shaderSubgroupClock;
2760	VkBool32		shaderDeviceClock;
2761};
2762
2763struct VkSurfaceProtectedCapabilitiesKHR
2764{
2765	VkStructureType	sType;
2766	const void*		pNext;
2767	VkBool32		supportsProtected;
2768};
2769
2770struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
2771{
2772	VkStructureType	sType;
2773	void*			pNext;
2774	VkBool32		pipelineExecutableInfo;
2775};
2776
2777struct VkPipelineInfoKHR
2778{
2779	VkStructureType	sType;
2780	const void*		pNext;
2781	VkPipeline		pipeline;
2782};
2783
2784struct VkPipelineExecutablePropertiesKHR
2785{
2786	VkStructureType		sType;
2787	void*				pNext;
2788	VkShaderStageFlags	stages;
2789	char				name[VK_MAX_DESCRIPTION_SIZE];
2790	char				description[VK_MAX_DESCRIPTION_SIZE];
2791	deUint32			subgroupSize;
2792};
2793
2794struct VkPipelineExecutableInfoKHR
2795{
2796	VkStructureType	sType;
2797	const void*		pNext;
2798	VkPipeline		pipeline;
2799	deUint32		executableIndex;
2800};
2801
2802union VkPipelineExecutableStatisticValueKHR
2803{
2804	VkBool32	b32;
2805	deInt64		i64;
2806	deUint64	u64;
2807	double		f64;
2808};
2809
2810struct VkPipelineExecutableStatisticKHR
2811{
2812	VkStructureType							sType;
2813	void*									pNext;
2814	char									name[VK_MAX_DESCRIPTION_SIZE];
2815	char									description[VK_MAX_DESCRIPTION_SIZE];
2816	VkPipelineExecutableStatisticFormatKHR	format;
2817	VkPipelineExecutableStatisticValueKHR	value;
2818};
2819
2820struct VkPipelineExecutableInternalRepresentationKHR
2821{
2822	VkStructureType	sType;
2823	void*			pNext;
2824	char			name[VK_MAX_DESCRIPTION_SIZE];
2825	char			description[VK_MAX_DESCRIPTION_SIZE];
2826	VkBool32		isText;
2827	deUintptr		dataSize;
2828	void*			pData;
2829};
2830
2831struct VkDebugReportCallbackCreateInfoEXT
2832{
2833	VkStructureType					sType;
2834	const void*						pNext;
2835	VkDebugReportFlagsEXT			flags;
2836	PFN_vkDebugReportCallbackEXT	pfnCallback;
2837	void*							pUserData;
2838};
2839
2840struct VkPipelineRasterizationStateRasterizationOrderAMD
2841{
2842	VkStructureType			sType;
2843	const void*				pNext;
2844	VkRasterizationOrderAMD	rasterizationOrder;
2845};
2846
2847struct VkDebugMarkerObjectNameInfoEXT
2848{
2849	VkStructureType				sType;
2850	const void*					pNext;
2851	VkDebugReportObjectTypeEXT	objectType;
2852	deUint64					object;
2853	const char*					pObjectName;
2854};
2855
2856struct VkDebugMarkerObjectTagInfoEXT
2857{
2858	VkStructureType				sType;
2859	const void*					pNext;
2860	VkDebugReportObjectTypeEXT	objectType;
2861	deUint64					object;
2862	deUint64					tagName;
2863	deUintptr					tagSize;
2864	const void*					pTag;
2865};
2866
2867struct VkDebugMarkerMarkerInfoEXT
2868{
2869	VkStructureType	sType;
2870	const void*		pNext;
2871	const char*		pMarkerName;
2872	float			color[4];
2873};
2874
2875struct VkDedicatedAllocationImageCreateInfoNV
2876{
2877	VkStructureType	sType;
2878	const void*		pNext;
2879	VkBool32		dedicatedAllocation;
2880};
2881
2882struct VkDedicatedAllocationBufferCreateInfoNV
2883{
2884	VkStructureType	sType;
2885	const void*		pNext;
2886	VkBool32		dedicatedAllocation;
2887};
2888
2889struct VkDedicatedAllocationMemoryAllocateInfoNV
2890{
2891	VkStructureType	sType;
2892	const void*		pNext;
2893	VkImage			image;
2894	VkBuffer		buffer;
2895};
2896
2897struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
2898{
2899	VkStructureType	sType;
2900	void*			pNext;
2901	VkBool32		transformFeedback;
2902	VkBool32		geometryStreams;
2903};
2904
2905struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
2906{
2907	VkStructureType	sType;
2908	void*			pNext;
2909	deUint32		maxTransformFeedbackStreams;
2910	deUint32		maxTransformFeedbackBuffers;
2911	VkDeviceSize	maxTransformFeedbackBufferSize;
2912	deUint32		maxTransformFeedbackStreamDataSize;
2913	deUint32		maxTransformFeedbackBufferDataSize;
2914	deUint32		maxTransformFeedbackBufferDataStride;
2915	VkBool32		transformFeedbackQueries;
2916	VkBool32		transformFeedbackStreamsLinesTriangles;
2917	VkBool32		transformFeedbackRasterizationStreamSelect;
2918	VkBool32		transformFeedbackDraw;
2919};
2920
2921struct VkPipelineRasterizationStateStreamCreateInfoEXT
2922{
2923	VkStructureType										sType;
2924	const void*											pNext;
2925	VkPipelineRasterizationStateStreamCreateFlagsEXT	flags;
2926	deUint32											rasterizationStream;
2927};
2928
2929struct VkImageViewHandleInfoNVX
2930{
2931	VkStructureType		sType;
2932	const void*			pNext;
2933	VkImageView			imageView;
2934	VkDescriptorType	descriptorType;
2935	VkSampler			sampler;
2936};
2937
2938struct VkTextureLODGatherFormatPropertiesAMD
2939{
2940	VkStructureType	sType;
2941	void*			pNext;
2942	VkBool32		supportsTextureGatherLODBiasAMD;
2943};
2944
2945struct VkShaderResourceUsageAMD
2946{
2947	deUint32	numUsedVgprs;
2948	deUint32	numUsedSgprs;
2949	deUint32	ldsSizePerLocalWorkGroup;
2950	deUintptr	ldsUsageSizeInBytes;
2951	deUintptr	scratchMemUsageInBytes;
2952};
2953
2954struct VkShaderStatisticsInfoAMD
2955{
2956	VkShaderStageFlags			shaderStageMask;
2957	VkShaderResourceUsageAMD	resourceUsage;
2958	deUint32					numPhysicalVgprs;
2959	deUint32					numPhysicalSgprs;
2960	deUint32					numAvailableVgprs;
2961	deUint32					numAvailableSgprs;
2962	deUint32					computeWorkGroupSize[3];
2963};
2964
2965struct VkPhysicalDeviceCornerSampledImageFeaturesNV
2966{
2967	VkStructureType	sType;
2968	void*			pNext;
2969	VkBool32		cornerSampledImage;
2970};
2971
2972struct VkExternalImageFormatPropertiesNV
2973{
2974	VkImageFormatProperties				imageFormatProperties;
2975	VkExternalMemoryFeatureFlagsNV		externalMemoryFeatures;
2976	VkExternalMemoryHandleTypeFlagsNV	exportFromImportedHandleTypes;
2977	VkExternalMemoryHandleTypeFlagsNV	compatibleHandleTypes;
2978};
2979
2980struct VkExternalMemoryImageCreateInfoNV
2981{
2982	VkStructureType						sType;
2983	const void*							pNext;
2984	VkExternalMemoryHandleTypeFlagsNV	handleTypes;
2985};
2986
2987struct VkExportMemoryAllocateInfoNV
2988{
2989	VkStructureType						sType;
2990	const void*							pNext;
2991	VkExternalMemoryHandleTypeFlagsNV	handleTypes;
2992};
2993
2994struct VkValidationFlagsEXT
2995{
2996	VkStructureType				sType;
2997	const void*					pNext;
2998	deUint32					disabledValidationCheckCount;
2999	const VkValidationCheckEXT*	pDisabledValidationChecks;
3000};
3001
3002struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
3003{
3004	VkStructureType	sType;
3005	void*			pNext;
3006	VkBool32		textureCompressionASTC_HDR;
3007};
3008
3009struct VkImageViewASTCDecodeModeEXT
3010{
3011	VkStructureType	sType;
3012	const void*		pNext;
3013	VkFormat		decodeMode;
3014};
3015
3016struct VkPhysicalDeviceASTCDecodeFeaturesEXT
3017{
3018	VkStructureType	sType;
3019	void*			pNext;
3020	VkBool32		decodeModeSharedExponent;
3021};
3022
3023struct VkConditionalRenderingBeginInfoEXT
3024{
3025	VkStructureType					sType;
3026	const void*						pNext;
3027	VkBuffer						buffer;
3028	VkDeviceSize					offset;
3029	VkConditionalRenderingFlagsEXT	flags;
3030};
3031
3032struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
3033{
3034	VkStructureType	sType;
3035	void*			pNext;
3036	VkBool32		conditionalRendering;
3037	VkBool32		inheritedConditionalRendering;
3038};
3039
3040struct VkCommandBufferInheritanceConditionalRenderingInfoEXT
3041{
3042	VkStructureType	sType;
3043	const void*		pNext;
3044	VkBool32		conditionalRenderingEnable;
3045};
3046
3047struct VkDeviceGeneratedCommandsFeaturesNVX
3048{
3049	VkStructureType	sType;
3050	const void*		pNext;
3051	VkBool32		computeBindingPointSupport;
3052};
3053
3054struct VkDeviceGeneratedCommandsLimitsNVX
3055{
3056	VkStructureType	sType;
3057	const void*		pNext;
3058	deUint32		maxIndirectCommandsLayoutTokenCount;
3059	deUint32		maxObjectEntryCounts;
3060	deUint32		minSequenceCountBufferOffsetAlignment;
3061	deUint32		minSequenceIndexBufferOffsetAlignment;
3062	deUint32		minCommandsTokenBufferOffsetAlignment;
3063};
3064
3065struct VkIndirectCommandsTokenNVX
3066{
3067	VkIndirectCommandsTokenTypeNVX	tokenType;
3068	VkBuffer						buffer;
3069	VkDeviceSize					offset;
3070};
3071
3072struct VkIndirectCommandsLayoutTokenNVX
3073{
3074	VkIndirectCommandsTokenTypeNVX	tokenType;
3075	deUint32						bindingUnit;
3076	deUint32						dynamicCount;
3077	deUint32						divisor;
3078};
3079
3080struct VkIndirectCommandsLayoutCreateInfoNVX
3081{
3082	VkStructureType							sType;
3083	const void*								pNext;
3084	VkPipelineBindPoint						pipelineBindPoint;
3085	VkIndirectCommandsLayoutUsageFlagsNVX	flags;
3086	deUint32								tokenCount;
3087	const VkIndirectCommandsLayoutTokenNVX*	pTokens;
3088};
3089
3090struct VkCmdProcessCommandsInfoNVX
3091{
3092	VkStructureType						sType;
3093	const void*							pNext;
3094	VkObjectTableNVX					objectTable;
3095	VkIndirectCommandsLayoutNVX			indirectCommandsLayout;
3096	deUint32							indirectCommandsTokenCount;
3097	const VkIndirectCommandsTokenNVX*	pIndirectCommandsTokens;
3098	deUint32							maxSequencesCount;
3099	VkCommandBuffer						targetCommandBuffer;
3100	VkBuffer							sequencesCountBuffer;
3101	VkDeviceSize						sequencesCountOffset;
3102	VkBuffer							sequencesIndexBuffer;
3103	VkDeviceSize						sequencesIndexOffset;
3104};
3105
3106struct VkCmdReserveSpaceForCommandsInfoNVX
3107{
3108	VkStructureType				sType;
3109	const void*					pNext;
3110	VkObjectTableNVX			objectTable;
3111	VkIndirectCommandsLayoutNVX	indirectCommandsLayout;
3112	deUint32					maxSequencesCount;
3113};
3114
3115struct VkObjectTableCreateInfoNVX
3116{
3117	VkStructureType						sType;
3118	const void*							pNext;
3119	deUint32							objectCount;
3120	const VkObjectEntryTypeNVX*			pObjectEntryTypes;
3121	const deUint32*						pObjectEntryCounts;
3122	const VkObjectEntryUsageFlagsNVX*	pObjectEntryUsageFlags;
3123	deUint32							maxUniformBuffersPerDescriptor;
3124	deUint32							maxStorageBuffersPerDescriptor;
3125	deUint32							maxStorageImagesPerDescriptor;
3126	deUint32							maxSampledImagesPerDescriptor;
3127	deUint32							maxPipelineLayouts;
3128};
3129
3130struct VkObjectTableEntryNVX
3131{
3132	VkObjectEntryTypeNVX		type;
3133	VkObjectEntryUsageFlagsNVX	flags;
3134};
3135
3136struct VkObjectTablePipelineEntryNVX
3137{
3138	VkObjectEntryTypeNVX		type;
3139	VkObjectEntryUsageFlagsNVX	flags;
3140	VkPipeline					pipeline;
3141};
3142
3143struct VkObjectTableDescriptorSetEntryNVX
3144{
3145	VkObjectEntryTypeNVX		type;
3146	VkObjectEntryUsageFlagsNVX	flags;
3147	VkPipelineLayout			pipelineLayout;
3148	VkDescriptorSet				descriptorSet;
3149};
3150
3151struct VkObjectTableVertexBufferEntryNVX
3152{
3153	VkObjectEntryTypeNVX		type;
3154	VkObjectEntryUsageFlagsNVX	flags;
3155	VkBuffer					buffer;
3156};
3157
3158struct VkObjectTableIndexBufferEntryNVX
3159{
3160	VkObjectEntryTypeNVX		type;
3161	VkObjectEntryUsageFlagsNVX	flags;
3162	VkBuffer					buffer;
3163	VkIndexType					indexType;
3164};
3165
3166struct VkObjectTablePushConstantEntryNVX
3167{
3168	VkObjectEntryTypeNVX		type;
3169	VkObjectEntryUsageFlagsNVX	flags;
3170	VkPipelineLayout			pipelineLayout;
3171	VkShaderStageFlags			stageFlags;
3172};
3173
3174struct VkViewportWScalingNV
3175{
3176	float	xcoeff;
3177	float	ycoeff;
3178};
3179
3180struct VkPipelineViewportWScalingStateCreateInfoNV
3181{
3182	VkStructureType				sType;
3183	const void*					pNext;
3184	VkBool32					viewportWScalingEnable;
3185	deUint32					viewportCount;
3186	const VkViewportWScalingNV*	pViewportWScalings;
3187};
3188
3189struct VkSurfaceCapabilities2EXT
3190{
3191	VkStructureType					sType;
3192	void*							pNext;
3193	deUint32						minImageCount;
3194	deUint32						maxImageCount;
3195	VkExtent2D						currentExtent;
3196	VkExtent2D						minImageExtent;
3197	VkExtent2D						maxImageExtent;
3198	deUint32						maxImageArrayLayers;
3199	VkSurfaceTransformFlagsKHR		supportedTransforms;
3200	VkSurfaceTransformFlagBitsKHR	currentTransform;
3201	VkCompositeAlphaFlagsKHR		supportedCompositeAlpha;
3202	VkImageUsageFlags				supportedUsageFlags;
3203	VkSurfaceCounterFlagsEXT		supportedSurfaceCounters;
3204};
3205
3206struct VkDisplayPowerInfoEXT
3207{
3208	VkStructureType			sType;
3209	const void*				pNext;
3210	VkDisplayPowerStateEXT	powerState;
3211};
3212
3213struct VkDeviceEventInfoEXT
3214{
3215	VkStructureType			sType;
3216	const void*				pNext;
3217	VkDeviceEventTypeEXT	deviceEvent;
3218};
3219
3220struct VkDisplayEventInfoEXT
3221{
3222	VkStructureType			sType;
3223	const void*				pNext;
3224	VkDisplayEventTypeEXT	displayEvent;
3225};
3226
3227struct VkSwapchainCounterCreateInfoEXT
3228{
3229	VkStructureType				sType;
3230	const void*					pNext;
3231	VkSurfaceCounterFlagsEXT	surfaceCounters;
3232};
3233
3234struct VkRefreshCycleDurationGOOGLE
3235{
3236	deUint64	refreshDuration;
3237};
3238
3239struct VkPastPresentationTimingGOOGLE
3240{
3241	deUint32	presentID;
3242	deUint64	desiredPresentTime;
3243	deUint64	actualPresentTime;
3244	deUint64	earliestPresentTime;
3245	deUint64	presentMargin;
3246};
3247
3248struct VkPresentTimeGOOGLE
3249{
3250	deUint32	presentID;
3251	deUint64	desiredPresentTime;
3252};
3253
3254struct VkPresentTimesInfoGOOGLE
3255{
3256	VkStructureType				sType;
3257	const void*					pNext;
3258	deUint32					swapchainCount;
3259	const VkPresentTimeGOOGLE*	pTimes;
3260};
3261
3262struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
3263{
3264	VkStructureType	sType;
3265	void*			pNext;
3266	VkBool32		perViewPositionAllComponents;
3267};
3268
3269struct VkViewportSwizzleNV
3270{
3271	VkViewportCoordinateSwizzleNV	x;
3272	VkViewportCoordinateSwizzleNV	y;
3273	VkViewportCoordinateSwizzleNV	z;
3274	VkViewportCoordinateSwizzleNV	w;
3275};
3276
3277struct VkPipelineViewportSwizzleStateCreateInfoNV
3278{
3279	VkStructureType								sType;
3280	const void*									pNext;
3281	VkPipelineViewportSwizzleStateCreateFlagsNV	flags;
3282	deUint32									viewportCount;
3283	const VkViewportSwizzleNV*					pViewportSwizzles;
3284};
3285
3286struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
3287{
3288	VkStructureType	sType;
3289	void*			pNext;
3290	deUint32		maxDiscardRectangles;
3291};
3292
3293struct VkPipelineDiscardRectangleStateCreateInfoEXT
3294{
3295	VkStructureType									sType;
3296	const void*										pNext;
3297	VkPipelineDiscardRectangleStateCreateFlagsEXT	flags;
3298	VkDiscardRectangleModeEXT						discardRectangleMode;
3299	deUint32										discardRectangleCount;
3300	const VkRect2D*									pDiscardRectangles;
3301};
3302
3303struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT
3304{
3305	VkStructureType	sType;
3306	void*			pNext;
3307	float			primitiveOverestimationSize;
3308	float			maxExtraPrimitiveOverestimationSize;
3309	float			extraPrimitiveOverestimationSizeGranularity;
3310	VkBool32		primitiveUnderestimation;
3311	VkBool32		conservativePointAndLineRasterization;
3312	VkBool32		degenerateTrianglesRasterized;
3313	VkBool32		degenerateLinesRasterized;
3314	VkBool32		fullyCoveredFragmentShaderInputVariable;
3315	VkBool32		conservativeRasterizationPostDepthCoverage;
3316};
3317
3318struct VkPipelineRasterizationConservativeStateCreateInfoEXT
3319{
3320	VkStructureType											sType;
3321	const void*												pNext;
3322	VkPipelineRasterizationConservativeStateCreateFlagsEXT	flags;
3323	VkConservativeRasterizationModeEXT						conservativeRasterizationMode;
3324	float													extraPrimitiveOverestimationSize;
3325};
3326
3327struct VkPhysicalDeviceDepthClipEnableFeaturesEXT
3328{
3329	VkStructureType	sType;
3330	void*			pNext;
3331	VkBool32		depthClipEnable;
3332};
3333
3334struct VkPipelineRasterizationDepthClipStateCreateInfoEXT
3335{
3336	VkStructureType										sType;
3337	const void*											pNext;
3338	VkPipelineRasterizationDepthClipStateCreateFlagsEXT	flags;
3339	VkBool32											depthClipEnable;
3340};
3341
3342struct VkXYColorEXT
3343{
3344	float	x;
3345	float	y;
3346};
3347
3348struct VkHdrMetadataEXT
3349{
3350	VkStructureType	sType;
3351	const void*		pNext;
3352	VkXYColorEXT	displayPrimaryRed;
3353	VkXYColorEXT	displayPrimaryGreen;
3354	VkXYColorEXT	displayPrimaryBlue;
3355	VkXYColorEXT	whitePoint;
3356	float			maxLuminance;
3357	float			minLuminance;
3358	float			maxContentLightLevel;
3359	float			maxFrameAverageLightLevel;
3360};
3361
3362struct VkDebugUtilsObjectNameInfoEXT
3363{
3364	VkStructureType	sType;
3365	const void*		pNext;
3366	VkObjectType	objectType;
3367	deUint64		objectHandle;
3368	const char*		pObjectName;
3369};
3370
3371struct VkDebugUtilsObjectTagInfoEXT
3372{
3373	VkStructureType	sType;
3374	const void*		pNext;
3375	VkObjectType	objectType;
3376	deUint64		objectHandle;
3377	deUint64		tagName;
3378	deUintptr		tagSize;
3379	const void*		pTag;
3380};
3381
3382struct VkDebugUtilsLabelEXT
3383{
3384	VkStructureType	sType;
3385	const void*		pNext;
3386	const char*		pLabelName;
3387	float			color[4];
3388};
3389
3390struct VkDebugUtilsMessengerCallbackDataEXT
3391{
3392	VkStructureType								sType;
3393	const void*									pNext;
3394	VkDebugUtilsMessengerCallbackDataFlagsEXT	flags;
3395	const char*									pMessageIdName;
3396	deInt32										messageIdNumber;
3397	const char*									pMessage;
3398	deUint32									queueLabelCount;
3399	const VkDebugUtilsLabelEXT*					pQueueLabels;
3400	deUint32									cmdBufLabelCount;
3401	const VkDebugUtilsLabelEXT*					pCmdBufLabels;
3402	deUint32									objectCount;
3403	const VkDebugUtilsObjectNameInfoEXT*		pObjects;
3404};
3405
3406struct VkDebugUtilsMessengerCreateInfoEXT
3407{
3408	VkStructureType							sType;
3409	const void*								pNext;
3410	VkDebugUtilsMessengerCreateFlagsEXT		flags;
3411	VkDebugUtilsMessageSeverityFlagsEXT		messageSeverity;
3412	VkDebugUtilsMessageTypeFlagsEXT			messageType;
3413	PFN_vkDebugUtilsMessengerCallbackEXT	pfnUserCallback;
3414	void*									pUserData;
3415};
3416
3417struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
3418{
3419	VkStructureType	sType;
3420	void*			pNext;
3421	VkBool32		inlineUniformBlock;
3422	VkBool32		descriptorBindingInlineUniformBlockUpdateAfterBind;
3423};
3424
3425struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
3426{
3427	VkStructureType	sType;
3428	void*			pNext;
3429	deUint32		maxInlineUniformBlockSize;
3430	deUint32		maxPerStageDescriptorInlineUniformBlocks;
3431	deUint32		maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
3432	deUint32		maxDescriptorSetInlineUniformBlocks;
3433	deUint32		maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
3434};
3435
3436struct VkWriteDescriptorSetInlineUniformBlockEXT
3437{
3438	VkStructureType	sType;
3439	const void*		pNext;
3440	deUint32		dataSize;
3441	const void*		pData;
3442};
3443
3444struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT
3445{
3446	VkStructureType	sType;
3447	const void*		pNext;
3448	deUint32		maxInlineUniformBlockBindings;
3449};
3450
3451struct VkSampleLocationEXT
3452{
3453	float	x;
3454	float	y;
3455};
3456
3457struct VkSampleLocationsInfoEXT
3458{
3459	VkStructureType				sType;
3460	const void*					pNext;
3461	VkSampleCountFlagBits		sampleLocationsPerPixel;
3462	VkExtent2D					sampleLocationGridSize;
3463	deUint32					sampleLocationsCount;
3464	const VkSampleLocationEXT*	pSampleLocations;
3465};
3466
3467struct VkAttachmentSampleLocationsEXT
3468{
3469	deUint32					attachmentIndex;
3470	VkSampleLocationsInfoEXT	sampleLocationsInfo;
3471};
3472
3473struct VkSubpassSampleLocationsEXT
3474{
3475	deUint32					subpassIndex;
3476	VkSampleLocationsInfoEXT	sampleLocationsInfo;
3477};
3478
3479struct VkRenderPassSampleLocationsBeginInfoEXT
3480{
3481	VkStructureType							sType;
3482	const void*								pNext;
3483	deUint32								attachmentInitialSampleLocationsCount;
3484	const VkAttachmentSampleLocationsEXT*	pAttachmentInitialSampleLocations;
3485	deUint32								postSubpassSampleLocationsCount;
3486	const VkSubpassSampleLocationsEXT*		pPostSubpassSampleLocations;
3487};
3488
3489struct VkPipelineSampleLocationsStateCreateInfoEXT
3490{
3491	VkStructureType				sType;
3492	const void*					pNext;
3493	VkBool32					sampleLocationsEnable;
3494	VkSampleLocationsInfoEXT	sampleLocationsInfo;
3495};
3496
3497struct VkPhysicalDeviceSampleLocationsPropertiesEXT
3498{
3499	VkStructureType		sType;
3500	void*				pNext;
3501	VkSampleCountFlags	sampleLocationSampleCounts;
3502	VkExtent2D			maxSampleLocationGridSize;
3503	float				sampleLocationCoordinateRange[2];
3504	deUint32			sampleLocationSubPixelBits;
3505	VkBool32			variableSampleLocations;
3506};
3507
3508struct VkMultisamplePropertiesEXT
3509{
3510	VkStructureType	sType;
3511	void*			pNext;
3512	VkExtent2D		maxSampleLocationGridSize;
3513};
3514
3515struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
3516{
3517	VkStructureType	sType;
3518	void*			pNext;
3519	VkBool32		advancedBlendCoherentOperations;
3520};
3521
3522struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
3523{
3524	VkStructureType	sType;
3525	void*			pNext;
3526	deUint32		advancedBlendMaxColorAttachments;
3527	VkBool32		advancedBlendIndependentBlend;
3528	VkBool32		advancedBlendNonPremultipliedSrcColor;
3529	VkBool32		advancedBlendNonPremultipliedDstColor;
3530	VkBool32		advancedBlendCorrelatedOverlap;
3531	VkBool32		advancedBlendAllOperations;
3532};
3533
3534struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
3535{
3536	VkStructureType		sType;
3537	const void*			pNext;
3538	VkBool32			srcPremultiplied;
3539	VkBool32			dstPremultiplied;
3540	VkBlendOverlapEXT	blendOverlap;
3541};
3542
3543struct VkPipelineCoverageToColorStateCreateInfoNV
3544{
3545	VkStructureType								sType;
3546	const void*									pNext;
3547	VkPipelineCoverageToColorStateCreateFlagsNV	flags;
3548	VkBool32									coverageToColorEnable;
3549	deUint32									coverageToColorLocation;
3550};
3551
3552struct VkPipelineCoverageModulationStateCreateInfoNV
3553{
3554	VkStructureType									sType;
3555	const void*										pNext;
3556	VkPipelineCoverageModulationStateCreateFlagsNV	flags;
3557	VkCoverageModulationModeNV						coverageModulationMode;
3558	VkBool32										coverageModulationTableEnable;
3559	deUint32										coverageModulationTableCount;
3560	const float*									pCoverageModulationTable;
3561};
3562
3563struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
3564{
3565	VkStructureType	sType;
3566	void*			pNext;
3567	deUint32		shaderSMCount;
3568	deUint32		shaderWarpsPerSM;
3569};
3570
3571struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
3572{
3573	VkStructureType	sType;
3574	void*			pNext;
3575	VkBool32		shaderSMBuiltins;
3576};
3577
3578struct VkDrmFormatModifierPropertiesEXT
3579{
3580	deUint64				drmFormatModifier;
3581	deUint32				drmFormatModifierPlaneCount;
3582	VkFormatFeatureFlags	drmFormatModifierTilingFeatures;
3583};
3584
3585struct VkDrmFormatModifierPropertiesListEXT
3586{
3587	VkStructureType						sType;
3588	void*								pNext;
3589	deUint32							drmFormatModifierCount;
3590	VkDrmFormatModifierPropertiesEXT*	pDrmFormatModifierProperties;
3591};
3592
3593struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT
3594{
3595	VkStructureType	sType;
3596	const void*		pNext;
3597	deUint64		drmFormatModifier;
3598	VkSharingMode	sharingMode;
3599	deUint32		queueFamilyIndexCount;
3600	const deUint32*	pQueueFamilyIndices;
3601};
3602
3603struct VkImageDrmFormatModifierListCreateInfoEXT
3604{
3605	VkStructureType	sType;
3606	const void*		pNext;
3607	deUint32		drmFormatModifierCount;
3608	const deUint64*	pDrmFormatModifiers;
3609};
3610
3611struct VkImageDrmFormatModifierExplicitCreateInfoEXT
3612{
3613	VkStructureType				sType;
3614	const void*					pNext;
3615	deUint64					drmFormatModifier;
3616	deUint32					drmFormatModifierPlaneCount;
3617	const VkSubresourceLayout*	pPlaneLayouts;
3618};
3619
3620struct VkImageDrmFormatModifierPropertiesEXT
3621{
3622	VkStructureType	sType;
3623	void*			pNext;
3624	deUint64		drmFormatModifier;
3625};
3626
3627struct VkValidationCacheCreateInfoEXT
3628{
3629	VkStructureType					sType;
3630	const void*						pNext;
3631	VkValidationCacheCreateFlagsEXT	flags;
3632	deUintptr						initialDataSize;
3633	const void*						pInitialData;
3634};
3635
3636struct VkShaderModuleValidationCacheCreateInfoEXT
3637{
3638	VkStructureType			sType;
3639	const void*				pNext;
3640	VkValidationCacheEXT	validationCache;
3641};
3642
3643struct VkShadingRatePaletteNV
3644{
3645	deUint32							shadingRatePaletteEntryCount;
3646	const VkShadingRatePaletteEntryNV*	pShadingRatePaletteEntries;
3647};
3648
3649struct VkPipelineViewportShadingRateImageStateCreateInfoNV
3650{
3651	VkStructureType					sType;
3652	const void*						pNext;
3653	VkBool32						shadingRateImageEnable;
3654	deUint32						viewportCount;
3655	const VkShadingRatePaletteNV*	pShadingRatePalettes;
3656};
3657
3658struct VkPhysicalDeviceShadingRateImageFeaturesNV
3659{
3660	VkStructureType	sType;
3661	void*			pNext;
3662	VkBool32		shadingRateImage;
3663	VkBool32		shadingRateCoarseSampleOrder;
3664};
3665
3666struct VkPhysicalDeviceShadingRateImagePropertiesNV
3667{
3668	VkStructureType	sType;
3669	void*			pNext;
3670	VkExtent2D		shadingRateTexelSize;
3671	deUint32		shadingRatePaletteSize;
3672	deUint32		shadingRateMaxCoarseSamples;
3673};
3674
3675struct VkCoarseSampleLocationNV
3676{
3677	deUint32	pixelX;
3678	deUint32	pixelY;
3679	deUint32	sample;
3680};
3681
3682struct VkCoarseSampleOrderCustomNV
3683{
3684	VkShadingRatePaletteEntryNV		shadingRate;
3685	deUint32						sampleCount;
3686	deUint32						sampleLocationCount;
3687	const VkCoarseSampleLocationNV*	pSampleLocations;
3688};
3689
3690struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
3691{
3692	VkStructureType						sType;
3693	const void*							pNext;
3694	VkCoarseSampleOrderTypeNV			sampleOrderType;
3695	deUint32							customSampleOrderCount;
3696	const VkCoarseSampleOrderCustomNV*	pCustomSampleOrders;
3697};
3698
3699struct VkRayTracingShaderGroupCreateInfoNV
3700{
3701	VkStructureType					sType;
3702	const void*						pNext;
3703	VkRayTracingShaderGroupTypeNV	type;
3704	deUint32						generalShader;
3705	deUint32						closestHitShader;
3706	deUint32						anyHitShader;
3707	deUint32						intersectionShader;
3708};
3709
3710struct VkRayTracingPipelineCreateInfoNV
3711{
3712	VkStructureType								sType;
3713	const void*									pNext;
3714	VkPipelineCreateFlags						flags;
3715	deUint32									stageCount;
3716	const VkPipelineShaderStageCreateInfo*		pStages;
3717	deUint32									groupCount;
3718	const VkRayTracingShaderGroupCreateInfoNV*	pGroups;
3719	deUint32									maxRecursionDepth;
3720	VkPipelineLayout							layout;
3721	VkPipeline									basePipelineHandle;
3722	deInt32										basePipelineIndex;
3723};
3724
3725struct VkGeometryTrianglesNV
3726{
3727	VkStructureType	sType;
3728	const void*		pNext;
3729	VkBuffer		vertexData;
3730	VkDeviceSize	vertexOffset;
3731	deUint32		vertexCount;
3732	VkDeviceSize	vertexStride;
3733	VkFormat		vertexFormat;
3734	VkBuffer		indexData;
3735	VkDeviceSize	indexOffset;
3736	deUint32		indexCount;
3737	VkIndexType		indexType;
3738	VkBuffer		transformData;
3739	VkDeviceSize	transformOffset;
3740};
3741
3742struct VkGeometryAABBNV
3743{
3744	VkStructureType	sType;
3745	const void*		pNext;
3746	VkBuffer		aabbData;
3747	deUint32		numAABBs;
3748	deUint32		stride;
3749	VkDeviceSize	offset;
3750};
3751
3752struct VkGeometryDataNV
3753{
3754	VkGeometryTrianglesNV	triangles;
3755	VkGeometryAABBNV		aabbs;
3756};
3757
3758struct VkGeometryNV
3759{
3760	VkStructureType		sType;
3761	const void*			pNext;
3762	VkGeometryTypeNV	geometryType;
3763	VkGeometryDataNV	geometry;
3764	VkGeometryFlagsNV	flags;
3765};
3766
3767struct VkAccelerationStructureInfoNV
3768{
3769	VkStructureType						sType;
3770	const void*							pNext;
3771	VkAccelerationStructureTypeNV		type;
3772	VkBuildAccelerationStructureFlagsNV	flags;
3773	deUint32							instanceCount;
3774	deUint32							geometryCount;
3775	const VkGeometryNV*					pGeometries;
3776};
3777
3778struct VkAccelerationStructureCreateInfoNV
3779{
3780	VkStructureType					sType;
3781	const void*						pNext;
3782	VkDeviceSize					compactedSize;
3783	VkAccelerationStructureInfoNV	info;
3784};
3785
3786struct VkBindAccelerationStructureMemoryInfoNV
3787{
3788	VkStructureType				sType;
3789	const void*					pNext;
3790	VkAccelerationStructureNV	accelerationStructure;
3791	VkDeviceMemory				memory;
3792	VkDeviceSize				memoryOffset;
3793	deUint32					deviceIndexCount;
3794	const deUint32*				pDeviceIndices;
3795};
3796
3797struct VkWriteDescriptorSetAccelerationStructureNV
3798{
3799	VkStructureType						sType;
3800	const void*							pNext;
3801	deUint32							accelerationStructureCount;
3802	const VkAccelerationStructureNV*	pAccelerationStructures;
3803};
3804
3805struct VkAccelerationStructureMemoryRequirementsInfoNV
3806{
3807	VkStructureType									sType;
3808	const void*										pNext;
3809	VkAccelerationStructureMemoryRequirementsTypeNV	type;
3810	VkAccelerationStructureNV						accelerationStructure;
3811};
3812
3813struct VkPhysicalDeviceRayTracingPropertiesNV
3814{
3815	VkStructureType	sType;
3816	void*			pNext;
3817	deUint32		shaderGroupHandleSize;
3818	deUint32		maxRecursionDepth;
3819	deUint32		maxShaderGroupStride;
3820	deUint32		shaderGroupBaseAlignment;
3821	deUint64		maxGeometryCount;
3822	deUint64		maxInstanceCount;
3823	deUint64		maxTriangleCount;
3824	deUint32		maxDescriptorSetAccelerationStructures;
3825};
3826
3827struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
3828{
3829	VkStructureType	sType;
3830	void*			pNext;
3831	VkBool32		representativeFragmentTest;
3832};
3833
3834struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV
3835{
3836	VkStructureType	sType;
3837	const void*		pNext;
3838	VkBool32		representativeFragmentTestEnable;
3839};
3840
3841struct VkPhysicalDeviceImageViewImageFormatInfoEXT
3842{
3843	VkStructureType	sType;
3844	void*			pNext;
3845	VkImageViewType	imageViewType;
3846};
3847
3848struct VkFilterCubicImageViewImageFormatPropertiesEXT
3849{
3850	VkStructureType	sType;
3851	void*			pNext;
3852	VkBool32		filterCubic;
3853	VkBool32		filterCubicMinmax;
3854};
3855
3856struct VkDeviceQueueGlobalPriorityCreateInfoEXT
3857{
3858	VkStructureType				sType;
3859	const void*					pNext;
3860	VkQueueGlobalPriorityEXT	globalPriority;
3861};
3862
3863struct VkImportMemoryHostPointerInfoEXT
3864{
3865	VkStructureType						sType;
3866	const void*							pNext;
3867	VkExternalMemoryHandleTypeFlagBits	handleType;
3868	void*								pHostPointer;
3869};
3870
3871struct VkMemoryHostPointerPropertiesEXT
3872{
3873	VkStructureType	sType;
3874	void*			pNext;
3875	deUint32		memoryTypeBits;
3876};
3877
3878struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT
3879{
3880	VkStructureType	sType;
3881	void*			pNext;
3882	VkDeviceSize	minImportedHostPointerAlignment;
3883};
3884
3885struct VkPipelineCompilerControlCreateInfoAMD
3886{
3887	VkStructureType						sType;
3888	const void*							pNext;
3889	VkPipelineCompilerControlFlagsAMD	compilerControlFlags;
3890};
3891
3892struct VkCalibratedTimestampInfoEXT
3893{
3894	VkStructureType	sType;
3895	const void*		pNext;
3896	VkTimeDomainEXT	timeDomain;
3897};
3898
3899struct VkPhysicalDeviceShaderCorePropertiesAMD
3900{
3901	VkStructureType	sType;
3902	void*			pNext;
3903	deUint32		shaderEngineCount;
3904	deUint32		shaderArraysPerEngineCount;
3905	deUint32		computeUnitsPerShaderArray;
3906	deUint32		simdPerComputeUnit;
3907	deUint32		wavefrontsPerSimd;
3908	deUint32		wavefrontSize;
3909	deUint32		sgprsPerSimd;
3910	deUint32		minSgprAllocation;
3911	deUint32		maxSgprAllocation;
3912	deUint32		sgprAllocationGranularity;
3913	deUint32		vgprsPerSimd;
3914	deUint32		minVgprAllocation;
3915	deUint32		maxVgprAllocation;
3916	deUint32		vgprAllocationGranularity;
3917};
3918
3919struct VkDeviceMemoryOverallocationCreateInfoAMD
3920{
3921	VkStructureType						sType;
3922	const void*							pNext;
3923	VkMemoryOverallocationBehaviorAMD	overallocationBehavior;
3924};
3925
3926struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
3927{
3928	VkStructureType	sType;
3929	void*			pNext;
3930	deUint32		maxVertexAttribDivisor;
3931};
3932
3933struct VkVertexInputBindingDivisorDescriptionEXT
3934{
3935	deUint32	binding;
3936	deUint32	divisor;
3937};
3938
3939struct VkPipelineVertexInputDivisorStateCreateInfoEXT
3940{
3941	VkStructureType										sType;
3942	const void*											pNext;
3943	deUint32											vertexBindingDivisorCount;
3944	const VkVertexInputBindingDivisorDescriptionEXT*	pVertexBindingDivisors;
3945};
3946
3947struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
3948{
3949	VkStructureType	sType;
3950	void*			pNext;
3951	VkBool32		vertexAttributeInstanceRateDivisor;
3952	VkBool32		vertexAttributeInstanceRateZeroDivisor;
3953};
3954
3955struct VkPipelineCreationFeedbackEXT
3956{
3957	VkPipelineCreationFeedbackFlagsEXT	flags;
3958	deUint64							duration;
3959};
3960
3961struct VkPipelineCreationFeedbackCreateInfoEXT
3962{
3963	VkStructureType					sType;
3964	const void*						pNext;
3965	VkPipelineCreationFeedbackEXT*	pPipelineCreationFeedback;
3966	deUint32						pipelineStageCreationFeedbackCount;
3967	VkPipelineCreationFeedbackEXT*	pPipelineStageCreationFeedbacks;
3968};
3969
3970struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
3971{
3972	VkStructureType	sType;
3973	void*			pNext;
3974	VkBool32		computeDerivativeGroupQuads;
3975	VkBool32		computeDerivativeGroupLinear;
3976};
3977
3978struct VkPhysicalDeviceMeshShaderFeaturesNV
3979{
3980	VkStructureType	sType;
3981	void*			pNext;
3982	VkBool32		taskShader;
3983	VkBool32		meshShader;
3984};
3985
3986struct VkPhysicalDeviceMeshShaderPropertiesNV
3987{
3988	VkStructureType	sType;
3989	void*			pNext;
3990	deUint32		maxDrawMeshTasksCount;
3991	deUint32		maxTaskWorkGroupInvocations;
3992	deUint32		maxTaskWorkGroupSize[3];
3993	deUint32		maxTaskTotalMemorySize;
3994	deUint32		maxTaskOutputCount;
3995	deUint32		maxMeshWorkGroupInvocations;
3996	deUint32		maxMeshWorkGroupSize[3];
3997	deUint32		maxMeshTotalMemorySize;
3998	deUint32		maxMeshOutputVertices;
3999	deUint32		maxMeshOutputPrimitives;
4000	deUint32		maxMeshMultiviewViewCount;
4001	deUint32		meshOutputPerVertexGranularity;
4002	deUint32		meshOutputPerPrimitiveGranularity;
4003};
4004
4005struct VkDrawMeshTasksIndirectCommandNV
4006{
4007	deUint32	taskCount;
4008	deUint32	firstTask;
4009};
4010
4011struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
4012{
4013	VkStructureType	sType;
4014	void*			pNext;
4015	VkBool32		fragmentShaderBarycentric;
4016};
4017
4018struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
4019{
4020	VkStructureType	sType;
4021	void*			pNext;
4022	VkBool32		imageFootprint;
4023};
4024
4025struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
4026{
4027	VkStructureType	sType;
4028	const void*		pNext;
4029	deUint32		exclusiveScissorCount;
4030	const VkRect2D*	pExclusiveScissors;
4031};
4032
4033struct VkPhysicalDeviceExclusiveScissorFeaturesNV
4034{
4035	VkStructureType	sType;
4036	void*			pNext;
4037	VkBool32		exclusiveScissor;
4038};
4039
4040struct VkQueueFamilyCheckpointPropertiesNV
4041{
4042	VkStructureType			sType;
4043	void*					pNext;
4044	VkPipelineStageFlags	checkpointExecutionStageMask;
4045};
4046
4047struct VkCheckpointDataNV
4048{
4049	VkStructureType			sType;
4050	void*					pNext;
4051	VkPipelineStageFlagBits	stage;
4052	void*					pCheckpointMarker;
4053};
4054
4055struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
4056{
4057	VkStructureType	sType;
4058	void*			pNext;
4059	VkBool32		shaderIntegerFunctions2;
4060};
4061
4062union VkPerformanceValueDataINTEL
4063{
4064	deUint32	value32;
4065	deUint64	value64;
4066	float		valueFloat;
4067	VkBool32	valueBool;
4068	const char*	valueString;
4069};
4070
4071struct VkPerformanceValueINTEL
4072{
4073	VkPerformanceValueTypeINTEL	type;
4074	VkPerformanceValueDataINTEL	data;
4075};
4076
4077struct VkInitializePerformanceApiInfoINTEL
4078{
4079	VkStructureType	sType;
4080	const void*		pNext;
4081	void*			pUserData;
4082};
4083
4084struct VkQueryPoolCreateInfoINTEL
4085{
4086	VkStructureType					sType;
4087	const void*						pNext;
4088	VkQueryPoolSamplingModeINTEL	performanceCountersSampling;
4089};
4090
4091struct VkPerformanceMarkerInfoINTEL
4092{
4093	VkStructureType	sType;
4094	const void*		pNext;
4095	deUint64		marker;
4096};
4097
4098struct VkPerformanceStreamMarkerInfoINTEL
4099{
4100	VkStructureType	sType;
4101	const void*		pNext;
4102	deUint32		marker;
4103};
4104
4105struct VkPerformanceOverrideInfoINTEL
4106{
4107	VkStructureType					sType;
4108	const void*						pNext;
4109	VkPerformanceOverrideTypeINTEL	type;
4110	VkBool32						enable;
4111	deUint64						parameter;
4112};
4113
4114struct VkPerformanceConfigurationAcquireInfoINTEL
4115{
4116	VkStructureType						sType;
4117	const void*							pNext;
4118	VkPerformanceConfigurationTypeINTEL	type;
4119};
4120
4121struct VkPhysicalDevicePCIBusInfoPropertiesEXT
4122{
4123	VkStructureType	sType;
4124	void*			pNext;
4125	deUint32		pciDomain;
4126	deUint32		pciBus;
4127	deUint32		pciDevice;
4128	deUint32		pciFunction;
4129};
4130
4131struct VkDisplayNativeHdrSurfaceCapabilitiesAMD
4132{
4133	VkStructureType	sType;
4134	void*			pNext;
4135	VkBool32		localDimmingSupport;
4136};
4137
4138struct VkSwapchainDisplayNativeHdrCreateInfoAMD
4139{
4140	VkStructureType	sType;
4141	const void*		pNext;
4142	VkBool32		localDimmingEnable;
4143};
4144
4145struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
4146{
4147	VkStructureType	sType;
4148	void*			pNext;
4149	VkBool32		fragmentDensityMap;
4150	VkBool32		fragmentDensityMapDynamic;
4151	VkBool32		fragmentDensityMapNonSubsampledImages;
4152};
4153
4154struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT
4155{
4156	VkStructureType	sType;
4157	void*			pNext;
4158	VkExtent2D		minFragmentDensityTexelSize;
4159	VkExtent2D		maxFragmentDensityTexelSize;
4160	VkBool32		fragmentDensityInvocations;
4161};
4162
4163struct VkRenderPassFragmentDensityMapCreateInfoEXT
4164{
4165	VkStructureType			sType;
4166	const void*				pNext;
4167	VkAttachmentReference	fragmentDensityMapAttachment;
4168};
4169
4170struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
4171{
4172	VkStructureType	sType;
4173	void*			pNext;
4174	VkBool32		subgroupSizeControl;
4175	VkBool32		computeFullSubgroups;
4176};
4177
4178struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
4179{
4180	VkStructureType		sType;
4181	void*				pNext;
4182	deUint32			minSubgroupSize;
4183	deUint32			maxSubgroupSize;
4184	deUint32			maxComputeWorkgroupSubgroups;
4185	VkShaderStageFlags	requiredSubgroupSizeStages;
4186};
4187
4188struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
4189{
4190	VkStructureType	sType;
4191	void*			pNext;
4192	deUint32		requiredSubgroupSize;
4193};
4194
4195struct VkPhysicalDeviceShaderCoreProperties2AMD
4196{
4197	VkStructureType					sType;
4198	void*							pNext;
4199	VkShaderCorePropertiesFlagsAMD	shaderCoreFeatures;
4200	deUint32						activeComputeUnitCount;
4201};
4202
4203struct VkPhysicalDeviceCoherentMemoryFeaturesAMD
4204{
4205	VkStructureType	sType;
4206	void*			pNext;
4207	VkBool32		deviceCoherentMemory;
4208};
4209
4210struct VkPhysicalDeviceMemoryBudgetPropertiesEXT
4211{
4212	VkStructureType	sType;
4213	void*			pNext;
4214	VkDeviceSize	heapBudget[VK_MAX_MEMORY_HEAPS];
4215	VkDeviceSize	heapUsage[VK_MAX_MEMORY_HEAPS];
4216};
4217
4218struct VkPhysicalDeviceMemoryPriorityFeaturesEXT
4219{
4220	VkStructureType	sType;
4221	void*			pNext;
4222	VkBool32		memoryPriority;
4223};
4224
4225struct VkMemoryPriorityAllocateInfoEXT
4226{
4227	VkStructureType	sType;
4228	const void*		pNext;
4229	float			priority;
4230};
4231
4232struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
4233{
4234	VkStructureType	sType;
4235	void*			pNext;
4236	VkBool32		dedicatedAllocationImageAliasing;
4237};
4238
4239struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
4240{
4241	VkStructureType	sType;
4242	void*			pNext;
4243	VkBool32		bufferDeviceAddress;
4244	VkBool32		bufferDeviceAddressCaptureReplay;
4245	VkBool32		bufferDeviceAddressMultiDevice;
4246};
4247
4248struct VkBufferDeviceAddressCreateInfoEXT
4249{
4250	VkStructureType	sType;
4251	const void*		pNext;
4252	VkDeviceAddress	deviceAddress;
4253};
4254
4255struct VkPhysicalDeviceToolPropertiesEXT
4256{
4257	VkStructureType			sType;
4258	void*					pNext;
4259	char					name[VK_MAX_EXTENSION_NAME_SIZE];
4260	char					version[VK_MAX_EXTENSION_NAME_SIZE];
4261	VkToolPurposeFlagsEXT	purposes;
4262	char					description[VK_MAX_DESCRIPTION_SIZE];
4263	char					layer[VK_MAX_EXTENSION_NAME_SIZE];
4264};
4265
4266struct VkValidationFeaturesEXT
4267{
4268	VkStructureType							sType;
4269	const void*								pNext;
4270	deUint32								enabledValidationFeatureCount;
4271	const VkValidationFeatureEnableEXT*		pEnabledValidationFeatures;
4272	deUint32								disabledValidationFeatureCount;
4273	const VkValidationFeatureDisableEXT*	pDisabledValidationFeatures;
4274};
4275
4276struct VkCooperativeMatrixPropertiesNV
4277{
4278	VkStructureType		sType;
4279	void*				pNext;
4280	deUint32			MSize;
4281	deUint32			NSize;
4282	deUint32			KSize;
4283	VkComponentTypeNV	AType;
4284	VkComponentTypeNV	BType;
4285	VkComponentTypeNV	CType;
4286	VkComponentTypeNV	DType;
4287	VkScopeNV			scope;
4288};
4289
4290struct VkPhysicalDeviceCooperativeMatrixFeaturesNV
4291{
4292	VkStructureType	sType;
4293	void*			pNext;
4294	VkBool32		cooperativeMatrix;
4295	VkBool32		cooperativeMatrixRobustBufferAccess;
4296};
4297
4298struct VkPhysicalDeviceCooperativeMatrixPropertiesNV
4299{
4300	VkStructureType		sType;
4301	void*				pNext;
4302	VkShaderStageFlags	cooperativeMatrixSupportedStages;
4303};
4304
4305struct VkPhysicalDeviceCoverageReductionModeFeaturesNV
4306{
4307	VkStructureType	sType;
4308	void*			pNext;
4309	VkBool32		coverageReductionMode;
4310};
4311
4312struct VkPipelineCoverageReductionStateCreateInfoNV
4313{
4314	VkStructureType									sType;
4315	const void*										pNext;
4316	VkPipelineCoverageReductionStateCreateFlagsNV	flags;
4317	VkCoverageReductionModeNV						coverageReductionMode;
4318};
4319
4320struct VkFramebufferMixedSamplesCombinationNV
4321{
4322	VkStructureType				sType;
4323	void*						pNext;
4324	VkCoverageReductionModeNV	coverageReductionMode;
4325	VkSampleCountFlagBits		rasterizationSamples;
4326	VkSampleCountFlags			depthStencilSamples;
4327	VkSampleCountFlags			colorSamples;
4328};
4329
4330struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
4331{
4332	VkStructureType	sType;
4333	void*			pNext;
4334	VkBool32		fragmentShaderSampleInterlock;
4335	VkBool32		fragmentShaderPixelInterlock;
4336	VkBool32		fragmentShaderShadingRateInterlock;
4337};
4338
4339struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
4340{
4341	VkStructureType	sType;
4342	void*			pNext;
4343	VkBool32		ycbcrImageArrays;
4344};
4345
4346struct VkHeadlessSurfaceCreateInfoEXT
4347{
4348	VkStructureType					sType;
4349	const void*						pNext;
4350	VkHeadlessSurfaceCreateFlagsEXT	flags;
4351};
4352
4353struct VkPhysicalDeviceLineRasterizationFeaturesEXT
4354{
4355	VkStructureType	sType;
4356	void*			pNext;
4357	VkBool32		rectangularLines;
4358	VkBool32		bresenhamLines;
4359	VkBool32		smoothLines;
4360	VkBool32		stippledRectangularLines;
4361	VkBool32		stippledBresenhamLines;
4362	VkBool32		stippledSmoothLines;
4363};
4364
4365struct VkPhysicalDeviceLineRasterizationPropertiesEXT
4366{
4367	VkStructureType	sType;
4368	void*			pNext;
4369	deUint32		lineSubPixelPrecisionBits;
4370};
4371
4372struct VkPipelineRasterizationLineStateCreateInfoEXT
4373{
4374	VkStructureType				sType;
4375	const void*					pNext;
4376	VkLineRasterizationModeEXT	lineRasterizationMode;
4377	VkBool32					stippledLineEnable;
4378	deUint32					lineStippleFactor;
4379	deUint16					lineStipplePattern;
4380};
4381
4382struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT
4383{
4384	VkStructureType	sType;
4385	void*			pNext;
4386	VkBool32		indexTypeUint8;
4387};
4388
4389struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
4390{
4391	VkStructureType	sType;
4392	void*			pNext;
4393	VkBool32		shaderDemoteToHelperInvocation;
4394};
4395
4396struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
4397{
4398	VkStructureType	sType;
4399	void*			pNext;
4400	VkBool32		texelBufferAlignment;
4401};
4402
4403struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
4404{
4405	VkStructureType	sType;
4406	void*			pNext;
4407	VkDeviceSize	storageTexelBufferOffsetAlignmentBytes;
4408	VkBool32		storageTexelBufferOffsetSingleTexelAlignment;
4409	VkDeviceSize	uniformTexelBufferOffsetAlignmentBytes;
4410	VkBool32		uniformTexelBufferOffsetSingleTexelAlignment;
4411};
4412
4413struct VkAndroidSurfaceCreateInfoKHR
4414{
4415	VkStructureType						sType;
4416	const void*							pNext;
4417	VkAndroidSurfaceCreateFlagsKHR		flags;
4418	struct pt::AndroidNativeWindowPtr	window;
4419};
4420
4421struct VkAndroidHardwareBufferUsageANDROID
4422{
4423	VkStructureType	sType;
4424	void*			pNext;
4425	deUint64		androidHardwareBufferUsage;
4426};
4427
4428struct VkAndroidHardwareBufferPropertiesANDROID
4429{
4430	VkStructureType	sType;
4431	void*			pNext;
4432	VkDeviceSize	allocationSize;
4433	deUint32		memoryTypeBits;
4434};
4435
4436struct VkAndroidHardwareBufferFormatPropertiesANDROID
4437{
4438	VkStructureType					sType;
4439	void*							pNext;
4440	VkFormat						format;
4441	deUint64						externalFormat;
4442	VkFormatFeatureFlags			formatFeatures;
4443	VkComponentMapping				samplerYcbcrConversionComponents;
4444	VkSamplerYcbcrModelConversion	suggestedYcbcrModel;
4445	VkSamplerYcbcrRange				suggestedYcbcrRange;
4446	VkChromaLocation				suggestedXChromaOffset;
4447	VkChromaLocation				suggestedYChromaOffset;
4448};
4449
4450struct VkImportAndroidHardwareBufferInfoANDROID
4451{
4452	VkStructureType						sType;
4453	const void*							pNext;
4454	struct pt::AndroidHardwareBufferPtr	buffer;
4455};
4456
4457struct VkMemoryGetAndroidHardwareBufferInfoANDROID
4458{
4459	VkStructureType	sType;
4460	const void*		pNext;
4461	VkDeviceMemory	memory;
4462};
4463
4464struct VkExternalFormatANDROID
4465{
4466	VkStructureType	sType;
4467	void*			pNext;
4468	deUint64		externalFormat;
4469};
4470
4471struct VkImagePipeSurfaceCreateInfoFUCHSIA
4472{
4473	VkStructureType							sType;
4474	const void*								pNext;
4475	VkImagePipeSurfaceCreateFlagsFUCHSIA	flags;
4476	pt::zx_handle_t							imagePipeHandle;
4477};
4478
4479struct VkStreamDescriptorSurfaceCreateInfoGGP
4480{
4481	VkStructureType							sType;
4482	const void*								pNext;
4483	VkStreamDescriptorSurfaceCreateFlagsGGP	flags;
4484	pt::GgpStreamDescriptor					streamDescriptor;
4485};
4486
4487struct VkPresentFrameTokenGGP
4488{
4489	VkStructureType		sType;
4490	const void*			pNext;
4491	pt::GgpFrameToken	frameToken;
4492};
4493
4494struct VkIOSSurfaceCreateInfoMVK
4495{
4496	VkStructureType				sType;
4497	const void*					pNext;
4498	VkIOSSurfaceCreateFlagsMVK	flags;
4499	const void*					pView;
4500};
4501
4502struct VkMacOSSurfaceCreateInfoMVK
4503{
4504	VkStructureType					sType;
4505	const void*						pNext;
4506	VkMacOSSurfaceCreateFlagsMVK	flags;
4507	const void*						pView;
4508};
4509
4510struct VkMetalSurfaceCreateInfoEXT
4511{
4512	VkStructureType					sType;
4513	const void*						pNext;
4514	VkMetalSurfaceCreateFlagsEXT	flags;
4515	const pt::CAMetalLayer*			pLayer;
4516};
4517
4518struct VkViSurfaceCreateInfoNN
4519{
4520	VkStructureType				sType;
4521	const void*					pNext;
4522	VkViSurfaceCreateFlagsNN	flags;
4523	void*						window;
4524};
4525
4526struct VkWaylandSurfaceCreateInfoKHR
4527{
4528	VkStructureType					sType;
4529	const void*						pNext;
4530	VkWaylandSurfaceCreateFlagsKHR	flags;
4531	pt::WaylandDisplayPtr			display;
4532	pt::WaylandSurfacePtr			surface;
4533};
4534
4535struct VkWin32SurfaceCreateInfoKHR
4536{
4537	VkStructureType					sType;
4538	const void*						pNext;
4539	VkWin32SurfaceCreateFlagsKHR	flags;
4540	pt::Win32InstanceHandle			hinstance;
4541	pt::Win32WindowHandle			hwnd;
4542};
4543
4544struct VkImportMemoryWin32HandleInfoKHR
4545{
4546	VkStructureType						sType;
4547	const void*							pNext;
4548	VkExternalMemoryHandleTypeFlagBits	handleType;
4549	pt::Win32Handle						handle;
4550	pt::Win32LPCWSTR					name;
4551};
4552
4553struct VkExportMemoryWin32HandleInfoKHR
4554{
4555	VkStructureType					sType;
4556	const void*						pNext;
4557	pt::Win32SecurityAttributesPtr	pAttributes;
4558	deUint32						dwAccess;
4559	pt::Win32LPCWSTR				name;
4560};
4561
4562struct VkMemoryWin32HandlePropertiesKHR
4563{
4564	VkStructureType	sType;
4565	void*			pNext;
4566	deUint32		memoryTypeBits;
4567};
4568
4569struct VkMemoryGetWin32HandleInfoKHR
4570{
4571	VkStructureType						sType;
4572	const void*							pNext;
4573	VkDeviceMemory						memory;
4574	VkExternalMemoryHandleTypeFlagBits	handleType;
4575};
4576
4577struct VkWin32KeyedMutexAcquireReleaseInfoKHR
4578{
4579	VkStructureType			sType;
4580	const void*				pNext;
4581	deUint32				acquireCount;
4582	const VkDeviceMemory*	pAcquireSyncs;
4583	const deUint64*			pAcquireKeys;
4584	const deUint32*			pAcquireTimeouts;
4585	deUint32				releaseCount;
4586	const VkDeviceMemory*	pReleaseSyncs;
4587	const deUint64*			pReleaseKeys;
4588};
4589
4590struct VkImportSemaphoreWin32HandleInfoKHR
4591{
4592	VkStructureType							sType;
4593	const void*								pNext;
4594	VkSemaphore								semaphore;
4595	VkSemaphoreImportFlags					flags;
4596	VkExternalSemaphoreHandleTypeFlagBits	handleType;
4597	pt::Win32Handle							handle;
4598	pt::Win32LPCWSTR						name;
4599};
4600
4601struct VkExportSemaphoreWin32HandleInfoKHR
4602{
4603	VkStructureType					sType;
4604	const void*						pNext;
4605	pt::Win32SecurityAttributesPtr	pAttributes;
4606	deUint32						dwAccess;
4607	pt::Win32LPCWSTR				name;
4608};
4609
4610struct VkD3D12FenceSubmitInfoKHR
4611{
4612	VkStructureType	sType;
4613	const void*		pNext;
4614	deUint32		waitSemaphoreValuesCount;
4615	const deUint64*	pWaitSemaphoreValues;
4616	deUint32		signalSemaphoreValuesCount;
4617	const deUint64*	pSignalSemaphoreValues;
4618};
4619
4620struct VkSemaphoreGetWin32HandleInfoKHR
4621{
4622	VkStructureType							sType;
4623	const void*								pNext;
4624	VkSemaphore								semaphore;
4625	VkExternalSemaphoreHandleTypeFlagBits	handleType;
4626};
4627
4628struct VkImportFenceWin32HandleInfoKHR
4629{
4630	VkStructureType						sType;
4631	const void*							pNext;
4632	VkFence								fence;
4633	VkFenceImportFlags					flags;
4634	VkExternalFenceHandleTypeFlagBits	handleType;
4635	pt::Win32Handle						handle;
4636	pt::Win32LPCWSTR					name;
4637};
4638
4639struct VkExportFenceWin32HandleInfoKHR
4640{
4641	VkStructureType					sType;
4642	const void*						pNext;
4643	pt::Win32SecurityAttributesPtr	pAttributes;
4644	deUint32						dwAccess;
4645	pt::Win32LPCWSTR				name;
4646};
4647
4648struct VkFenceGetWin32HandleInfoKHR
4649{
4650	VkStructureType						sType;
4651	const void*							pNext;
4652	VkFence								fence;
4653	VkExternalFenceHandleTypeFlagBits	handleType;
4654};
4655
4656struct VkImportMemoryWin32HandleInfoNV
4657{
4658	VkStructureType						sType;
4659	const void*							pNext;
4660	VkExternalMemoryHandleTypeFlagsNV	handleType;
4661	pt::Win32Handle						handle;
4662};
4663
4664struct VkExportMemoryWin32HandleInfoNV
4665{
4666	VkStructureType					sType;
4667	const void*						pNext;
4668	pt::Win32SecurityAttributesPtr	pAttributes;
4669	deUint32						dwAccess;
4670};
4671
4672struct VkWin32KeyedMutexAcquireReleaseInfoNV
4673{
4674	VkStructureType			sType;
4675	const void*				pNext;
4676	deUint32				acquireCount;
4677	const VkDeviceMemory*	pAcquireSyncs;
4678	const deUint64*			pAcquireKeys;
4679	const deUint32*			pAcquireTimeoutMilliseconds;
4680	deUint32				releaseCount;
4681	const VkDeviceMemory*	pReleaseSyncs;
4682	const deUint64*			pReleaseKeys;
4683};
4684
4685struct VkSurfaceFullScreenExclusiveInfoEXT
4686{
4687	VkStructureType				sType;
4688	void*						pNext;
4689	VkFullScreenExclusiveEXT	fullScreenExclusive;
4690};
4691
4692struct VkSurfaceCapabilitiesFullScreenExclusiveEXT
4693{
4694	VkStructureType	sType;
4695	void*			pNext;
4696	VkBool32		fullScreenExclusiveSupported;
4697};
4698
4699struct VkSurfaceFullScreenExclusiveWin32InfoEXT
4700{
4701	VkStructureType			sType;
4702	const void*				pNext;
4703	pt::Win32MonitorHandle	hmonitor;
4704};
4705
4706struct VkXcbSurfaceCreateInfoKHR
4707{
4708	VkStructureType				sType;
4709	const void*					pNext;
4710	VkXcbSurfaceCreateFlagsKHR	flags;
4711	pt::XcbConnectionPtr		connection;
4712	pt::XcbWindow				window;
4713};
4714
4715struct VkXlibSurfaceCreateInfoKHR
4716{
4717	VkStructureType				sType;
4718	const void*					pNext;
4719	VkXlibSurfaceCreateFlagsKHR	flags;
4720	pt::XlibDisplayPtr			dpy;
4721	pt::XlibWindow				window;
4722};
4723
4724typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
4725
4726typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
4727
4728typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
4729
4730typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
4731
4732typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
4733
4734typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
4735
4736typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
4737
4738typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
4739
4740typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
4741
4742typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
4743
4744typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
4745
4746typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
4747
4748typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
4749
4750typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
4751
4752typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
4753
4754typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
4755
4756typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
4757
4758typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
4759
4760typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
4761
4762typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
4763
4764typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
4765
4766typedef VkFormatProperties2 VkFormatProperties2KHR;
4767
4768typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
4769
4770typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
4771
4772typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
4773
4774typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
4775
4776typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
4777
4778typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
4779
4780typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
4781
4782typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
4783
4784typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
4785
4786typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
4787
4788typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
4789
4790typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
4791
4792typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
4793
4794typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
4795
4796typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
4797
4798typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
4799
4800typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
4801
4802typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
4803
4804typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
4805
4806typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
4807
4808typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
4809
4810typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
4811
4812typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
4813
4814typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
4815
4816typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
4817
4818typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
4819
4820typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
4821
4822typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
4823
4824typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
4825
4826typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
4827
4828typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
4829
4830typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
4831
4832typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
4833
4834typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
4835
4836typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
4837
4838typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
4839
4840typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
4841
4842typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
4843
4844typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
4845
4846typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4847
4848typedef VkConformanceVersion VkConformanceVersionKHR;
4849
4850typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
4851
4852typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
4853
4854typedef VkAttachmentReference2 VkAttachmentReference2KHR;
4855
4856typedef VkSubpassDescription2 VkSubpassDescription2KHR;
4857
4858typedef VkSubpassDependency2 VkSubpassDependency2KHR;
4859
4860typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
4861
4862typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
4863
4864typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
4865
4866typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
4867
4868typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
4869
4870typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
4871
4872typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
4873
4874typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
4875
4876typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
4877
4878typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
4879
4880typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
4881
4882typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
4883
4884typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
4885
4886typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
4887
4888typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
4889
4890typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
4891
4892typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
4893
4894typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
4895
4896typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
4897
4898typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
4899
4900typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
4901
4902typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
4903
4904typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
4905
4906typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
4907
4908typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
4909
4910typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
4911
4912typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
4913
4914typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
4915
4916typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
4917
4918typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
4919
4920typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
4921
4922typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
4923
4924typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
4925
4926typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
4927
4928typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
4929
4930typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
4931
4932typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
4933
4934typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
4935
4936typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
4937
4938typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
4939
4940