• 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 VkExtent2D
5{
6	deUint32	width;
7	deUint32	height;
8};
9
10struct VkExtent3D
11{
12	deUint32	width;
13	deUint32	height;
14	deUint32	depth;
15};
16
17struct VkOffset2D
18{
19	deInt32	x;
20	deInt32	y;
21};
22
23struct VkOffset3D
24{
25	deInt32	x;
26	deInt32	y;
27	deInt32	z;
28};
29
30struct VkRect2D
31{
32	VkOffset2D	offset;
33	VkExtent2D	extent;
34};
35
36struct VkBaseInStructure
37{
38	VkStructureType					sType;
39	const struct VkBaseInStructure*	pNext;
40};
41
42struct VkBaseOutStructure
43{
44	VkStructureType				sType;
45	struct VkBaseOutStructure*	pNext;
46};
47
48struct VkBufferMemoryBarrier
49{
50	VkStructureType	sType;
51	const void*		pNext;
52	VkAccessFlags	srcAccessMask;
53	VkAccessFlags	dstAccessMask;
54	deUint32		srcQueueFamilyIndex;
55	deUint32		dstQueueFamilyIndex;
56	VkBuffer		buffer;
57	VkDeviceSize	offset;
58	VkDeviceSize	size;
59};
60
61struct VkDispatchIndirectCommand
62{
63	deUint32	x;
64	deUint32	y;
65	deUint32	z;
66};
67
68struct VkDrawIndexedIndirectCommand
69{
70	deUint32	indexCount;
71	deUint32	instanceCount;
72	deUint32	firstIndex;
73	deInt32		vertexOffset;
74	deUint32	firstInstance;
75};
76
77struct VkDrawIndirectCommand
78{
79	deUint32	vertexCount;
80	deUint32	instanceCount;
81	deUint32	firstVertex;
82	deUint32	firstInstance;
83};
84
85struct VkImageSubresourceRange
86{
87	VkImageAspectFlags	aspectMask;
88	deUint32			baseMipLevel;
89	deUint32			levelCount;
90	deUint32			baseArrayLayer;
91	deUint32			layerCount;
92};
93
94struct VkImageMemoryBarrier
95{
96	VkStructureType			sType;
97	const void*				pNext;
98	VkAccessFlags			srcAccessMask;
99	VkAccessFlags			dstAccessMask;
100	VkImageLayout			oldLayout;
101	VkImageLayout			newLayout;
102	deUint32				srcQueueFamilyIndex;
103	deUint32				dstQueueFamilyIndex;
104	VkImage					image;
105	VkImageSubresourceRange	subresourceRange;
106};
107
108struct VkMemoryBarrier
109{
110	VkStructureType	sType;
111	const void*		pNext;
112	VkAccessFlags	srcAccessMask;
113	VkAccessFlags	dstAccessMask;
114};
115
116struct VkAllocationCallbacks
117{
118	void*									pUserData;
119	PFN_vkAllocationFunction				pfnAllocation;
120	PFN_vkReallocationFunction				pfnReallocation;
121	PFN_vkFreeFunction						pfnFree;
122	PFN_vkInternalAllocationNotification	pfnInternalAllocation;
123	PFN_vkInternalFreeNotification			pfnInternalFree;
124};
125
126struct VkApplicationInfo
127{
128	VkStructureType	sType;
129	const void*		pNext;
130	const char*		pApplicationName;
131	deUint32		applicationVersion;
132	const char*		pEngineName;
133	deUint32		engineVersion;
134	deUint32		apiVersion;
135};
136
137struct VkFormatProperties
138{
139	VkFormatFeatureFlags	linearTilingFeatures;
140	VkFormatFeatureFlags	optimalTilingFeatures;
141	VkFormatFeatureFlags	bufferFeatures;
142};
143
144struct VkImageFormatProperties
145{
146	VkExtent3D			maxExtent;
147	deUint32			maxMipLevels;
148	deUint32			maxArrayLayers;
149	VkSampleCountFlags	sampleCounts;
150	VkDeviceSize		maxResourceSize;
151};
152
153struct VkInstanceCreateInfo
154{
155	VkStructureType				sType;
156	const void*					pNext;
157	VkInstanceCreateFlags		flags;
158	const VkApplicationInfo*	pApplicationInfo;
159	deUint32					enabledLayerCount;
160	const char* const*			ppEnabledLayerNames;
161	deUint32					enabledExtensionCount;
162	const char* const*			ppEnabledExtensionNames;
163};
164
165struct VkMemoryHeap
166{
167	VkDeviceSize		size;
168	VkMemoryHeapFlags	flags;
169};
170
171struct VkMemoryType
172{
173	VkMemoryPropertyFlags	propertyFlags;
174	deUint32				heapIndex;
175};
176
177struct VkPhysicalDeviceFeatures
178{
179	VkBool32	robustBufferAccess;
180	VkBool32	fullDrawIndexUint32;
181	VkBool32	imageCubeArray;
182	VkBool32	independentBlend;
183	VkBool32	geometryShader;
184	VkBool32	tessellationShader;
185	VkBool32	sampleRateShading;
186	VkBool32	dualSrcBlend;
187	VkBool32	logicOp;
188	VkBool32	multiDrawIndirect;
189	VkBool32	drawIndirectFirstInstance;
190	VkBool32	depthClamp;
191	VkBool32	depthBiasClamp;
192	VkBool32	fillModeNonSolid;
193	VkBool32	depthBounds;
194	VkBool32	wideLines;
195	VkBool32	largePoints;
196	VkBool32	alphaToOne;
197	VkBool32	multiViewport;
198	VkBool32	samplerAnisotropy;
199	VkBool32	textureCompressionETC2;
200	VkBool32	textureCompressionASTC_LDR;
201	VkBool32	textureCompressionBC;
202	VkBool32	occlusionQueryPrecise;
203	VkBool32	pipelineStatisticsQuery;
204	VkBool32	vertexPipelineStoresAndAtomics;
205	VkBool32	fragmentStoresAndAtomics;
206	VkBool32	shaderTessellationAndGeometryPointSize;
207	VkBool32	shaderImageGatherExtended;
208	VkBool32	shaderStorageImageExtendedFormats;
209	VkBool32	shaderStorageImageMultisample;
210	VkBool32	shaderStorageImageReadWithoutFormat;
211	VkBool32	shaderStorageImageWriteWithoutFormat;
212	VkBool32	shaderUniformBufferArrayDynamicIndexing;
213	VkBool32	shaderSampledImageArrayDynamicIndexing;
214	VkBool32	shaderStorageBufferArrayDynamicIndexing;
215	VkBool32	shaderStorageImageArrayDynamicIndexing;
216	VkBool32	shaderClipDistance;
217	VkBool32	shaderCullDistance;
218	VkBool32	shaderFloat64;
219	VkBool32	shaderInt64;
220	VkBool32	shaderInt16;
221	VkBool32	shaderResourceResidency;
222	VkBool32	shaderResourceMinLod;
223	VkBool32	sparseBinding;
224	VkBool32	sparseResidencyBuffer;
225	VkBool32	sparseResidencyImage2D;
226	VkBool32	sparseResidencyImage3D;
227	VkBool32	sparseResidency2Samples;
228	VkBool32	sparseResidency4Samples;
229	VkBool32	sparseResidency8Samples;
230	VkBool32	sparseResidency16Samples;
231	VkBool32	sparseResidencyAliased;
232	VkBool32	variableMultisampleRate;
233	VkBool32	inheritedQueries;
234};
235
236struct VkPhysicalDeviceLimits
237{
238	deUint32			maxImageDimension1D;
239	deUint32			maxImageDimension2D;
240	deUint32			maxImageDimension3D;
241	deUint32			maxImageDimensionCube;
242	deUint32			maxImageArrayLayers;
243	deUint32			maxTexelBufferElements;
244	deUint32			maxUniformBufferRange;
245	deUint32			maxStorageBufferRange;
246	deUint32			maxPushConstantsSize;
247	deUint32			maxMemoryAllocationCount;
248	deUint32			maxSamplerAllocationCount;
249	VkDeviceSize		bufferImageGranularity;
250	VkDeviceSize		sparseAddressSpaceSize;
251	deUint32			maxBoundDescriptorSets;
252	deUint32			maxPerStageDescriptorSamplers;
253	deUint32			maxPerStageDescriptorUniformBuffers;
254	deUint32			maxPerStageDescriptorStorageBuffers;
255	deUint32			maxPerStageDescriptorSampledImages;
256	deUint32			maxPerStageDescriptorStorageImages;
257	deUint32			maxPerStageDescriptorInputAttachments;
258	deUint32			maxPerStageResources;
259	deUint32			maxDescriptorSetSamplers;
260	deUint32			maxDescriptorSetUniformBuffers;
261	deUint32			maxDescriptorSetUniformBuffersDynamic;
262	deUint32			maxDescriptorSetStorageBuffers;
263	deUint32			maxDescriptorSetStorageBuffersDynamic;
264	deUint32			maxDescriptorSetSampledImages;
265	deUint32			maxDescriptorSetStorageImages;
266	deUint32			maxDescriptorSetInputAttachments;
267	deUint32			maxVertexInputAttributes;
268	deUint32			maxVertexInputBindings;
269	deUint32			maxVertexInputAttributeOffset;
270	deUint32			maxVertexInputBindingStride;
271	deUint32			maxVertexOutputComponents;
272	deUint32			maxTessellationGenerationLevel;
273	deUint32			maxTessellationPatchSize;
274	deUint32			maxTessellationControlPerVertexInputComponents;
275	deUint32			maxTessellationControlPerVertexOutputComponents;
276	deUint32			maxTessellationControlPerPatchOutputComponents;
277	deUint32			maxTessellationControlTotalOutputComponents;
278	deUint32			maxTessellationEvaluationInputComponents;
279	deUint32			maxTessellationEvaluationOutputComponents;
280	deUint32			maxGeometryShaderInvocations;
281	deUint32			maxGeometryInputComponents;
282	deUint32			maxGeometryOutputComponents;
283	deUint32			maxGeometryOutputVertices;
284	deUint32			maxGeometryTotalOutputComponents;
285	deUint32			maxFragmentInputComponents;
286	deUint32			maxFragmentOutputAttachments;
287	deUint32			maxFragmentDualSrcAttachments;
288	deUint32			maxFragmentCombinedOutputResources;
289	deUint32			maxComputeSharedMemorySize;
290	deUint32			maxComputeWorkGroupCount[3];
291	deUint32			maxComputeWorkGroupInvocations;
292	deUint32			maxComputeWorkGroupSize[3];
293	deUint32			subPixelPrecisionBits;
294	deUint32			subTexelPrecisionBits;
295	deUint32			mipmapPrecisionBits;
296	deUint32			maxDrawIndexedIndexValue;
297	deUint32			maxDrawIndirectCount;
298	float				maxSamplerLodBias;
299	float				maxSamplerAnisotropy;
300	deUint32			maxViewports;
301	deUint32			maxViewportDimensions[2];
302	float				viewportBoundsRange[2];
303	deUint32			viewportSubPixelBits;
304	deUintptr			minMemoryMapAlignment;
305	VkDeviceSize		minTexelBufferOffsetAlignment;
306	VkDeviceSize		minUniformBufferOffsetAlignment;
307	VkDeviceSize		minStorageBufferOffsetAlignment;
308	deInt32				minTexelOffset;
309	deUint32			maxTexelOffset;
310	deInt32				minTexelGatherOffset;
311	deUint32			maxTexelGatherOffset;
312	float				minInterpolationOffset;
313	float				maxInterpolationOffset;
314	deUint32			subPixelInterpolationOffsetBits;
315	deUint32			maxFramebufferWidth;
316	deUint32			maxFramebufferHeight;
317	deUint32			maxFramebufferLayers;
318	VkSampleCountFlags	framebufferColorSampleCounts;
319	VkSampleCountFlags	framebufferDepthSampleCounts;
320	VkSampleCountFlags	framebufferStencilSampleCounts;
321	VkSampleCountFlags	framebufferNoAttachmentsSampleCounts;
322	deUint32			maxColorAttachments;
323	VkSampleCountFlags	sampledImageColorSampleCounts;
324	VkSampleCountFlags	sampledImageIntegerSampleCounts;
325	VkSampleCountFlags	sampledImageDepthSampleCounts;
326	VkSampleCountFlags	sampledImageStencilSampleCounts;
327	VkSampleCountFlags	storageImageSampleCounts;
328	deUint32			maxSampleMaskWords;
329	VkBool32			timestampComputeAndGraphics;
330	float				timestampPeriod;
331	deUint32			maxClipDistances;
332	deUint32			maxCullDistances;
333	deUint32			maxCombinedClipAndCullDistances;
334	deUint32			discreteQueuePriorities;
335	float				pointSizeRange[2];
336	float				lineWidthRange[2];
337	float				pointSizeGranularity;
338	float				lineWidthGranularity;
339	VkBool32			strictLines;
340	VkBool32			standardSampleLocations;
341	VkDeviceSize		optimalBufferCopyOffsetAlignment;
342	VkDeviceSize		optimalBufferCopyRowPitchAlignment;
343	VkDeviceSize		nonCoherentAtomSize;
344};
345
346struct VkPhysicalDeviceMemoryProperties
347{
348	deUint32		memoryTypeCount;
349	VkMemoryType	memoryTypes[VK_MAX_MEMORY_TYPES];
350	deUint32		memoryHeapCount;
351	VkMemoryHeap	memoryHeaps[VK_MAX_MEMORY_HEAPS];
352};
353
354struct VkPhysicalDeviceSparseProperties
355{
356	VkBool32	residencyStandard2DBlockShape;
357	VkBool32	residencyStandard2DMultisampleBlockShape;
358	VkBool32	residencyStandard3DBlockShape;
359	VkBool32	residencyAlignedMipSize;
360	VkBool32	residencyNonResidentStrict;
361};
362
363struct VkPhysicalDeviceProperties
364{
365	deUint32							apiVersion;
366	deUint32							driverVersion;
367	deUint32							vendorID;
368	deUint32							deviceID;
369	VkPhysicalDeviceType				deviceType;
370	char								deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
371	deUint8								pipelineCacheUUID[VK_UUID_SIZE];
372	VkPhysicalDeviceLimits				limits;
373	VkPhysicalDeviceSparseProperties	sparseProperties;
374};
375
376struct VkQueueFamilyProperties
377{
378	VkQueueFlags	queueFlags;
379	deUint32		queueCount;
380	deUint32		timestampValidBits;
381	VkExtent3D		minImageTransferGranularity;
382};
383
384struct VkDeviceQueueCreateInfo
385{
386	VkStructureType				sType;
387	const void*					pNext;
388	VkDeviceQueueCreateFlags	flags;
389	deUint32					queueFamilyIndex;
390	deUint32					queueCount;
391	const float*				pQueuePriorities;
392};
393
394struct VkDeviceCreateInfo
395{
396	VkStructureType					sType;
397	const void*						pNext;
398	VkDeviceCreateFlags				flags;
399	deUint32						queueCreateInfoCount;
400	const VkDeviceQueueCreateInfo*	pQueueCreateInfos;
401	deUint32						enabledLayerCount;
402	const char* const*				ppEnabledLayerNames;
403	deUint32						enabledExtensionCount;
404	const char* const*				ppEnabledExtensionNames;
405	const VkPhysicalDeviceFeatures*	pEnabledFeatures;
406};
407
408struct VkExtensionProperties
409{
410	char		extensionName[VK_MAX_EXTENSION_NAME_SIZE];
411	deUint32	specVersion;
412};
413
414struct VkLayerProperties
415{
416	char		layerName[VK_MAX_EXTENSION_NAME_SIZE];
417	deUint32	specVersion;
418	deUint32	implementationVersion;
419	char		description[VK_MAX_DESCRIPTION_SIZE];
420};
421
422struct VkSubmitInfo
423{
424	VkStructureType				sType;
425	const void*					pNext;
426	deUint32					waitSemaphoreCount;
427	const VkSemaphore*			pWaitSemaphores;
428	const VkPipelineStageFlags*	pWaitDstStageMask;
429	deUint32					commandBufferCount;
430	const VkCommandBuffer*		pCommandBuffers;
431	deUint32					signalSemaphoreCount;
432	const VkSemaphore*			pSignalSemaphores;
433};
434
435struct VkMappedMemoryRange
436{
437	VkStructureType	sType;
438	const void*		pNext;
439	VkDeviceMemory	memory;
440	VkDeviceSize	offset;
441	VkDeviceSize	size;
442};
443
444struct VkMemoryAllocateInfo
445{
446	VkStructureType	sType;
447	const void*		pNext;
448	VkDeviceSize	allocationSize;
449	deUint32		memoryTypeIndex;
450};
451
452struct VkMemoryRequirements
453{
454	VkDeviceSize	size;
455	VkDeviceSize	alignment;
456	deUint32		memoryTypeBits;
457};
458
459struct VkSparseMemoryBind
460{
461	VkDeviceSize			resourceOffset;
462	VkDeviceSize			size;
463	VkDeviceMemory			memory;
464	VkDeviceSize			memoryOffset;
465	VkSparseMemoryBindFlags	flags;
466};
467
468struct VkSparseBufferMemoryBindInfo
469{
470	VkBuffer					buffer;
471	deUint32					bindCount;
472	const VkSparseMemoryBind*	pBinds;
473};
474
475struct VkSparseImageOpaqueMemoryBindInfo
476{
477	VkImage						image;
478	deUint32					bindCount;
479	const VkSparseMemoryBind*	pBinds;
480};
481
482struct VkImageSubresource
483{
484	VkImageAspectFlags	aspectMask;
485	deUint32			mipLevel;
486	deUint32			arrayLayer;
487};
488
489struct VkSparseImageMemoryBind
490{
491	VkImageSubresource		subresource;
492	VkOffset3D				offset;
493	VkExtent3D				extent;
494	VkDeviceMemory			memory;
495	VkDeviceSize			memoryOffset;
496	VkSparseMemoryBindFlags	flags;
497};
498
499struct VkSparseImageMemoryBindInfo
500{
501	VkImage							image;
502	deUint32						bindCount;
503	const VkSparseImageMemoryBind*	pBinds;
504};
505
506struct VkBindSparseInfo
507{
508	VkStructureType								sType;
509	const void*									pNext;
510	deUint32									waitSemaphoreCount;
511	const VkSemaphore*							pWaitSemaphores;
512	deUint32									bufferBindCount;
513	const VkSparseBufferMemoryBindInfo*			pBufferBinds;
514	deUint32									imageOpaqueBindCount;
515	const VkSparseImageOpaqueMemoryBindInfo*	pImageOpaqueBinds;
516	deUint32									imageBindCount;
517	const VkSparseImageMemoryBindInfo*			pImageBinds;
518	deUint32									signalSemaphoreCount;
519	const VkSemaphore*							pSignalSemaphores;
520};
521
522struct VkSparseImageFormatProperties
523{
524	VkImageAspectFlags			aspectMask;
525	VkExtent3D					imageGranularity;
526	VkSparseImageFormatFlags	flags;
527};
528
529struct VkSparseImageMemoryRequirements
530{
531	VkSparseImageFormatProperties	formatProperties;
532	deUint32						imageMipTailFirstLod;
533	VkDeviceSize					imageMipTailSize;
534	VkDeviceSize					imageMipTailOffset;
535	VkDeviceSize					imageMipTailStride;
536};
537
538struct VkFenceCreateInfo
539{
540	VkStructureType		sType;
541	const void*			pNext;
542	VkFenceCreateFlags	flags;
543};
544
545struct VkSemaphoreCreateInfo
546{
547	VkStructureType			sType;
548	const void*				pNext;
549	VkSemaphoreCreateFlags	flags;
550};
551
552struct VkEventCreateInfo
553{
554	VkStructureType		sType;
555	const void*			pNext;
556	VkEventCreateFlags	flags;
557};
558
559struct VkQueryPoolCreateInfo
560{
561	VkStructureType					sType;
562	const void*						pNext;
563	VkQueryPoolCreateFlags			flags;
564	VkQueryType						queryType;
565	deUint32						queryCount;
566	VkQueryPipelineStatisticFlags	pipelineStatistics;
567};
568
569struct VkBufferCreateInfo
570{
571	VkStructureType		sType;
572	const void*			pNext;
573	VkBufferCreateFlags	flags;
574	VkDeviceSize		size;
575	VkBufferUsageFlags	usage;
576	VkSharingMode		sharingMode;
577	deUint32			queueFamilyIndexCount;
578	const deUint32*		pQueueFamilyIndices;
579};
580
581struct VkBufferViewCreateInfo
582{
583	VkStructureType			sType;
584	const void*				pNext;
585	VkBufferViewCreateFlags	flags;
586	VkBuffer				buffer;
587	VkFormat				format;
588	VkDeviceSize			offset;
589	VkDeviceSize			range;
590};
591
592struct VkImageCreateInfo
593{
594	VkStructureType			sType;
595	const void*				pNext;
596	VkImageCreateFlags		flags;
597	VkImageType				imageType;
598	VkFormat				format;
599	VkExtent3D				extent;
600	deUint32				mipLevels;
601	deUint32				arrayLayers;
602	VkSampleCountFlagBits	samples;
603	VkImageTiling			tiling;
604	VkImageUsageFlags		usage;
605	VkSharingMode			sharingMode;
606	deUint32				queueFamilyIndexCount;
607	const deUint32*			pQueueFamilyIndices;
608	VkImageLayout			initialLayout;
609};
610
611struct VkSubresourceLayout
612{
613	VkDeviceSize	offset;
614	VkDeviceSize	size;
615	VkDeviceSize	rowPitch;
616	VkDeviceSize	arrayPitch;
617	VkDeviceSize	depthPitch;
618};
619
620struct VkComponentMapping
621{
622	VkComponentSwizzle	r;
623	VkComponentSwizzle	g;
624	VkComponentSwizzle	b;
625	VkComponentSwizzle	a;
626};
627
628struct VkImageViewCreateInfo
629{
630	VkStructureType			sType;
631	const void*				pNext;
632	VkImageViewCreateFlags	flags;
633	VkImage					image;
634	VkImageViewType			viewType;
635	VkFormat				format;
636	VkComponentMapping		components;
637	VkImageSubresourceRange	subresourceRange;
638};
639
640struct VkShaderModuleCreateInfo
641{
642	VkStructureType				sType;
643	const void*					pNext;
644	VkShaderModuleCreateFlags	flags;
645	deUintptr					codeSize;
646	const deUint32*				pCode;
647};
648
649struct VkPipelineCacheCreateInfo
650{
651	VkStructureType				sType;
652	const void*					pNext;
653	VkPipelineCacheCreateFlags	flags;
654	deUintptr					initialDataSize;
655	const void*					pInitialData;
656};
657
658struct VkSpecializationMapEntry
659{
660	deUint32	constantID;
661	deUint32	offset;
662	deUintptr	size;
663};
664
665struct VkSpecializationInfo
666{
667	deUint32						mapEntryCount;
668	const VkSpecializationMapEntry*	pMapEntries;
669	deUintptr						dataSize;
670	const void*						pData;
671};
672
673struct VkPipelineShaderStageCreateInfo
674{
675	VkStructureType						sType;
676	const void*							pNext;
677	VkPipelineShaderStageCreateFlags	flags;
678	VkShaderStageFlagBits				stage;
679	VkShaderModule						module;
680	const char*							pName;
681	const VkSpecializationInfo*			pSpecializationInfo;
682};
683
684struct VkComputePipelineCreateInfo
685{
686	VkStructureType					sType;
687	const void*						pNext;
688	VkPipelineCreateFlags			flags;
689	VkPipelineShaderStageCreateInfo	stage;
690	VkPipelineLayout				layout;
691	VkPipeline						basePipelineHandle;
692	deInt32							basePipelineIndex;
693};
694
695struct VkVertexInputBindingDescription
696{
697	deUint32			binding;
698	deUint32			stride;
699	VkVertexInputRate	inputRate;
700};
701
702struct VkVertexInputAttributeDescription
703{
704	deUint32	location;
705	deUint32	binding;
706	VkFormat	format;
707	deUint32	offset;
708};
709
710struct VkPipelineVertexInputStateCreateInfo
711{
712	VkStructureType								sType;
713	const void*									pNext;
714	VkPipelineVertexInputStateCreateFlags		flags;
715	deUint32									vertexBindingDescriptionCount;
716	const VkVertexInputBindingDescription*		pVertexBindingDescriptions;
717	deUint32									vertexAttributeDescriptionCount;
718	const VkVertexInputAttributeDescription*	pVertexAttributeDescriptions;
719};
720
721struct VkPipelineInputAssemblyStateCreateInfo
722{
723	VkStructureType							sType;
724	const void*								pNext;
725	VkPipelineInputAssemblyStateCreateFlags	flags;
726	VkPrimitiveTopology						topology;
727	VkBool32								primitiveRestartEnable;
728};
729
730struct VkPipelineTessellationStateCreateInfo
731{
732	VkStructureType							sType;
733	const void*								pNext;
734	VkPipelineTessellationStateCreateFlags	flags;
735	deUint32								patchControlPoints;
736};
737
738struct VkViewport
739{
740	float	x;
741	float	y;
742	float	width;
743	float	height;
744	float	minDepth;
745	float	maxDepth;
746};
747
748struct VkPipelineViewportStateCreateInfo
749{
750	VkStructureType						sType;
751	const void*							pNext;
752	VkPipelineViewportStateCreateFlags	flags;
753	deUint32							viewportCount;
754	const VkViewport*					pViewports;
755	deUint32							scissorCount;
756	const VkRect2D*						pScissors;
757};
758
759struct VkPipelineRasterizationStateCreateInfo
760{
761	VkStructureType							sType;
762	const void*								pNext;
763	VkPipelineRasterizationStateCreateFlags	flags;
764	VkBool32								depthClampEnable;
765	VkBool32								rasterizerDiscardEnable;
766	VkPolygonMode							polygonMode;
767	VkCullModeFlags							cullMode;
768	VkFrontFace								frontFace;
769	VkBool32								depthBiasEnable;
770	float									depthBiasConstantFactor;
771	float									depthBiasClamp;
772	float									depthBiasSlopeFactor;
773	float									lineWidth;
774};
775
776struct VkPipelineMultisampleStateCreateInfo
777{
778	VkStructureType							sType;
779	const void*								pNext;
780	VkPipelineMultisampleStateCreateFlags	flags;
781	VkSampleCountFlagBits					rasterizationSamples;
782	VkBool32								sampleShadingEnable;
783	float									minSampleShading;
784	const VkSampleMask*						pSampleMask;
785	VkBool32								alphaToCoverageEnable;
786	VkBool32								alphaToOneEnable;
787};
788
789struct VkStencilOpState
790{
791	VkStencilOp	failOp;
792	VkStencilOp	passOp;
793	VkStencilOp	depthFailOp;
794	VkCompareOp	compareOp;
795	deUint32	compareMask;
796	deUint32	writeMask;
797	deUint32	reference;
798};
799
800struct VkPipelineDepthStencilStateCreateInfo
801{
802	VkStructureType							sType;
803	const void*								pNext;
804	VkPipelineDepthStencilStateCreateFlags	flags;
805	VkBool32								depthTestEnable;
806	VkBool32								depthWriteEnable;
807	VkCompareOp								depthCompareOp;
808	VkBool32								depthBoundsTestEnable;
809	VkBool32								stencilTestEnable;
810	VkStencilOpState						front;
811	VkStencilOpState						back;
812	float									minDepthBounds;
813	float									maxDepthBounds;
814};
815
816struct VkPipelineColorBlendAttachmentState
817{
818	VkBool32				blendEnable;
819	VkBlendFactor			srcColorBlendFactor;
820	VkBlendFactor			dstColorBlendFactor;
821	VkBlendOp				colorBlendOp;
822	VkBlendFactor			srcAlphaBlendFactor;
823	VkBlendFactor			dstAlphaBlendFactor;
824	VkBlendOp				alphaBlendOp;
825	VkColorComponentFlags	colorWriteMask;
826};
827
828struct VkPipelineColorBlendStateCreateInfo
829{
830	VkStructureType								sType;
831	const void*									pNext;
832	VkPipelineColorBlendStateCreateFlags		flags;
833	VkBool32									logicOpEnable;
834	VkLogicOp									logicOp;
835	deUint32									attachmentCount;
836	const VkPipelineColorBlendAttachmentState*	pAttachments;
837	float										blendConstants[4];
838};
839
840struct VkPipelineDynamicStateCreateInfo
841{
842	VkStructureType						sType;
843	const void*							pNext;
844	VkPipelineDynamicStateCreateFlags	flags;
845	deUint32							dynamicStateCount;
846	const VkDynamicState*				pDynamicStates;
847};
848
849struct VkGraphicsPipelineCreateInfo
850{
851	VkStructureType									sType;
852	const void*										pNext;
853	VkPipelineCreateFlags							flags;
854	deUint32										stageCount;
855	const VkPipelineShaderStageCreateInfo*			pStages;
856	const VkPipelineVertexInputStateCreateInfo*		pVertexInputState;
857	const VkPipelineInputAssemblyStateCreateInfo*	pInputAssemblyState;
858	const VkPipelineTessellationStateCreateInfo*	pTessellationState;
859	const VkPipelineViewportStateCreateInfo*		pViewportState;
860	const VkPipelineRasterizationStateCreateInfo*	pRasterizationState;
861	const VkPipelineMultisampleStateCreateInfo*		pMultisampleState;
862	const VkPipelineDepthStencilStateCreateInfo*	pDepthStencilState;
863	const VkPipelineColorBlendStateCreateInfo*		pColorBlendState;
864	const VkPipelineDynamicStateCreateInfo*			pDynamicState;
865	VkPipelineLayout								layout;
866	VkRenderPass									renderPass;
867	deUint32										subpass;
868	VkPipeline										basePipelineHandle;
869	deInt32											basePipelineIndex;
870};
871
872struct VkPushConstantRange
873{
874	VkShaderStageFlags	stageFlags;
875	deUint32			offset;
876	deUint32			size;
877};
878
879struct VkPipelineLayoutCreateInfo
880{
881	VkStructureType					sType;
882	const void*						pNext;
883	VkPipelineLayoutCreateFlags		flags;
884	deUint32						setLayoutCount;
885	const VkDescriptorSetLayout*	pSetLayouts;
886	deUint32						pushConstantRangeCount;
887	const VkPushConstantRange*		pPushConstantRanges;
888};
889
890struct VkSamplerCreateInfo
891{
892	VkStructureType			sType;
893	const void*				pNext;
894	VkSamplerCreateFlags	flags;
895	VkFilter				magFilter;
896	VkFilter				minFilter;
897	VkSamplerMipmapMode		mipmapMode;
898	VkSamplerAddressMode	addressModeU;
899	VkSamplerAddressMode	addressModeV;
900	VkSamplerAddressMode	addressModeW;
901	float					mipLodBias;
902	VkBool32				anisotropyEnable;
903	float					maxAnisotropy;
904	VkBool32				compareEnable;
905	VkCompareOp				compareOp;
906	float					minLod;
907	float					maxLod;
908	VkBorderColor			borderColor;
909	VkBool32				unnormalizedCoordinates;
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 VkDescriptorBufferInfo
926{
927	VkBuffer		buffer;
928	VkDeviceSize	offset;
929	VkDeviceSize	range;
930};
931
932struct VkDescriptorImageInfo
933{
934	VkSampler		sampler;
935	VkImageView		imageView;
936	VkImageLayout	imageLayout;
937};
938
939struct VkDescriptorPoolSize
940{
941	VkDescriptorType	type;
942	deUint32			descriptorCount;
943};
944
945struct VkDescriptorPoolCreateInfo
946{
947	VkStructureType				sType;
948	const void*					pNext;
949	VkDescriptorPoolCreateFlags	flags;
950	deUint32					maxSets;
951	deUint32					poolSizeCount;
952	const VkDescriptorPoolSize*	pPoolSizes;
953};
954
955struct VkDescriptorSetAllocateInfo
956{
957	VkStructureType					sType;
958	const void*						pNext;
959	VkDescriptorPool				descriptorPool;
960	deUint32						descriptorSetCount;
961	const VkDescriptorSetLayout*	pSetLayouts;
962};
963
964struct VkDescriptorSetLayoutBinding
965{
966	deUint32			binding;
967	VkDescriptorType	descriptorType;
968	deUint32			descriptorCount;
969	VkShaderStageFlags	stageFlags;
970	const VkSampler*	pImmutableSamplers;
971};
972
973struct VkDescriptorSetLayoutCreateInfo
974{
975	VkStructureType						sType;
976	const void*							pNext;
977	VkDescriptorSetLayoutCreateFlags	flags;
978	deUint32							bindingCount;
979	const VkDescriptorSetLayoutBinding*	pBindings;
980};
981
982struct VkWriteDescriptorSet
983{
984	VkStructureType					sType;
985	const void*						pNext;
986	VkDescriptorSet					dstSet;
987	deUint32						dstBinding;
988	deUint32						dstArrayElement;
989	deUint32						descriptorCount;
990	VkDescriptorType				descriptorType;
991	const VkDescriptorImageInfo*	pImageInfo;
992	const VkDescriptorBufferInfo*	pBufferInfo;
993	const VkBufferView*				pTexelBufferView;
994};
995
996struct VkAttachmentDescription
997{
998	VkAttachmentDescriptionFlags	flags;
999	VkFormat						format;
1000	VkSampleCountFlagBits			samples;
1001	VkAttachmentLoadOp				loadOp;
1002	VkAttachmentStoreOp				storeOp;
1003	VkAttachmentLoadOp				stencilLoadOp;
1004	VkAttachmentStoreOp				stencilStoreOp;
1005	VkImageLayout					initialLayout;
1006	VkImageLayout					finalLayout;
1007};
1008
1009struct VkAttachmentReference
1010{
1011	deUint32		attachment;
1012	VkImageLayout	layout;
1013};
1014
1015struct VkFramebufferCreateInfo
1016{
1017	VkStructureType				sType;
1018	const void*					pNext;
1019	VkFramebufferCreateFlags	flags;
1020	VkRenderPass				renderPass;
1021	deUint32					attachmentCount;
1022	const VkImageView*			pAttachments;
1023	deUint32					width;
1024	deUint32					height;
1025	deUint32					layers;
1026};
1027
1028struct VkSubpassDescription
1029{
1030	VkSubpassDescriptionFlags		flags;
1031	VkPipelineBindPoint				pipelineBindPoint;
1032	deUint32						inputAttachmentCount;
1033	const VkAttachmentReference*	pInputAttachments;
1034	deUint32						colorAttachmentCount;
1035	const VkAttachmentReference*	pColorAttachments;
1036	const VkAttachmentReference*	pResolveAttachments;
1037	const VkAttachmentReference*	pDepthStencilAttachment;
1038	deUint32						preserveAttachmentCount;
1039	const deUint32*					pPreserveAttachments;
1040};
1041
1042struct VkSubpassDependency
1043{
1044	deUint32				srcSubpass;
1045	deUint32				dstSubpass;
1046	VkPipelineStageFlags	srcStageMask;
1047	VkPipelineStageFlags	dstStageMask;
1048	VkAccessFlags			srcAccessMask;
1049	VkAccessFlags			dstAccessMask;
1050	VkDependencyFlags		dependencyFlags;
1051};
1052
1053struct VkRenderPassCreateInfo
1054{
1055	VkStructureType					sType;
1056	const void*						pNext;
1057	VkRenderPassCreateFlags			flags;
1058	deUint32						attachmentCount;
1059	const VkAttachmentDescription*	pAttachments;
1060	deUint32						subpassCount;
1061	const VkSubpassDescription*		pSubpasses;
1062	deUint32						dependencyCount;
1063	const VkSubpassDependency*		pDependencies;
1064};
1065
1066struct VkCommandPoolCreateInfo
1067{
1068	VkStructureType				sType;
1069	const void*					pNext;
1070	VkCommandPoolCreateFlags	flags;
1071	deUint32					queueFamilyIndex;
1072};
1073
1074struct VkCommandBufferAllocateInfo
1075{
1076	VkStructureType			sType;
1077	const void*				pNext;
1078	VkCommandPool			commandPool;
1079	VkCommandBufferLevel	level;
1080	deUint32				commandBufferCount;
1081};
1082
1083struct VkCommandBufferInheritanceInfo
1084{
1085	VkStructureType					sType;
1086	const void*						pNext;
1087	VkRenderPass					renderPass;
1088	deUint32						subpass;
1089	VkFramebuffer					framebuffer;
1090	VkBool32						occlusionQueryEnable;
1091	VkQueryControlFlags				queryFlags;
1092	VkQueryPipelineStatisticFlags	pipelineStatistics;
1093};
1094
1095struct VkCommandBufferBeginInfo
1096{
1097	VkStructureType							sType;
1098	const void*								pNext;
1099	VkCommandBufferUsageFlags				flags;
1100	const VkCommandBufferInheritanceInfo*	pInheritanceInfo;
1101};
1102
1103struct VkBufferCopy
1104{
1105	VkDeviceSize	srcOffset;
1106	VkDeviceSize	dstOffset;
1107	VkDeviceSize	size;
1108};
1109
1110struct VkImageSubresourceLayers
1111{
1112	VkImageAspectFlags	aspectMask;
1113	deUint32			mipLevel;
1114	deUint32			baseArrayLayer;
1115	deUint32			layerCount;
1116};
1117
1118struct VkBufferImageCopy
1119{
1120	VkDeviceSize				bufferOffset;
1121	deUint32					bufferRowLength;
1122	deUint32					bufferImageHeight;
1123	VkImageSubresourceLayers	imageSubresource;
1124	VkOffset3D					imageOffset;
1125	VkExtent3D					imageExtent;
1126};
1127
1128union VkClearColorValue
1129{
1130	float		float32[4];
1131	deInt32		int32[4];
1132	deUint32	uint32[4];
1133};
1134
1135struct VkClearDepthStencilValue
1136{
1137	float		depth;
1138	deUint32	stencil;
1139};
1140
1141union VkClearValue
1142{
1143	VkClearColorValue			color;
1144	VkClearDepthStencilValue	depthStencil;
1145};
1146
1147struct VkClearAttachment
1148{
1149	VkImageAspectFlags	aspectMask;
1150	deUint32			colorAttachment;
1151	VkClearValue		clearValue;
1152};
1153
1154struct VkClearRect
1155{
1156	VkRect2D	rect;
1157	deUint32	baseArrayLayer;
1158	deUint32	layerCount;
1159};
1160
1161struct VkImageBlit
1162{
1163	VkImageSubresourceLayers	srcSubresource;
1164	VkOffset3D					srcOffsets[2];
1165	VkImageSubresourceLayers	dstSubresource;
1166	VkOffset3D					dstOffsets[2];
1167};
1168
1169struct VkImageCopy
1170{
1171	VkImageSubresourceLayers	srcSubresource;
1172	VkOffset3D					srcOffset;
1173	VkImageSubresourceLayers	dstSubresource;
1174	VkOffset3D					dstOffset;
1175	VkExtent3D					extent;
1176};
1177
1178struct VkImageResolve
1179{
1180	VkImageSubresourceLayers	srcSubresource;
1181	VkOffset3D					srcOffset;
1182	VkImageSubresourceLayers	dstSubresource;
1183	VkOffset3D					dstOffset;
1184	VkExtent3D					extent;
1185};
1186
1187struct VkRenderPassBeginInfo
1188{
1189	VkStructureType		sType;
1190	const void*			pNext;
1191	VkRenderPass		renderPass;
1192	VkFramebuffer		framebuffer;
1193	VkRect2D			renderArea;
1194	deUint32			clearValueCount;
1195	const VkClearValue*	pClearValues;
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 VkDisplayModeParametersKHR
2463{
2464	VkExtent2D	visibleRegion;
2465	deUint32	refreshRate;
2466};
2467
2468struct VkDisplayModeCreateInfoKHR
2469{
2470	VkStructureType				sType;
2471	const void*					pNext;
2472	VkDisplayModeCreateFlagsKHR	flags;
2473	VkDisplayModeParametersKHR	parameters;
2474};
2475
2476struct VkDisplayModePropertiesKHR
2477{
2478	VkDisplayModeKHR			displayMode;
2479	VkDisplayModeParametersKHR	parameters;
2480};
2481
2482struct VkDisplayPlaneCapabilitiesKHR
2483{
2484	VkDisplayPlaneAlphaFlagsKHR	supportedAlpha;
2485	VkOffset2D					minSrcPosition;
2486	VkOffset2D					maxSrcPosition;
2487	VkExtent2D					minSrcExtent;
2488	VkExtent2D					maxSrcExtent;
2489	VkOffset2D					minDstPosition;
2490	VkOffset2D					maxDstPosition;
2491	VkExtent2D					minDstExtent;
2492	VkExtent2D					maxDstExtent;
2493};
2494
2495struct VkDisplayPlanePropertiesKHR
2496{
2497	VkDisplayKHR	currentDisplay;
2498	deUint32		currentStackIndex;
2499};
2500
2501struct VkDisplayPropertiesKHR
2502{
2503	VkDisplayKHR				display;
2504	const char*					displayName;
2505	VkExtent2D					physicalDimensions;
2506	VkExtent2D					physicalResolution;
2507	VkSurfaceTransformFlagsKHR	supportedTransforms;
2508	VkBool32					planeReorderPossible;
2509	VkBool32					persistentContent;
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 VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
2764{
2765	VkStructureType	sType;
2766	void*			pNext;
2767	VkBool32		shaderTerminateInvocation;
2768};
2769
2770struct VkFragmentShadingRateAttachmentInfoKHR
2771{
2772	VkStructureType					sType;
2773	const void*						pNext;
2774	const VkAttachmentReference2*	pFragmentShadingRateAttachment;
2775	VkExtent2D						shadingRateAttachmentTexelSize;
2776};
2777
2778struct VkPipelineFragmentShadingRateStateCreateInfoKHR
2779{
2780	VkStructureType						sType;
2781	const void*							pNext;
2782	VkExtent2D							fragmentSize;
2783	VkFragmentShadingRateCombinerOpKHR	combinerOps[2];
2784};
2785
2786struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR
2787{
2788	VkStructureType	sType;
2789	void*			pNext;
2790	VkBool32		pipelineFragmentShadingRate;
2791	VkBool32		primitiveFragmentShadingRate;
2792	VkBool32		attachmentFragmentShadingRate;
2793};
2794
2795struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR
2796{
2797	VkStructureType			sType;
2798	void*					pNext;
2799	VkExtent2D				minFragmentShadingRateAttachmentTexelSize;
2800	VkExtent2D				maxFragmentShadingRateAttachmentTexelSize;
2801	deUint32				maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
2802	VkBool32				primitiveFragmentShadingRateWithMultipleViewports;
2803	VkBool32				layeredShadingRateAttachments;
2804	VkBool32				fragmentShadingRateNonTrivialCombinerOps;
2805	VkExtent2D				maxFragmentSize;
2806	deUint32				maxFragmentSizeAspectRatio;
2807	deUint32				maxFragmentShadingRateCoverageSamples;
2808	VkSampleCountFlagBits	maxFragmentShadingRateRasterizationSamples;
2809	VkBool32				fragmentShadingRateWithShaderDepthStencilWrites;
2810	VkBool32				fragmentShadingRateWithSampleMask;
2811	VkBool32				fragmentShadingRateWithShaderSampleMask;
2812	VkBool32				fragmentShadingRateWithConservativeRasterization;
2813	VkBool32				fragmentShadingRateWithFragmentShaderInterlock;
2814	VkBool32				fragmentShadingRateWithCustomSampleLocations;
2815	VkBool32				fragmentShadingRateStrictMultiplyCombiner;
2816};
2817
2818struct VkPhysicalDeviceFragmentShadingRateKHR
2819{
2820	VkStructureType		sType;
2821	void*				pNext;
2822	VkSampleCountFlags	sampleCounts;
2823	VkExtent2D			fragmentSize;
2824};
2825
2826struct VkSurfaceProtectedCapabilitiesKHR
2827{
2828	VkStructureType	sType;
2829	const void*		pNext;
2830	VkBool32		supportsProtected;
2831};
2832
2833struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
2834{
2835	VkStructureType	sType;
2836	void*			pNext;
2837	VkBool32		pipelineExecutableInfo;
2838};
2839
2840struct VkPipelineInfoKHR
2841{
2842	VkStructureType	sType;
2843	const void*		pNext;
2844	VkPipeline		pipeline;
2845};
2846
2847struct VkPipelineExecutablePropertiesKHR
2848{
2849	VkStructureType		sType;
2850	void*				pNext;
2851	VkShaderStageFlags	stages;
2852	char				name[VK_MAX_DESCRIPTION_SIZE];
2853	char				description[VK_MAX_DESCRIPTION_SIZE];
2854	deUint32			subgroupSize;
2855};
2856
2857struct VkPipelineExecutableInfoKHR
2858{
2859	VkStructureType	sType;
2860	const void*		pNext;
2861	VkPipeline		pipeline;
2862	deUint32		executableIndex;
2863};
2864
2865union VkPipelineExecutableStatisticValueKHR
2866{
2867	VkBool32	b32;
2868	deInt64		i64;
2869	deUint64	u64;
2870	double		f64;
2871};
2872
2873struct VkPipelineExecutableStatisticKHR
2874{
2875	VkStructureType							sType;
2876	void*									pNext;
2877	char									name[VK_MAX_DESCRIPTION_SIZE];
2878	char									description[VK_MAX_DESCRIPTION_SIZE];
2879	VkPipelineExecutableStatisticFormatKHR	format;
2880	VkPipelineExecutableStatisticValueKHR	value;
2881};
2882
2883struct VkPipelineExecutableInternalRepresentationKHR
2884{
2885	VkStructureType	sType;
2886	void*			pNext;
2887	char			name[VK_MAX_DESCRIPTION_SIZE];
2888	char			description[VK_MAX_DESCRIPTION_SIZE];
2889	VkBool32		isText;
2890	deUintptr		dataSize;
2891	void*			pData;
2892};
2893
2894struct VkPipelineLibraryCreateInfoKHR
2895{
2896	VkStructureType		sType;
2897	const void*			pNext;
2898	deUint32			libraryCount;
2899	const VkPipeline*	pLibraries;
2900};
2901
2902struct VkMemoryBarrier2KHR
2903{
2904	VkStructureType				sType;
2905	const void*					pNext;
2906	VkPipelineStageFlags2KHR	srcStageMask;
2907	VkAccessFlags2KHR			srcAccessMask;
2908	VkPipelineStageFlags2KHR	dstStageMask;
2909	VkAccessFlags2KHR			dstAccessMask;
2910};
2911
2912struct VkBufferMemoryBarrier2KHR
2913{
2914	VkStructureType				sType;
2915	const void*					pNext;
2916	VkPipelineStageFlags2KHR	srcStageMask;
2917	VkAccessFlags2KHR			srcAccessMask;
2918	VkPipelineStageFlags2KHR	dstStageMask;
2919	VkAccessFlags2KHR			dstAccessMask;
2920	deUint32					srcQueueFamilyIndex;
2921	deUint32					dstQueueFamilyIndex;
2922	VkBuffer					buffer;
2923	VkDeviceSize				offset;
2924	VkDeviceSize				size;
2925};
2926
2927struct VkImageMemoryBarrier2KHR
2928{
2929	VkStructureType				sType;
2930	const void*					pNext;
2931	VkPipelineStageFlags2KHR	srcStageMask;
2932	VkAccessFlags2KHR			srcAccessMask;
2933	VkPipelineStageFlags2KHR	dstStageMask;
2934	VkAccessFlags2KHR			dstAccessMask;
2935	VkImageLayout				oldLayout;
2936	VkImageLayout				newLayout;
2937	deUint32					srcQueueFamilyIndex;
2938	deUint32					dstQueueFamilyIndex;
2939	VkImage						image;
2940	VkImageSubresourceRange		subresourceRange;
2941};
2942
2943struct VkDependencyInfoKHR
2944{
2945	VkStructureType						sType;
2946	const void*							pNext;
2947	VkDependencyFlags					dependencyFlags;
2948	deUint32							memoryBarrierCount;
2949	const VkMemoryBarrier2KHR*			pMemoryBarriers;
2950	deUint32							bufferMemoryBarrierCount;
2951	const VkBufferMemoryBarrier2KHR*	pBufferMemoryBarriers;
2952	deUint32							imageMemoryBarrierCount;
2953	const VkImageMemoryBarrier2KHR*		pImageMemoryBarriers;
2954};
2955
2956struct VkSemaphoreSubmitInfoKHR
2957{
2958	VkStructureType				sType;
2959	const void*					pNext;
2960	VkSemaphore					semaphore;
2961	deUint64					value;
2962	VkPipelineStageFlags2KHR	stageMask;
2963	deUint32					deviceIndex;
2964};
2965
2966struct VkCommandBufferSubmitInfoKHR
2967{
2968	VkStructureType	sType;
2969	const void*		pNext;
2970	VkCommandBuffer	commandBuffer;
2971	deUint32		deviceMask;
2972};
2973
2974struct VkSubmitInfo2KHR
2975{
2976	VkStructureType						sType;
2977	const void*							pNext;
2978	VkSubmitFlagsKHR					flags;
2979	deUint32							waitSemaphoreInfoCount;
2980	const VkSemaphoreSubmitInfoKHR*		pWaitSemaphoreInfos;
2981	deUint32							commandBufferInfoCount;
2982	const VkCommandBufferSubmitInfoKHR*	pCommandBufferInfos;
2983	deUint32							signalSemaphoreInfoCount;
2984	const VkSemaphoreSubmitInfoKHR*		pSignalSemaphoreInfos;
2985};
2986
2987struct VkPhysicalDeviceSynchronization2FeaturesKHR
2988{
2989	VkStructureType	sType;
2990	void*			pNext;
2991	VkBool32		synchronization2;
2992};
2993
2994struct VkQueueFamilyCheckpointProperties2NV
2995{
2996	VkStructureType				sType;
2997	void*						pNext;
2998	VkPipelineStageFlags2KHR	checkpointExecutionStageMask;
2999};
3000
3001struct VkCheckpointData2NV
3002{
3003	VkStructureType				sType;
3004	void*						pNext;
3005	VkPipelineStageFlags2KHR	stage;
3006	void*						pCheckpointMarker;
3007};
3008
3009struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
3010{
3011	VkStructureType	sType;
3012	void*			pNext;
3013	VkBool32		shaderZeroInitializeWorkgroupMemory;
3014};
3015
3016struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
3017{
3018	VkStructureType	sType;
3019	void*			pNext;
3020	VkBool32		workgroupMemoryExplicitLayout;
3021	VkBool32		workgroupMemoryExplicitLayoutScalarBlockLayout;
3022	VkBool32		workgroupMemoryExplicitLayout8BitAccess;
3023	VkBool32		workgroupMemoryExplicitLayout16BitAccess;
3024};
3025
3026struct VkBufferCopy2KHR
3027{
3028	VkStructureType	sType;
3029	const void*		pNext;
3030	VkDeviceSize	srcOffset;
3031	VkDeviceSize	dstOffset;
3032	VkDeviceSize	size;
3033};
3034
3035struct VkCopyBufferInfo2KHR
3036{
3037	VkStructureType			sType;
3038	const void*				pNext;
3039	VkBuffer				srcBuffer;
3040	VkBuffer				dstBuffer;
3041	deUint32				regionCount;
3042	const VkBufferCopy2KHR*	pRegions;
3043};
3044
3045struct VkImageCopy2KHR
3046{
3047	VkStructureType				sType;
3048	const void*					pNext;
3049	VkImageSubresourceLayers	srcSubresource;
3050	VkOffset3D					srcOffset;
3051	VkImageSubresourceLayers	dstSubresource;
3052	VkOffset3D					dstOffset;
3053	VkExtent3D					extent;
3054};
3055
3056struct VkCopyImageInfo2KHR
3057{
3058	VkStructureType			sType;
3059	const void*				pNext;
3060	VkImage					srcImage;
3061	VkImageLayout			srcImageLayout;
3062	VkImage					dstImage;
3063	VkImageLayout			dstImageLayout;
3064	deUint32				regionCount;
3065	const VkImageCopy2KHR*	pRegions;
3066};
3067
3068struct VkBufferImageCopy2KHR
3069{
3070	VkStructureType				sType;
3071	const void*					pNext;
3072	VkDeviceSize				bufferOffset;
3073	deUint32					bufferRowLength;
3074	deUint32					bufferImageHeight;
3075	VkImageSubresourceLayers	imageSubresource;
3076	VkOffset3D					imageOffset;
3077	VkExtent3D					imageExtent;
3078};
3079
3080struct VkCopyBufferToImageInfo2KHR
3081{
3082	VkStructureType					sType;
3083	const void*						pNext;
3084	VkBuffer						srcBuffer;
3085	VkImage							dstImage;
3086	VkImageLayout					dstImageLayout;
3087	deUint32						regionCount;
3088	const VkBufferImageCopy2KHR*	pRegions;
3089};
3090
3091struct VkCopyImageToBufferInfo2KHR
3092{
3093	VkStructureType					sType;
3094	const void*						pNext;
3095	VkImage							srcImage;
3096	VkImageLayout					srcImageLayout;
3097	VkBuffer						dstBuffer;
3098	deUint32						regionCount;
3099	const VkBufferImageCopy2KHR*	pRegions;
3100};
3101
3102struct VkImageBlit2KHR
3103{
3104	VkStructureType				sType;
3105	const void*					pNext;
3106	VkImageSubresourceLayers	srcSubresource;
3107	VkOffset3D					srcOffsets[2];
3108	VkImageSubresourceLayers	dstSubresource;
3109	VkOffset3D					dstOffsets[2];
3110};
3111
3112struct VkBlitImageInfo2KHR
3113{
3114	VkStructureType			sType;
3115	const void*				pNext;
3116	VkImage					srcImage;
3117	VkImageLayout			srcImageLayout;
3118	VkImage					dstImage;
3119	VkImageLayout			dstImageLayout;
3120	deUint32				regionCount;
3121	const VkImageBlit2KHR*	pRegions;
3122	VkFilter				filter;
3123};
3124
3125struct VkImageResolve2KHR
3126{
3127	VkStructureType				sType;
3128	const void*					pNext;
3129	VkImageSubresourceLayers	srcSubresource;
3130	VkOffset3D					srcOffset;
3131	VkImageSubresourceLayers	dstSubresource;
3132	VkOffset3D					dstOffset;
3133	VkExtent3D					extent;
3134};
3135
3136struct VkResolveImageInfo2KHR
3137{
3138	VkStructureType				sType;
3139	const void*					pNext;
3140	VkImage						srcImage;
3141	VkImageLayout				srcImageLayout;
3142	VkImage						dstImage;
3143	VkImageLayout				dstImageLayout;
3144	deUint32					regionCount;
3145	const VkImageResolve2KHR*	pRegions;
3146};
3147
3148struct VkDebugReportCallbackCreateInfoEXT
3149{
3150	VkStructureType					sType;
3151	const void*						pNext;
3152	VkDebugReportFlagsEXT			flags;
3153	PFN_vkDebugReportCallbackEXT	pfnCallback;
3154	void*							pUserData;
3155};
3156
3157struct VkPipelineRasterizationStateRasterizationOrderAMD
3158{
3159	VkStructureType			sType;
3160	const void*				pNext;
3161	VkRasterizationOrderAMD	rasterizationOrder;
3162};
3163
3164struct VkDebugMarkerObjectNameInfoEXT
3165{
3166	VkStructureType				sType;
3167	const void*					pNext;
3168	VkDebugReportObjectTypeEXT	objectType;
3169	deUint64					object;
3170	const char*					pObjectName;
3171};
3172
3173struct VkDebugMarkerObjectTagInfoEXT
3174{
3175	VkStructureType				sType;
3176	const void*					pNext;
3177	VkDebugReportObjectTypeEXT	objectType;
3178	deUint64					object;
3179	deUint64					tagName;
3180	deUintptr					tagSize;
3181	const void*					pTag;
3182};
3183
3184struct VkDebugMarkerMarkerInfoEXT
3185{
3186	VkStructureType	sType;
3187	const void*		pNext;
3188	const char*		pMarkerName;
3189	float			color[4];
3190};
3191
3192struct VkDedicatedAllocationImageCreateInfoNV
3193{
3194	VkStructureType	sType;
3195	const void*		pNext;
3196	VkBool32		dedicatedAllocation;
3197};
3198
3199struct VkDedicatedAllocationBufferCreateInfoNV
3200{
3201	VkStructureType	sType;
3202	const void*		pNext;
3203	VkBool32		dedicatedAllocation;
3204};
3205
3206struct VkDedicatedAllocationMemoryAllocateInfoNV
3207{
3208	VkStructureType	sType;
3209	const void*		pNext;
3210	VkImage			image;
3211	VkBuffer		buffer;
3212};
3213
3214struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
3215{
3216	VkStructureType	sType;
3217	void*			pNext;
3218	VkBool32		transformFeedback;
3219	VkBool32		geometryStreams;
3220};
3221
3222struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
3223{
3224	VkStructureType	sType;
3225	void*			pNext;
3226	deUint32		maxTransformFeedbackStreams;
3227	deUint32		maxTransformFeedbackBuffers;
3228	VkDeviceSize	maxTransformFeedbackBufferSize;
3229	deUint32		maxTransformFeedbackStreamDataSize;
3230	deUint32		maxTransformFeedbackBufferDataSize;
3231	deUint32		maxTransformFeedbackBufferDataStride;
3232	VkBool32		transformFeedbackQueries;
3233	VkBool32		transformFeedbackStreamsLinesTriangles;
3234	VkBool32		transformFeedbackRasterizationStreamSelect;
3235	VkBool32		transformFeedbackDraw;
3236};
3237
3238struct VkPipelineRasterizationStateStreamCreateInfoEXT
3239{
3240	VkStructureType										sType;
3241	const void*											pNext;
3242	VkPipelineRasterizationStateStreamCreateFlagsEXT	flags;
3243	deUint32											rasterizationStream;
3244};
3245
3246struct VkImageViewHandleInfoNVX
3247{
3248	VkStructureType		sType;
3249	const void*			pNext;
3250	VkImageView			imageView;
3251	VkDescriptorType	descriptorType;
3252	VkSampler			sampler;
3253};
3254
3255struct VkImageViewAddressPropertiesNVX
3256{
3257	VkStructureType	sType;
3258	void*			pNext;
3259	VkDeviceAddress	deviceAddress;
3260	VkDeviceSize	size;
3261};
3262
3263struct VkTextureLODGatherFormatPropertiesAMD
3264{
3265	VkStructureType	sType;
3266	void*			pNext;
3267	VkBool32		supportsTextureGatherLODBiasAMD;
3268};
3269
3270struct VkShaderResourceUsageAMD
3271{
3272	deUint32	numUsedVgprs;
3273	deUint32	numUsedSgprs;
3274	deUint32	ldsSizePerLocalWorkGroup;
3275	deUintptr	ldsUsageSizeInBytes;
3276	deUintptr	scratchMemUsageInBytes;
3277};
3278
3279struct VkShaderStatisticsInfoAMD
3280{
3281	VkShaderStageFlags			shaderStageMask;
3282	VkShaderResourceUsageAMD	resourceUsage;
3283	deUint32					numPhysicalVgprs;
3284	deUint32					numPhysicalSgprs;
3285	deUint32					numAvailableVgprs;
3286	deUint32					numAvailableSgprs;
3287	deUint32					computeWorkGroupSize[3];
3288};
3289
3290struct VkPhysicalDeviceCornerSampledImageFeaturesNV
3291{
3292	VkStructureType	sType;
3293	void*			pNext;
3294	VkBool32		cornerSampledImage;
3295};
3296
3297struct VkExternalImageFormatPropertiesNV
3298{
3299	VkImageFormatProperties				imageFormatProperties;
3300	VkExternalMemoryFeatureFlagsNV		externalMemoryFeatures;
3301	VkExternalMemoryHandleTypeFlagsNV	exportFromImportedHandleTypes;
3302	VkExternalMemoryHandleTypeFlagsNV	compatibleHandleTypes;
3303};
3304
3305struct VkExternalMemoryImageCreateInfoNV
3306{
3307	VkStructureType						sType;
3308	const void*							pNext;
3309	VkExternalMemoryHandleTypeFlagsNV	handleTypes;
3310};
3311
3312struct VkExportMemoryAllocateInfoNV
3313{
3314	VkStructureType						sType;
3315	const void*							pNext;
3316	VkExternalMemoryHandleTypeFlagsNV	handleTypes;
3317};
3318
3319struct VkValidationFlagsEXT
3320{
3321	VkStructureType				sType;
3322	const void*					pNext;
3323	deUint32					disabledValidationCheckCount;
3324	const VkValidationCheckEXT*	pDisabledValidationChecks;
3325};
3326
3327struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
3328{
3329	VkStructureType	sType;
3330	void*			pNext;
3331	VkBool32		textureCompressionASTC_HDR;
3332};
3333
3334struct VkImageViewASTCDecodeModeEXT
3335{
3336	VkStructureType	sType;
3337	const void*		pNext;
3338	VkFormat		decodeMode;
3339};
3340
3341struct VkPhysicalDeviceASTCDecodeFeaturesEXT
3342{
3343	VkStructureType	sType;
3344	void*			pNext;
3345	VkBool32		decodeModeSharedExponent;
3346};
3347
3348struct VkConditionalRenderingBeginInfoEXT
3349{
3350	VkStructureType					sType;
3351	const void*						pNext;
3352	VkBuffer						buffer;
3353	VkDeviceSize					offset;
3354	VkConditionalRenderingFlagsEXT	flags;
3355};
3356
3357struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
3358{
3359	VkStructureType	sType;
3360	void*			pNext;
3361	VkBool32		conditionalRendering;
3362	VkBool32		inheritedConditionalRendering;
3363};
3364
3365struct VkCommandBufferInheritanceConditionalRenderingInfoEXT
3366{
3367	VkStructureType	sType;
3368	const void*		pNext;
3369	VkBool32		conditionalRenderingEnable;
3370};
3371
3372struct VkViewportWScalingNV
3373{
3374	float	xcoeff;
3375	float	ycoeff;
3376};
3377
3378struct VkPipelineViewportWScalingStateCreateInfoNV
3379{
3380	VkStructureType				sType;
3381	const void*					pNext;
3382	VkBool32					viewportWScalingEnable;
3383	deUint32					viewportCount;
3384	const VkViewportWScalingNV*	pViewportWScalings;
3385};
3386
3387struct VkSurfaceCapabilities2EXT
3388{
3389	VkStructureType					sType;
3390	void*							pNext;
3391	deUint32						minImageCount;
3392	deUint32						maxImageCount;
3393	VkExtent2D						currentExtent;
3394	VkExtent2D						minImageExtent;
3395	VkExtent2D						maxImageExtent;
3396	deUint32						maxImageArrayLayers;
3397	VkSurfaceTransformFlagsKHR		supportedTransforms;
3398	VkSurfaceTransformFlagBitsKHR	currentTransform;
3399	VkCompositeAlphaFlagsKHR		supportedCompositeAlpha;
3400	VkImageUsageFlags				supportedUsageFlags;
3401	VkSurfaceCounterFlagsEXT		supportedSurfaceCounters;
3402};
3403
3404struct VkDisplayPowerInfoEXT
3405{
3406	VkStructureType			sType;
3407	const void*				pNext;
3408	VkDisplayPowerStateEXT	powerState;
3409};
3410
3411struct VkDeviceEventInfoEXT
3412{
3413	VkStructureType			sType;
3414	const void*				pNext;
3415	VkDeviceEventTypeEXT	deviceEvent;
3416};
3417
3418struct VkDisplayEventInfoEXT
3419{
3420	VkStructureType			sType;
3421	const void*				pNext;
3422	VkDisplayEventTypeEXT	displayEvent;
3423};
3424
3425struct VkSwapchainCounterCreateInfoEXT
3426{
3427	VkStructureType				sType;
3428	const void*					pNext;
3429	VkSurfaceCounterFlagsEXT	surfaceCounters;
3430};
3431
3432struct VkRefreshCycleDurationGOOGLE
3433{
3434	deUint64	refreshDuration;
3435};
3436
3437struct VkPastPresentationTimingGOOGLE
3438{
3439	deUint32	presentID;
3440	deUint64	desiredPresentTime;
3441	deUint64	actualPresentTime;
3442	deUint64	earliestPresentTime;
3443	deUint64	presentMargin;
3444};
3445
3446struct VkPresentTimeGOOGLE
3447{
3448	deUint32	presentID;
3449	deUint64	desiredPresentTime;
3450};
3451
3452struct VkPresentTimesInfoGOOGLE
3453{
3454	VkStructureType				sType;
3455	const void*					pNext;
3456	deUint32					swapchainCount;
3457	const VkPresentTimeGOOGLE*	pTimes;
3458};
3459
3460struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
3461{
3462	VkStructureType	sType;
3463	void*			pNext;
3464	VkBool32		perViewPositionAllComponents;
3465};
3466
3467struct VkViewportSwizzleNV
3468{
3469	VkViewportCoordinateSwizzleNV	x;
3470	VkViewportCoordinateSwizzleNV	y;
3471	VkViewportCoordinateSwizzleNV	z;
3472	VkViewportCoordinateSwizzleNV	w;
3473};
3474
3475struct VkPipelineViewportSwizzleStateCreateInfoNV
3476{
3477	VkStructureType								sType;
3478	const void*									pNext;
3479	VkPipelineViewportSwizzleStateCreateFlagsNV	flags;
3480	deUint32									viewportCount;
3481	const VkViewportSwizzleNV*					pViewportSwizzles;
3482};
3483
3484struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
3485{
3486	VkStructureType	sType;
3487	void*			pNext;
3488	deUint32		maxDiscardRectangles;
3489};
3490
3491struct VkPipelineDiscardRectangleStateCreateInfoEXT
3492{
3493	VkStructureType									sType;
3494	const void*										pNext;
3495	VkPipelineDiscardRectangleStateCreateFlagsEXT	flags;
3496	VkDiscardRectangleModeEXT						discardRectangleMode;
3497	deUint32										discardRectangleCount;
3498	const VkRect2D*									pDiscardRectangles;
3499};
3500
3501struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT
3502{
3503	VkStructureType	sType;
3504	void*			pNext;
3505	float			primitiveOverestimationSize;
3506	float			maxExtraPrimitiveOverestimationSize;
3507	float			extraPrimitiveOverestimationSizeGranularity;
3508	VkBool32		primitiveUnderestimation;
3509	VkBool32		conservativePointAndLineRasterization;
3510	VkBool32		degenerateTrianglesRasterized;
3511	VkBool32		degenerateLinesRasterized;
3512	VkBool32		fullyCoveredFragmentShaderInputVariable;
3513	VkBool32		conservativeRasterizationPostDepthCoverage;
3514};
3515
3516struct VkPipelineRasterizationConservativeStateCreateInfoEXT
3517{
3518	VkStructureType											sType;
3519	const void*												pNext;
3520	VkPipelineRasterizationConservativeStateCreateFlagsEXT	flags;
3521	VkConservativeRasterizationModeEXT						conservativeRasterizationMode;
3522	float													extraPrimitiveOverestimationSize;
3523};
3524
3525struct VkPhysicalDeviceDepthClipEnableFeaturesEXT
3526{
3527	VkStructureType	sType;
3528	void*			pNext;
3529	VkBool32		depthClipEnable;
3530};
3531
3532struct VkPipelineRasterizationDepthClipStateCreateInfoEXT
3533{
3534	VkStructureType										sType;
3535	const void*											pNext;
3536	VkPipelineRasterizationDepthClipStateCreateFlagsEXT	flags;
3537	VkBool32											depthClipEnable;
3538};
3539
3540struct VkXYColorEXT
3541{
3542	float	x;
3543	float	y;
3544};
3545
3546struct VkHdrMetadataEXT
3547{
3548	VkStructureType	sType;
3549	const void*		pNext;
3550	VkXYColorEXT	displayPrimaryRed;
3551	VkXYColorEXT	displayPrimaryGreen;
3552	VkXYColorEXT	displayPrimaryBlue;
3553	VkXYColorEXT	whitePoint;
3554	float			maxLuminance;
3555	float			minLuminance;
3556	float			maxContentLightLevel;
3557	float			maxFrameAverageLightLevel;
3558};
3559
3560struct VkDebugUtilsLabelEXT
3561{
3562	VkStructureType	sType;
3563	const void*		pNext;
3564	const char*		pLabelName;
3565	float			color[4];
3566};
3567
3568struct VkDebugUtilsObjectNameInfoEXT
3569{
3570	VkStructureType	sType;
3571	const void*		pNext;
3572	VkObjectType	objectType;
3573	deUint64		objectHandle;
3574	const char*		pObjectName;
3575};
3576
3577struct VkDebugUtilsMessengerCallbackDataEXT
3578{
3579	VkStructureType								sType;
3580	const void*									pNext;
3581	VkDebugUtilsMessengerCallbackDataFlagsEXT	flags;
3582	const char*									pMessageIdName;
3583	deInt32										messageIdNumber;
3584	const char*									pMessage;
3585	deUint32									queueLabelCount;
3586	const VkDebugUtilsLabelEXT*					pQueueLabels;
3587	deUint32									cmdBufLabelCount;
3588	const VkDebugUtilsLabelEXT*					pCmdBufLabels;
3589	deUint32									objectCount;
3590	const VkDebugUtilsObjectNameInfoEXT*		pObjects;
3591};
3592
3593struct VkDebugUtilsMessengerCreateInfoEXT
3594{
3595	VkStructureType							sType;
3596	const void*								pNext;
3597	VkDebugUtilsMessengerCreateFlagsEXT		flags;
3598	VkDebugUtilsMessageSeverityFlagsEXT		messageSeverity;
3599	VkDebugUtilsMessageTypeFlagsEXT			messageType;
3600	PFN_vkDebugUtilsMessengerCallbackEXT	pfnUserCallback;
3601	void*									pUserData;
3602};
3603
3604struct VkDebugUtilsObjectTagInfoEXT
3605{
3606	VkStructureType	sType;
3607	const void*		pNext;
3608	VkObjectType	objectType;
3609	deUint64		objectHandle;
3610	deUint64		tagName;
3611	deUintptr		tagSize;
3612	const void*		pTag;
3613};
3614
3615struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
3616{
3617	VkStructureType	sType;
3618	void*			pNext;
3619	VkBool32		inlineUniformBlock;
3620	VkBool32		descriptorBindingInlineUniformBlockUpdateAfterBind;
3621};
3622
3623struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
3624{
3625	VkStructureType	sType;
3626	void*			pNext;
3627	deUint32		maxInlineUniformBlockSize;
3628	deUint32		maxPerStageDescriptorInlineUniformBlocks;
3629	deUint32		maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
3630	deUint32		maxDescriptorSetInlineUniformBlocks;
3631	deUint32		maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
3632};
3633
3634struct VkWriteDescriptorSetInlineUniformBlockEXT
3635{
3636	VkStructureType	sType;
3637	const void*		pNext;
3638	deUint32		dataSize;
3639	const void*		pData;
3640};
3641
3642struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT
3643{
3644	VkStructureType	sType;
3645	const void*		pNext;
3646	deUint32		maxInlineUniformBlockBindings;
3647};
3648
3649struct VkSampleLocationEXT
3650{
3651	float	x;
3652	float	y;
3653};
3654
3655struct VkSampleLocationsInfoEXT
3656{
3657	VkStructureType				sType;
3658	const void*					pNext;
3659	VkSampleCountFlagBits		sampleLocationsPerPixel;
3660	VkExtent2D					sampleLocationGridSize;
3661	deUint32					sampleLocationsCount;
3662	const VkSampleLocationEXT*	pSampleLocations;
3663};
3664
3665struct VkAttachmentSampleLocationsEXT
3666{
3667	deUint32					attachmentIndex;
3668	VkSampleLocationsInfoEXT	sampleLocationsInfo;
3669};
3670
3671struct VkSubpassSampleLocationsEXT
3672{
3673	deUint32					subpassIndex;
3674	VkSampleLocationsInfoEXT	sampleLocationsInfo;
3675};
3676
3677struct VkRenderPassSampleLocationsBeginInfoEXT
3678{
3679	VkStructureType							sType;
3680	const void*								pNext;
3681	deUint32								attachmentInitialSampleLocationsCount;
3682	const VkAttachmentSampleLocationsEXT*	pAttachmentInitialSampleLocations;
3683	deUint32								postSubpassSampleLocationsCount;
3684	const VkSubpassSampleLocationsEXT*		pPostSubpassSampleLocations;
3685};
3686
3687struct VkPipelineSampleLocationsStateCreateInfoEXT
3688{
3689	VkStructureType				sType;
3690	const void*					pNext;
3691	VkBool32					sampleLocationsEnable;
3692	VkSampleLocationsInfoEXT	sampleLocationsInfo;
3693};
3694
3695struct VkPhysicalDeviceSampleLocationsPropertiesEXT
3696{
3697	VkStructureType		sType;
3698	void*				pNext;
3699	VkSampleCountFlags	sampleLocationSampleCounts;
3700	VkExtent2D			maxSampleLocationGridSize;
3701	float				sampleLocationCoordinateRange[2];
3702	deUint32			sampleLocationSubPixelBits;
3703	VkBool32			variableSampleLocations;
3704};
3705
3706struct VkMultisamplePropertiesEXT
3707{
3708	VkStructureType	sType;
3709	void*			pNext;
3710	VkExtent2D		maxSampleLocationGridSize;
3711};
3712
3713struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
3714{
3715	VkStructureType	sType;
3716	void*			pNext;
3717	VkBool32		advancedBlendCoherentOperations;
3718};
3719
3720struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
3721{
3722	VkStructureType	sType;
3723	void*			pNext;
3724	deUint32		advancedBlendMaxColorAttachments;
3725	VkBool32		advancedBlendIndependentBlend;
3726	VkBool32		advancedBlendNonPremultipliedSrcColor;
3727	VkBool32		advancedBlendNonPremultipliedDstColor;
3728	VkBool32		advancedBlendCorrelatedOverlap;
3729	VkBool32		advancedBlendAllOperations;
3730};
3731
3732struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
3733{
3734	VkStructureType		sType;
3735	const void*			pNext;
3736	VkBool32			srcPremultiplied;
3737	VkBool32			dstPremultiplied;
3738	VkBlendOverlapEXT	blendOverlap;
3739};
3740
3741struct VkPipelineCoverageToColorStateCreateInfoNV
3742{
3743	VkStructureType								sType;
3744	const void*									pNext;
3745	VkPipelineCoverageToColorStateCreateFlagsNV	flags;
3746	VkBool32									coverageToColorEnable;
3747	deUint32									coverageToColorLocation;
3748};
3749
3750struct VkPipelineCoverageModulationStateCreateInfoNV
3751{
3752	VkStructureType									sType;
3753	const void*										pNext;
3754	VkPipelineCoverageModulationStateCreateFlagsNV	flags;
3755	VkCoverageModulationModeNV						coverageModulationMode;
3756	VkBool32										coverageModulationTableEnable;
3757	deUint32										coverageModulationTableCount;
3758	const float*									pCoverageModulationTable;
3759};
3760
3761struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
3762{
3763	VkStructureType	sType;
3764	void*			pNext;
3765	deUint32		shaderSMCount;
3766	deUint32		shaderWarpsPerSM;
3767};
3768
3769struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
3770{
3771	VkStructureType	sType;
3772	void*			pNext;
3773	VkBool32		shaderSMBuiltins;
3774};
3775
3776struct VkDrmFormatModifierPropertiesEXT
3777{
3778	deUint64				drmFormatModifier;
3779	deUint32				drmFormatModifierPlaneCount;
3780	VkFormatFeatureFlags	drmFormatModifierTilingFeatures;
3781};
3782
3783struct VkDrmFormatModifierPropertiesListEXT
3784{
3785	VkStructureType						sType;
3786	void*								pNext;
3787	deUint32							drmFormatModifierCount;
3788	VkDrmFormatModifierPropertiesEXT*	pDrmFormatModifierProperties;
3789};
3790
3791struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT
3792{
3793	VkStructureType	sType;
3794	const void*		pNext;
3795	deUint64		drmFormatModifier;
3796	VkSharingMode	sharingMode;
3797	deUint32		queueFamilyIndexCount;
3798	const deUint32*	pQueueFamilyIndices;
3799};
3800
3801struct VkImageDrmFormatModifierListCreateInfoEXT
3802{
3803	VkStructureType	sType;
3804	const void*		pNext;
3805	deUint32		drmFormatModifierCount;
3806	const deUint64*	pDrmFormatModifiers;
3807};
3808
3809struct VkImageDrmFormatModifierExplicitCreateInfoEXT
3810{
3811	VkStructureType				sType;
3812	const void*					pNext;
3813	deUint64					drmFormatModifier;
3814	deUint32					drmFormatModifierPlaneCount;
3815	const VkSubresourceLayout*	pPlaneLayouts;
3816};
3817
3818struct VkImageDrmFormatModifierPropertiesEXT
3819{
3820	VkStructureType	sType;
3821	void*			pNext;
3822	deUint64		drmFormatModifier;
3823};
3824
3825struct VkValidationCacheCreateInfoEXT
3826{
3827	VkStructureType					sType;
3828	const void*						pNext;
3829	VkValidationCacheCreateFlagsEXT	flags;
3830	deUintptr						initialDataSize;
3831	const void*						pInitialData;
3832};
3833
3834struct VkShaderModuleValidationCacheCreateInfoEXT
3835{
3836	VkStructureType			sType;
3837	const void*				pNext;
3838	VkValidationCacheEXT	validationCache;
3839};
3840
3841struct VkShadingRatePaletteNV
3842{
3843	deUint32							shadingRatePaletteEntryCount;
3844	const VkShadingRatePaletteEntryNV*	pShadingRatePaletteEntries;
3845};
3846
3847struct VkPipelineViewportShadingRateImageStateCreateInfoNV
3848{
3849	VkStructureType					sType;
3850	const void*						pNext;
3851	VkBool32						shadingRateImageEnable;
3852	deUint32						viewportCount;
3853	const VkShadingRatePaletteNV*	pShadingRatePalettes;
3854};
3855
3856struct VkPhysicalDeviceShadingRateImageFeaturesNV
3857{
3858	VkStructureType	sType;
3859	void*			pNext;
3860	VkBool32		shadingRateImage;
3861	VkBool32		shadingRateCoarseSampleOrder;
3862};
3863
3864struct VkPhysicalDeviceShadingRateImagePropertiesNV
3865{
3866	VkStructureType	sType;
3867	void*			pNext;
3868	VkExtent2D		shadingRateTexelSize;
3869	deUint32		shadingRatePaletteSize;
3870	deUint32		shadingRateMaxCoarseSamples;
3871};
3872
3873struct VkCoarseSampleLocationNV
3874{
3875	deUint32	pixelX;
3876	deUint32	pixelY;
3877	deUint32	sample;
3878};
3879
3880struct VkCoarseSampleOrderCustomNV
3881{
3882	VkShadingRatePaletteEntryNV		shadingRate;
3883	deUint32						sampleCount;
3884	deUint32						sampleLocationCount;
3885	const VkCoarseSampleLocationNV*	pSampleLocations;
3886};
3887
3888struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
3889{
3890	VkStructureType						sType;
3891	const void*							pNext;
3892	VkCoarseSampleOrderTypeNV			sampleOrderType;
3893	deUint32							customSampleOrderCount;
3894	const VkCoarseSampleOrderCustomNV*	pCustomSampleOrders;
3895};
3896
3897struct VkRayTracingShaderGroupCreateInfoNV
3898{
3899	VkStructureType					sType;
3900	const void*						pNext;
3901	VkRayTracingShaderGroupTypeKHR	type;
3902	deUint32						generalShader;
3903	deUint32						closestHitShader;
3904	deUint32						anyHitShader;
3905	deUint32						intersectionShader;
3906};
3907
3908struct VkRayTracingPipelineCreateInfoNV
3909{
3910	VkStructureType								sType;
3911	const void*									pNext;
3912	VkPipelineCreateFlags						flags;
3913	deUint32									stageCount;
3914	const VkPipelineShaderStageCreateInfo*		pStages;
3915	deUint32									groupCount;
3916	const VkRayTracingShaderGroupCreateInfoNV*	pGroups;
3917	deUint32									maxRecursionDepth;
3918	VkPipelineLayout							layout;
3919	VkPipeline									basePipelineHandle;
3920	deInt32										basePipelineIndex;
3921};
3922
3923struct VkGeometryTrianglesNV
3924{
3925	VkStructureType	sType;
3926	const void*		pNext;
3927	VkBuffer		vertexData;
3928	VkDeviceSize	vertexOffset;
3929	deUint32		vertexCount;
3930	VkDeviceSize	vertexStride;
3931	VkFormat		vertexFormat;
3932	VkBuffer		indexData;
3933	VkDeviceSize	indexOffset;
3934	deUint32		indexCount;
3935	VkIndexType		indexType;
3936	VkBuffer		transformData;
3937	VkDeviceSize	transformOffset;
3938};
3939
3940struct VkGeometryAABBNV
3941{
3942	VkStructureType	sType;
3943	const void*		pNext;
3944	VkBuffer		aabbData;
3945	deUint32		numAABBs;
3946	deUint32		stride;
3947	VkDeviceSize	offset;
3948};
3949
3950struct VkGeometryDataNV
3951{
3952	VkGeometryTrianglesNV	triangles;
3953	VkGeometryAABBNV		aabbs;
3954};
3955
3956struct VkGeometryNV
3957{
3958	VkStructureType		sType;
3959	const void*			pNext;
3960	VkGeometryTypeKHR	geometryType;
3961	VkGeometryDataNV	geometry;
3962	VkGeometryFlagsKHR	flags;
3963};
3964
3965struct VkAccelerationStructureInfoNV
3966{
3967	VkStructureType						sType;
3968	const void*							pNext;
3969	VkAccelerationStructureTypeNV		type;
3970	VkBuildAccelerationStructureFlagsNV	flags;
3971	deUint32							instanceCount;
3972	deUint32							geometryCount;
3973	const VkGeometryNV*					pGeometries;
3974};
3975
3976struct VkAccelerationStructureCreateInfoNV
3977{
3978	VkStructureType					sType;
3979	const void*						pNext;
3980	VkDeviceSize					compactedSize;
3981	VkAccelerationStructureInfoNV	info;
3982};
3983
3984struct VkBindAccelerationStructureMemoryInfoNV
3985{
3986	VkStructureType				sType;
3987	const void*					pNext;
3988	VkAccelerationStructureNV	accelerationStructure;
3989	VkDeviceMemory				memory;
3990	VkDeviceSize				memoryOffset;
3991	deUint32					deviceIndexCount;
3992	const deUint32*				pDeviceIndices;
3993};
3994
3995struct VkWriteDescriptorSetAccelerationStructureNV
3996{
3997	VkStructureType						sType;
3998	const void*							pNext;
3999	deUint32							accelerationStructureCount;
4000	const VkAccelerationStructureNV*	pAccelerationStructures;
4001};
4002
4003struct VkAccelerationStructureMemoryRequirementsInfoNV
4004{
4005	VkStructureType									sType;
4006	const void*										pNext;
4007	VkAccelerationStructureMemoryRequirementsTypeNV	type;
4008	VkAccelerationStructureNV						accelerationStructure;
4009};
4010
4011struct VkPhysicalDeviceRayTracingPropertiesNV
4012{
4013	VkStructureType	sType;
4014	void*			pNext;
4015	deUint32		shaderGroupHandleSize;
4016	deUint32		maxRecursionDepth;
4017	deUint32		maxShaderGroupStride;
4018	deUint32		shaderGroupBaseAlignment;
4019	deUint64		maxGeometryCount;
4020	deUint64		maxInstanceCount;
4021	deUint64		maxTriangleCount;
4022	deUint32		maxDescriptorSetAccelerationStructures;
4023};
4024
4025struct VkTransformMatrixKHR
4026{
4027	float	matrix[3][4];
4028};
4029
4030struct VkAabbPositionsKHR
4031{
4032	float	minX;
4033	float	minY;
4034	float	minZ;
4035	float	maxX;
4036	float	maxY;
4037	float	maxZ;
4038};
4039
4040struct VkAccelerationStructureInstanceKHR
4041{
4042	VkTransformMatrixKHR		transform;
4043	deUint32					instanceCustomIndex:24;
4044	deUint32					mask:8;
4045	deUint32					instanceShaderBindingTableRecordOffset:24;
4046	VkGeometryInstanceFlagsKHR	flags:8;
4047	deUint64					accelerationStructureReference;
4048};
4049
4050struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
4051{
4052	VkStructureType	sType;
4053	void*			pNext;
4054	VkBool32		representativeFragmentTest;
4055};
4056
4057struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV
4058{
4059	VkStructureType	sType;
4060	const void*		pNext;
4061	VkBool32		representativeFragmentTestEnable;
4062};
4063
4064struct VkPhysicalDeviceImageViewImageFormatInfoEXT
4065{
4066	VkStructureType	sType;
4067	void*			pNext;
4068	VkImageViewType	imageViewType;
4069};
4070
4071struct VkFilterCubicImageViewImageFormatPropertiesEXT
4072{
4073	VkStructureType	sType;
4074	void*			pNext;
4075	VkBool32		filterCubic;
4076	VkBool32		filterCubicMinmax;
4077};
4078
4079struct VkDeviceQueueGlobalPriorityCreateInfoEXT
4080{
4081	VkStructureType				sType;
4082	const void*					pNext;
4083	VkQueueGlobalPriorityEXT	globalPriority;
4084};
4085
4086struct VkImportMemoryHostPointerInfoEXT
4087{
4088	VkStructureType						sType;
4089	const void*							pNext;
4090	VkExternalMemoryHandleTypeFlagBits	handleType;
4091	void*								pHostPointer;
4092};
4093
4094struct VkMemoryHostPointerPropertiesEXT
4095{
4096	VkStructureType	sType;
4097	void*			pNext;
4098	deUint32		memoryTypeBits;
4099};
4100
4101struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT
4102{
4103	VkStructureType	sType;
4104	void*			pNext;
4105	VkDeviceSize	minImportedHostPointerAlignment;
4106};
4107
4108struct VkPipelineCompilerControlCreateInfoAMD
4109{
4110	VkStructureType						sType;
4111	const void*							pNext;
4112	VkPipelineCompilerControlFlagsAMD	compilerControlFlags;
4113};
4114
4115struct VkCalibratedTimestampInfoEXT
4116{
4117	VkStructureType	sType;
4118	const void*		pNext;
4119	VkTimeDomainEXT	timeDomain;
4120};
4121
4122struct VkPhysicalDeviceShaderCorePropertiesAMD
4123{
4124	VkStructureType	sType;
4125	void*			pNext;
4126	deUint32		shaderEngineCount;
4127	deUint32		shaderArraysPerEngineCount;
4128	deUint32		computeUnitsPerShaderArray;
4129	deUint32		simdPerComputeUnit;
4130	deUint32		wavefrontsPerSimd;
4131	deUint32		wavefrontSize;
4132	deUint32		sgprsPerSimd;
4133	deUint32		minSgprAllocation;
4134	deUint32		maxSgprAllocation;
4135	deUint32		sgprAllocationGranularity;
4136	deUint32		vgprsPerSimd;
4137	deUint32		minVgprAllocation;
4138	deUint32		maxVgprAllocation;
4139	deUint32		vgprAllocationGranularity;
4140};
4141
4142struct VkDeviceMemoryOverallocationCreateInfoAMD
4143{
4144	VkStructureType						sType;
4145	const void*							pNext;
4146	VkMemoryOverallocationBehaviorAMD	overallocationBehavior;
4147};
4148
4149struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
4150{
4151	VkStructureType	sType;
4152	void*			pNext;
4153	deUint32		maxVertexAttribDivisor;
4154};
4155
4156struct VkVertexInputBindingDivisorDescriptionEXT
4157{
4158	deUint32	binding;
4159	deUint32	divisor;
4160};
4161
4162struct VkPipelineVertexInputDivisorStateCreateInfoEXT
4163{
4164	VkStructureType										sType;
4165	const void*											pNext;
4166	deUint32											vertexBindingDivisorCount;
4167	const VkVertexInputBindingDivisorDescriptionEXT*	pVertexBindingDivisors;
4168};
4169
4170struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
4171{
4172	VkStructureType	sType;
4173	void*			pNext;
4174	VkBool32		vertexAttributeInstanceRateDivisor;
4175	VkBool32		vertexAttributeInstanceRateZeroDivisor;
4176};
4177
4178struct VkPipelineCreationFeedbackEXT
4179{
4180	VkPipelineCreationFeedbackFlagsEXT	flags;
4181	deUint64							duration;
4182};
4183
4184struct VkPipelineCreationFeedbackCreateInfoEXT
4185{
4186	VkStructureType					sType;
4187	const void*						pNext;
4188	VkPipelineCreationFeedbackEXT*	pPipelineCreationFeedback;
4189	deUint32						pipelineStageCreationFeedbackCount;
4190	VkPipelineCreationFeedbackEXT*	pPipelineStageCreationFeedbacks;
4191};
4192
4193struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
4194{
4195	VkStructureType	sType;
4196	void*			pNext;
4197	VkBool32		computeDerivativeGroupQuads;
4198	VkBool32		computeDerivativeGroupLinear;
4199};
4200
4201struct VkPhysicalDeviceMeshShaderFeaturesNV
4202{
4203	VkStructureType	sType;
4204	void*			pNext;
4205	VkBool32		taskShader;
4206	VkBool32		meshShader;
4207};
4208
4209struct VkPhysicalDeviceMeshShaderPropertiesNV
4210{
4211	VkStructureType	sType;
4212	void*			pNext;
4213	deUint32		maxDrawMeshTasksCount;
4214	deUint32		maxTaskWorkGroupInvocations;
4215	deUint32		maxTaskWorkGroupSize[3];
4216	deUint32		maxTaskTotalMemorySize;
4217	deUint32		maxTaskOutputCount;
4218	deUint32		maxMeshWorkGroupInvocations;
4219	deUint32		maxMeshWorkGroupSize[3];
4220	deUint32		maxMeshTotalMemorySize;
4221	deUint32		maxMeshOutputVertices;
4222	deUint32		maxMeshOutputPrimitives;
4223	deUint32		maxMeshMultiviewViewCount;
4224	deUint32		meshOutputPerVertexGranularity;
4225	deUint32		meshOutputPerPrimitiveGranularity;
4226};
4227
4228struct VkDrawMeshTasksIndirectCommandNV
4229{
4230	deUint32	taskCount;
4231	deUint32	firstTask;
4232};
4233
4234struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
4235{
4236	VkStructureType	sType;
4237	void*			pNext;
4238	VkBool32		fragmentShaderBarycentric;
4239};
4240
4241struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
4242{
4243	VkStructureType	sType;
4244	void*			pNext;
4245	VkBool32		imageFootprint;
4246};
4247
4248struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
4249{
4250	VkStructureType	sType;
4251	const void*		pNext;
4252	deUint32		exclusiveScissorCount;
4253	const VkRect2D*	pExclusiveScissors;
4254};
4255
4256struct VkPhysicalDeviceExclusiveScissorFeaturesNV
4257{
4258	VkStructureType	sType;
4259	void*			pNext;
4260	VkBool32		exclusiveScissor;
4261};
4262
4263struct VkQueueFamilyCheckpointPropertiesNV
4264{
4265	VkStructureType			sType;
4266	void*					pNext;
4267	VkPipelineStageFlags	checkpointExecutionStageMask;
4268};
4269
4270struct VkCheckpointDataNV
4271{
4272	VkStructureType			sType;
4273	void*					pNext;
4274	VkPipelineStageFlagBits	stage;
4275	void*					pCheckpointMarker;
4276};
4277
4278struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
4279{
4280	VkStructureType	sType;
4281	void*			pNext;
4282	VkBool32		shaderIntegerFunctions2;
4283};
4284
4285union VkPerformanceValueDataINTEL
4286{
4287	deUint32	value32;
4288	deUint64	value64;
4289	float		valueFloat;
4290	VkBool32	valueBool;
4291	const char*	valueString;
4292};
4293
4294struct VkPerformanceValueINTEL
4295{
4296	VkPerformanceValueTypeINTEL	type;
4297	VkPerformanceValueDataINTEL	data;
4298};
4299
4300struct VkInitializePerformanceApiInfoINTEL
4301{
4302	VkStructureType	sType;
4303	const void*		pNext;
4304	void*			pUserData;
4305};
4306
4307struct VkQueryPoolPerformanceQueryCreateInfoINTEL
4308{
4309	VkStructureType					sType;
4310	const void*						pNext;
4311	VkQueryPoolSamplingModeINTEL	performanceCountersSampling;
4312};
4313
4314struct VkPerformanceMarkerInfoINTEL
4315{
4316	VkStructureType	sType;
4317	const void*		pNext;
4318	deUint64		marker;
4319};
4320
4321struct VkPerformanceStreamMarkerInfoINTEL
4322{
4323	VkStructureType	sType;
4324	const void*		pNext;
4325	deUint32		marker;
4326};
4327
4328struct VkPerformanceOverrideInfoINTEL
4329{
4330	VkStructureType					sType;
4331	const void*						pNext;
4332	VkPerformanceOverrideTypeINTEL	type;
4333	VkBool32						enable;
4334	deUint64						parameter;
4335};
4336
4337struct VkPerformanceConfigurationAcquireInfoINTEL
4338{
4339	VkStructureType						sType;
4340	const void*							pNext;
4341	VkPerformanceConfigurationTypeINTEL	type;
4342};
4343
4344struct VkPhysicalDevicePCIBusInfoPropertiesEXT
4345{
4346	VkStructureType	sType;
4347	void*			pNext;
4348	deUint32		pciDomain;
4349	deUint32		pciBus;
4350	deUint32		pciDevice;
4351	deUint32		pciFunction;
4352};
4353
4354struct VkDisplayNativeHdrSurfaceCapabilitiesAMD
4355{
4356	VkStructureType	sType;
4357	void*			pNext;
4358	VkBool32		localDimmingSupport;
4359};
4360
4361struct VkSwapchainDisplayNativeHdrCreateInfoAMD
4362{
4363	VkStructureType	sType;
4364	const void*		pNext;
4365	VkBool32		localDimmingEnable;
4366};
4367
4368struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
4369{
4370	VkStructureType	sType;
4371	void*			pNext;
4372	VkBool32		fragmentDensityMap;
4373	VkBool32		fragmentDensityMapDynamic;
4374	VkBool32		fragmentDensityMapNonSubsampledImages;
4375};
4376
4377struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT
4378{
4379	VkStructureType	sType;
4380	void*			pNext;
4381	VkExtent2D		minFragmentDensityTexelSize;
4382	VkExtent2D		maxFragmentDensityTexelSize;
4383	VkBool32		fragmentDensityInvocations;
4384};
4385
4386struct VkRenderPassFragmentDensityMapCreateInfoEXT
4387{
4388	VkStructureType			sType;
4389	const void*				pNext;
4390	VkAttachmentReference	fragmentDensityMapAttachment;
4391};
4392
4393struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
4394{
4395	VkStructureType	sType;
4396	void*			pNext;
4397	VkBool32		subgroupSizeControl;
4398	VkBool32		computeFullSubgroups;
4399};
4400
4401struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
4402{
4403	VkStructureType		sType;
4404	void*				pNext;
4405	deUint32			minSubgroupSize;
4406	deUint32			maxSubgroupSize;
4407	deUint32			maxComputeWorkgroupSubgroups;
4408	VkShaderStageFlags	requiredSubgroupSizeStages;
4409};
4410
4411struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
4412{
4413	VkStructureType	sType;
4414	void*			pNext;
4415	deUint32		requiredSubgroupSize;
4416};
4417
4418struct VkPhysicalDeviceShaderCoreProperties2AMD
4419{
4420	VkStructureType					sType;
4421	void*							pNext;
4422	VkShaderCorePropertiesFlagsAMD	shaderCoreFeatures;
4423	deUint32						activeComputeUnitCount;
4424};
4425
4426struct VkPhysicalDeviceCoherentMemoryFeaturesAMD
4427{
4428	VkStructureType	sType;
4429	void*			pNext;
4430	VkBool32		deviceCoherentMemory;
4431};
4432
4433struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
4434{
4435	VkStructureType	sType;
4436	void*			pNext;
4437	VkBool32		shaderImageInt64Atomics;
4438	VkBool32		sparseImageInt64Atomics;
4439};
4440
4441struct VkPhysicalDeviceMemoryBudgetPropertiesEXT
4442{
4443	VkStructureType	sType;
4444	void*			pNext;
4445	VkDeviceSize	heapBudget[VK_MAX_MEMORY_HEAPS];
4446	VkDeviceSize	heapUsage[VK_MAX_MEMORY_HEAPS];
4447};
4448
4449struct VkPhysicalDeviceMemoryPriorityFeaturesEXT
4450{
4451	VkStructureType	sType;
4452	void*			pNext;
4453	VkBool32		memoryPriority;
4454};
4455
4456struct VkMemoryPriorityAllocateInfoEXT
4457{
4458	VkStructureType	sType;
4459	const void*		pNext;
4460	float			priority;
4461};
4462
4463struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
4464{
4465	VkStructureType	sType;
4466	void*			pNext;
4467	VkBool32		dedicatedAllocationImageAliasing;
4468};
4469
4470struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
4471{
4472	VkStructureType	sType;
4473	void*			pNext;
4474	VkBool32		bufferDeviceAddress;
4475	VkBool32		bufferDeviceAddressCaptureReplay;
4476	VkBool32		bufferDeviceAddressMultiDevice;
4477};
4478
4479struct VkBufferDeviceAddressCreateInfoEXT
4480{
4481	VkStructureType	sType;
4482	const void*		pNext;
4483	VkDeviceAddress	deviceAddress;
4484};
4485
4486struct VkPhysicalDeviceToolPropertiesEXT
4487{
4488	VkStructureType			sType;
4489	void*					pNext;
4490	char					name[VK_MAX_EXTENSION_NAME_SIZE];
4491	char					version[VK_MAX_EXTENSION_NAME_SIZE];
4492	VkToolPurposeFlagsEXT	purposes;
4493	char					description[VK_MAX_DESCRIPTION_SIZE];
4494	char					layer[VK_MAX_EXTENSION_NAME_SIZE];
4495};
4496
4497struct VkValidationFeaturesEXT
4498{
4499	VkStructureType							sType;
4500	const void*								pNext;
4501	deUint32								enabledValidationFeatureCount;
4502	const VkValidationFeatureEnableEXT*		pEnabledValidationFeatures;
4503	deUint32								disabledValidationFeatureCount;
4504	const VkValidationFeatureDisableEXT*	pDisabledValidationFeatures;
4505};
4506
4507struct VkCooperativeMatrixPropertiesNV
4508{
4509	VkStructureType		sType;
4510	void*				pNext;
4511	deUint32			MSize;
4512	deUint32			NSize;
4513	deUint32			KSize;
4514	VkComponentTypeNV	AType;
4515	VkComponentTypeNV	BType;
4516	VkComponentTypeNV	CType;
4517	VkComponentTypeNV	DType;
4518	VkScopeNV			scope;
4519};
4520
4521struct VkPhysicalDeviceCooperativeMatrixFeaturesNV
4522{
4523	VkStructureType	sType;
4524	void*			pNext;
4525	VkBool32		cooperativeMatrix;
4526	VkBool32		cooperativeMatrixRobustBufferAccess;
4527};
4528
4529struct VkPhysicalDeviceCooperativeMatrixPropertiesNV
4530{
4531	VkStructureType		sType;
4532	void*				pNext;
4533	VkShaderStageFlags	cooperativeMatrixSupportedStages;
4534};
4535
4536struct VkPhysicalDeviceCoverageReductionModeFeaturesNV
4537{
4538	VkStructureType	sType;
4539	void*			pNext;
4540	VkBool32		coverageReductionMode;
4541};
4542
4543struct VkPipelineCoverageReductionStateCreateInfoNV
4544{
4545	VkStructureType									sType;
4546	const void*										pNext;
4547	VkPipelineCoverageReductionStateCreateFlagsNV	flags;
4548	VkCoverageReductionModeNV						coverageReductionMode;
4549};
4550
4551struct VkFramebufferMixedSamplesCombinationNV
4552{
4553	VkStructureType				sType;
4554	void*						pNext;
4555	VkCoverageReductionModeNV	coverageReductionMode;
4556	VkSampleCountFlagBits		rasterizationSamples;
4557	VkSampleCountFlags			depthStencilSamples;
4558	VkSampleCountFlags			colorSamples;
4559};
4560
4561struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
4562{
4563	VkStructureType	sType;
4564	void*			pNext;
4565	VkBool32		fragmentShaderSampleInterlock;
4566	VkBool32		fragmentShaderPixelInterlock;
4567	VkBool32		fragmentShaderShadingRateInterlock;
4568};
4569
4570struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
4571{
4572	VkStructureType	sType;
4573	void*			pNext;
4574	VkBool32		ycbcrImageArrays;
4575};
4576
4577struct VkHeadlessSurfaceCreateInfoEXT
4578{
4579	VkStructureType					sType;
4580	const void*						pNext;
4581	VkHeadlessSurfaceCreateFlagsEXT	flags;
4582};
4583
4584struct VkPhysicalDeviceLineRasterizationFeaturesEXT
4585{
4586	VkStructureType	sType;
4587	void*			pNext;
4588	VkBool32		rectangularLines;
4589	VkBool32		bresenhamLines;
4590	VkBool32		smoothLines;
4591	VkBool32		stippledRectangularLines;
4592	VkBool32		stippledBresenhamLines;
4593	VkBool32		stippledSmoothLines;
4594};
4595
4596struct VkPhysicalDeviceLineRasterizationPropertiesEXT
4597{
4598	VkStructureType	sType;
4599	void*			pNext;
4600	deUint32		lineSubPixelPrecisionBits;
4601};
4602
4603struct VkPipelineRasterizationLineStateCreateInfoEXT
4604{
4605	VkStructureType				sType;
4606	const void*					pNext;
4607	VkLineRasterizationModeEXT	lineRasterizationMode;
4608	VkBool32					stippledLineEnable;
4609	deUint32					lineStippleFactor;
4610	deUint16					lineStipplePattern;
4611};
4612
4613struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
4614{
4615	VkStructureType	sType;
4616	void*			pNext;
4617	VkBool32		shaderBufferFloat32Atomics;
4618	VkBool32		shaderBufferFloat32AtomicAdd;
4619	VkBool32		shaderBufferFloat64Atomics;
4620	VkBool32		shaderBufferFloat64AtomicAdd;
4621	VkBool32		shaderSharedFloat32Atomics;
4622	VkBool32		shaderSharedFloat32AtomicAdd;
4623	VkBool32		shaderSharedFloat64Atomics;
4624	VkBool32		shaderSharedFloat64AtomicAdd;
4625	VkBool32		shaderImageFloat32Atomics;
4626	VkBool32		shaderImageFloat32AtomicAdd;
4627	VkBool32		sparseImageFloat32Atomics;
4628	VkBool32		sparseImageFloat32AtomicAdd;
4629};
4630
4631struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT
4632{
4633	VkStructureType	sType;
4634	void*			pNext;
4635	VkBool32		indexTypeUint8;
4636};
4637
4638struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
4639{
4640	VkStructureType	sType;
4641	void*			pNext;
4642	VkBool32		extendedDynamicState;
4643};
4644
4645struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
4646{
4647	VkStructureType	sType;
4648	void*			pNext;
4649	VkBool32		shaderDemoteToHelperInvocation;
4650};
4651
4652struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
4653{
4654	VkStructureType	sType;
4655	void*			pNext;
4656	deUint32		maxGraphicsShaderGroupCount;
4657	deUint32		maxIndirectSequenceCount;
4658	deUint32		maxIndirectCommandsTokenCount;
4659	deUint32		maxIndirectCommandsStreamCount;
4660	deUint32		maxIndirectCommandsTokenOffset;
4661	deUint32		maxIndirectCommandsStreamStride;
4662	deUint32		minSequencesCountBufferOffsetAlignment;
4663	deUint32		minSequencesIndexBufferOffsetAlignment;
4664	deUint32		minIndirectCommandsBufferOffsetAlignment;
4665};
4666
4667struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
4668{
4669	VkStructureType	sType;
4670	void*			pNext;
4671	VkBool32		deviceGeneratedCommands;
4672};
4673
4674struct VkGraphicsShaderGroupCreateInfoNV
4675{
4676	VkStructureType									sType;
4677	const void*										pNext;
4678	deUint32										stageCount;
4679	const VkPipelineShaderStageCreateInfo*			pStages;
4680	const VkPipelineVertexInputStateCreateInfo*		pVertexInputState;
4681	const VkPipelineTessellationStateCreateInfo*	pTessellationState;
4682};
4683
4684struct VkGraphicsPipelineShaderGroupsCreateInfoNV
4685{
4686	VkStructureType								sType;
4687	const void*									pNext;
4688	deUint32									groupCount;
4689	const VkGraphicsShaderGroupCreateInfoNV*	pGroups;
4690	deUint32									pipelineCount;
4691	const VkPipeline*							pPipelines;
4692};
4693
4694struct VkBindShaderGroupIndirectCommandNV
4695{
4696	deUint32	groupIndex;
4697};
4698
4699struct VkBindIndexBufferIndirectCommandNV
4700{
4701	VkDeviceAddress	bufferAddress;
4702	deUint32		size;
4703	VkIndexType		indexType;
4704};
4705
4706struct VkBindVertexBufferIndirectCommandNV
4707{
4708	VkDeviceAddress	bufferAddress;
4709	deUint32		size;
4710	deUint32		stride;
4711};
4712
4713struct VkSetStateFlagsIndirectCommandNV
4714{
4715	deUint32	data;
4716};
4717
4718struct VkIndirectCommandsStreamNV
4719{
4720	VkBuffer		buffer;
4721	VkDeviceSize	offset;
4722};
4723
4724struct VkIndirectCommandsLayoutTokenNV
4725{
4726	VkStructureType					sType;
4727	const void*						pNext;
4728	VkIndirectCommandsTokenTypeNV	tokenType;
4729	deUint32						stream;
4730	deUint32						offset;
4731	deUint32						vertexBindingUnit;
4732	VkBool32						vertexDynamicStride;
4733	VkPipelineLayout				pushconstantPipelineLayout;
4734	VkShaderStageFlags				pushconstantShaderStageFlags;
4735	deUint32						pushconstantOffset;
4736	deUint32						pushconstantSize;
4737	VkIndirectStateFlagsNV			indirectStateFlags;
4738	deUint32						indexTypeCount;
4739	const VkIndexType*				pIndexTypes;
4740	const deUint32*					pIndexTypeValues;
4741};
4742
4743struct VkIndirectCommandsLayoutCreateInfoNV
4744{
4745	VkStructureType							sType;
4746	const void*								pNext;
4747	VkIndirectCommandsLayoutUsageFlagsNV	flags;
4748	VkPipelineBindPoint						pipelineBindPoint;
4749	deUint32								tokenCount;
4750	const VkIndirectCommandsLayoutTokenNV*	pTokens;
4751	deUint32								streamCount;
4752	const deUint32*							pStreamStrides;
4753};
4754
4755struct VkGeneratedCommandsInfoNV
4756{
4757	VkStructureType						sType;
4758	const void*							pNext;
4759	VkPipelineBindPoint					pipelineBindPoint;
4760	VkPipeline							pipeline;
4761	VkIndirectCommandsLayoutNV			indirectCommandsLayout;
4762	deUint32							streamCount;
4763	const VkIndirectCommandsStreamNV*	pStreams;
4764	deUint32							sequencesCount;
4765	VkBuffer							preprocessBuffer;
4766	VkDeviceSize						preprocessOffset;
4767	VkDeviceSize						preprocessSize;
4768	VkBuffer							sequencesCountBuffer;
4769	VkDeviceSize						sequencesCountOffset;
4770	VkBuffer							sequencesIndexBuffer;
4771	VkDeviceSize						sequencesIndexOffset;
4772};
4773
4774struct VkGeneratedCommandsMemoryRequirementsInfoNV
4775{
4776	VkStructureType				sType;
4777	const void*					pNext;
4778	VkPipelineBindPoint			pipelineBindPoint;
4779	VkPipeline					pipeline;
4780	VkIndirectCommandsLayoutNV	indirectCommandsLayout;
4781	deUint32					maxSequencesCount;
4782};
4783
4784struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV
4785{
4786	VkStructureType	sType;
4787	void*			pNext;
4788	VkBool32		inheritedViewportScissor2D;
4789};
4790
4791struct VkCommandBufferInheritanceViewportScissorInfoNV
4792{
4793	VkStructureType		sType;
4794	const void*			pNext;
4795	VkBool32			viewportScissor2D;
4796	deUint32			viewportDepthCount;
4797	const VkViewport*	pViewportDepths;
4798};
4799
4800struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
4801{
4802	VkStructureType	sType;
4803	void*			pNext;
4804	VkBool32		texelBufferAlignment;
4805};
4806
4807struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
4808{
4809	VkStructureType	sType;
4810	void*			pNext;
4811	VkDeviceSize	storageTexelBufferOffsetAlignmentBytes;
4812	VkBool32		storageTexelBufferOffsetSingleTexelAlignment;
4813	VkDeviceSize	uniformTexelBufferOffsetAlignmentBytes;
4814	VkBool32		uniformTexelBufferOffsetSingleTexelAlignment;
4815};
4816
4817struct VkRenderPassTransformBeginInfoQCOM
4818{
4819	VkStructureType					sType;
4820	void*							pNext;
4821	VkSurfaceTransformFlagBitsKHR	transform;
4822};
4823
4824struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM
4825{
4826	VkStructureType					sType;
4827	void*							pNext;
4828	VkSurfaceTransformFlagBitsKHR	transform;
4829	VkRect2D						renderArea;
4830};
4831
4832struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT
4833{
4834	VkStructureType	sType;
4835	void*			pNext;
4836	VkBool32		deviceMemoryReport;
4837};
4838
4839struct VkDeviceMemoryReportCallbackDataEXT
4840{
4841	VkStructureType						sType;
4842	const void*							pNext;
4843	VkDeviceMemoryReportFlagsEXT		flags;
4844	VkDeviceMemoryReportEventTypeEXT	type;
4845	deUint64							memoryObjectId;
4846	VkDeviceSize						size;
4847	VkObjectType						objectType;
4848	deUint64							objectHandle;
4849	deUint32							heapIndex;
4850};
4851
4852struct VkDeviceDeviceMemoryReportCreateInfoEXT
4853{
4854	VkStructureType						sType;
4855	const void*							pNext;
4856	VkDeviceMemoryReportFlagsEXT		flags;
4857	PFN_vkDeviceMemoryReportCallbackEXT	pfnUserCallback;
4858	void*								pUserData;
4859};
4860
4861struct VkPhysicalDeviceRobustness2FeaturesEXT
4862{
4863	VkStructureType	sType;
4864	void*			pNext;
4865	VkBool32		robustBufferAccess2;
4866	VkBool32		robustImageAccess2;
4867	VkBool32		nullDescriptor;
4868};
4869
4870struct VkPhysicalDeviceRobustness2PropertiesEXT
4871{
4872	VkStructureType	sType;
4873	void*			pNext;
4874	VkDeviceSize	robustStorageBufferAccessSizeAlignment;
4875	VkDeviceSize	robustUniformBufferAccessSizeAlignment;
4876};
4877
4878struct VkSamplerCustomBorderColorCreateInfoEXT
4879{
4880	VkStructureType		sType;
4881	const void*			pNext;
4882	VkClearColorValue	customBorderColor;
4883	VkFormat			format;
4884};
4885
4886struct VkPhysicalDeviceCustomBorderColorPropertiesEXT
4887{
4888	VkStructureType	sType;
4889	void*			pNext;
4890	deUint32		maxCustomBorderColorSamplers;
4891};
4892
4893struct VkPhysicalDeviceCustomBorderColorFeaturesEXT
4894{
4895	VkStructureType	sType;
4896	void*			pNext;
4897	VkBool32		customBorderColors;
4898	VkBool32		customBorderColorWithoutFormat;
4899};
4900
4901struct VkPhysicalDevicePrivateDataFeaturesEXT
4902{
4903	VkStructureType	sType;
4904	void*			pNext;
4905	VkBool32		privateData;
4906};
4907
4908struct VkDevicePrivateDataCreateInfoEXT
4909{
4910	VkStructureType	sType;
4911	const void*		pNext;
4912	deUint32		privateDataSlotRequestCount;
4913};
4914
4915struct VkPrivateDataSlotCreateInfoEXT
4916{
4917	VkStructureType					sType;
4918	const void*						pNext;
4919	VkPrivateDataSlotCreateFlagsEXT	flags;
4920};
4921
4922struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
4923{
4924	VkStructureType	sType;
4925	void*			pNext;
4926	VkBool32		pipelineCreationCacheControl;
4927};
4928
4929struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV
4930{
4931	VkStructureType	sType;
4932	void*			pNext;
4933	VkBool32		diagnosticsConfig;
4934};
4935
4936struct VkDeviceDiagnosticsConfigCreateInfoNV
4937{
4938	VkStructureType						sType;
4939	const void*							pNext;
4940	VkDeviceDiagnosticsConfigFlagsNV	flags;
4941};
4942
4943struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
4944{
4945	VkStructureType	sType;
4946	void*			pNext;
4947	VkBool32		fragmentShadingRateEnums;
4948	VkBool32		supersampleFragmentShadingRates;
4949	VkBool32		noInvocationFragmentShadingRates;
4950};
4951
4952struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
4953{
4954	VkStructureType			sType;
4955	void*					pNext;
4956	VkSampleCountFlagBits	maxFragmentShadingRateInvocationCount;
4957};
4958
4959struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV
4960{
4961	VkStructureType						sType;
4962	const void*							pNext;
4963	VkFragmentShadingRateTypeNV			shadingRateType;
4964	VkFragmentShadingRateNV				shadingRate;
4965	VkFragmentShadingRateCombinerOpKHR	combinerOps[2];
4966};
4967
4968struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
4969{
4970	VkStructureType	sType;
4971	void*			pNext;
4972	VkBool32		ycbcr2plane444Formats;
4973};
4974
4975struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
4976{
4977	VkStructureType	sType;
4978	void*			pNext;
4979	VkBool32		fragmentDensityMapDeferred;
4980};
4981
4982struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
4983{
4984	VkStructureType	sType;
4985	void*			pNext;
4986	VkBool32		subsampledLoads;
4987	VkBool32		subsampledCoarseReconstructionEarlyAccess;
4988	deUint32		maxSubsampledArrayLayers;
4989	deUint32		maxDescriptorSetSubsampledSamplers;
4990};
4991
4992struct VkCopyCommandTransformInfoQCOM
4993{
4994	VkStructureType					sType;
4995	const void*						pNext;
4996	VkSurfaceTransformFlagBitsKHR	transform;
4997};
4998
4999struct VkPhysicalDeviceImageRobustnessFeaturesEXT
5000{
5001	VkStructureType	sType;
5002	void*			pNext;
5003	VkBool32		robustImageAccess;
5004};
5005
5006struct VkPhysicalDevice4444FormatsFeaturesEXT
5007{
5008	VkStructureType	sType;
5009	void*			pNext;
5010	VkBool32		formatA4R4G4B4;
5011	VkBool32		formatA4B4G4R4;
5012};
5013
5014struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
5015{
5016	VkStructureType	sType;
5017	void*			pNext;
5018	VkBool32		mutableDescriptorType;
5019};
5020
5021struct VkMutableDescriptorTypeListVALVE
5022{
5023	deUint32				descriptorTypeCount;
5024	const VkDescriptorType*	pDescriptorTypes;
5025};
5026
5027struct VkMutableDescriptorTypeCreateInfoVALVE
5028{
5029	VkStructureType							sType;
5030	const void*								pNext;
5031	deUint32								mutableDescriptorTypeListCount;
5032	const VkMutableDescriptorTypeListVALVE*	pMutableDescriptorTypeLists;
5033};
5034
5035struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
5036{
5037	VkStructureType	sType;
5038	void*			pNext;
5039	VkBool32		vertexInputDynamicState;
5040};
5041
5042struct VkVertexInputBindingDescription2EXT
5043{
5044	VkStructureType		sType;
5045	void*				pNext;
5046	deUint32			binding;
5047	deUint32			stride;
5048	VkVertexInputRate	inputRate;
5049	deUint32			divisor;
5050};
5051
5052struct VkVertexInputAttributeDescription2EXT
5053{
5054	VkStructureType	sType;
5055	void*			pNext;
5056	deUint32		location;
5057	deUint32		binding;
5058	VkFormat		format;
5059	deUint32		offset;
5060};
5061
5062struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
5063{
5064	VkStructureType	sType;
5065	void*			pNext;
5066	VkBool32		extendedDynamicState2;
5067	VkBool32		extendedDynamicState2LogicOp;
5068	VkBool32		extendedDynamicState2PatchControlPoints;
5069};
5070
5071struct VkPhysicalDeviceColorWriteEnableFeaturesEXT
5072{
5073	VkStructureType	sType;
5074	void*			pNext;
5075	VkBool32		colorWriteEnable;
5076};
5077
5078struct VkPipelineColorWriteCreateInfoEXT
5079{
5080	VkStructureType	sType;
5081	const void*		pNext;
5082	deUint32		attachmentCount;
5083	const VkBool32*	pColorWriteEnables;
5084};
5085
5086union VkDeviceOrHostAddressKHR
5087{
5088	VkDeviceAddress	deviceAddress;
5089	void*			hostAddress;
5090};
5091
5092union VkDeviceOrHostAddressConstKHR
5093{
5094	VkDeviceAddress	deviceAddress;
5095	const void*		hostAddress;
5096};
5097
5098struct VkAccelerationStructureBuildRangeInfoKHR
5099{
5100	deUint32	primitiveCount;
5101	deUint32	primitiveOffset;
5102	deUint32	firstVertex;
5103	deUint32	transformOffset;
5104};
5105
5106struct VkAccelerationStructureGeometryTrianglesDataKHR
5107{
5108	VkStructureType					sType;
5109	const void*						pNext;
5110	VkFormat						vertexFormat;
5111	VkDeviceOrHostAddressConstKHR	vertexData;
5112	VkDeviceSize					vertexStride;
5113	deUint32						maxVertex;
5114	VkIndexType						indexType;
5115	VkDeviceOrHostAddressConstKHR	indexData;
5116	VkDeviceOrHostAddressConstKHR	transformData;
5117};
5118
5119struct VkAccelerationStructureGeometryAabbsDataKHR
5120{
5121	VkStructureType					sType;
5122	const void*						pNext;
5123	VkDeviceOrHostAddressConstKHR	data;
5124	VkDeviceSize					stride;
5125};
5126
5127struct VkAccelerationStructureGeometryInstancesDataKHR
5128{
5129	VkStructureType					sType;
5130	const void*						pNext;
5131	VkBool32						arrayOfPointers;
5132	VkDeviceOrHostAddressConstKHR	data;
5133};
5134
5135union VkAccelerationStructureGeometryDataKHR
5136{
5137	VkAccelerationStructureGeometryTrianglesDataKHR	triangles;
5138	VkAccelerationStructureGeometryAabbsDataKHR		aabbs;
5139	VkAccelerationStructureGeometryInstancesDataKHR	instances;
5140};
5141
5142struct VkAccelerationStructureGeometryKHR
5143{
5144	VkStructureType							sType;
5145	const void*								pNext;
5146	VkGeometryTypeKHR						geometryType;
5147	VkAccelerationStructureGeometryDataKHR	geometry;
5148	VkGeometryFlagsKHR						flags;
5149};
5150
5151struct VkAccelerationStructureBuildGeometryInfoKHR
5152{
5153	VkStructureType										sType;
5154	const void*											pNext;
5155	VkAccelerationStructureTypeKHR						type;
5156	VkBuildAccelerationStructureFlagsKHR				flags;
5157	VkBuildAccelerationStructureModeKHR					mode;
5158	VkAccelerationStructureKHR							srcAccelerationStructure;
5159	VkAccelerationStructureKHR							dstAccelerationStructure;
5160	deUint32											geometryCount;
5161	const VkAccelerationStructureGeometryKHR*			pGeometries;
5162	const VkAccelerationStructureGeometryKHR* const*	ppGeometries;
5163	VkDeviceOrHostAddressKHR							scratchData;
5164};
5165
5166struct VkAccelerationStructureCreateInfoKHR
5167{
5168	VkStructureType							sType;
5169	const void*								pNext;
5170	VkAccelerationStructureCreateFlagsKHR	createFlags;
5171	VkBuffer								buffer;
5172	VkDeviceSize							offset;
5173	VkDeviceSize							size;
5174	VkAccelerationStructureTypeKHR			type;
5175	VkDeviceAddress							deviceAddress;
5176};
5177
5178struct VkWriteDescriptorSetAccelerationStructureKHR
5179{
5180	VkStructureType						sType;
5181	const void*							pNext;
5182	deUint32							accelerationStructureCount;
5183	const VkAccelerationStructureKHR*	pAccelerationStructures;
5184};
5185
5186struct VkPhysicalDeviceAccelerationStructureFeaturesKHR
5187{
5188	VkStructureType	sType;
5189	void*			pNext;
5190	VkBool32		accelerationStructure;
5191	VkBool32		accelerationStructureCaptureReplay;
5192	VkBool32		accelerationStructureIndirectBuild;
5193	VkBool32		accelerationStructureHostCommands;
5194	VkBool32		descriptorBindingAccelerationStructureUpdateAfterBind;
5195};
5196
5197struct VkPhysicalDeviceAccelerationStructurePropertiesKHR
5198{
5199	VkStructureType	sType;
5200	void*			pNext;
5201	deUint64		maxGeometryCount;
5202	deUint64		maxInstanceCount;
5203	deUint64		maxPrimitiveCount;
5204	deUint32		maxPerStageDescriptorAccelerationStructures;
5205	deUint32		maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
5206	deUint32		maxDescriptorSetAccelerationStructures;
5207	deUint32		maxDescriptorSetUpdateAfterBindAccelerationStructures;
5208	deUint32		minAccelerationStructureScratchOffsetAlignment;
5209};
5210
5211struct VkAccelerationStructureDeviceAddressInfoKHR
5212{
5213	VkStructureType				sType;
5214	const void*					pNext;
5215	VkAccelerationStructureKHR	accelerationStructure;
5216};
5217
5218struct VkAccelerationStructureVersionInfoKHR
5219{
5220	VkStructureType	sType;
5221	const void*		pNext;
5222	const deUint8*	pVersionData;
5223};
5224
5225struct VkCopyAccelerationStructureToMemoryInfoKHR
5226{
5227	VkStructureType						sType;
5228	const void*							pNext;
5229	VkAccelerationStructureKHR			src;
5230	VkDeviceOrHostAddressKHR			dst;
5231	VkCopyAccelerationStructureModeKHR	mode;
5232};
5233
5234struct VkCopyMemoryToAccelerationStructureInfoKHR
5235{
5236	VkStructureType						sType;
5237	const void*							pNext;
5238	VkDeviceOrHostAddressConstKHR		src;
5239	VkAccelerationStructureKHR			dst;
5240	VkCopyAccelerationStructureModeKHR	mode;
5241};
5242
5243struct VkCopyAccelerationStructureInfoKHR
5244{
5245	VkStructureType						sType;
5246	const void*							pNext;
5247	VkAccelerationStructureKHR			src;
5248	VkAccelerationStructureKHR			dst;
5249	VkCopyAccelerationStructureModeKHR	mode;
5250};
5251
5252struct VkAccelerationStructureBuildSizesInfoKHR
5253{
5254	VkStructureType	sType;
5255	const void*		pNext;
5256	VkDeviceSize	accelerationStructureSize;
5257	VkDeviceSize	updateScratchSize;
5258	VkDeviceSize	buildScratchSize;
5259};
5260
5261struct VkRayTracingShaderGroupCreateInfoKHR
5262{
5263	VkStructureType					sType;
5264	const void*						pNext;
5265	VkRayTracingShaderGroupTypeKHR	type;
5266	deUint32						generalShader;
5267	deUint32						closestHitShader;
5268	deUint32						anyHitShader;
5269	deUint32						intersectionShader;
5270	const void*						pShaderGroupCaptureReplayHandle;
5271};
5272
5273struct VkRayTracingPipelineInterfaceCreateInfoKHR
5274{
5275	VkStructureType	sType;
5276	const void*		pNext;
5277	deUint32		maxPipelineRayPayloadSize;
5278	deUint32		maxPipelineRayHitAttributeSize;
5279};
5280
5281struct VkRayTracingPipelineCreateInfoKHR
5282{
5283	VkStructureType										sType;
5284	const void*											pNext;
5285	VkPipelineCreateFlags								flags;
5286	deUint32											stageCount;
5287	const VkPipelineShaderStageCreateInfo*				pStages;
5288	deUint32											groupCount;
5289	const VkRayTracingShaderGroupCreateInfoKHR*			pGroups;
5290	deUint32											maxPipelineRayRecursionDepth;
5291	const VkPipelineLibraryCreateInfoKHR*				pLibraryInfo;
5292	const VkRayTracingPipelineInterfaceCreateInfoKHR*	pLibraryInterface;
5293	const VkPipelineDynamicStateCreateInfo*				pDynamicState;
5294	VkPipelineLayout									layout;
5295	VkPipeline											basePipelineHandle;
5296	deInt32												basePipelineIndex;
5297};
5298
5299struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR
5300{
5301	VkStructureType	sType;
5302	void*			pNext;
5303	VkBool32		rayTracingPipeline;
5304	VkBool32		rayTracingPipelineShaderGroupHandleCaptureReplay;
5305	VkBool32		rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
5306	VkBool32		rayTracingPipelineTraceRaysIndirect;
5307	VkBool32		rayTraversalPrimitiveCulling;
5308};
5309
5310struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR
5311{
5312	VkStructureType	sType;
5313	void*			pNext;
5314	deUint32		shaderGroupHandleSize;
5315	deUint32		maxRayRecursionDepth;
5316	deUint32		maxShaderGroupStride;
5317	deUint32		shaderGroupBaseAlignment;
5318	deUint32		shaderGroupHandleCaptureReplaySize;
5319	deUint32		maxRayDispatchInvocationCount;
5320	deUint32		shaderGroupHandleAlignment;
5321	deUint32		maxRayHitAttributeSize;
5322};
5323
5324struct VkStridedDeviceAddressRegionKHR
5325{
5326	VkDeviceAddress	deviceAddress;
5327	VkDeviceSize	stride;
5328	VkDeviceSize	size;
5329};
5330
5331struct VkTraceRaysIndirectCommandKHR
5332{
5333	deUint32	width;
5334	deUint32	height;
5335	deUint32	depth;
5336};
5337
5338struct VkPhysicalDeviceRayQueryFeaturesKHR
5339{
5340	VkStructureType	sType;
5341	void*			pNext;
5342	VkBool32		rayQuery;
5343};
5344
5345struct VkAndroidSurfaceCreateInfoKHR
5346{
5347	VkStructureType						sType;
5348	const void*							pNext;
5349	VkAndroidSurfaceCreateFlagsKHR		flags;
5350	struct pt::AndroidNativeWindowPtr	window;
5351};
5352
5353struct VkAndroidHardwareBufferUsageANDROID
5354{
5355	VkStructureType	sType;
5356	void*			pNext;
5357	deUint64		androidHardwareBufferUsage;
5358};
5359
5360struct VkAndroidHardwareBufferPropertiesANDROID
5361{
5362	VkStructureType	sType;
5363	void*			pNext;
5364	VkDeviceSize	allocationSize;
5365	deUint32		memoryTypeBits;
5366};
5367
5368struct VkAndroidHardwareBufferFormatPropertiesANDROID
5369{
5370	VkStructureType					sType;
5371	void*							pNext;
5372	VkFormat						format;
5373	deUint64						externalFormat;
5374	VkFormatFeatureFlags			formatFeatures;
5375	VkComponentMapping				samplerYcbcrConversionComponents;
5376	VkSamplerYcbcrModelConversion	suggestedYcbcrModel;
5377	VkSamplerYcbcrRange				suggestedYcbcrRange;
5378	VkChromaLocation				suggestedXChromaOffset;
5379	VkChromaLocation				suggestedYChromaOffset;
5380};
5381
5382struct VkImportAndroidHardwareBufferInfoANDROID
5383{
5384	VkStructureType						sType;
5385	const void*							pNext;
5386	struct pt::AndroidHardwareBufferPtr	buffer;
5387};
5388
5389struct VkMemoryGetAndroidHardwareBufferInfoANDROID
5390{
5391	VkStructureType	sType;
5392	const void*		pNext;
5393	VkDeviceMemory	memory;
5394};
5395
5396struct VkExternalFormatANDROID
5397{
5398	VkStructureType	sType;
5399	void*			pNext;
5400	deUint64		externalFormat;
5401};
5402
5403struct VkVideoQueueFamilyProperties2KHR
5404{
5405	VkStructureType					sType;
5406	void*							pNext;
5407	VkVideoCodecOperationFlagsKHR	videoCodecOperations;
5408};
5409
5410struct VkVideoProfileKHR
5411{
5412	VkStructureType						sType;
5413	void*								pNext;
5414	VkVideoCodecOperationFlagBitsKHR	videoCodecOperation;
5415	VkVideoChromaSubsamplingFlagsKHR	chromaSubsampling;
5416	VkVideoComponentBitDepthFlagsKHR	lumaBitDepth;
5417	VkVideoComponentBitDepthFlagsKHR	chromaBitDepth;
5418};
5419
5420struct VkVideoProfilesKHR
5421{
5422	VkStructureType				sType;
5423	void*						pNext;
5424	deUint32					profileCount;
5425	const VkVideoProfileKHR*	pProfiles;
5426};
5427
5428struct VkVideoCapabilitiesKHR
5429{
5430	VkStructureType				sType;
5431	void*						pNext;
5432	VkVideoCapabilitiesFlagsKHR	capabilityFlags;
5433	VkDeviceSize				minBitstreamBufferOffsetAlignment;
5434	VkDeviceSize				minBitstreamBufferSizeAlignment;
5435	VkExtent2D					videoPictureExtentGranularity;
5436	VkExtent2D					minExtent;
5437	VkExtent2D					maxExtent;
5438	deUint32					maxReferencePicturesSlotsCount;
5439	deUint32					maxReferencePicturesActiveCount;
5440};
5441
5442struct VkPhysicalDeviceVideoFormatInfoKHR
5443{
5444	VkStructureType				sType;
5445	const void*					pNext;
5446	VkImageUsageFlags			imageUsage;
5447	const VkVideoProfilesKHR*	pVideoProfiles;
5448};
5449
5450struct VkVideoFormatPropertiesKHR
5451{
5452	VkStructureType	sType;
5453	void*			pNext;
5454	VkFormat		format;
5455};
5456
5457struct VkVideoPictureResourceKHR
5458{
5459	VkStructureType	sType;
5460	const void*		pNext;
5461	VkOffset2D		codedOffset;
5462	VkExtent2D		codedExtent;
5463	deUint32		baseArrayLayer;
5464	VkImageView		imageViewBinding;
5465};
5466
5467struct VkVideoReferenceSlotKHR
5468{
5469	VkStructureType						sType;
5470	const void*							pNext;
5471	deInt8								slotIndex;
5472	const VkVideoPictureResourceKHR*	pPictureResource;
5473};
5474
5475struct VkVideoGetMemoryPropertiesKHR
5476{
5477	VkStructureType			sType;
5478	const void*				pNext;
5479	deUint32				memoryBindIndex;
5480	VkMemoryRequirements2*	pMemoryRequirements;
5481};
5482
5483struct VkVideoBindMemoryKHR
5484{
5485	VkStructureType	sType;
5486	const void*		pNext;
5487	deUint32		memoryBindIndex;
5488	VkDeviceMemory	memory;
5489	VkDeviceSize	memoryOffset;
5490	VkDeviceSize	memorySize;
5491};
5492
5493struct VkVideoSessionCreateInfoKHR
5494{
5495	VkStructureType					sType;
5496	const void*						pNext;
5497	deUint32						queueFamilyIndex;
5498	VkVideoSessionCreateFlagsKHR	flags;
5499	const VkVideoProfileKHR*		pVideoProfile;
5500	VkFormat						pictureFormat;
5501	VkExtent2D						maxCodedExtent;
5502	VkFormat						referencePicturesFormat;
5503	deUint32						maxReferencePicturesSlotsCount;
5504	deUint32						maxReferencePicturesActiveCount;
5505};
5506
5507struct VkVideoSessionParametersCreateInfoKHR
5508{
5509	VkStructureType				sType;
5510	const void*					pNext;
5511	VkVideoSessionParametersKHR	videoSessionParametersTemplate;
5512	VkVideoSessionKHR			videoSession;
5513};
5514
5515struct VkVideoSessionParametersUpdateInfoKHR
5516{
5517	VkStructureType	sType;
5518	const void*		pNext;
5519	deUint32		updateSequenceCount;
5520};
5521
5522struct VkVideoBeginCodingInfoKHR
5523{
5524	VkStructureType						sType;
5525	const void*							pNext;
5526	VkVideoBeginCodingFlagsKHR			flags;
5527	VkVideoCodingQualityPresetFlagsKHR	codecQualityPreset;
5528	VkVideoSessionKHR					videoSession;
5529	VkVideoSessionParametersKHR			videoSessionParameters;
5530	deUint32							referenceSlotCount;
5531	const VkVideoReferenceSlotKHR*		pReferenceSlots;
5532};
5533
5534struct VkVideoEndCodingInfoKHR
5535{
5536	VkStructureType				sType;
5537	const void*					pNext;
5538	VkVideoEndCodingFlagsKHR	flags;
5539};
5540
5541struct VkVideoCodingControlInfoKHR
5542{
5543	VkStructureType					sType;
5544	const void*						pNext;
5545	VkVideoCodingControlFlagsKHR	flags;
5546};
5547
5548struct VkVideoDecodeInfoKHR
5549{
5550	VkStructureType					sType;
5551	const void*						pNext;
5552	VkVideoDecodeFlagsKHR			flags;
5553	VkOffset2D						codedOffset;
5554	VkExtent2D						codedExtent;
5555	VkBuffer						srcBuffer;
5556	VkDeviceSize					srcBufferOffset;
5557	VkDeviceSize					srcBufferRange;
5558	VkVideoPictureResourceKHR		dstPictureResource;
5559	const VkVideoReferenceSlotKHR*	pSetupReferenceSlot;
5560	deUint32						referenceSlotCount;
5561	const VkVideoReferenceSlotKHR*	pReferenceSlots;
5562};
5563
5564struct VkPhysicalDevicePortabilitySubsetFeaturesKHR
5565{
5566	VkStructureType	sType;
5567	void*			pNext;
5568	VkBool32		constantAlphaColorBlendFactors;
5569	VkBool32		events;
5570	VkBool32		imageViewFormatReinterpretation;
5571	VkBool32		imageViewFormatSwizzle;
5572	VkBool32		imageView2DOn3DImage;
5573	VkBool32		multisampleArrayImage;
5574	VkBool32		mutableComparisonSamplers;
5575	VkBool32		pointPolygons;
5576	VkBool32		samplerMipLodBias;
5577	VkBool32		separateStencilMaskRef;
5578	VkBool32		shaderSampleRateInterpolationFunctions;
5579	VkBool32		tessellationIsolines;
5580	VkBool32		tessellationPointMode;
5581	VkBool32		triangleFans;
5582	VkBool32		vertexAttributeAccessBeyondStride;
5583};
5584
5585struct VkPhysicalDevicePortabilitySubsetPropertiesKHR
5586{
5587	VkStructureType	sType;
5588	void*			pNext;
5589	deUint32		minVertexInputBindingStrideAlignment;
5590};
5591
5592struct VkVideoEncodeInfoKHR
5593{
5594	VkStructureType					sType;
5595	const void*						pNext;
5596	VkVideoEncodeFlagsKHR			flags;
5597	deUint32						qualityLevel;
5598	VkExtent2D						codedExtent;
5599	VkBuffer						dstBitstreamBuffer;
5600	VkDeviceSize					dstBitstreamBufferOffset;
5601	VkDeviceSize					dstBitstreamBufferMaxRange;
5602	VkVideoPictureResourceKHR		srcPictureResource;
5603	const VkVideoReferenceSlotKHR*	pSetupReferenceSlot;
5604	deUint32						referenceSlotCount;
5605	const VkVideoReferenceSlotKHR*	pReferenceSlots;
5606};
5607
5608struct VkVideoEncodeRateControlInfoKHR
5609{
5610	VkStructureType							sType;
5611	const void*								pNext;
5612	VkVideoEncodeRateControlFlagsKHR		flags;
5613	VkVideoEncodeRateControlModeFlagBitsKHR	rateControlMode;
5614	deUint32								averageBitrate;
5615	deUint16								peakToAverageBitrateRatio;
5616	deUint16								frameRateNumerator;
5617	deUint16								frameRateDenominator;
5618	deUint32								virtualBufferSizeInMs;
5619};
5620
5621struct StdVideoH264SpsVuiFlags
5622{
5623	deUint32	aspect_ratio_info_present_flag:1;
5624	deUint32	overscan_info_present_flag:1;
5625	deUint32	overscan_appropriate_flag:1;
5626	deUint32	video_signal_type_present_flag:1;
5627	deUint32	video_full_range_flag:1;
5628	deUint32	color_description_present_flag:1;
5629	deUint32	chroma_loc_info_present_flag:1;
5630	deUint32	timing_info_present_flag:1;
5631	deUint32	fixed_frame_rate_flag:1;
5632	deUint32	bitstream_restriction_flag:1;
5633	deUint32	nal_hrd_parameters_present_flag:1;
5634	deUint32	vcl_hrd_parameters_present_flag:1;
5635};
5636
5637struct StdVideoH264HrdParameters
5638{
5639	deUint8		cpb_cnt_minus1;
5640	deUint8		bit_rate_scale;
5641	deUint8		cpb_size_scale;
5642	deUint32	bit_rate_value_minus1[32];
5643	deUint32	cpb_size_value_minus1[32];
5644	deUint8		cbr_flag[32];
5645	deUint32	initial_cpb_removal_delay_length_minus1;
5646	deUint32	cpb_removal_delay_length_minus1;
5647	deUint32	dpb_output_delay_length_minus1;
5648	deUint32	time_offset_length;
5649};
5650
5651struct StdVideoH264SequenceParameterSetVui
5652{
5653	StdVideoH264AspectRatioIdc	aspect_ratio_idc;
5654	deUint16					sar_width;
5655	deUint16					sar_height;
5656	deUint8						video_format;
5657	deUint8						color_primaries;
5658	deUint8						transfer_characteristics;
5659	deUint8						matrix_coefficients;
5660	deUint32					num_units_in_tick;
5661	deUint32					time_scale;
5662	StdVideoH264HrdParameters	hrd_parameters;
5663	deUint8						num_reorder_frames;
5664	deUint8						max_dec_frame_buffering;
5665	StdVideoH264SpsVuiFlags		flags;
5666};
5667
5668struct StdVideoH264SpsFlags
5669{
5670	deUint32	constraint_set0_flag:1;
5671	deUint32	constraint_set1_flag:1;
5672	deUint32	constraint_set2_flag:1;
5673	deUint32	constraint_set3_flag:1;
5674	deUint32	constraint_set4_flag:1;
5675	deUint32	constraint_set5_flag:1;
5676	deUint32	direct_8x8_inference_flag:1;
5677	deUint32	mb_adaptive_frame_field_flag:1;
5678	deUint32	frame_mbs_only_flag:1;
5679	deUint32	delta_pic_order_always_zero_flag:1;
5680	deUint32	residual_colour_transform_flag:1;
5681	deUint32	gaps_in_frame_num_value_allowed_flag:1;
5682	deUint32	first_picture_after_seek_flag:1;
5683	deUint32	qpprime_y_zero_transform_bypass_flag:1;
5684	deUint32	frame_cropping_flag:1;
5685	deUint32	scaling_matrix_present_flag:1;
5686	deUint32	vui_parameters_present_flag:1;
5687};
5688
5689struct StdVideoH264ScalingLists
5690{
5691	deUint8	scaling_list_present_mask;
5692	deUint8	use_default_scaling_matrix_mask;
5693	deUint8	ScalingList4x4[6][16];
5694	deUint8	ScalingList8x8[2][64];
5695};
5696
5697struct StdVideoH264SequenceParameterSet
5698{
5699	StdVideoH264ProfileIdc					profile_idc;
5700	StdVideoH264Level						level_idc;
5701	deUint8									seq_parameter_set_id;
5702	StdVideoH264ChromaFormatIdc				chroma_format_idc;
5703	deUint8									bit_depth_luma_minus8;
5704	deUint8									bit_depth_chroma_minus8;
5705	deUint8									log2_max_frame_num_minus4;
5706	StdVideoH264PocType						pic_order_cnt_type;
5707	deUint8									log2_max_pic_order_cnt_lsb_minus4;
5708	deInt32									offset_for_non_ref_pic;
5709	deInt32									offset_for_top_to_bottom_field;
5710	deUint8									num_ref_frames_in_pic_order_cnt_cycle;
5711	deUint8									max_num_ref_frames;
5712	deUint32								pic_width_in_mbs_minus1;
5713	deUint32								pic_height_in_map_units_minus1;
5714	deUint32								frame_crop_left_offset;
5715	deUint32								frame_crop_right_offset;
5716	deUint32								frame_crop_top_offset;
5717	deUint32								frame_crop_bottom_offset;
5718	StdVideoH264SpsFlags					flags;
5719	deInt32									offset_for_ref_frame[255];
5720	StdVideoH264ScalingLists*				pScalingLists;
5721	StdVideoH264SequenceParameterSetVui*	pSequenceParameterSetVui;
5722};
5723
5724struct StdVideoH264PpsFlags
5725{
5726	deUint32	transform_8x8_mode_flag:1;
5727	deUint32	redundant_pic_cnt_present_flag:1;
5728	deUint32	constrained_intra_pred_flag:1;
5729	deUint32	deblocking_filter_control_present_flag:1;
5730	deUint32	weighted_bipred_idc_flag:1;
5731	deUint32	weighted_pred_flag:1;
5732	deUint32	pic_order_present_flag:1;
5733	deUint32	entropy_coding_mode_flag:1;
5734	deUint32	scaling_matrix_present_flag:1;
5735};
5736
5737struct StdVideoH264PictureParameterSet
5738{
5739	deUint8							seq_parameter_set_id;
5740	deUint8							pic_parameter_set_id;
5741	deUint8							num_ref_idx_l0_default_active_minus1;
5742	deUint8							num_ref_idx_l1_default_active_minus1;
5743	StdVideoH264WeightedBiPredIdc	weighted_bipred_idc;
5744	deInt8							pic_init_qp_minus26;
5745	deInt8							pic_init_qs_minus26;
5746	deInt8							chroma_qp_index_offset;
5747	deInt8							second_chroma_qp_index_offset;
5748	StdVideoH264PpsFlags			flags;
5749	StdVideoH264ScalingLists*		pScalingLists;
5750};
5751
5752struct StdVideoEncodeH264SliceHeaderFlags
5753{
5754	deUint32	idr_flag:1;
5755	deUint32	is_reference_flag:1;
5756	deUint32	num_ref_idx_active_override_flag:1;
5757	deUint32	no_output_of_prior_pics_flag:1;
5758	deUint32	long_term_reference_flag:1;
5759	deUint32	adaptive_ref_pic_marking_mode_flag:1;
5760	deUint32	no_prior_references_available_flag:1;
5761};
5762
5763struct StdVideoEncodeH264PictureInfoFlags
5764{
5765	deUint32	idr_flag:1;
5766	deUint32	is_reference_flag:1;
5767	deUint32	long_term_reference_flag:1;
5768};
5769
5770struct StdVideoEncodeH264RefMgmtFlags
5771{
5772	deUint32	ref_pic_list_modification_l0_flag:1;
5773	deUint32	ref_pic_list_modification_l1_flag:1;
5774};
5775
5776struct StdVideoEncodeH264RefListModEntry
5777{
5778	StdVideoH264ModificationOfPicNumsIdc	modification_of_pic_nums_idc;
5779	deUint16								abs_diff_pic_num_minus1;
5780	deUint16								long_term_pic_num;
5781};
5782
5783struct StdVideoEncodeH264RefPicMarkingEntry
5784{
5785	StdVideoH264MemMgmtControlOp	operation;
5786	deUint16						difference_of_pic_nums_minus1;
5787	deUint16						long_term_pic_num;
5788	deUint16						long_term_frame_idx;
5789	deUint16						max_long_term_frame_idx_plus1;
5790};
5791
5792struct StdVideoEncodeH264RefMemMgmtCtrlOperations
5793{
5794	StdVideoEncodeH264RefMgmtFlags			flags;
5795	deUint8									refList0ModOpCount;
5796	StdVideoEncodeH264RefListModEntry*		pRefList0ModOperations;
5797	deUint8									refList1ModOpCount;
5798	StdVideoEncodeH264RefListModEntry*		pRefList1ModOperations;
5799	deUint8									refPicMarkingOpCount;
5800	StdVideoEncodeH264RefPicMarkingEntry*	pRefPicMarkingOperations;
5801};
5802
5803struct StdVideoEncodeH264PictureInfo
5804{
5805	StdVideoEncodeH264PictureInfoFlags	flags;
5806	StdVideoH264PictureType				pictureType;
5807	deUint32							frameNum;
5808	deUint32							pictureOrderCount;
5809	deUint16							long_term_pic_num;
5810	deUint16							long_term_frame_idx;
5811};
5812
5813struct StdVideoEncodeH264SliceHeader
5814{
5815	StdVideoEncodeH264SliceHeaderFlags			flags;
5816	StdVideoH264SliceType						slice_type;
5817	deUint8										seq_parameter_set_id;
5818	deUint8										pic_parameter_set_id;
5819	deUint16									idr_pic_id;
5820	deUint8										num_ref_idx_l0_active_minus1;
5821	deUint8										num_ref_idx_l1_active_minus1;
5822	StdVideoH264CabacInitIdc					cabac_init_idc;
5823	StdVideoH264DisableDeblockingFilterIdc		disable_deblocking_filter_idc;
5824	deInt8										slice_alpha_c0_offset_div2;
5825	deInt8										slice_beta_offset_div2;
5826	StdVideoEncodeH264RefMemMgmtCtrlOperations*	pMemMgmtCtrlOperations;
5827};
5828
5829struct VkVideoEncodeH264CapabilitiesEXT
5830{
5831	VkStructureType							sType;
5832	const void*								pNext;
5833	VkVideoEncodeH264CapabilitiesFlagsEXT	flags;
5834	VkVideoEncodeH264InputModeFlagsEXT		inputModeFlags;
5835	VkVideoEncodeH264OutputModeFlagsEXT		outputModeFlags;
5836	VkExtent2D								minPictureSizeInMbs;
5837	VkExtent2D								maxPictureSizeInMbs;
5838	VkExtent2D								inputImageDataAlignment;
5839	deUint8									maxNumL0ReferenceForP;
5840	deUint8									maxNumL0ReferenceForB;
5841	deUint8									maxNumL1Reference;
5842	deUint8									qualityLevelCount;
5843	VkExtensionProperties					stdExtensionVersion;
5844};
5845
5846struct VkVideoEncodeH264SessionCreateInfoEXT
5847{
5848	VkStructureType					sType;
5849	const void*						pNext;
5850	VkVideoEncodeH264CreateFlagsEXT	flags;
5851	VkExtent2D						maxPictureSizeInMbs;
5852	const VkExtensionProperties*	pStdExtensionVersion;
5853};
5854
5855struct VkVideoEncodeH264SessionParametersAddInfoEXT
5856{
5857	VkStructureType							sType;
5858	const void*								pNext;
5859	deUint32								spsStdCount;
5860	const StdVideoH264SequenceParameterSet*	pSpsStd;
5861	deUint32								ppsStdCount;
5862	const StdVideoH264PictureParameterSet*	pPpsStd;
5863};
5864
5865struct VkVideoEncodeH264SessionParametersCreateInfoEXT
5866{
5867	VkStructureType										sType;
5868	const void*											pNext;
5869	deUint32											maxSpsStdCount;
5870	deUint32											maxPpsStdCount;
5871	const VkVideoEncodeH264SessionParametersAddInfoEXT*	pParametersAddInfo;
5872};
5873
5874struct VkVideoEncodeH264DpbSlotInfoEXT
5875{
5876	VkStructureType							sType;
5877	const void*								pNext;
5878	deInt8									slotIndex;
5879	const StdVideoEncodeH264PictureInfo*	pStdPictureInfo;
5880};
5881
5882struct VkVideoEncodeH264NaluSliceEXT
5883{
5884	VkStructureType							sType;
5885	const void*								pNext;
5886	const StdVideoEncodeH264SliceHeader*	pSliceHeaderStd;
5887	deUint32								mbCount;
5888	deUint8									refFinalList0EntryCount;
5889	const VkVideoEncodeH264DpbSlotInfoEXT*	pRefFinalList0Entries;
5890	deUint8									refFinalList1EntryCount;
5891	const VkVideoEncodeH264DpbSlotInfoEXT*	pRefFinalList1Entries;
5892	deUint32								precedingNaluBytes;
5893	deUint8									minQp;
5894	deUint8									maxQp;
5895};
5896
5897struct VkVideoEncodeH264VclFrameInfoEXT
5898{
5899	VkStructureType							sType;
5900	const void*								pNext;
5901	deUint8									refDefaultFinalList0EntryCount;
5902	const VkVideoEncodeH264DpbSlotInfoEXT*	pRefDefaultFinalList0Entries;
5903	deUint8									refDefaultFinalList1EntryCount;
5904	const VkVideoEncodeH264DpbSlotInfoEXT*	pRefDefaultFinalList1Entries;
5905	deUint32								naluSliceEntryCount;
5906	const VkVideoEncodeH264NaluSliceEXT*	pNaluSliceEntries;
5907	const VkVideoEncodeH264DpbSlotInfoEXT*	pCurrentPictureInfo;
5908};
5909
5910struct VkVideoEncodeH264EmitPictureParametersEXT
5911{
5912	VkStructureType	sType;
5913	const void*		pNext;
5914	deUint8			spsId;
5915	VkBool32		emitSpsEnable;
5916	deUint32		ppsIdEntryCount;
5917	const deUint8*	ppsIdEntries;
5918};
5919
5920struct VkVideoEncodeH264ProfileEXT
5921{
5922	VkStructureType			sType;
5923	const void*				pNext;
5924	StdVideoH264ProfileIdc	stdProfileIdc;
5925};
5926
5927struct StdVideoDecodeH264PictureInfoFlags
5928{
5929	deUint32	field_pic_flag:1;
5930	deUint32	is_intra:1;
5931	deUint32	bottom_field_flag:1;
5932	deUint32	is_reference:1;
5933	deUint32	complementary_field_pair:1;
5934};
5935
5936struct StdVideoDecodeH264PictureInfo
5937{
5938	deUint8								seq_parameter_set_id;
5939	deUint8								pic_parameter_set_id;
5940	deUint16							reserved;
5941	deUint16							frame_num;
5942	deUint16							idr_pic_id;
5943	deInt32								PicOrderCnt[2];
5944	StdVideoDecodeH264PictureInfoFlags	flags;
5945};
5946
5947struct StdVideoDecodeH264ReferenceInfoFlags
5948{
5949	deUint32	top_field_flag:1;
5950	deUint32	bottom_field_flag:1;
5951	deUint32	is_long_term:1;
5952	deUint32	is_non_existing:1;
5953};
5954
5955struct StdVideoDecodeH264ReferenceInfo
5956{
5957	deUint16								FrameNum;
5958	deUint16								reserved;
5959	deInt32									PicOrderCnt[2];
5960	StdVideoDecodeH264ReferenceInfoFlags	flags;
5961};
5962
5963struct StdVideoDecodeH264MvcElementFlags
5964{
5965	deUint32	non_idr:1;
5966	deUint32	anchor_pic:1;
5967	deUint32	inter_view:1;
5968};
5969
5970struct StdVideoDecodeH264MvcElement
5971{
5972	StdVideoDecodeH264MvcElementFlags	flags;
5973	deUint16							viewOrderIndex;
5974	deUint16							viewId;
5975	deUint16							temporalId;
5976	deUint16							priorityId;
5977	deUint16							numOfAnchorRefsInL0;
5978	deUint16							viewIdOfAnchorRefsInL0[15];
5979	deUint16							numOfAnchorRefsInL1;
5980	deUint16							viewIdOfAnchorRefsInL1[15];
5981	deUint16							numOfNonAnchorRefsInL0;
5982	deUint16							viewIdOfNonAnchorRefsInL0[15];
5983	deUint16							numOfNonAnchorRefsInL1;
5984	deUint16							viewIdOfNonAnchorRefsInL1[15];
5985};
5986
5987struct StdVideoDecodeH264Mvc
5988{
5989	deUint32						viewId0;
5990	deUint32						mvcElementCount;
5991	StdVideoDecodeH264MvcElement*	pMvcElements;
5992};
5993
5994struct VkVideoDecodeH264ProfileEXT
5995{
5996	VkStructureType							sType;
5997	const void*								pNext;
5998	StdVideoH264ProfileIdc					stdProfileIdc;
5999	VkVideoDecodeH264FieldLayoutFlagsEXT	fieldLayout;
6000};
6001
6002struct VkVideoDecodeH264CapabilitiesEXT
6003{
6004	VkStructureType			sType;
6005	void*					pNext;
6006	deUint32				maxLevel;
6007	VkOffset2D				fieldOffsetGranularity;
6008	VkExtensionProperties	stdExtensionVersion;
6009};
6010
6011struct VkVideoDecodeH264SessionCreateInfoEXT
6012{
6013	VkStructureType					sType;
6014	const void*						pNext;
6015	VkVideoDecodeH264CreateFlagsEXT	flags;
6016	const VkExtensionProperties*	pStdExtensionVersion;
6017};
6018
6019struct VkVideoDecodeH264SessionParametersAddInfoEXT
6020{
6021	VkStructureType							sType;
6022	const void*								pNext;
6023	deUint32								spsStdCount;
6024	const StdVideoH264SequenceParameterSet*	pSpsStd;
6025	deUint32								ppsStdCount;
6026	const StdVideoH264PictureParameterSet*	pPpsStd;
6027};
6028
6029struct VkVideoDecodeH264SessionParametersCreateInfoEXT
6030{
6031	VkStructureType										sType;
6032	const void*											pNext;
6033	deUint32											maxSpsStdCount;
6034	deUint32											maxPpsStdCount;
6035	const VkVideoDecodeH264SessionParametersAddInfoEXT*	pParametersAddInfo;
6036};
6037
6038struct VkVideoDecodeH264PictureInfoEXT
6039{
6040	VkStructureType							sType;
6041	const void*								pNext;
6042	const StdVideoDecodeH264PictureInfo*	pStdPictureInfo;
6043	deUint32								slicesCount;
6044	const deUint32*							pSlicesDataOffsets;
6045};
6046
6047struct VkVideoDecodeH264MvcEXT
6048{
6049	VkStructureType					sType;
6050	const void*						pNext;
6051	const StdVideoDecodeH264Mvc*	pStdMvc;
6052};
6053
6054struct VkVideoDecodeH264DpbSlotInfoEXT
6055{
6056	VkStructureType							sType;
6057	const void*								pNext;
6058	const StdVideoDecodeH264ReferenceInfo*	pStdReferenceInfo;
6059};
6060
6061struct StdVideoH265DecPicBufMgr
6062{
6063	deUint32	max_latency_increase_plus1[7];
6064	deUint8		max_dec_pic_buffering_minus1[7];
6065	deUint8		max_num_reorder_pics[7];
6066};
6067
6068struct StdVideoH265SubLayerHrdParameters
6069{
6070	deUint32	bit_rate_value_minus1[32];
6071	deUint32	cpb_size_value_minus1[32];
6072	deUint32	cpb_size_du_value_minus1[32];
6073	deUint32	bit_rate_du_value_minus1[32];
6074	deUint32	cbr_flag;
6075};
6076
6077struct StdVideoH265HrdFlags
6078{
6079	deUint32	nal_hrd_parameters_present_flag:1;
6080	deUint32	vcl_hrd_parameters_present_flag:1;
6081	deUint32	sub_pic_hrd_params_present_flag:1;
6082	deUint32	sub_pic_cpb_params_in_pic_timing_sei_flag:1;
6083	deUint8		fixed_pic_rate_general_flag;
6084	deUint8		fixed_pic_rate_within_cvs_flag;
6085	deUint8		low_delay_hrd_flag;
6086};
6087
6088struct StdVideoH265HrdParameters
6089{
6090	deUint8								tick_divisor_minus2;
6091	deUint8								du_cpb_removal_delay_increment_length_minus1;
6092	deUint8								dpb_output_delay_du_length_minus1;
6093	deUint8								bit_rate_scale;
6094	deUint8								cpb_size_scale;
6095	deUint8								cpb_size_du_scale;
6096	deUint8								initial_cpb_removal_delay_length_minus1;
6097	deUint8								au_cpb_removal_delay_length_minus1;
6098	deUint8								dpb_output_delay_length_minus1;
6099	deUint8								cpb_cnt_minus1[7];
6100	deUint16							elemental_duration_in_tc_minus1[7];
6101	StdVideoH265SubLayerHrdParameters*	SubLayerHrdParametersNal[7];
6102	StdVideoH265SubLayerHrdParameters*	SubLayerHrdParametersVcl[7];
6103	StdVideoH265HrdFlags				flags;
6104};
6105
6106struct StdVideoH265VpsFlags
6107{
6108	deUint32	vps_temporal_id_nesting_flag:1;
6109	deUint32	vps_sub_layer_ordering_info_present_flag:1;
6110	deUint32	vps_timing_info_present_flag:1;
6111	deUint32	vps_poc_proportional_to_timing_flag:1;
6112};
6113
6114struct StdVideoH265VideoParameterSet
6115{
6116	deUint8						vps_video_parameter_set_id;
6117	deUint8						vps_max_sub_layers_minus1;
6118	deUint32					vps_num_units_in_tick;
6119	deUint32					vps_time_scale;
6120	deUint32					vps_num_ticks_poc_diff_one_minus1;
6121	StdVideoH265DecPicBufMgr*	pDecPicBufMgr;
6122	StdVideoH265HrdParameters*	hrd_parameters;
6123	StdVideoH265VpsFlags		flags;
6124};
6125
6126struct StdVideoH265ScalingLists
6127{
6128	deUint8	ScalingList4x4[6][16];
6129	deUint8	ScalingList8x8[6][64];
6130	deUint8	ScalingList16x16[6][64];
6131	deUint8	ScalingList32x32[2][64];
6132	deUint8	ScalingListDCCoef16x16[6];
6133	deUint8	ScalingListDCCoef32x32[2];
6134};
6135
6136struct StdVideoH265SpsVuiFlags
6137{
6138	deUint32	aspect_ratio_info_present_flag:1;
6139	deUint32	overscan_info_present_flag:1;
6140	deUint32	overscan_appropriate_flag:1;
6141	deUint32	video_signal_type_present_flag:1;
6142	deUint32	video_full_range_flag:1;
6143	deUint32	colour_description_present_flag:1;
6144	deUint32	chroma_loc_info_present_flag:1;
6145	deUint32	neutral_chroma_indication_flag:1;
6146	deUint32	field_seq_flag:1;
6147	deUint32	frame_field_info_present_flag:1;
6148	deUint32	default_display_window_flag:1;
6149	deUint32	vui_timing_info_present_flag:1;
6150	deUint32	vui_poc_proportional_to_timing_flag:1;
6151	deUint32	vui_hrd_parameters_present_flag:1;
6152	deUint32	bitstream_restriction_flag:1;
6153	deUint32	tiles_fixed_structure_flag:1;
6154	deUint32	motion_vectors_over_pic_boundaries_flag:1;
6155	deUint32	restricted_ref_pic_lists_flag:1;
6156};
6157
6158struct StdVideoH265SequenceParameterSetVui
6159{
6160	deUint8						aspect_ratio_idc;
6161	deUint16					sar_width;
6162	deUint16					sar_height;
6163	deUint8						video_format;
6164	deUint8						colour_primaries;
6165	deUint8						transfer_characteristics;
6166	deUint8						matrix_coeffs;
6167	deUint8						chroma_sample_loc_type_top_field;
6168	deUint8						chroma_sample_loc_type_bottom_field;
6169	deUint16					def_disp_win_left_offset;
6170	deUint16					def_disp_win_right_offset;
6171	deUint16					def_disp_win_top_offset;
6172	deUint16					def_disp_win_bottom_offset;
6173	deUint32					vui_num_units_in_tick;
6174	deUint32					vui_time_scale;
6175	deUint32					vui_num_ticks_poc_diff_one_minus1;
6176	StdVideoH265HrdParameters*	hrd_parameters;
6177	deUint16					min_spatial_segmentation_idc;
6178	deUint8						max_bytes_per_pic_denom;
6179	deUint8						max_bits_per_min_cu_denom;
6180	deUint8						log2_max_mv_length_horizontal;
6181	deUint8						log2_max_mv_length_vertical;
6182	StdVideoH265SpsVuiFlags		flags;
6183};
6184
6185struct StdVideoH265PredictorPaletteEntries
6186{
6187	deUint16	PredictorPaletteEntries[3][128];
6188};
6189
6190struct StdVideoH265SpsFlags
6191{
6192	deUint32	sps_temporal_id_nesting_flag:1;
6193	deUint32	separate_colour_plane_flag:1;
6194	deUint32	scaling_list_enabled_flag:1;
6195	deUint32	sps_scaling_list_data_present_flag:1;
6196	deUint32	amp_enabled_flag:1;
6197	deUint32	sample_adaptive_offset_enabled_flag:1;
6198	deUint32	pcm_enabled_flag:1;
6199	deUint32	pcm_loop_filter_disabled_flag:1;
6200	deUint32	long_term_ref_pics_present_flag:1;
6201	deUint32	sps_temporal_mvp_enabled_flag:1;
6202	deUint32	strong_intra_smoothing_enabled_flag:1;
6203	deUint32	vui_parameters_present_flag:1;
6204	deUint32	sps_extension_present_flag:1;
6205	deUint32	sps_range_extension_flag:1;
6206	deUint32	transform_skip_rotation_enabled_flag:1;
6207	deUint32	transform_skip_context_enabled_flag:1;
6208	deUint32	implicit_rdpcm_enabled_flag:1;
6209	deUint32	explicit_rdpcm_enabled_flag:1;
6210	deUint32	extended_precision_processing_flag:1;
6211	deUint32	intra_smoothing_disabled_flag:1;
6212	deUint32	high_precision_offsets_enabled_flag:1;
6213	deUint32	persistent_rice_adaptation_enabled_flag:1;
6214	deUint32	cabac_bypass_alignment_enabled_flag:1;
6215	deUint32	sps_curr_pic_ref_enabled_flag:1;
6216	deUint32	palette_mode_enabled_flag:1;
6217	deUint32	sps_palette_predictor_initializer_present_flag:1;
6218	deUint32	intra_boundary_filtering_disabled_flag:1;
6219};
6220
6221struct StdVideoH265SequenceParameterSet
6222{
6223	StdVideoH265ProfileIdc					profile_idc;
6224	StdVideoH265Level						level_idc;
6225	deUint32								pic_width_in_luma_samples;
6226	deUint32								pic_height_in_luma_samples;
6227	deUint8									sps_video_parameter_set_id;
6228	deUint8									sps_max_sub_layers_minus1;
6229	deUint8									sps_seq_parameter_set_id;
6230	deUint8									chroma_format_idc;
6231	deUint8									bit_depth_luma_minus8;
6232	deUint8									bit_depth_chroma_minus8;
6233	deUint8									log2_max_pic_order_cnt_lsb_minus4;
6234	deUint8									sps_max_dec_pic_buffering_minus1;
6235	deUint8									log2_min_luma_coding_block_size_minus3;
6236	deUint8									log2_diff_max_min_luma_coding_block_size;
6237	deUint8									log2_min_luma_transform_block_size_minus2;
6238	deUint8									log2_diff_max_min_luma_transform_block_size;
6239	deUint8									max_transform_hierarchy_depth_inter;
6240	deUint8									max_transform_hierarchy_depth_intra;
6241	deUint8									num_short_term_ref_pic_sets;
6242	deUint8									num_long_term_ref_pics_sps;
6243	deUint8									pcm_sample_bit_depth_luma_minus1;
6244	deUint8									pcm_sample_bit_depth_chroma_minus1;
6245	deUint8									log2_min_pcm_luma_coding_block_size_minus3;
6246	deUint8									log2_diff_max_min_pcm_luma_coding_block_size;
6247	deUint32								conf_win_left_offset;
6248	deUint32								conf_win_right_offset;
6249	deUint32								conf_win_top_offset;
6250	deUint32								conf_win_bottom_offset;
6251	StdVideoH265DecPicBufMgr*				pDecPicBufMgr;
6252	StdVideoH265SpsFlags					flags;
6253	StdVideoH265ScalingLists*				pScalingLists;
6254	StdVideoH265SequenceParameterSetVui*	pSequenceParameterSetVui;
6255	deUint8									palette_max_size;
6256	deUint8									delta_palette_max_predictor_size;
6257	deUint8									motion_vector_resolution_control_idc;
6258	deUint8									sps_num_palette_predictor_initializer_minus1;
6259	StdVideoH265PredictorPaletteEntries*	pPredictorPaletteEntries;
6260};
6261
6262struct StdVideoH265PpsFlags
6263{
6264	deUint32	dependent_slice_segments_enabled_flag:1;
6265	deUint32	output_flag_present_flag:1;
6266	deUint32	sign_data_hiding_enabled_flag:1;
6267	deUint32	cabac_init_present_flag:1;
6268	deUint32	constrained_intra_pred_flag:1;
6269	deUint32	transform_skip_enabled_flag:1;
6270	deUint32	cu_qp_delta_enabled_flag:1;
6271	deUint32	pps_slice_chroma_qp_offsets_present_flag:1;
6272	deUint32	weighted_pred_flag:1;
6273	deUint32	weighted_bipred_flag:1;
6274	deUint32	transquant_bypass_enabled_flag:1;
6275	deUint32	tiles_enabled_flag:1;
6276	deUint32	entropy_coding_sync_enabled_flag:1;
6277	deUint32	uniform_spacing_flag:1;
6278	deUint32	loop_filter_across_tiles_enabled_flag:1;
6279	deUint32	pps_loop_filter_across_slices_enabled_flag:1;
6280	deUint32	deblocking_filter_control_present_flag:1;
6281	deUint32	deblocking_filter_override_enabled_flag:1;
6282	deUint32	pps_deblocking_filter_disabled_flag:1;
6283	deUint32	pps_scaling_list_data_present_flag:1;
6284	deUint32	lists_modification_present_flag:1;
6285	deUint32	slice_segment_header_extension_present_flag:1;
6286	deUint32	pps_extension_present_flag:1;
6287	deUint32	cross_component_prediction_enabled_flag:1;
6288	deUint32	chroma_qp_offset_list_enabled_flag:1;
6289	deUint32	pps_curr_pic_ref_enabled_flag:1;
6290	deUint32	residual_adaptive_colour_transform_enabled_flag:1;
6291	deUint32	pps_slice_act_qp_offsets_present_flag:1;
6292	deUint32	pps_palette_predictor_initializer_present_flag:1;
6293	deUint32	monochrome_palette_flag:1;
6294	deUint32	pps_range_extension_flag:1;
6295};
6296
6297struct StdVideoH265PictureParameterSet
6298{
6299	deUint8									pps_pic_parameter_set_id;
6300	deUint8									pps_seq_parameter_set_id;
6301	deUint8									num_extra_slice_header_bits;
6302	deUint8									num_ref_idx_l0_default_active_minus1;
6303	deUint8									num_ref_idx_l1_default_active_minus1;
6304	deInt8									init_qp_minus26;
6305	deUint8									diff_cu_qp_delta_depth;
6306	deInt8									pps_cb_qp_offset;
6307	deInt8									pps_cr_qp_offset;
6308	deUint8									num_tile_columns_minus1;
6309	deUint8									num_tile_rows_minus1;
6310	deUint16								column_width_minus1[19];
6311	deUint16								row_height_minus1[21];
6312	deInt8									pps_beta_offset_div2;
6313	deInt8									pps_tc_offset_div2;
6314	deUint8									log2_parallel_merge_level_minus2;
6315	StdVideoH265PpsFlags					flags;
6316	StdVideoH265ScalingLists*				pScalingLists;
6317	deUint8									log2_max_transform_skip_block_size_minus2;
6318	deUint8									diff_cu_chroma_qp_offset_depth;
6319	deUint8									chroma_qp_offset_list_len_minus1;
6320	deInt8									cb_qp_offset_list[6];
6321	deInt8									cr_qp_offset_list[6];
6322	deUint8									log2_sao_offset_scale_luma;
6323	deUint8									log2_sao_offset_scale_chroma;
6324	deInt8									pps_act_y_qp_offset_plus5;
6325	deInt8									pps_act_cb_qp_offset_plus5;
6326	deInt8									pps_act_cr_qp_offset_plus5;
6327	deUint8									pps_num_palette_predictor_initializer;
6328	deUint8									luma_bit_depth_entry_minus8;
6329	deUint8									chroma_bit_depth_entry_minus8;
6330	StdVideoH265PredictorPaletteEntries*	pPredictorPaletteEntries;
6331};
6332
6333struct StdVideoDecodeH265PictureInfoFlags
6334{
6335	deUint32	IrapPicFlag:1;
6336	deUint32	IdrPicFlag:1;
6337	deUint32	IsReference:1;
6338	deUint32	short_term_ref_pic_set_sps_flag:1;
6339};
6340
6341struct StdVideoDecodeH265PictureInfo
6342{
6343	deUint8								vps_video_parameter_set_id;
6344	deUint8								sps_seq_parameter_set_id;
6345	deUint8								pps_pic_parameter_set_id;
6346	deUint8								num_short_term_ref_pic_sets;
6347	deInt32								PicOrderCntVal;
6348	deUint16							NumBitsForSTRefPicSetInSlice;
6349	deUint8								NumDeltaPocsOfRefRpsIdx;
6350	deUint8								RefPicSetStCurrBefore[8];
6351	deUint8								RefPicSetStCurrAfter[8];
6352	deUint8								RefPicSetLtCurr[8];
6353	StdVideoDecodeH265PictureInfoFlags	flags;
6354};
6355
6356struct StdVideoDecodeH265ReferenceInfoFlags
6357{
6358	deUint32	is_long_term:1;
6359	deUint32	is_non_existing:1;
6360};
6361
6362struct StdVideoDecodeH265ReferenceInfo
6363{
6364	deInt32									PicOrderCntVal;
6365	StdVideoDecodeH265ReferenceInfoFlags	flags;
6366};
6367
6368struct VkVideoDecodeH265ProfileEXT
6369{
6370	VkStructureType			sType;
6371	const void*				pNext;
6372	StdVideoH265ProfileIdc	stdProfileIdc;
6373};
6374
6375struct VkVideoDecodeH265CapabilitiesEXT
6376{
6377	VkStructureType			sType;
6378	void*					pNext;
6379	deUint32				maxLevel;
6380	VkExtensionProperties	stdExtensionVersion;
6381};
6382
6383struct VkVideoDecodeH265SessionCreateInfoEXT
6384{
6385	VkStructureType					sType;
6386	const void*						pNext;
6387	VkVideoDecodeH265CreateFlagsEXT	flags;
6388	const VkExtensionProperties*	pStdExtensionVersion;
6389};
6390
6391struct VkVideoDecodeH265SessionParametersAddInfoEXT
6392{
6393	VkStructureType							sType;
6394	const void*								pNext;
6395	deUint32								spsStdCount;
6396	const StdVideoH265SequenceParameterSet*	pSpsStd;
6397	deUint32								ppsStdCount;
6398	const StdVideoH265PictureParameterSet*	pPpsStd;
6399};
6400
6401struct VkVideoDecodeH265SessionParametersCreateInfoEXT
6402{
6403	VkStructureType										sType;
6404	const void*											pNext;
6405	deUint32											maxSpsStdCount;
6406	deUint32											maxPpsStdCount;
6407	const VkVideoDecodeH265SessionParametersAddInfoEXT*	pParametersAddInfo;
6408};
6409
6410struct VkVideoDecodeH265PictureInfoEXT
6411{
6412	VkStructureType					sType;
6413	const void*						pNext;
6414	StdVideoDecodeH265PictureInfo*	pStdPictureInfo;
6415	deUint32						slicesCount;
6416	const deUint32*					pSlicesDataOffsets;
6417};
6418
6419struct VkVideoDecodeH265DpbSlotInfoEXT
6420{
6421	VkStructureType							sType;
6422	const void*								pNext;
6423	const StdVideoDecodeH265ReferenceInfo*	pStdReferenceInfo;
6424};
6425
6426struct VkImagePipeSurfaceCreateInfoFUCHSIA
6427{
6428	VkStructureType							sType;
6429	const void*								pNext;
6430	VkImagePipeSurfaceCreateFlagsFUCHSIA	flags;
6431	pt::zx_handle_t							imagePipeHandle;
6432};
6433
6434struct VkImportMemoryZirconHandleInfoFUCHSIA
6435{
6436	VkStructureType						sType;
6437	const void*							pNext;
6438	VkExternalMemoryHandleTypeFlagBits	handleType;
6439	pt::zx_handle_t						handle;
6440};
6441
6442struct VkMemoryZirconHandlePropertiesFUCHSIA
6443{
6444	VkStructureType	sType;
6445	void*			pNext;
6446	deUint32		memoryTypeBits;
6447};
6448
6449struct VkMemoryGetZirconHandleInfoFUCHSIA
6450{
6451	VkStructureType						sType;
6452	const void*							pNext;
6453	VkDeviceMemory						memory;
6454	VkExternalMemoryHandleTypeFlagBits	handleType;
6455};
6456
6457struct VkImportSemaphoreZirconHandleInfoFUCHSIA
6458{
6459	VkStructureType							sType;
6460	const void*								pNext;
6461	VkSemaphore								semaphore;
6462	VkSemaphoreImportFlags					flags;
6463	VkExternalSemaphoreHandleTypeFlagBits	handleType;
6464	pt::zx_handle_t							zirconHandle;
6465};
6466
6467struct VkSemaphoreGetZirconHandleInfoFUCHSIA
6468{
6469	VkStructureType							sType;
6470	const void*								pNext;
6471	VkSemaphore								semaphore;
6472	VkExternalSemaphoreHandleTypeFlagBits	handleType;
6473};
6474
6475struct VkStreamDescriptorSurfaceCreateInfoGGP
6476{
6477	VkStructureType							sType;
6478	const void*								pNext;
6479	VkStreamDescriptorSurfaceCreateFlagsGGP	flags;
6480	pt::GgpStreamDescriptor					streamDescriptor;
6481};
6482
6483struct VkPresentFrameTokenGGP
6484{
6485	VkStructureType		sType;
6486	const void*			pNext;
6487	pt::GgpFrameToken	frameToken;
6488};
6489
6490struct VkIOSSurfaceCreateInfoMVK
6491{
6492	VkStructureType				sType;
6493	const void*					pNext;
6494	VkIOSSurfaceCreateFlagsMVK	flags;
6495	const void*					pView;
6496};
6497
6498struct VkMacOSSurfaceCreateInfoMVK
6499{
6500	VkStructureType					sType;
6501	const void*						pNext;
6502	VkMacOSSurfaceCreateFlagsMVK	flags;
6503	const void*						pView;
6504};
6505
6506struct VkMetalSurfaceCreateInfoEXT
6507{
6508	VkStructureType					sType;
6509	const void*						pNext;
6510	VkMetalSurfaceCreateFlagsEXT	flags;
6511	const pt::CAMetalLayer*			pLayer;
6512};
6513
6514struct VkViSurfaceCreateInfoNN
6515{
6516	VkStructureType				sType;
6517	const void*					pNext;
6518	VkViSurfaceCreateFlagsNN	flags;
6519	void*						window;
6520};
6521
6522struct VkWaylandSurfaceCreateInfoKHR
6523{
6524	VkStructureType					sType;
6525	const void*						pNext;
6526	VkWaylandSurfaceCreateFlagsKHR	flags;
6527	pt::WaylandDisplayPtr			display;
6528	pt::WaylandSurfacePtr			surface;
6529};
6530
6531struct VkWin32SurfaceCreateInfoKHR
6532{
6533	VkStructureType					sType;
6534	const void*						pNext;
6535	VkWin32SurfaceCreateFlagsKHR	flags;
6536	pt::Win32InstanceHandle			hinstance;
6537	pt::Win32WindowHandle			hwnd;
6538};
6539
6540struct VkImportMemoryWin32HandleInfoKHR
6541{
6542	VkStructureType						sType;
6543	const void*							pNext;
6544	VkExternalMemoryHandleTypeFlagBits	handleType;
6545	pt::Win32Handle						handle;
6546	pt::Win32LPCWSTR					name;
6547};
6548
6549struct VkExportMemoryWin32HandleInfoKHR
6550{
6551	VkStructureType					sType;
6552	const void*						pNext;
6553	pt::Win32SecurityAttributesPtr	pAttributes;
6554	deUint32						dwAccess;
6555	pt::Win32LPCWSTR				name;
6556};
6557
6558struct VkMemoryWin32HandlePropertiesKHR
6559{
6560	VkStructureType	sType;
6561	void*			pNext;
6562	deUint32		memoryTypeBits;
6563};
6564
6565struct VkMemoryGetWin32HandleInfoKHR
6566{
6567	VkStructureType						sType;
6568	const void*							pNext;
6569	VkDeviceMemory						memory;
6570	VkExternalMemoryHandleTypeFlagBits	handleType;
6571};
6572
6573struct VkWin32KeyedMutexAcquireReleaseInfoKHR
6574{
6575	VkStructureType			sType;
6576	const void*				pNext;
6577	deUint32				acquireCount;
6578	const VkDeviceMemory*	pAcquireSyncs;
6579	const deUint64*			pAcquireKeys;
6580	const deUint32*			pAcquireTimeouts;
6581	deUint32				releaseCount;
6582	const VkDeviceMemory*	pReleaseSyncs;
6583	const deUint64*			pReleaseKeys;
6584};
6585
6586struct VkImportSemaphoreWin32HandleInfoKHR
6587{
6588	VkStructureType							sType;
6589	const void*								pNext;
6590	VkSemaphore								semaphore;
6591	VkSemaphoreImportFlags					flags;
6592	VkExternalSemaphoreHandleTypeFlagBits	handleType;
6593	pt::Win32Handle							handle;
6594	pt::Win32LPCWSTR						name;
6595};
6596
6597struct VkExportSemaphoreWin32HandleInfoKHR
6598{
6599	VkStructureType					sType;
6600	const void*						pNext;
6601	pt::Win32SecurityAttributesPtr	pAttributes;
6602	deUint32						dwAccess;
6603	pt::Win32LPCWSTR				name;
6604};
6605
6606struct VkD3D12FenceSubmitInfoKHR
6607{
6608	VkStructureType	sType;
6609	const void*		pNext;
6610	deUint32		waitSemaphoreValuesCount;
6611	const deUint64*	pWaitSemaphoreValues;
6612	deUint32		signalSemaphoreValuesCount;
6613	const deUint64*	pSignalSemaphoreValues;
6614};
6615
6616struct VkSemaphoreGetWin32HandleInfoKHR
6617{
6618	VkStructureType							sType;
6619	const void*								pNext;
6620	VkSemaphore								semaphore;
6621	VkExternalSemaphoreHandleTypeFlagBits	handleType;
6622};
6623
6624struct VkImportFenceWin32HandleInfoKHR
6625{
6626	VkStructureType						sType;
6627	const void*							pNext;
6628	VkFence								fence;
6629	VkFenceImportFlags					flags;
6630	VkExternalFenceHandleTypeFlagBits	handleType;
6631	pt::Win32Handle						handle;
6632	pt::Win32LPCWSTR					name;
6633};
6634
6635struct VkExportFenceWin32HandleInfoKHR
6636{
6637	VkStructureType					sType;
6638	const void*						pNext;
6639	pt::Win32SecurityAttributesPtr	pAttributes;
6640	deUint32						dwAccess;
6641	pt::Win32LPCWSTR				name;
6642};
6643
6644struct VkFenceGetWin32HandleInfoKHR
6645{
6646	VkStructureType						sType;
6647	const void*							pNext;
6648	VkFence								fence;
6649	VkExternalFenceHandleTypeFlagBits	handleType;
6650};
6651
6652struct VkImportMemoryWin32HandleInfoNV
6653{
6654	VkStructureType						sType;
6655	const void*							pNext;
6656	VkExternalMemoryHandleTypeFlagsNV	handleType;
6657	pt::Win32Handle						handle;
6658};
6659
6660struct VkExportMemoryWin32HandleInfoNV
6661{
6662	VkStructureType					sType;
6663	const void*						pNext;
6664	pt::Win32SecurityAttributesPtr	pAttributes;
6665	deUint32						dwAccess;
6666};
6667
6668struct VkWin32KeyedMutexAcquireReleaseInfoNV
6669{
6670	VkStructureType			sType;
6671	const void*				pNext;
6672	deUint32				acquireCount;
6673	const VkDeviceMemory*	pAcquireSyncs;
6674	const deUint64*			pAcquireKeys;
6675	const deUint32*			pAcquireTimeoutMilliseconds;
6676	deUint32				releaseCount;
6677	const VkDeviceMemory*	pReleaseSyncs;
6678	const deUint64*			pReleaseKeys;
6679};
6680
6681struct VkSurfaceFullScreenExclusiveInfoEXT
6682{
6683	VkStructureType				sType;
6684	void*						pNext;
6685	VkFullScreenExclusiveEXT	fullScreenExclusive;
6686};
6687
6688struct VkSurfaceCapabilitiesFullScreenExclusiveEXT
6689{
6690	VkStructureType	sType;
6691	void*			pNext;
6692	VkBool32		fullScreenExclusiveSupported;
6693};
6694
6695struct VkSurfaceFullScreenExclusiveWin32InfoEXT
6696{
6697	VkStructureType			sType;
6698	const void*				pNext;
6699	pt::Win32MonitorHandle	hmonitor;
6700};
6701
6702struct VkXcbSurfaceCreateInfoKHR
6703{
6704	VkStructureType				sType;
6705	const void*					pNext;
6706	VkXcbSurfaceCreateFlagsKHR	flags;
6707	pt::XcbConnectionPtr		connection;
6708	pt::XcbWindow				window;
6709};
6710
6711struct VkXlibSurfaceCreateInfoKHR
6712{
6713	VkStructureType				sType;
6714	const void*					pNext;
6715	VkXlibSurfaceCreateFlagsKHR	flags;
6716	pt::XlibDisplayPtr			dpy;
6717	pt::XlibWindow				window;
6718};
6719
6720typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
6721
6722typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
6723
6724typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6725
6726typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6727
6728typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6729
6730typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6731
6732typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6733
6734typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6735
6736typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6737
6738typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6739
6740typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6741
6742typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6743
6744typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6745
6746typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6747
6748typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6749
6750typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6751
6752typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6753
6754typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
6755
6756typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6757
6758typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6759
6760typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6761
6762typedef VkFormatProperties2 VkFormatProperties2KHR;
6763
6764typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6765
6766typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6767
6768typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6769
6770typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6771
6772typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6773
6774typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6775
6776typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6777
6778typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6779
6780typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6781
6782typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6783
6784typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6785
6786typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6787
6788typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6789
6790typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6791
6792typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
6793
6794typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
6795
6796typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
6797
6798typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
6799
6800typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
6801
6802typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
6803
6804typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6805
6806typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6807
6808typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6809
6810typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6811
6812typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6813
6814typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6815
6816typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6817
6818typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6819
6820typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6821
6822typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6823
6824typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6825
6826typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6827
6828typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6829
6830typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6831
6832typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6833
6834typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6835
6836typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6837
6838typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
6839
6840typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
6841
6842typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
6843
6844typedef VkConformanceVersion VkConformanceVersionKHR;
6845
6846typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
6847
6848typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6849
6850typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6851
6852typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6853
6854typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6855
6856typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6857
6858typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6859
6860typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6861
6862typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
6863
6864typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
6865
6866typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
6867
6868typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
6869
6870typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
6871
6872typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
6873
6874typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
6875
6876typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
6877
6878typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
6879
6880typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
6881
6882typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
6883
6884typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
6885
6886typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
6887
6888typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
6889
6890typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
6891
6892typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
6893
6894typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6895
6896typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6897
6898typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6899
6900typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6901
6902typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
6903
6904typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
6905
6906typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
6907
6908typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
6909
6910typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
6911
6912typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
6913
6914typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
6915
6916typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
6917
6918typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
6919
6920typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
6921
6922typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
6923
6924typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
6925
6926typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
6927
6928typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
6929
6930typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
6931
6932typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
6933
6934typedef VkTransformMatrixKHR VkTransformMatrixNV;
6935
6936typedef VkAabbPositionsKHR VkAabbPositionsNV;
6937
6938typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
6939
6940typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
6941
6942typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
6943
6944