Home | History | Annotate | Download | only in vulkan
      1 /* WARNING: This is auto-generated file. Do not modify, since changes will
      2  * be lost! Modify the generating script instead.
      3  */
      4 struct VkApplicationInfo
      5 {
      6 	VkStructureType	sType;
      7 	const void*		pNext;
      8 	const char*		pApplicationName;
      9 	deUint32		applicationVersion;
     10 	const char*		pEngineName;
     11 	deUint32		engineVersion;
     12 	deUint32		apiVersion;
     13 };
     14 
     15 struct VkInstanceCreateInfo
     16 {
     17 	VkStructureType				sType;
     18 	const void*					pNext;
     19 	VkInstanceCreateFlags		flags;
     20 	const VkApplicationInfo*	pApplicationInfo;
     21 	deUint32					enabledLayerCount;
     22 	const char* const*			ppEnabledLayerNames;
     23 	deUint32					enabledExtensionCount;
     24 	const char* const*			ppEnabledExtensionNames;
     25 };
     26 
     27 struct VkAllocationCallbacks
     28 {
     29 	void*									pUserData;
     30 	PFN_vkAllocationFunction				pfnAllocation;
     31 	PFN_vkReallocationFunction				pfnReallocation;
     32 	PFN_vkFreeFunction						pfnFree;
     33 	PFN_vkInternalAllocationNotification	pfnInternalAllocation;
     34 	PFN_vkInternalFreeNotification			pfnInternalFree;
     35 };
     36 
     37 struct VkPhysicalDeviceFeatures
     38 {
     39 	VkBool32	robustBufferAccess;
     40 	VkBool32	fullDrawIndexUint32;
     41 	VkBool32	imageCubeArray;
     42 	VkBool32	independentBlend;
     43 	VkBool32	geometryShader;
     44 	VkBool32	tessellationShader;
     45 	VkBool32	sampleRateShading;
     46 	VkBool32	dualSrcBlend;
     47 	VkBool32	logicOp;
     48 	VkBool32	multiDrawIndirect;
     49 	VkBool32	drawIndirectFirstInstance;
     50 	VkBool32	depthClamp;
     51 	VkBool32	depthBiasClamp;
     52 	VkBool32	fillModeNonSolid;
     53 	VkBool32	depthBounds;
     54 	VkBool32	wideLines;
     55 	VkBool32	largePoints;
     56 	VkBool32	alphaToOne;
     57 	VkBool32	multiViewport;
     58 	VkBool32	samplerAnisotropy;
     59 	VkBool32	textureCompressionETC2;
     60 	VkBool32	textureCompressionASTC_LDR;
     61 	VkBool32	textureCompressionBC;
     62 	VkBool32	occlusionQueryPrecise;
     63 	VkBool32	pipelineStatisticsQuery;
     64 	VkBool32	vertexPipelineStoresAndAtomics;
     65 	VkBool32	fragmentStoresAndAtomics;
     66 	VkBool32	shaderTessellationAndGeometryPointSize;
     67 	VkBool32	shaderImageGatherExtended;
     68 	VkBool32	shaderStorageImageExtendedFormats;
     69 	VkBool32	shaderStorageImageMultisample;
     70 	VkBool32	shaderStorageImageReadWithoutFormat;
     71 	VkBool32	shaderStorageImageWriteWithoutFormat;
     72 	VkBool32	shaderUniformBufferArrayDynamicIndexing;
     73 	VkBool32	shaderSampledImageArrayDynamicIndexing;
     74 	VkBool32	shaderStorageBufferArrayDynamicIndexing;
     75 	VkBool32	shaderStorageImageArrayDynamicIndexing;
     76 	VkBool32	shaderClipDistance;
     77 	VkBool32	shaderCullDistance;
     78 	VkBool32	shaderFloat64;
     79 	VkBool32	shaderInt64;
     80 	VkBool32	shaderInt16;
     81 	VkBool32	shaderResourceResidency;
     82 	VkBool32	shaderResourceMinLod;
     83 	VkBool32	sparseBinding;
     84 	VkBool32	sparseResidencyBuffer;
     85 	VkBool32	sparseResidencyImage2D;
     86 	VkBool32	sparseResidencyImage3D;
     87 	VkBool32	sparseResidency2Samples;
     88 	VkBool32	sparseResidency4Samples;
     89 	VkBool32	sparseResidency8Samples;
     90 	VkBool32	sparseResidency16Samples;
     91 	VkBool32	sparseResidencyAliased;
     92 	VkBool32	variableMultisampleRate;
     93 	VkBool32	inheritedQueries;
     94 };
     95 
     96 struct VkFormatProperties
     97 {
     98 	VkFormatFeatureFlags	linearTilingFeatures;
     99 	VkFormatFeatureFlags	optimalTilingFeatures;
    100 	VkFormatFeatureFlags	bufferFeatures;
    101 };
    102 
    103 struct VkExtent3D
    104 {
    105 	deUint32	width;
    106 	deUint32	height;
    107 	deUint32	depth;
    108 };
    109 
    110 struct VkImageFormatProperties
    111 {
    112 	VkExtent3D			maxExtent;
    113 	deUint32			maxMipLevels;
    114 	deUint32			maxArrayLayers;
    115 	VkSampleCountFlags	sampleCounts;
    116 	VkDeviceSize		maxResourceSize;
    117 };
    118 
    119 struct VkPhysicalDeviceLimits
    120 {
    121 	deUint32			maxImageDimension1D;
    122 	deUint32			maxImageDimension2D;
    123 	deUint32			maxImageDimension3D;
    124 	deUint32			maxImageDimensionCube;
    125 	deUint32			maxImageArrayLayers;
    126 	deUint32			maxTexelBufferElements;
    127 	deUint32			maxUniformBufferRange;
    128 	deUint32			maxStorageBufferRange;
    129 	deUint32			maxPushConstantsSize;
    130 	deUint32			maxMemoryAllocationCount;
    131 	deUint32			maxSamplerAllocationCount;
    132 	VkDeviceSize		bufferImageGranularity;
    133 	VkDeviceSize		sparseAddressSpaceSize;
    134 	deUint32			maxBoundDescriptorSets;
    135 	deUint32			maxPerStageDescriptorSamplers;
    136 	deUint32			maxPerStageDescriptorUniformBuffers;
    137 	deUint32			maxPerStageDescriptorStorageBuffers;
    138 	deUint32			maxPerStageDescriptorSampledImages;
    139 	deUint32			maxPerStageDescriptorStorageImages;
    140 	deUint32			maxPerStageDescriptorInputAttachments;
    141 	deUint32			maxPerStageResources;
    142 	deUint32			maxDescriptorSetSamplers;
    143 	deUint32			maxDescriptorSetUniformBuffers;
    144 	deUint32			maxDescriptorSetUniformBuffersDynamic;
    145 	deUint32			maxDescriptorSetStorageBuffers;
    146 	deUint32			maxDescriptorSetStorageBuffersDynamic;
    147 	deUint32			maxDescriptorSetSampledImages;
    148 	deUint32			maxDescriptorSetStorageImages;
    149 	deUint32			maxDescriptorSetInputAttachments;
    150 	deUint32			maxVertexInputAttributes;
    151 	deUint32			maxVertexInputBindings;
    152 	deUint32			maxVertexInputAttributeOffset;
    153 	deUint32			maxVertexInputBindingStride;
    154 	deUint32			maxVertexOutputComponents;
    155 	deUint32			maxTessellationGenerationLevel;
    156 	deUint32			maxTessellationPatchSize;
    157 	deUint32			maxTessellationControlPerVertexInputComponents;
    158 	deUint32			maxTessellationControlPerVertexOutputComponents;
    159 	deUint32			maxTessellationControlPerPatchOutputComponents;
    160 	deUint32			maxTessellationControlTotalOutputComponents;
    161 	deUint32			maxTessellationEvaluationInputComponents;
    162 	deUint32			maxTessellationEvaluationOutputComponents;
    163 	deUint32			maxGeometryShaderInvocations;
    164 	deUint32			maxGeometryInputComponents;
    165 	deUint32			maxGeometryOutputComponents;
    166 	deUint32			maxGeometryOutputVertices;
    167 	deUint32			maxGeometryTotalOutputComponents;
    168 	deUint32			maxFragmentInputComponents;
    169 	deUint32			maxFragmentOutputAttachments;
    170 	deUint32			maxFragmentDualSrcAttachments;
    171 	deUint32			maxFragmentCombinedOutputResources;
    172 	deUint32			maxComputeSharedMemorySize;
    173 	deUint32			maxComputeWorkGroupCount[3];
    174 	deUint32			maxComputeWorkGroupInvocations;
    175 	deUint32			maxComputeWorkGroupSize[3];
    176 	deUint32			subPixelPrecisionBits;
    177 	deUint32			subTexelPrecisionBits;
    178 	deUint32			mipmapPrecisionBits;
    179 	deUint32			maxDrawIndexedIndexValue;
    180 	deUint32			maxDrawIndirectCount;
    181 	float				maxSamplerLodBias;
    182 	float				maxSamplerAnisotropy;
    183 	deUint32			maxViewports;
    184 	deUint32			maxViewportDimensions[2];
    185 	float				viewportBoundsRange[2];
    186 	deUint32			viewportSubPixelBits;
    187 	deUintptr			minMemoryMapAlignment;
    188 	VkDeviceSize		minTexelBufferOffsetAlignment;
    189 	VkDeviceSize		minUniformBufferOffsetAlignment;
    190 	VkDeviceSize		minStorageBufferOffsetAlignment;
    191 	deInt32				minTexelOffset;
    192 	deUint32			maxTexelOffset;
    193 	deInt32				minTexelGatherOffset;
    194 	deUint32			maxTexelGatherOffset;
    195 	float				minInterpolationOffset;
    196 	float				maxInterpolationOffset;
    197 	deUint32			subPixelInterpolationOffsetBits;
    198 	deUint32			maxFramebufferWidth;
    199 	deUint32			maxFramebufferHeight;
    200 	deUint32			maxFramebufferLayers;
    201 	VkSampleCountFlags	framebufferColorSampleCounts;
    202 	VkSampleCountFlags	framebufferDepthSampleCounts;
    203 	VkSampleCountFlags	framebufferStencilSampleCounts;
    204 	VkSampleCountFlags	framebufferNoAttachmentsSampleCounts;
    205 	deUint32			maxColorAttachments;
    206 	VkSampleCountFlags	sampledImageColorSampleCounts;
    207 	VkSampleCountFlags	sampledImageIntegerSampleCounts;
    208 	VkSampleCountFlags	sampledImageDepthSampleCounts;
    209 	VkSampleCountFlags	sampledImageStencilSampleCounts;
    210 	VkSampleCountFlags	storageImageSampleCounts;
    211 	deUint32			maxSampleMaskWords;
    212 	VkBool32			timestampComputeAndGraphics;
    213 	float				timestampPeriod;
    214 	deUint32			maxClipDistances;
    215 	deUint32			maxCullDistances;
    216 	deUint32			maxCombinedClipAndCullDistances;
    217 	deUint32			discreteQueuePriorities;
    218 	float				pointSizeRange[2];
    219 	float				lineWidthRange[2];
    220 	float				pointSizeGranularity;
    221 	float				lineWidthGranularity;
    222 	VkBool32			strictLines;
    223 	VkBool32			standardSampleLocations;
    224 	VkDeviceSize		optimalBufferCopyOffsetAlignment;
    225 	VkDeviceSize		optimalBufferCopyRowPitchAlignment;
    226 	VkDeviceSize		nonCoherentAtomSize;
    227 };
    228 
    229 struct VkPhysicalDeviceSparseProperties
    230 {
    231 	VkBool32	residencyStandard2DBlockShape;
    232 	VkBool32	residencyStandard2DMultisampleBlockShape;
    233 	VkBool32	residencyStandard3DBlockShape;
    234 	VkBool32	residencyAlignedMipSize;
    235 	VkBool32	residencyNonResidentStrict;
    236 };
    237 
    238 struct VkPhysicalDeviceProperties
    239 {
    240 	deUint32							apiVersion;
    241 	deUint32							driverVersion;
    242 	deUint32							vendorID;
    243 	deUint32							deviceID;
    244 	VkPhysicalDeviceType				deviceType;
    245 	char								deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
    246 	deUint8								pipelineCacheUUID[VK_UUID_SIZE];
    247 	VkPhysicalDeviceLimits				limits;
    248 	VkPhysicalDeviceSparseProperties	sparseProperties;
    249 };
    250 
    251 struct VkQueueFamilyProperties
    252 {
    253 	VkQueueFlags	queueFlags;
    254 	deUint32		queueCount;
    255 	deUint32		timestampValidBits;
    256 	VkExtent3D		minImageTransferGranularity;
    257 };
    258 
    259 struct VkMemoryType
    260 {
    261 	VkMemoryPropertyFlags	propertyFlags;
    262 	deUint32				heapIndex;
    263 };
    264 
    265 struct VkMemoryHeap
    266 {
    267 	VkDeviceSize		size;
    268 	VkMemoryHeapFlags	flags;
    269 };
    270 
    271 struct VkPhysicalDeviceMemoryProperties
    272 {
    273 	deUint32		memoryTypeCount;
    274 	VkMemoryType	memoryTypes[VK_MAX_MEMORY_TYPES];
    275 	deUint32		memoryHeapCount;
    276 	VkMemoryHeap	memoryHeaps[VK_MAX_MEMORY_HEAPS];
    277 };
    278 
    279 struct VkDeviceQueueCreateInfo
    280 {
    281 	VkStructureType				sType;
    282 	const void*					pNext;
    283 	VkDeviceQueueCreateFlags	flags;
    284 	deUint32					queueFamilyIndex;
    285 	deUint32					queueCount;
    286 	const float*				pQueuePriorities;
    287 };
    288 
    289 struct VkDeviceCreateInfo
    290 {
    291 	VkStructureType					sType;
    292 	const void*						pNext;
    293 	VkDeviceCreateFlags				flags;
    294 	deUint32						queueCreateInfoCount;
    295 	const VkDeviceQueueCreateInfo*	pQueueCreateInfos;
    296 	deUint32						enabledLayerCount;
    297 	const char* const*				ppEnabledLayerNames;
    298 	deUint32						enabledExtensionCount;
    299 	const char* const*				ppEnabledExtensionNames;
    300 	const VkPhysicalDeviceFeatures*	pEnabledFeatures;
    301 };
    302 
    303 struct VkExtensionProperties
    304 {
    305 	char		extensionName[VK_MAX_EXTENSION_NAME_SIZE];
    306 	deUint32	specVersion;
    307 };
    308 
    309 struct VkLayerProperties
    310 {
    311 	char		layerName[VK_MAX_EXTENSION_NAME_SIZE];
    312 	deUint32	specVersion;
    313 	deUint32	implementationVersion;
    314 	char		description[VK_MAX_DESCRIPTION_SIZE];
    315 };
    316 
    317 struct VkSubmitInfo
    318 {
    319 	VkStructureType				sType;
    320 	const void*					pNext;
    321 	deUint32					waitSemaphoreCount;
    322 	const VkSemaphore*			pWaitSemaphores;
    323 	const VkPipelineStageFlags*	pWaitDstStageMask;
    324 	deUint32					commandBufferCount;
    325 	const VkCommandBuffer*		pCommandBuffers;
    326 	deUint32					signalSemaphoreCount;
    327 	const VkSemaphore*			pSignalSemaphores;
    328 };
    329 
    330 struct VkMemoryAllocateInfo
    331 {
    332 	VkStructureType	sType;
    333 	const void*		pNext;
    334 	VkDeviceSize	allocationSize;
    335 	deUint32		memoryTypeIndex;
    336 };
    337 
    338 struct VkMappedMemoryRange
    339 {
    340 	VkStructureType	sType;
    341 	const void*		pNext;
    342 	VkDeviceMemory	memory;
    343 	VkDeviceSize	offset;
    344 	VkDeviceSize	size;
    345 };
    346 
    347 struct VkMemoryRequirements
    348 {
    349 	VkDeviceSize	size;
    350 	VkDeviceSize	alignment;
    351 	deUint32		memoryTypeBits;
    352 };
    353 
    354 struct VkSparseImageFormatProperties
    355 {
    356 	VkImageAspectFlags			aspectMask;
    357 	VkExtent3D					imageGranularity;
    358 	VkSparseImageFormatFlags	flags;
    359 };
    360 
    361 struct VkSparseImageMemoryRequirements
    362 {
    363 	VkSparseImageFormatProperties	formatProperties;
    364 	deUint32						imageMipTailFirstLod;
    365 	VkDeviceSize					imageMipTailSize;
    366 	VkDeviceSize					imageMipTailOffset;
    367 	VkDeviceSize					imageMipTailStride;
    368 };
    369 
    370 struct VkSparseMemoryBind
    371 {
    372 	VkDeviceSize			resourceOffset;
    373 	VkDeviceSize			size;
    374 	VkDeviceMemory			memory;
    375 	VkDeviceSize			memoryOffset;
    376 	VkSparseMemoryBindFlags	flags;
    377 };
    378 
    379 struct VkSparseBufferMemoryBindInfo
    380 {
    381 	VkBuffer					buffer;
    382 	deUint32					bindCount;
    383 	const VkSparseMemoryBind*	pBinds;
    384 };
    385 
    386 struct VkSparseImageOpaqueMemoryBindInfo
    387 {
    388 	VkImage						image;
    389 	deUint32					bindCount;
    390 	const VkSparseMemoryBind*	pBinds;
    391 };
    392 
    393 struct VkImageSubresource
    394 {
    395 	VkImageAspectFlags	aspectMask;
    396 	deUint32			mipLevel;
    397 	deUint32			arrayLayer;
    398 };
    399 
    400 struct VkOffset3D
    401 {
    402 	deInt32	x;
    403 	deInt32	y;
    404 	deInt32	z;
    405 };
    406 
    407 struct VkSparseImageMemoryBind
    408 {
    409 	VkImageSubresource		subresource;
    410 	VkOffset3D				offset;
    411 	VkExtent3D				extent;
    412 	VkDeviceMemory			memory;
    413 	VkDeviceSize			memoryOffset;
    414 	VkSparseMemoryBindFlags	flags;
    415 };
    416 
    417 struct VkSparseImageMemoryBindInfo
    418 {
    419 	VkImage							image;
    420 	deUint32						bindCount;
    421 	const VkSparseImageMemoryBind*	pBinds;
    422 };
    423 
    424 struct VkBindSparseInfo
    425 {
    426 	VkStructureType								sType;
    427 	const void*									pNext;
    428 	deUint32									waitSemaphoreCount;
    429 	const VkSemaphore*							pWaitSemaphores;
    430 	deUint32									bufferBindCount;
    431 	const VkSparseBufferMemoryBindInfo*			pBufferBinds;
    432 	deUint32									imageOpaqueBindCount;
    433 	const VkSparseImageOpaqueMemoryBindInfo*	pImageOpaqueBinds;
    434 	deUint32									imageBindCount;
    435 	const VkSparseImageMemoryBindInfo*			pImageBinds;
    436 	deUint32									signalSemaphoreCount;
    437 	const VkSemaphore*							pSignalSemaphores;
    438 };
    439 
    440 struct VkFenceCreateInfo
    441 {
    442 	VkStructureType		sType;
    443 	const void*			pNext;
    444 	VkFenceCreateFlags	flags;
    445 };
    446 
    447 struct VkSemaphoreCreateInfo
    448 {
    449 	VkStructureType			sType;
    450 	const void*				pNext;
    451 	VkSemaphoreCreateFlags	flags;
    452 };
    453 
    454 struct VkEventCreateInfo
    455 {
    456 	VkStructureType		sType;
    457 	const void*			pNext;
    458 	VkEventCreateFlags	flags;
    459 };
    460 
    461 struct VkQueryPoolCreateInfo
    462 {
    463 	VkStructureType					sType;
    464 	const void*						pNext;
    465 	VkQueryPoolCreateFlags			flags;
    466 	VkQueryType						queryType;
    467 	deUint32						queryCount;
    468 	VkQueryPipelineStatisticFlags	pipelineStatistics;
    469 };
    470 
    471 struct VkBufferCreateInfo
    472 {
    473 	VkStructureType		sType;
    474 	const void*			pNext;
    475 	VkBufferCreateFlags	flags;
    476 	VkDeviceSize		size;
    477 	VkBufferUsageFlags	usage;
    478 	VkSharingMode		sharingMode;
    479 	deUint32			queueFamilyIndexCount;
    480 	const deUint32*		pQueueFamilyIndices;
    481 };
    482 
    483 struct VkBufferViewCreateInfo
    484 {
    485 	VkStructureType			sType;
    486 	const void*				pNext;
    487 	VkBufferViewCreateFlags	flags;
    488 	VkBuffer				buffer;
    489 	VkFormat				format;
    490 	VkDeviceSize			offset;
    491 	VkDeviceSize			range;
    492 };
    493 
    494 struct VkImageCreateInfo
    495 {
    496 	VkStructureType			sType;
    497 	const void*				pNext;
    498 	VkImageCreateFlags		flags;
    499 	VkImageType				imageType;
    500 	VkFormat				format;
    501 	VkExtent3D				extent;
    502 	deUint32				mipLevels;
    503 	deUint32				arrayLayers;
    504 	VkSampleCountFlagBits	samples;
    505 	VkImageTiling			tiling;
    506 	VkImageUsageFlags		usage;
    507 	VkSharingMode			sharingMode;
    508 	deUint32				queueFamilyIndexCount;
    509 	const deUint32*			pQueueFamilyIndices;
    510 	VkImageLayout			initialLayout;
    511 };
    512 
    513 struct VkSubresourceLayout
    514 {
    515 	VkDeviceSize	offset;
    516 	VkDeviceSize	size;
    517 	VkDeviceSize	rowPitch;
    518 	VkDeviceSize	arrayPitch;
    519 	VkDeviceSize	depthPitch;
    520 };
    521 
    522 struct VkComponentMapping
    523 {
    524 	VkComponentSwizzle	r;
    525 	VkComponentSwizzle	g;
    526 	VkComponentSwizzle	b;
    527 	VkComponentSwizzle	a;
    528 };
    529 
    530 struct VkImageSubresourceRange
    531 {
    532 	VkImageAspectFlags	aspectMask;
    533 	deUint32			baseMipLevel;
    534 	deUint32			levelCount;
    535 	deUint32			baseArrayLayer;
    536 	deUint32			layerCount;
    537 };
    538 
    539 struct VkImageViewCreateInfo
    540 {
    541 	VkStructureType			sType;
    542 	const void*				pNext;
    543 	VkImageViewCreateFlags	flags;
    544 	VkImage					image;
    545 	VkImageViewType			viewType;
    546 	VkFormat				format;
    547 	VkComponentMapping		components;
    548 	VkImageSubresourceRange	subresourceRange;
    549 };
    550 
    551 struct VkShaderModuleCreateInfo
    552 {
    553 	VkStructureType				sType;
    554 	const void*					pNext;
    555 	VkShaderModuleCreateFlags	flags;
    556 	deUintptr					codeSize;
    557 	const deUint32*				pCode;
    558 };
    559 
    560 struct VkPipelineCacheCreateInfo
    561 {
    562 	VkStructureType				sType;
    563 	const void*					pNext;
    564 	VkPipelineCacheCreateFlags	flags;
    565 	deUintptr					initialDataSize;
    566 	const void*					pInitialData;
    567 };
    568 
    569 struct VkSpecializationMapEntry
    570 {
    571 	deUint32	constantID;
    572 	deUint32	offset;
    573 	deUintptr	size;
    574 };
    575 
    576 struct VkSpecializationInfo
    577 {
    578 	deUint32						mapEntryCount;
    579 	const VkSpecializationMapEntry*	pMapEntries;
    580 	deUintptr						dataSize;
    581 	const void*						pData;
    582 };
    583 
    584 struct VkPipelineShaderStageCreateInfo
    585 {
    586 	VkStructureType						sType;
    587 	const void*							pNext;
    588 	VkPipelineShaderStageCreateFlags	flags;
    589 	VkShaderStageFlagBits				stage;
    590 	VkShaderModule						module;
    591 	const char*							pName;
    592 	const VkSpecializationInfo*			pSpecializationInfo;
    593 };
    594 
    595 struct VkVertexInputBindingDescription
    596 {
    597 	deUint32			binding;
    598 	deUint32			stride;
    599 	VkVertexInputRate	inputRate;
    600 };
    601 
    602 struct VkVertexInputAttributeDescription
    603 {
    604 	deUint32	location;
    605 	deUint32	binding;
    606 	VkFormat	format;
    607 	deUint32	offset;
    608 };
    609 
    610 struct VkPipelineVertexInputStateCreateInfo
    611 {
    612 	VkStructureType								sType;
    613 	const void*									pNext;
    614 	VkPipelineVertexInputStateCreateFlags		flags;
    615 	deUint32									vertexBindingDescriptionCount;
    616 	const VkVertexInputBindingDescription*		pVertexBindingDescriptions;
    617 	deUint32									vertexAttributeDescriptionCount;
    618 	const VkVertexInputAttributeDescription*	pVertexAttributeDescriptions;
    619 };
    620 
    621 struct VkPipelineInputAssemblyStateCreateInfo
    622 {
    623 	VkStructureType							sType;
    624 	const void*								pNext;
    625 	VkPipelineInputAssemblyStateCreateFlags	flags;
    626 	VkPrimitiveTopology						topology;
    627 	VkBool32								primitiveRestartEnable;
    628 };
    629 
    630 struct VkPipelineTessellationStateCreateInfo
    631 {
    632 	VkStructureType							sType;
    633 	const void*								pNext;
    634 	VkPipelineTessellationStateCreateFlags	flags;
    635 	deUint32								patchControlPoints;
    636 };
    637 
    638 struct VkViewport
    639 {
    640 	float	x;
    641 	float	y;
    642 	float	width;
    643 	float	height;
    644 	float	minDepth;
    645 	float	maxDepth;
    646 };
    647 
    648 struct VkOffset2D
    649 {
    650 	deInt32	x;
    651 	deInt32	y;
    652 };
    653 
    654 struct VkExtent2D
    655 {
    656 	deUint32	width;
    657 	deUint32	height;
    658 };
    659 
    660 struct VkRect2D
    661 {
    662 	VkOffset2D	offset;
    663 	VkExtent2D	extent;
    664 };
    665 
    666 struct VkPipelineViewportStateCreateInfo
    667 {
    668 	VkStructureType						sType;
    669 	const void*							pNext;
    670 	VkPipelineViewportStateCreateFlags	flags;
    671 	deUint32							viewportCount;
    672 	const VkViewport*					pViewports;
    673 	deUint32							scissorCount;
    674 	const VkRect2D*						pScissors;
    675 };
    676 
    677 struct VkPipelineRasterizationStateCreateInfo
    678 {
    679 	VkStructureType							sType;
    680 	const void*								pNext;
    681 	VkPipelineRasterizationStateCreateFlags	flags;
    682 	VkBool32								depthClampEnable;
    683 	VkBool32								rasterizerDiscardEnable;
    684 	VkPolygonMode							polygonMode;
    685 	VkCullModeFlags							cullMode;
    686 	VkFrontFace								frontFace;
    687 	VkBool32								depthBiasEnable;
    688 	float									depthBiasConstantFactor;
    689 	float									depthBiasClamp;
    690 	float									depthBiasSlopeFactor;
    691 	float									lineWidth;
    692 };
    693 
    694 struct VkPipelineMultisampleStateCreateInfo
    695 {
    696 	VkStructureType							sType;
    697 	const void*								pNext;
    698 	VkPipelineMultisampleStateCreateFlags	flags;
    699 	VkSampleCountFlagBits					rasterizationSamples;
    700 	VkBool32								sampleShadingEnable;
    701 	float									minSampleShading;
    702 	const VkSampleMask*						pSampleMask;
    703 	VkBool32								alphaToCoverageEnable;
    704 	VkBool32								alphaToOneEnable;
    705 };
    706 
    707 struct VkStencilOpState
    708 {
    709 	VkStencilOp	failOp;
    710 	VkStencilOp	passOp;
    711 	VkStencilOp	depthFailOp;
    712 	VkCompareOp	compareOp;
    713 	deUint32	compareMask;
    714 	deUint32	writeMask;
    715 	deUint32	reference;
    716 };
    717 
    718 struct VkPipelineDepthStencilStateCreateInfo
    719 {
    720 	VkStructureType							sType;
    721 	const void*								pNext;
    722 	VkPipelineDepthStencilStateCreateFlags	flags;
    723 	VkBool32								depthTestEnable;
    724 	VkBool32								depthWriteEnable;
    725 	VkCompareOp								depthCompareOp;
    726 	VkBool32								depthBoundsTestEnable;
    727 	VkBool32								stencilTestEnable;
    728 	VkStencilOpState						front;
    729 	VkStencilOpState						back;
    730 	float									minDepthBounds;
    731 	float									maxDepthBounds;
    732 };
    733 
    734 struct VkPipelineColorBlendAttachmentState
    735 {
    736 	VkBool32				blendEnable;
    737 	VkBlendFactor			srcColorBlendFactor;
    738 	VkBlendFactor			dstColorBlendFactor;
    739 	VkBlendOp				colorBlendOp;
    740 	VkBlendFactor			srcAlphaBlendFactor;
    741 	VkBlendFactor			dstAlphaBlendFactor;
    742 	VkBlendOp				alphaBlendOp;
    743 	VkColorComponentFlags	colorWriteMask;
    744 };
    745 
    746 struct VkPipelineColorBlendStateCreateInfo
    747 {
    748 	VkStructureType								sType;
    749 	const void*									pNext;
    750 	VkPipelineColorBlendStateCreateFlags		flags;
    751 	VkBool32									logicOpEnable;
    752 	VkLogicOp									logicOp;
    753 	deUint32									attachmentCount;
    754 	const VkPipelineColorBlendAttachmentState*	pAttachments;
    755 	float										blendConstants[4];
    756 };
    757 
    758 struct VkPipelineDynamicStateCreateInfo
    759 {
    760 	VkStructureType						sType;
    761 	const void*							pNext;
    762 	VkPipelineDynamicStateCreateFlags	flags;
    763 	deUint32							dynamicStateCount;
    764 	const VkDynamicState*				pDynamicStates;
    765 };
    766 
    767 struct VkGraphicsPipelineCreateInfo
    768 {
    769 	VkStructureType									sType;
    770 	const void*										pNext;
    771 	VkPipelineCreateFlags							flags;
    772 	deUint32										stageCount;
    773 	const VkPipelineShaderStageCreateInfo*			pStages;
    774 	const VkPipelineVertexInputStateCreateInfo*		pVertexInputState;
    775 	const VkPipelineInputAssemblyStateCreateInfo*	pInputAssemblyState;
    776 	const VkPipelineTessellationStateCreateInfo*	pTessellationState;
    777 	const VkPipelineViewportStateCreateInfo*		pViewportState;
    778 	const VkPipelineRasterizationStateCreateInfo*	pRasterizationState;
    779 	const VkPipelineMultisampleStateCreateInfo*		pMultisampleState;
    780 	const VkPipelineDepthStencilStateCreateInfo*	pDepthStencilState;
    781 	const VkPipelineColorBlendStateCreateInfo*		pColorBlendState;
    782 	const VkPipelineDynamicStateCreateInfo*			pDynamicState;
    783 	VkPipelineLayout								layout;
    784 	VkRenderPass									renderPass;
    785 	deUint32										subpass;
    786 	VkPipeline										basePipelineHandle;
    787 	deInt32											basePipelineIndex;
    788 };
    789 
    790 struct VkComputePipelineCreateInfo
    791 {
    792 	VkStructureType					sType;
    793 	const void*						pNext;
    794 	VkPipelineCreateFlags			flags;
    795 	VkPipelineShaderStageCreateInfo	stage;
    796 	VkPipelineLayout				layout;
    797 	VkPipeline						basePipelineHandle;
    798 	deInt32							basePipelineIndex;
    799 };
    800 
    801 struct VkPushConstantRange
    802 {
    803 	VkShaderStageFlags	stageFlags;
    804 	deUint32			offset;
    805 	deUint32			size;
    806 };
    807 
    808 struct VkPipelineLayoutCreateInfo
    809 {
    810 	VkStructureType					sType;
    811 	const void*						pNext;
    812 	VkPipelineLayoutCreateFlags		flags;
    813 	deUint32						setLayoutCount;
    814 	const VkDescriptorSetLayout*	pSetLayouts;
    815 	deUint32						pushConstantRangeCount;
    816 	const VkPushConstantRange*		pPushConstantRanges;
    817 };
    818 
    819 struct VkSamplerCreateInfo
    820 {
    821 	VkStructureType			sType;
    822 	const void*				pNext;
    823 	VkSamplerCreateFlags	flags;
    824 	VkFilter				magFilter;
    825 	VkFilter				minFilter;
    826 	VkSamplerMipmapMode		mipmapMode;
    827 	VkSamplerAddressMode	addressModeU;
    828 	VkSamplerAddressMode	addressModeV;
    829 	VkSamplerAddressMode	addressModeW;
    830 	float					mipLodBias;
    831 	VkBool32				anisotropyEnable;
    832 	float					maxAnisotropy;
    833 	VkBool32				compareEnable;
    834 	VkCompareOp				compareOp;
    835 	float					minLod;
    836 	float					maxLod;
    837 	VkBorderColor			borderColor;
    838 	VkBool32				unnormalizedCoordinates;
    839 };
    840 
    841 struct VkDescriptorSetLayoutBinding
    842 {
    843 	deUint32			binding;
    844 	VkDescriptorType	descriptorType;
    845 	deUint32			descriptorCount;
    846 	VkShaderStageFlags	stageFlags;
    847 	const VkSampler*	pImmutableSamplers;
    848 };
    849 
    850 struct VkDescriptorSetLayoutCreateInfo
    851 {
    852 	VkStructureType						sType;
    853 	const void*							pNext;
    854 	VkDescriptorSetLayoutCreateFlags	flags;
    855 	deUint32							bindingCount;
    856 	const VkDescriptorSetLayoutBinding*	pBindings;
    857 };
    858 
    859 struct VkDescriptorPoolSize
    860 {
    861 	VkDescriptorType	type;
    862 	deUint32			descriptorCount;
    863 };
    864 
    865 struct VkDescriptorPoolCreateInfo
    866 {
    867 	VkStructureType				sType;
    868 	const void*					pNext;
    869 	VkDescriptorPoolCreateFlags	flags;
    870 	deUint32					maxSets;
    871 	deUint32					poolSizeCount;
    872 	const VkDescriptorPoolSize*	pPoolSizes;
    873 };
    874 
    875 struct VkDescriptorSetAllocateInfo
    876 {
    877 	VkStructureType					sType;
    878 	const void*						pNext;
    879 	VkDescriptorPool				descriptorPool;
    880 	deUint32						descriptorSetCount;
    881 	const VkDescriptorSetLayout*	pSetLayouts;
    882 };
    883 
    884 struct VkDescriptorImageInfo
    885 {
    886 	VkSampler		sampler;
    887 	VkImageView		imageView;
    888 	VkImageLayout	imageLayout;
    889 };
    890 
    891 struct VkDescriptorBufferInfo
    892 {
    893 	VkBuffer		buffer;
    894 	VkDeviceSize	offset;
    895 	VkDeviceSize	range;
    896 };
    897 
    898 struct VkWriteDescriptorSet
    899 {
    900 	VkStructureType					sType;
    901 	const void*						pNext;
    902 	VkDescriptorSet					dstSet;
    903 	deUint32						dstBinding;
    904 	deUint32						dstArrayElement;
    905 	deUint32						descriptorCount;
    906 	VkDescriptorType				descriptorType;
    907 	const VkDescriptorImageInfo*	pImageInfo;
    908 	const VkDescriptorBufferInfo*	pBufferInfo;
    909 	const VkBufferView*				pTexelBufferView;
    910 };
    911 
    912 struct 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 
    925 struct VkFramebufferCreateInfo
    926 {
    927 	VkStructureType				sType;
    928 	const void*					pNext;
    929 	VkFramebufferCreateFlags	flags;
    930 	VkRenderPass				renderPass;
    931 	deUint32					attachmentCount;
    932 	const VkImageView*			pAttachments;
    933 	deUint32					width;
    934 	deUint32					height;
    935 	deUint32					layers;
    936 };
    937 
    938 struct VkAttachmentDescription
    939 {
    940 	VkAttachmentDescriptionFlags	flags;
    941 	VkFormat						format;
    942 	VkSampleCountFlagBits			samples;
    943 	VkAttachmentLoadOp				loadOp;
    944 	VkAttachmentStoreOp				storeOp;
    945 	VkAttachmentLoadOp				stencilLoadOp;
    946 	VkAttachmentStoreOp				stencilStoreOp;
    947 	VkImageLayout					initialLayout;
    948 	VkImageLayout					finalLayout;
    949 };
    950 
    951 struct VkAttachmentReference
    952 {
    953 	deUint32		attachment;
    954 	VkImageLayout	layout;
    955 };
    956 
    957 struct VkSubpassDescription
    958 {
    959 	VkSubpassDescriptionFlags		flags;
    960 	VkPipelineBindPoint				pipelineBindPoint;
    961 	deUint32						inputAttachmentCount;
    962 	const VkAttachmentReference*	pInputAttachments;
    963 	deUint32						colorAttachmentCount;
    964 	const VkAttachmentReference*	pColorAttachments;
    965 	const VkAttachmentReference*	pResolveAttachments;
    966 	const VkAttachmentReference*	pDepthStencilAttachment;
    967 	deUint32						preserveAttachmentCount;
    968 	const deUint32*					pPreserveAttachments;
    969 };
    970 
    971 struct VkSubpassDependency
    972 {
    973 	deUint32				srcSubpass;
    974 	deUint32				dstSubpass;
    975 	VkPipelineStageFlags	srcStageMask;
    976 	VkPipelineStageFlags	dstStageMask;
    977 	VkAccessFlags			srcAccessMask;
    978 	VkAccessFlags			dstAccessMask;
    979 	VkDependencyFlags		dependencyFlags;
    980 };
    981 
    982 struct VkRenderPassCreateInfo
    983 {
    984 	VkStructureType					sType;
    985 	const void*						pNext;
    986 	VkRenderPassCreateFlags			flags;
    987 	deUint32						attachmentCount;
    988 	const VkAttachmentDescription*	pAttachments;
    989 	deUint32						subpassCount;
    990 	const VkSubpassDescription*		pSubpasses;
    991 	deUint32						dependencyCount;
    992 	const VkSubpassDependency*		pDependencies;
    993 };
    994 
    995 struct VkCommandPoolCreateInfo
    996 {
    997 	VkStructureType				sType;
    998 	const void*					pNext;
    999 	VkCommandPoolCreateFlags	flags;
   1000 	deUint32					queueFamilyIndex;
   1001 };
   1002 
   1003 struct VkCommandBufferAllocateInfo
   1004 {
   1005 	VkStructureType			sType;
   1006 	const void*				pNext;
   1007 	VkCommandPool			commandPool;
   1008 	VkCommandBufferLevel	level;
   1009 	deUint32				commandBufferCount;
   1010 };
   1011 
   1012 struct VkCommandBufferInheritanceInfo
   1013 {
   1014 	VkStructureType					sType;
   1015 	const void*						pNext;
   1016 	VkRenderPass					renderPass;
   1017 	deUint32						subpass;
   1018 	VkFramebuffer					framebuffer;
   1019 	VkBool32						occlusionQueryEnable;
   1020 	VkQueryControlFlags				queryFlags;
   1021 	VkQueryPipelineStatisticFlags	pipelineStatistics;
   1022 };
   1023 
   1024 struct VkCommandBufferBeginInfo
   1025 {
   1026 	VkStructureType							sType;
   1027 	const void*								pNext;
   1028 	VkCommandBufferUsageFlags				flags;
   1029 	const VkCommandBufferInheritanceInfo*	pInheritanceInfo;
   1030 };
   1031 
   1032 struct VkBufferCopy
   1033 {
   1034 	VkDeviceSize	srcOffset;
   1035 	VkDeviceSize	dstOffset;
   1036 	VkDeviceSize	size;
   1037 };
   1038 
   1039 struct VkImageSubresourceLayers
   1040 {
   1041 	VkImageAspectFlags	aspectMask;
   1042 	deUint32			mipLevel;
   1043 	deUint32			baseArrayLayer;
   1044 	deUint32			layerCount;
   1045 };
   1046 
   1047 struct VkImageCopy
   1048 {
   1049 	VkImageSubresourceLayers	srcSubresource;
   1050 	VkOffset3D					srcOffset;
   1051 	VkImageSubresourceLayers	dstSubresource;
   1052 	VkOffset3D					dstOffset;
   1053 	VkExtent3D					extent;
   1054 };
   1055 
   1056 struct VkImageBlit
   1057 {
   1058 	VkImageSubresourceLayers	srcSubresource;
   1059 	VkOffset3D					srcOffsets[2];
   1060 	VkImageSubresourceLayers	dstSubresource;
   1061 	VkOffset3D					dstOffsets[2];
   1062 };
   1063 
   1064 struct VkBufferImageCopy
   1065 {
   1066 	VkDeviceSize				bufferOffset;
   1067 	deUint32					bufferRowLength;
   1068 	deUint32					bufferImageHeight;
   1069 	VkImageSubresourceLayers	imageSubresource;
   1070 	VkOffset3D					imageOffset;
   1071 	VkExtent3D					imageExtent;
   1072 };
   1073 
   1074 union VkClearColorValue
   1075 {
   1076 	float		float32[4];
   1077 	deInt32		int32[4];
   1078 	deUint32	uint32[4];
   1079 };
   1080 
   1081 struct VkClearDepthStencilValue
   1082 {
   1083 	float		depth;
   1084 	deUint32	stencil;
   1085 };
   1086 
   1087 union VkClearValue
   1088 {
   1089 	VkClearColorValue			color;
   1090 	VkClearDepthStencilValue	depthStencil;
   1091 };
   1092 
   1093 struct VkClearAttachment
   1094 {
   1095 	VkImageAspectFlags	aspectMask;
   1096 	deUint32			colorAttachment;
   1097 	VkClearValue		clearValue;
   1098 };
   1099 
   1100 struct VkClearRect
   1101 {
   1102 	VkRect2D	rect;
   1103 	deUint32	baseArrayLayer;
   1104 	deUint32	layerCount;
   1105 };
   1106 
   1107 struct VkImageResolve
   1108 {
   1109 	VkImageSubresourceLayers	srcSubresource;
   1110 	VkOffset3D					srcOffset;
   1111 	VkImageSubresourceLayers	dstSubresource;
   1112 	VkOffset3D					dstOffset;
   1113 	VkExtent3D					extent;
   1114 };
   1115 
   1116 struct VkMemoryBarrier
   1117 {
   1118 	VkStructureType	sType;
   1119 	const void*		pNext;
   1120 	VkAccessFlags	srcAccessMask;
   1121 	VkAccessFlags	dstAccessMask;
   1122 };
   1123 
   1124 struct VkBufferMemoryBarrier
   1125 {
   1126 	VkStructureType	sType;
   1127 	const void*		pNext;
   1128 	VkAccessFlags	srcAccessMask;
   1129 	VkAccessFlags	dstAccessMask;
   1130 	deUint32		srcQueueFamilyIndex;
   1131 	deUint32		dstQueueFamilyIndex;
   1132 	VkBuffer		buffer;
   1133 	VkDeviceSize	offset;
   1134 	VkDeviceSize	size;
   1135 };
   1136 
   1137 struct VkImageMemoryBarrier
   1138 {
   1139 	VkStructureType			sType;
   1140 	const void*				pNext;
   1141 	VkAccessFlags			srcAccessMask;
   1142 	VkAccessFlags			dstAccessMask;
   1143 	VkImageLayout			oldLayout;
   1144 	VkImageLayout			newLayout;
   1145 	deUint32				srcQueueFamilyIndex;
   1146 	deUint32				dstQueueFamilyIndex;
   1147 	VkImage					image;
   1148 	VkImageSubresourceRange	subresourceRange;
   1149 };
   1150 
   1151 struct VkRenderPassBeginInfo
   1152 {
   1153 	VkStructureType		sType;
   1154 	const void*			pNext;
   1155 	VkRenderPass		renderPass;
   1156 	VkFramebuffer		framebuffer;
   1157 	VkRect2D			renderArea;
   1158 	deUint32			clearValueCount;
   1159 	const VkClearValue*	pClearValues;
   1160 };
   1161 
   1162 struct VkDispatchIndirectCommand
   1163 {
   1164 	deUint32	x;
   1165 	deUint32	y;
   1166 	deUint32	z;
   1167 };
   1168 
   1169 struct VkDrawIndexedIndirectCommand
   1170 {
   1171 	deUint32	indexCount;
   1172 	deUint32	instanceCount;
   1173 	deUint32	firstIndex;
   1174 	deInt32		vertexOffset;
   1175 	deUint32	firstInstance;
   1176 };
   1177 
   1178 struct VkDrawIndirectCommand
   1179 {
   1180 	deUint32	vertexCount;
   1181 	deUint32	instanceCount;
   1182 	deUint32	firstVertex;
   1183 	deUint32	firstInstance;
   1184 };
   1185 
   1186 struct VkPhysicalDeviceSubgroupProperties
   1187 {
   1188 	VkStructureType			sType;
   1189 	void*					pNext;
   1190 	deUint32				subgroupSize;
   1191 	VkShaderStageFlags		supportedStages;
   1192 	VkSubgroupFeatureFlags	supportedOperations;
   1193 	VkBool32				quadOperationsInAllStages;
   1194 };
   1195 
   1196 struct VkBindBufferMemoryInfo
   1197 {
   1198 	VkStructureType	sType;
   1199 	const void*		pNext;
   1200 	VkBuffer		buffer;
   1201 	VkDeviceMemory	memory;
   1202 	VkDeviceSize	memoryOffset;
   1203 };
   1204 
   1205 struct VkBindImageMemoryInfo
   1206 {
   1207 	VkStructureType	sType;
   1208 	const void*		pNext;
   1209 	VkImage			image;
   1210 	VkDeviceMemory	memory;
   1211 	VkDeviceSize	memoryOffset;
   1212 };
   1213 
   1214 struct VkPhysicalDevice8BitStorageFeaturesKHR
   1215 {
   1216 	VkStructureType	sType;
   1217 	void*			pNext;
   1218 	VkBool32		storageBuffer8BitAccess;
   1219 	VkBool32		uniformAndStorageBuffer8BitAccess;
   1220 	VkBool32		storagePushConstant8;
   1221 };
   1222 
   1223 struct VkPhysicalDevice16BitStorageFeatures
   1224 {
   1225 	VkStructureType	sType;
   1226 	void*			pNext;
   1227 	VkBool32		storageBuffer16BitAccess;
   1228 	VkBool32		uniformAndStorageBuffer16BitAccess;
   1229 	VkBool32		storagePushConstant16;
   1230 	VkBool32		storageInputOutput16;
   1231 };
   1232 
   1233 struct VkMemoryDedicatedRequirements
   1234 {
   1235 	VkStructureType	sType;
   1236 	void*			pNext;
   1237 	VkBool32		prefersDedicatedAllocation;
   1238 	VkBool32		requiresDedicatedAllocation;
   1239 };
   1240 
   1241 struct VkMemoryDedicatedAllocateInfo
   1242 {
   1243 	VkStructureType	sType;
   1244 	const void*		pNext;
   1245 	VkImage			image;
   1246 	VkBuffer		buffer;
   1247 };
   1248 
   1249 struct VkMemoryAllocateFlagsInfo
   1250 {
   1251 	VkStructureType			sType;
   1252 	const void*				pNext;
   1253 	VkMemoryAllocateFlags	flags;
   1254 	deUint32				deviceMask;
   1255 };
   1256 
   1257 struct VkDeviceGroupRenderPassBeginInfo
   1258 {
   1259 	VkStructureType	sType;
   1260 	const void*		pNext;
   1261 	deUint32		deviceMask;
   1262 	deUint32		deviceRenderAreaCount;
   1263 	const VkRect2D*	pDeviceRenderAreas;
   1264 };
   1265 
   1266 struct VkDeviceGroupCommandBufferBeginInfo
   1267 {
   1268 	VkStructureType	sType;
   1269 	const void*		pNext;
   1270 	deUint32		deviceMask;
   1271 };
   1272 
   1273 struct VkDeviceGroupSubmitInfo
   1274 {
   1275 	VkStructureType	sType;
   1276 	const void*		pNext;
   1277 	deUint32		waitSemaphoreCount;
   1278 	const deUint32*	pWaitSemaphoreDeviceIndices;
   1279 	deUint32		commandBufferCount;
   1280 	const deUint32*	pCommandBufferDeviceMasks;
   1281 	deUint32		signalSemaphoreCount;
   1282 	const deUint32*	pSignalSemaphoreDeviceIndices;
   1283 };
   1284 
   1285 struct VkDeviceGroupBindSparseInfo
   1286 {
   1287 	VkStructureType	sType;
   1288 	const void*		pNext;
   1289 	deUint32		resourceDeviceIndex;
   1290 	deUint32		memoryDeviceIndex;
   1291 };
   1292 
   1293 struct VkBindBufferMemoryDeviceGroupInfo
   1294 {
   1295 	VkStructureType	sType;
   1296 	const void*		pNext;
   1297 	deUint32		deviceIndexCount;
   1298 	const deUint32*	pDeviceIndices;
   1299 };
   1300 
   1301 struct VkBindImageMemoryDeviceGroupInfo
   1302 {
   1303 	VkStructureType	sType;
   1304 	const void*		pNext;
   1305 	deUint32		deviceIndexCount;
   1306 	const deUint32*	pDeviceIndices;
   1307 	deUint32		SFRRectCount;
   1308 	const VkRect2D*	pSFRRects;
   1309 };
   1310 
   1311 struct VkPhysicalDeviceGroupProperties
   1312 {
   1313 	VkStructureType		sType;
   1314 	void*				pNext;
   1315 	deUint32			physicalDeviceCount;
   1316 	VkPhysicalDevice	physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
   1317 	VkBool32			subsetAllocation;
   1318 };
   1319 
   1320 struct VkDeviceGroupDeviceCreateInfo
   1321 {
   1322 	VkStructureType			sType;
   1323 	const void*				pNext;
   1324 	deUint32				physicalDeviceCount;
   1325 	const VkPhysicalDevice*	pPhysicalDevices;
   1326 };
   1327 
   1328 struct VkBufferMemoryRequirementsInfo2
   1329 {
   1330 	VkStructureType	sType;
   1331 	const void*		pNext;
   1332 	VkBuffer		buffer;
   1333 };
   1334 
   1335 struct VkImageMemoryRequirementsInfo2
   1336 {
   1337 	VkStructureType	sType;
   1338 	const void*		pNext;
   1339 	VkImage			image;
   1340 };
   1341 
   1342 struct VkImageSparseMemoryRequirementsInfo2
   1343 {
   1344 	VkStructureType	sType;
   1345 	const void*		pNext;
   1346 	VkImage			image;
   1347 };
   1348 
   1349 struct VkMemoryRequirements2
   1350 {
   1351 	VkStructureType			sType;
   1352 	void*					pNext;
   1353 	VkMemoryRequirements	memoryRequirements;
   1354 };
   1355 
   1356 struct VkSparseImageMemoryRequirements2
   1357 {
   1358 	VkStructureType					sType;
   1359 	void*							pNext;
   1360 	VkSparseImageMemoryRequirements	memoryRequirements;
   1361 };
   1362 
   1363 struct VkPhysicalDeviceFeatures2
   1364 {
   1365 	VkStructureType				sType;
   1366 	void*						pNext;
   1367 	VkPhysicalDeviceFeatures	features;
   1368 };
   1369 
   1370 struct VkPhysicalDeviceProperties2
   1371 {
   1372 	VkStructureType				sType;
   1373 	void*						pNext;
   1374 	VkPhysicalDeviceProperties	properties;
   1375 };
   1376 
   1377 struct VkFormatProperties2
   1378 {
   1379 	VkStructureType		sType;
   1380 	void*				pNext;
   1381 	VkFormatProperties	formatProperties;
   1382 };
   1383 
   1384 struct VkImageFormatProperties2
   1385 {
   1386 	VkStructureType			sType;
   1387 	void*					pNext;
   1388 	VkImageFormatProperties	imageFormatProperties;
   1389 };
   1390 
   1391 struct VkPhysicalDeviceImageFormatInfo2
   1392 {
   1393 	VkStructureType		sType;
   1394 	const void*			pNext;
   1395 	VkFormat			format;
   1396 	VkImageType			type;
   1397 	VkImageTiling		tiling;
   1398 	VkImageUsageFlags	usage;
   1399 	VkImageCreateFlags	flags;
   1400 };
   1401 
   1402 struct VkQueueFamilyProperties2
   1403 {
   1404 	VkStructureType			sType;
   1405 	void*					pNext;
   1406 	VkQueueFamilyProperties	queueFamilyProperties;
   1407 };
   1408 
   1409 struct VkPhysicalDeviceMemoryProperties2
   1410 {
   1411 	VkStructureType						sType;
   1412 	void*								pNext;
   1413 	VkPhysicalDeviceMemoryProperties	memoryProperties;
   1414 };
   1415 
   1416 struct VkSparseImageFormatProperties2
   1417 {
   1418 	VkStructureType					sType;
   1419 	void*							pNext;
   1420 	VkSparseImageFormatProperties	properties;
   1421 };
   1422 
   1423 struct VkPhysicalDeviceSparseImageFormatInfo2
   1424 {
   1425 	VkStructureType			sType;
   1426 	const void*				pNext;
   1427 	VkFormat				format;
   1428 	VkImageType				type;
   1429 	VkSampleCountFlagBits	samples;
   1430 	VkImageUsageFlags		usage;
   1431 	VkImageTiling			tiling;
   1432 };
   1433 
   1434 struct VkPhysicalDevicePointClippingProperties
   1435 {
   1436 	VkStructureType			sType;
   1437 	void*					pNext;
   1438 	VkPointClippingBehavior	pointClippingBehavior;
   1439 };
   1440 
   1441 struct VkInputAttachmentAspectReference
   1442 {
   1443 	deUint32			subpass;
   1444 	deUint32			inputAttachmentIndex;
   1445 	VkImageAspectFlags	aspectMask;
   1446 };
   1447 
   1448 struct VkRenderPassInputAttachmentAspectCreateInfo
   1449 {
   1450 	VkStructureType							sType;
   1451 	const void*								pNext;
   1452 	deUint32								aspectReferenceCount;
   1453 	const VkInputAttachmentAspectReference*	pAspectReferences;
   1454 };
   1455 
   1456 struct VkImageViewUsageCreateInfo
   1457 {
   1458 	VkStructureType		sType;
   1459 	const void*			pNext;
   1460 	VkImageUsageFlags	usage;
   1461 };
   1462 
   1463 struct VkPipelineTessellationDomainOriginStateCreateInfo
   1464 {
   1465 	VkStructureType				sType;
   1466 	const void*					pNext;
   1467 	VkTessellationDomainOrigin	domainOrigin;
   1468 };
   1469 
   1470 struct VkRenderPassMultiviewCreateInfo
   1471 {
   1472 	VkStructureType	sType;
   1473 	const void*		pNext;
   1474 	deUint32		subpassCount;
   1475 	const deUint32*	pViewMasks;
   1476 	deUint32		dependencyCount;
   1477 	const deInt32*	pViewOffsets;
   1478 	deUint32		correlationMaskCount;
   1479 	const deUint32*	pCorrelationMasks;
   1480 };
   1481 
   1482 struct VkPhysicalDeviceMultiviewFeatures
   1483 {
   1484 	VkStructureType	sType;
   1485 	void*			pNext;
   1486 	VkBool32		multiview;
   1487 	VkBool32		multiviewGeometryShader;
   1488 	VkBool32		multiviewTessellationShader;
   1489 };
   1490 
   1491 struct VkPhysicalDeviceMultiviewProperties
   1492 {
   1493 	VkStructureType	sType;
   1494 	void*			pNext;
   1495 	deUint32		maxMultiviewViewCount;
   1496 	deUint32		maxMultiviewInstanceIndex;
   1497 };
   1498 
   1499 struct VkPhysicalDeviceVariablePointerFeatures
   1500 {
   1501 	VkStructureType	sType;
   1502 	void*			pNext;
   1503 	VkBool32		variablePointersStorageBuffer;
   1504 	VkBool32		variablePointers;
   1505 };
   1506 
   1507 struct VkPhysicalDeviceProtectedMemoryFeatures
   1508 {
   1509 	VkStructureType	sType;
   1510 	void*			pNext;
   1511 	VkBool32		protectedMemory;
   1512 };
   1513 
   1514 struct VkPhysicalDeviceProtectedMemoryProperties
   1515 {
   1516 	VkStructureType	sType;
   1517 	void*			pNext;
   1518 	VkBool32		protectedNoFault;
   1519 };
   1520 
   1521 struct VkDeviceQueueInfo2
   1522 {
   1523 	VkStructureType				sType;
   1524 	const void*					pNext;
   1525 	VkDeviceQueueCreateFlags	flags;
   1526 	deUint32					queueFamilyIndex;
   1527 	deUint32					queueIndex;
   1528 };
   1529 
   1530 struct VkProtectedSubmitInfo
   1531 {
   1532 	VkStructureType	sType;
   1533 	const void*		pNext;
   1534 	VkBool32		protectedSubmit;
   1535 };
   1536 
   1537 struct VkSamplerYcbcrConversionCreateInfo
   1538 {
   1539 	VkStructureType					sType;
   1540 	const void*						pNext;
   1541 	VkFormat						format;
   1542 	VkSamplerYcbcrModelConversion	ycbcrModel;
   1543 	VkSamplerYcbcrRange				ycbcrRange;
   1544 	VkComponentMapping				components;
   1545 	VkChromaLocation				xChromaOffset;
   1546 	VkChromaLocation				yChromaOffset;
   1547 	VkFilter						chromaFilter;
   1548 	VkBool32						forceExplicitReconstruction;
   1549 };
   1550 
   1551 struct VkSamplerYcbcrConversionInfo
   1552 {
   1553 	VkStructureType				sType;
   1554 	const void*					pNext;
   1555 	VkSamplerYcbcrConversion	conversion;
   1556 };
   1557 
   1558 struct VkBindImagePlaneMemoryInfo
   1559 {
   1560 	VkStructureType			sType;
   1561 	const void*				pNext;
   1562 	VkImageAspectFlagBits	planeAspect;
   1563 };
   1564 
   1565 struct VkImagePlaneMemoryRequirementsInfo
   1566 {
   1567 	VkStructureType			sType;
   1568 	const void*				pNext;
   1569 	VkImageAspectFlagBits	planeAspect;
   1570 };
   1571 
   1572 struct VkPhysicalDeviceSamplerYcbcrConversionFeatures
   1573 {
   1574 	VkStructureType	sType;
   1575 	void*			pNext;
   1576 	VkBool32		samplerYcbcrConversion;
   1577 };
   1578 
   1579 struct VkSamplerYcbcrConversionImageFormatProperties
   1580 {
   1581 	VkStructureType	sType;
   1582 	void*			pNext;
   1583 	deUint32		combinedImageSamplerDescriptorCount;
   1584 };
   1585 
   1586 struct VkDescriptorUpdateTemplateEntry
   1587 {
   1588 	deUint32			dstBinding;
   1589 	deUint32			dstArrayElement;
   1590 	deUint32			descriptorCount;
   1591 	VkDescriptorType	descriptorType;
   1592 	deUintptr			offset;
   1593 	deUintptr			stride;
   1594 };
   1595 
   1596 struct VkDescriptorUpdateTemplateCreateInfo
   1597 {
   1598 	VkStructureType							sType;
   1599 	void*									pNext;
   1600 	VkDescriptorUpdateTemplateCreateFlags	flags;
   1601 	deUint32								descriptorUpdateEntryCount;
   1602 	const VkDescriptorUpdateTemplateEntry*	pDescriptorUpdateEntries;
   1603 	VkDescriptorUpdateTemplateType			templateType;
   1604 	VkDescriptorSetLayout					descriptorSetLayout;
   1605 	VkPipelineBindPoint						pipelineBindPoint;
   1606 	VkPipelineLayout						pipelineLayout;
   1607 	deUint32								set;
   1608 };
   1609 
   1610 struct VkExternalMemoryProperties
   1611 {
   1612 	VkExternalMemoryFeatureFlags	externalMemoryFeatures;
   1613 	VkExternalMemoryHandleTypeFlags	exportFromImportedHandleTypes;
   1614 	VkExternalMemoryHandleTypeFlags	compatibleHandleTypes;
   1615 };
   1616 
   1617 struct VkPhysicalDeviceExternalImageFormatInfo
   1618 {
   1619 	VkStructureType						sType;
   1620 	const void*							pNext;
   1621 	VkExternalMemoryHandleTypeFlagBits	handleType;
   1622 };
   1623 
   1624 struct VkExternalImageFormatProperties
   1625 {
   1626 	VkStructureType				sType;
   1627 	void*						pNext;
   1628 	VkExternalMemoryProperties	externalMemoryProperties;
   1629 };
   1630 
   1631 struct VkPhysicalDeviceExternalBufferInfo
   1632 {
   1633 	VkStructureType						sType;
   1634 	const void*							pNext;
   1635 	VkBufferCreateFlags					flags;
   1636 	VkBufferUsageFlags					usage;
   1637 	VkExternalMemoryHandleTypeFlagBits	handleType;
   1638 };
   1639 
   1640 struct VkExternalBufferProperties
   1641 {
   1642 	VkStructureType				sType;
   1643 	void*						pNext;
   1644 	VkExternalMemoryProperties	externalMemoryProperties;
   1645 };
   1646 
   1647 struct VkPhysicalDeviceIDProperties
   1648 {
   1649 	VkStructureType	sType;
   1650 	void*			pNext;
   1651 	deUint8			deviceUUID[VK_UUID_SIZE];
   1652 	deUint8			driverUUID[VK_UUID_SIZE];
   1653 	deUint8			deviceLUID[VK_LUID_SIZE];
   1654 	deUint32		deviceNodeMask;
   1655 	VkBool32		deviceLUIDValid;
   1656 };
   1657 
   1658 struct VkExternalMemoryImageCreateInfo
   1659 {
   1660 	VkStructureType					sType;
   1661 	const void*						pNext;
   1662 	VkExternalMemoryHandleTypeFlags	handleTypes;
   1663 };
   1664 
   1665 struct VkExternalMemoryBufferCreateInfo
   1666 {
   1667 	VkStructureType					sType;
   1668 	const void*						pNext;
   1669 	VkExternalMemoryHandleTypeFlags	handleTypes;
   1670 };
   1671 
   1672 struct VkExportMemoryAllocateInfo
   1673 {
   1674 	VkStructureType					sType;
   1675 	const void*						pNext;
   1676 	VkExternalMemoryHandleTypeFlags	handleTypes;
   1677 };
   1678 
   1679 struct VkPhysicalDeviceExternalFenceInfo
   1680 {
   1681 	VkStructureType						sType;
   1682 	const void*							pNext;
   1683 	VkExternalFenceHandleTypeFlagBits	handleType;
   1684 };
   1685 
   1686 struct VkExternalFenceProperties
   1687 {
   1688 	VkStructureType					sType;
   1689 	void*							pNext;
   1690 	VkExternalFenceHandleTypeFlags	exportFromImportedHandleTypes;
   1691 	VkExternalFenceHandleTypeFlags	compatibleHandleTypes;
   1692 	VkExternalFenceFeatureFlags		externalFenceFeatures;
   1693 };
   1694 
   1695 struct VkExportFenceCreateInfo
   1696 {
   1697 	VkStructureType					sType;
   1698 	const void*						pNext;
   1699 	VkExternalFenceHandleTypeFlags	handleTypes;
   1700 };
   1701 
   1702 struct VkExportSemaphoreCreateInfo
   1703 {
   1704 	VkStructureType						sType;
   1705 	const void*							pNext;
   1706 	VkExternalSemaphoreHandleTypeFlags	handleTypes;
   1707 };
   1708 
   1709 struct VkPhysicalDeviceExternalSemaphoreInfo
   1710 {
   1711 	VkStructureType							sType;
   1712 	const void*								pNext;
   1713 	VkExternalSemaphoreHandleTypeFlagBits	handleType;
   1714 };
   1715 
   1716 struct VkExternalSemaphoreProperties
   1717 {
   1718 	VkStructureType						sType;
   1719 	void*								pNext;
   1720 	VkExternalSemaphoreHandleTypeFlags	exportFromImportedHandleTypes;
   1721 	VkExternalSemaphoreHandleTypeFlags	compatibleHandleTypes;
   1722 	VkExternalSemaphoreFeatureFlags		externalSemaphoreFeatures;
   1723 };
   1724 
   1725 struct VkPhysicalDeviceMaintenance3Properties
   1726 {
   1727 	VkStructureType	sType;
   1728 	void*			pNext;
   1729 	deUint32		maxPerSetDescriptors;
   1730 	VkDeviceSize	maxMemoryAllocationSize;
   1731 };
   1732 
   1733 struct VkDescriptorSetLayoutSupport
   1734 {
   1735 	VkStructureType	sType;
   1736 	void*			pNext;
   1737 	VkBool32		supported;
   1738 };
   1739 
   1740 struct VkPhysicalDeviceShaderDrawParameterFeatures
   1741 {
   1742 	VkStructureType	sType;
   1743 	void*			pNext;
   1744 	VkBool32		shaderDrawParameters;
   1745 };
   1746 
   1747 struct VkSurfaceCapabilitiesKHR
   1748 {
   1749 	deUint32						minImageCount;
   1750 	deUint32						maxImageCount;
   1751 	VkExtent2D						currentExtent;
   1752 	VkExtent2D						minImageExtent;
   1753 	VkExtent2D						maxImageExtent;
   1754 	deUint32						maxImageArrayLayers;
   1755 	VkSurfaceTransformFlagsKHR		supportedTransforms;
   1756 	VkSurfaceTransformFlagBitsKHR	currentTransform;
   1757 	VkCompositeAlphaFlagsKHR		supportedCompositeAlpha;
   1758 	VkImageUsageFlags				supportedUsageFlags;
   1759 };
   1760 
   1761 struct VkSurfaceFormatKHR
   1762 {
   1763 	VkFormat		format;
   1764 	VkColorSpaceKHR	colorSpace;
   1765 };
   1766 
   1767 struct VkSwapchainCreateInfoKHR
   1768 {
   1769 	VkStructureType					sType;
   1770 	const void*						pNext;
   1771 	VkSwapchainCreateFlagsKHR		flags;
   1772 	VkSurfaceKHR					surface;
   1773 	deUint32						minImageCount;
   1774 	VkFormat						imageFormat;
   1775 	VkColorSpaceKHR					imageColorSpace;
   1776 	VkExtent2D						imageExtent;
   1777 	deUint32						imageArrayLayers;
   1778 	VkImageUsageFlags				imageUsage;
   1779 	VkSharingMode					imageSharingMode;
   1780 	deUint32						queueFamilyIndexCount;
   1781 	const deUint32*					pQueueFamilyIndices;
   1782 	VkSurfaceTransformFlagBitsKHR	preTransform;
   1783 	VkCompositeAlphaFlagBitsKHR		compositeAlpha;
   1784 	VkPresentModeKHR				presentMode;
   1785 	VkBool32						clipped;
   1786 	VkSwapchainKHR					oldSwapchain;
   1787 };
   1788 
   1789 struct VkPresentInfoKHR
   1790 {
   1791 	VkStructureType			sType;
   1792 	const void*				pNext;
   1793 	deUint32				waitSemaphoreCount;
   1794 	const VkSemaphore*		pWaitSemaphores;
   1795 	deUint32				swapchainCount;
   1796 	const VkSwapchainKHR*	pSwapchains;
   1797 	const deUint32*			pImageIndices;
   1798 	VkResult*				pResults;
   1799 };
   1800 
   1801 struct VkImageSwapchainCreateInfoKHR
   1802 {
   1803 	VkStructureType	sType;
   1804 	const void*		pNext;
   1805 	VkSwapchainKHR	swapchain;
   1806 };
   1807 
   1808 struct VkBindImageMemorySwapchainInfoKHR
   1809 {
   1810 	VkStructureType	sType;
   1811 	const void*		pNext;
   1812 	VkSwapchainKHR	swapchain;
   1813 	deUint32		imageIndex;
   1814 };
   1815 
   1816 struct VkAcquireNextImageInfoKHR
   1817 {
   1818 	VkStructureType	sType;
   1819 	const void*		pNext;
   1820 	VkSwapchainKHR	swapchain;
   1821 	deUint64		timeout;
   1822 	VkSemaphore		semaphore;
   1823 	VkFence			fence;
   1824 	deUint32		deviceMask;
   1825 };
   1826 
   1827 struct VkDeviceGroupPresentCapabilitiesKHR
   1828 {
   1829 	VkStructureType						sType;
   1830 	const void*							pNext;
   1831 	deUint32							presentMask[VK_MAX_DEVICE_GROUP_SIZE];
   1832 	VkDeviceGroupPresentModeFlagsKHR	modes;
   1833 };
   1834 
   1835 struct VkDeviceGroupPresentInfoKHR
   1836 {
   1837 	VkStructureType						sType;
   1838 	const void*							pNext;
   1839 	deUint32							swapchainCount;
   1840 	const deUint32*						pDeviceMasks;
   1841 	VkDeviceGroupPresentModeFlagBitsKHR	mode;
   1842 };
   1843 
   1844 struct VkDeviceGroupSwapchainCreateInfoKHR
   1845 {
   1846 	VkStructureType						sType;
   1847 	const void*							pNext;
   1848 	VkDeviceGroupPresentModeFlagsKHR	modes;
   1849 };
   1850 
   1851 struct VkDisplayPropertiesKHR
   1852 {
   1853 	VkDisplayKHR				display;
   1854 	const char*					displayName;
   1855 	VkExtent2D					physicalDimensions;
   1856 	VkExtent2D					physicalResolution;
   1857 	VkSurfaceTransformFlagsKHR	supportedTransforms;
   1858 	VkBool32					planeReorderPossible;
   1859 	VkBool32					persistentContent;
   1860 };
   1861 
   1862 struct VkDisplayModeParametersKHR
   1863 {
   1864 	VkExtent2D	visibleRegion;
   1865 	deUint32	refreshRate;
   1866 };
   1867 
   1868 struct VkDisplayModePropertiesKHR
   1869 {
   1870 	VkDisplayModeKHR			displayMode;
   1871 	VkDisplayModeParametersKHR	parameters;
   1872 };
   1873 
   1874 struct VkDisplayModeCreateInfoKHR
   1875 {
   1876 	VkStructureType				sType;
   1877 	const void*					pNext;
   1878 	VkDisplayModeCreateFlagsKHR	flags;
   1879 	VkDisplayModeParametersKHR	parameters;
   1880 };
   1881 
   1882 struct VkDisplayPlaneCapabilitiesKHR
   1883 {
   1884 	VkDisplayPlaneAlphaFlagsKHR	supportedAlpha;
   1885 	VkOffset2D					minSrcPosition;
   1886 	VkOffset2D					maxSrcPosition;
   1887 	VkExtent2D					minSrcExtent;
   1888 	VkExtent2D					maxSrcExtent;
   1889 	VkOffset2D					minDstPosition;
   1890 	VkOffset2D					maxDstPosition;
   1891 	VkExtent2D					minDstExtent;
   1892 	VkExtent2D					maxDstExtent;
   1893 };
   1894 
   1895 struct VkDisplayPlanePropertiesKHR
   1896 {
   1897 	VkDisplayKHR	currentDisplay;
   1898 	deUint32		currentStackIndex;
   1899 };
   1900 
   1901 struct VkDisplaySurfaceCreateInfoKHR
   1902 {
   1903 	VkStructureType					sType;
   1904 	const void*						pNext;
   1905 	VkDisplaySurfaceCreateFlagsKHR	flags;
   1906 	VkDisplayModeKHR				displayMode;
   1907 	deUint32						planeIndex;
   1908 	deUint32						planeStackIndex;
   1909 	VkSurfaceTransformFlagBitsKHR	transform;
   1910 	float							globalAlpha;
   1911 	VkDisplayPlaneAlphaFlagBitsKHR	alphaMode;
   1912 	VkExtent2D						imageExtent;
   1913 };
   1914 
   1915 struct VkDisplayPresentInfoKHR
   1916 {
   1917 	VkStructureType	sType;
   1918 	const void*		pNext;
   1919 	VkRect2D		srcRect;
   1920 	VkRect2D		dstRect;
   1921 	VkBool32		persistent;
   1922 };
   1923 
   1924 struct VkXlibSurfaceCreateInfoKHR
   1925 {
   1926 	VkStructureType				sType;
   1927 	const void*					pNext;
   1928 	VkXlibSurfaceCreateFlagsKHR	flags;
   1929 	pt::XlibDisplayPtr			dpy;
   1930 	pt::XlibWindow				window;
   1931 };
   1932 
   1933 struct VkXcbSurfaceCreateInfoKHR
   1934 {
   1935 	VkStructureType				sType;
   1936 	const void*					pNext;
   1937 	VkXcbSurfaceCreateFlagsKHR	flags;
   1938 	pt::XcbConnectionPtr		connection;
   1939 	pt::XcbWindow				window;
   1940 };
   1941 
   1942 struct VkWaylandSurfaceCreateInfoKHR
   1943 {
   1944 	VkStructureType					sType;
   1945 	const void*						pNext;
   1946 	VkWaylandSurfaceCreateFlagsKHR	flags;
   1947 	pt::WaylandDisplayPtr			display;
   1948 	pt::WaylandSurfacePtr			surface;
   1949 };
   1950 
   1951 struct VkMirSurfaceCreateInfoKHR
   1952 {
   1953 	VkStructureType				sType;
   1954 	const void*					pNext;
   1955 	VkMirSurfaceCreateFlagsKHR	flags;
   1956 	pt::MirConnectionPtr		connection;
   1957 	pt::MirSurfacePtr			mirSurface;
   1958 };
   1959 
   1960 struct VkAndroidSurfaceCreateInfoKHR
   1961 {
   1962 	VkStructureType					sType;
   1963 	const void*						pNext;
   1964 	VkAndroidSurfaceCreateFlagsKHR	flags;
   1965 	pt::AndroidNativeWindowPtr		window;
   1966 };
   1967 
   1968 struct VkWin32SurfaceCreateInfoKHR
   1969 {
   1970 	VkStructureType					sType;
   1971 	const void*						pNext;
   1972 	VkWin32SurfaceCreateFlagsKHR	flags;
   1973 	pt::Win32InstanceHandle			hinstance;
   1974 	pt::Win32WindowHandle			hwnd;
   1975 };
   1976 
   1977 struct VkImportMemoryWin32HandleInfoKHR
   1978 {
   1979 	VkStructureType						sType;
   1980 	const void*							pNext;
   1981 	VkExternalMemoryHandleTypeFlagBits	handleType;
   1982 	pt::Win32Handle						handle;
   1983 	char*								name;
   1984 };
   1985 
   1986 struct VkExportMemoryWin32HandleInfoKHR
   1987 {
   1988 	VkStructureType					sType;
   1989 	const void*						pNext;
   1990 	pt::Win32SecurityAttributesPtr	pAttributes;
   1991 	deUint32						dwAccess;
   1992 	char*							name;
   1993 };
   1994 
   1995 struct VkMemoryWin32HandlePropertiesKHR
   1996 {
   1997 	VkStructureType	sType;
   1998 	void*			pNext;
   1999 	deUint32		memoryTypeBits;
   2000 };
   2001 
   2002 struct VkMemoryGetWin32HandleInfoKHR
   2003 {
   2004 	VkStructureType						sType;
   2005 	const void*							pNext;
   2006 	VkDeviceMemory						memory;
   2007 	VkExternalMemoryHandleTypeFlagBits	handleType;
   2008 };
   2009 
   2010 struct VkImportMemoryFdInfoKHR
   2011 {
   2012 	VkStructureType						sType;
   2013 	const void*							pNext;
   2014 	VkExternalMemoryHandleTypeFlagBits	handleType;
   2015 	int									fd;
   2016 };
   2017 
   2018 struct VkMemoryFdPropertiesKHR
   2019 {
   2020 	VkStructureType	sType;
   2021 	void*			pNext;
   2022 	deUint32		memoryTypeBits;
   2023 };
   2024 
   2025 struct VkMemoryGetFdInfoKHR
   2026 {
   2027 	VkStructureType						sType;
   2028 	const void*							pNext;
   2029 	VkDeviceMemory						memory;
   2030 	VkExternalMemoryHandleTypeFlagBits	handleType;
   2031 };
   2032 
   2033 struct VkWin32KeyedMutexAcquireReleaseInfoKHR
   2034 {
   2035 	VkStructureType			sType;
   2036 	const void*				pNext;
   2037 	deUint32				acquireCount;
   2038 	const VkDeviceMemory*	pAcquireSyncs;
   2039 	const deUint64*			pAcquireKeys;
   2040 	const deUint32*			pAcquireTimeouts;
   2041 	deUint32				releaseCount;
   2042 	const VkDeviceMemory*	pReleaseSyncs;
   2043 	const deUint64*			pReleaseKeys;
   2044 };
   2045 
   2046 struct VkImportSemaphoreWin32HandleInfoKHR
   2047 {
   2048 	VkStructureType							sType;
   2049 	const void*								pNext;
   2050 	VkSemaphore								semaphore;
   2051 	VkSemaphoreImportFlags					flags;
   2052 	VkExternalSemaphoreHandleTypeFlagBits	handleType;
   2053 	pt::Win32Handle							handle;
   2054 	char*									name;
   2055 };
   2056 
   2057 struct VkExportSemaphoreWin32HandleInfoKHR
   2058 {
   2059 	VkStructureType					sType;
   2060 	const void*						pNext;
   2061 	pt::Win32SecurityAttributesPtr	pAttributes;
   2062 	deUint32						dwAccess;
   2063 	char*							name;
   2064 };
   2065 
   2066 struct VkD3D12FenceSubmitInfoKHR
   2067 {
   2068 	VkStructureType	sType;
   2069 	const void*		pNext;
   2070 	deUint32		waitSemaphoreValuesCount;
   2071 	const deUint64*	pWaitSemaphoreValues;
   2072 	deUint32		signalSemaphoreValuesCount;
   2073 	const deUint64*	pSignalSemaphoreValues;
   2074 };
   2075 
   2076 struct VkSemaphoreGetWin32HandleInfoKHR
   2077 {
   2078 	VkStructureType							sType;
   2079 	const void*								pNext;
   2080 	VkSemaphore								semaphore;
   2081 	VkExternalSemaphoreHandleTypeFlagBits	handleType;
   2082 };
   2083 
   2084 struct VkImportSemaphoreFdInfoKHR
   2085 {
   2086 	VkStructureType							sType;
   2087 	const void*								pNext;
   2088 	VkSemaphore								semaphore;
   2089 	VkSemaphoreImportFlags					flags;
   2090 	VkExternalSemaphoreHandleTypeFlagBits	handleType;
   2091 	int										fd;
   2092 };
   2093 
   2094 struct VkSemaphoreGetFdInfoKHR
   2095 {
   2096 	VkStructureType							sType;
   2097 	const void*								pNext;
   2098 	VkSemaphore								semaphore;
   2099 	VkExternalSemaphoreHandleTypeFlagBits	handleType;
   2100 };
   2101 
   2102 struct VkPhysicalDevicePushDescriptorPropertiesKHR
   2103 {
   2104 	VkStructureType	sType;
   2105 	void*			pNext;
   2106 	deUint32		maxPushDescriptors;
   2107 };
   2108 
   2109 struct VkPhysicalDeviceFloat16Int8FeaturesKHR
   2110 {
   2111 	VkStructureType	sType;
   2112 	void*			pNext;
   2113 	VkBool32		shaderFloat16;
   2114 	VkBool32		shaderInt8;
   2115 };
   2116 
   2117 struct VkRectLayerKHR
   2118 {
   2119 	VkOffset2D	offset;
   2120 	VkExtent2D	extent;
   2121 	deUint32	layer;
   2122 };
   2123 
   2124 struct VkPresentRegionKHR
   2125 {
   2126 	deUint32				rectangleCount;
   2127 	const VkRectLayerKHR*	pRectangles;
   2128 };
   2129 
   2130 struct VkPresentRegionsKHR
   2131 {
   2132 	VkStructureType				sType;
   2133 	const void*					pNext;
   2134 	deUint32					swapchainCount;
   2135 	const VkPresentRegionKHR*	pRegions;
   2136 };
   2137 
   2138 struct VkAttachmentDescription2KHR
   2139 {
   2140 	VkStructureType					sType;
   2141 	const void*						pNext;
   2142 	VkAttachmentDescriptionFlags	flags;
   2143 	VkFormat						format;
   2144 	VkSampleCountFlagBits			samples;
   2145 	VkAttachmentLoadOp				loadOp;
   2146 	VkAttachmentStoreOp				storeOp;
   2147 	VkAttachmentLoadOp				stencilLoadOp;
   2148 	VkAttachmentStoreOp				stencilStoreOp;
   2149 	VkImageLayout					initialLayout;
   2150 	VkImageLayout					finalLayout;
   2151 };
   2152 
   2153 struct VkAttachmentReference2KHR
   2154 {
   2155 	VkStructureType		sType;
   2156 	const void*			pNext;
   2157 	deUint32			attachment;
   2158 	VkImageLayout		layout;
   2159 	VkImageAspectFlags	aspectMask;
   2160 };
   2161 
   2162 struct VkSubpassDescription2KHR
   2163 {
   2164 	VkStructureType						sType;
   2165 	const void*							pNext;
   2166 	VkSubpassDescriptionFlags			flags;
   2167 	VkPipelineBindPoint					pipelineBindPoint;
   2168 	deUint32							viewMask;
   2169 	deUint32							inputAttachmentCount;
   2170 	const VkAttachmentReference2KHR*	pInputAttachments;
   2171 	deUint32							colorAttachmentCount;
   2172 	const VkAttachmentReference2KHR*	pColorAttachments;
   2173 	const VkAttachmentReference2KHR*	pResolveAttachments;
   2174 	const VkAttachmentReference2KHR*	pDepthStencilAttachment;
   2175 	deUint32							preserveAttachmentCount;
   2176 	const deUint32*						pPreserveAttachments;
   2177 };
   2178 
   2179 struct VkSubpassDependency2KHR
   2180 {
   2181 	VkStructureType			sType;
   2182 	const void*				pNext;
   2183 	deUint32				srcSubpass;
   2184 	deUint32				dstSubpass;
   2185 	VkPipelineStageFlags	srcStageMask;
   2186 	VkPipelineStageFlags	dstStageMask;
   2187 	VkAccessFlags			srcAccessMask;
   2188 	VkAccessFlags			dstAccessMask;
   2189 	VkDependencyFlags		dependencyFlags;
   2190 	deInt32					viewOffset;
   2191 };
   2192 
   2193 struct VkRenderPassCreateInfo2KHR
   2194 {
   2195 	VkStructureType						sType;
   2196 	const void*							pNext;
   2197 	VkRenderPassCreateFlags				flags;
   2198 	deUint32							attachmentCount;
   2199 	const VkAttachmentDescription2KHR*	pAttachments;
   2200 	deUint32							subpassCount;
   2201 	const VkSubpassDescription2KHR*		pSubpasses;
   2202 	deUint32							dependencyCount;
   2203 	const VkSubpassDependency2KHR*		pDependencies;
   2204 	deUint32							correlatedViewMaskCount;
   2205 	const deUint32*						pCorrelatedViewMasks;
   2206 };
   2207 
   2208 struct VkSubpassBeginInfoKHR
   2209 {
   2210 	VkStructureType		sType;
   2211 	const void*			pNext;
   2212 	VkSubpassContents	contents;
   2213 };
   2214 
   2215 struct VkSubpassEndInfoKHR
   2216 {
   2217 	VkStructureType	sType;
   2218 	const void*		pNext;
   2219 };
   2220 
   2221 struct VkSharedPresentSurfaceCapabilitiesKHR
   2222 {
   2223 	VkStructureType		sType;
   2224 	void*				pNext;
   2225 	VkImageUsageFlags	sharedPresentSupportedUsageFlags;
   2226 };
   2227 
   2228 struct VkImportFenceWin32HandleInfoKHR
   2229 {
   2230 	VkStructureType						sType;
   2231 	const void*							pNext;
   2232 	VkFence								fence;
   2233 	VkFenceImportFlags					flags;
   2234 	VkExternalFenceHandleTypeFlagBits	handleType;
   2235 	pt::Win32Handle						handle;
   2236 	char*								name;
   2237 };
   2238 
   2239 struct VkExportFenceWin32HandleInfoKHR
   2240 {
   2241 	VkStructureType					sType;
   2242 	const void*						pNext;
   2243 	pt::Win32SecurityAttributesPtr	pAttributes;
   2244 	deUint32						dwAccess;
   2245 	char*							name;
   2246 };
   2247 
   2248 struct VkFenceGetWin32HandleInfoKHR
   2249 {
   2250 	VkStructureType						sType;
   2251 	const void*							pNext;
   2252 	VkFence								fence;
   2253 	VkExternalFenceHandleTypeFlagBits	handleType;
   2254 };
   2255 
   2256 struct VkImportFenceFdInfoKHR
   2257 {
   2258 	VkStructureType						sType;
   2259 	const void*							pNext;
   2260 	VkFence								fence;
   2261 	VkFenceImportFlags					flags;
   2262 	VkExternalFenceHandleTypeFlagBits	handleType;
   2263 	int									fd;
   2264 };
   2265 
   2266 struct VkFenceGetFdInfoKHR
   2267 {
   2268 	VkStructureType						sType;
   2269 	const void*							pNext;
   2270 	VkFence								fence;
   2271 	VkExternalFenceHandleTypeFlagBits	handleType;
   2272 };
   2273 
   2274 struct VkPhysicalDeviceSurfaceInfo2KHR
   2275 {
   2276 	VkStructureType	sType;
   2277 	const void*		pNext;
   2278 	VkSurfaceKHR	surface;
   2279 };
   2280 
   2281 struct VkSurfaceCapabilities2KHR
   2282 {
   2283 	VkStructureType				sType;
   2284 	void*						pNext;
   2285 	VkSurfaceCapabilitiesKHR	surfaceCapabilities;
   2286 };
   2287 
   2288 struct VkSurfaceFormat2KHR
   2289 {
   2290 	VkStructureType		sType;
   2291 	void*				pNext;
   2292 	VkSurfaceFormatKHR	surfaceFormat;
   2293 };
   2294 
   2295 struct VkDisplayProperties2KHR
   2296 {
   2297 	VkStructureType			sType;
   2298 	void*					pNext;
   2299 	VkDisplayPropertiesKHR	displayProperties;
   2300 };
   2301 
   2302 struct VkDisplayPlaneProperties2KHR
   2303 {
   2304 	VkStructureType				sType;
   2305 	void*						pNext;
   2306 	VkDisplayPlanePropertiesKHR	displayPlaneProperties;
   2307 };
   2308 
   2309 struct VkDisplayModeProperties2KHR
   2310 {
   2311 	VkStructureType				sType;
   2312 	void*						pNext;
   2313 	VkDisplayModePropertiesKHR	displayModeProperties;
   2314 };
   2315 
   2316 struct VkDisplayPlaneInfo2KHR
   2317 {
   2318 	VkStructureType		sType;
   2319 	const void*			pNext;
   2320 	VkDisplayModeKHR	mode;
   2321 	deUint32			planeIndex;
   2322 };
   2323 
   2324 struct VkDisplayPlaneCapabilities2KHR
   2325 {
   2326 	VkStructureType					sType;
   2327 	void*							pNext;
   2328 	VkDisplayPlaneCapabilitiesKHR	capabilities;
   2329 };
   2330 
   2331 struct VkImageFormatListCreateInfoKHR
   2332 {
   2333 	VkStructureType	sType;
   2334 	const void*		pNext;
   2335 	deUint32		viewFormatCount;
   2336 	const VkFormat*	pViewFormats;
   2337 };
   2338 
   2339 struct VkConformanceVersionKHR
   2340 {
   2341 	deUint8	major;
   2342 	deUint8	minor;
   2343 	deUint8	subminor;
   2344 	deUint8	patch;
   2345 };
   2346 
   2347 struct VkPhysicalDeviceDriverPropertiesKHR
   2348 {
   2349 	VkStructureType			sType;
   2350 	void*					pNext;
   2351 	deUint32				driverID;
   2352 	char					driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
   2353 	char					driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
   2354 	VkConformanceVersionKHR	conformanceVersion;
   2355 };
   2356 
   2357 struct VkPhysicalDeviceFloatControlsPropertiesKHR
   2358 {
   2359 	VkStructureType	sType;
   2360 	void*			pNext;
   2361 	VkBool32		separateDenormSettings;
   2362 	VkBool32		separateRoundingModeSettings;
   2363 	VkBool32		shaderSignedZeroInfNanPreserveFloat16;
   2364 	VkBool32		shaderSignedZeroInfNanPreserveFloat32;
   2365 	VkBool32		shaderSignedZeroInfNanPreserveFloat64;
   2366 	VkBool32		shaderDenormPreserveFloat16;
   2367 	VkBool32		shaderDenormPreserveFloat32;
   2368 	VkBool32		shaderDenormPreserveFloat64;
   2369 	VkBool32		shaderDenormFlushToZeroFloat16;
   2370 	VkBool32		shaderDenormFlushToZeroFloat32;
   2371 	VkBool32		shaderDenormFlushToZeroFloat64;
   2372 	VkBool32		shaderRoundingModeRTEFloat16;
   2373 	VkBool32		shaderRoundingModeRTEFloat32;
   2374 	VkBool32		shaderRoundingModeRTEFloat64;
   2375 	VkBool32		shaderRoundingModeRTZFloat16;
   2376 	VkBool32		shaderRoundingModeRTZFloat32;
   2377 	VkBool32		shaderRoundingModeRTZFloat64;
   2378 };
   2379 
   2380 struct VkSubpassDescriptionDepthStencilResolveKHR
   2381 {
   2382 	VkStructureType						sType;
   2383 	const void*							pNext;
   2384 	VkResolveModeFlagBitsKHR			depthResolveMode;
   2385 	VkResolveModeFlagBitsKHR			stencilResolveMode;
   2386 	const VkAttachmentReference2KHR*	pDepthStencilResolveAttachment;
   2387 };
   2388 
   2389 struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR
   2390 {
   2391 	VkStructureType			sType;
   2392 	void*					pNext;
   2393 	VkResolveModeFlagsKHR	supportedDepthResolveModes;
   2394 	VkResolveModeFlagsKHR	supportedStencilResolveModes;
   2395 	VkBool32				independentResolveNone;
   2396 	VkBool32				independentResolve;
   2397 };
   2398 
   2399 struct VkSurfaceProtectedCapabilitiesKHR
   2400 {
   2401 	VkStructureType	sType;
   2402 	const void*		pNext;
   2403 	VkBool32		supportsProtected;
   2404 };
   2405 
   2406 struct VkDebugReportCallbackCreateInfoEXT
   2407 {
   2408 	VkStructureType					sType;
   2409 	const void*						pNext;
   2410 	VkDebugReportFlagsEXT			flags;
   2411 	PFN_vkDebugReportCallbackEXT	pfnCallback;
   2412 	void*							pUserData;
   2413 };
   2414 
   2415 struct VkPipelineRasterizationStateRasterizationOrderAMD
   2416 {
   2417 	VkStructureType			sType;
   2418 	const void*				pNext;
   2419 	VkRasterizationOrderAMD	rasterizationOrder;
   2420 };
   2421 
   2422 struct VkDebugMarkerObjectNameInfoEXT
   2423 {
   2424 	VkStructureType				sType;
   2425 	const void*					pNext;
   2426 	VkDebugReportObjectTypeEXT	objectType;
   2427 	deUint64					object;
   2428 	const char*					pObjectName;
   2429 };
   2430 
   2431 struct VkDebugMarkerObjectTagInfoEXT
   2432 {
   2433 	VkStructureType				sType;
   2434 	const void*					pNext;
   2435 	VkDebugReportObjectTypeEXT	objectType;
   2436 	deUint64					object;
   2437 	deUint64					tagName;
   2438 	deUintptr					tagSize;
   2439 	const void*					pTag;
   2440 };
   2441 
   2442 struct VkDebugMarkerMarkerInfoEXT
   2443 {
   2444 	VkStructureType	sType;
   2445 	const void*		pNext;
   2446 	const char*		pMarkerName;
   2447 	float			color[4];
   2448 };
   2449 
   2450 struct VkDedicatedAllocationImageCreateInfoNV
   2451 {
   2452 	VkStructureType	sType;
   2453 	const void*		pNext;
   2454 	VkBool32		dedicatedAllocation;
   2455 };
   2456 
   2457 struct VkDedicatedAllocationBufferCreateInfoNV
   2458 {
   2459 	VkStructureType	sType;
   2460 	const void*		pNext;
   2461 	VkBool32		dedicatedAllocation;
   2462 };
   2463 
   2464 struct VkDedicatedAllocationMemoryAllocateInfoNV
   2465 {
   2466 	VkStructureType	sType;
   2467 	const void*		pNext;
   2468 	VkImage			image;
   2469 	VkBuffer		buffer;
   2470 };
   2471 
   2472 struct VkTextureLODGatherFormatPropertiesAMD
   2473 {
   2474 	VkStructureType	sType;
   2475 	void*			pNext;
   2476 	VkBool32		supportsTextureGatherLODBiasAMD;
   2477 };
   2478 
   2479 struct VkExternalImageFormatPropertiesNV
   2480 {
   2481 	VkImageFormatProperties				imageFormatProperties;
   2482 	VkExternalMemoryFeatureFlagsNV		externalMemoryFeatures;
   2483 	VkExternalMemoryHandleTypeFlagsNV	exportFromImportedHandleTypes;
   2484 	VkExternalMemoryHandleTypeFlagsNV	compatibleHandleTypes;
   2485 };
   2486 
   2487 struct VkExternalMemoryImageCreateInfoNV
   2488 {
   2489 	VkStructureType						sType;
   2490 	const void*							pNext;
   2491 	VkExternalMemoryHandleTypeFlagsNV	handleTypes;
   2492 };
   2493 
   2494 struct VkExportMemoryAllocateInfoNV
   2495 {
   2496 	VkStructureType						sType;
   2497 	const void*							pNext;
   2498 	VkExternalMemoryHandleTypeFlagsNV	handleTypes;
   2499 };
   2500 
   2501 struct VkImportMemoryWin32HandleInfoNV
   2502 {
   2503 	VkStructureType						sType;
   2504 	const void*							pNext;
   2505 	VkExternalMemoryHandleTypeFlagsNV	handleType;
   2506 	pt::Win32Handle						handle;
   2507 };
   2508 
   2509 struct VkExportMemoryWin32HandleInfoNV
   2510 {
   2511 	VkStructureType					sType;
   2512 	const void*						pNext;
   2513 	pt::Win32SecurityAttributesPtr	pAttributes;
   2514 	deUint32						dwAccess;
   2515 };
   2516 
   2517 struct VkWin32KeyedMutexAcquireReleaseInfoNV
   2518 {
   2519 	VkStructureType			sType;
   2520 	const void*				pNext;
   2521 	deUint32				acquireCount;
   2522 	const VkDeviceMemory*	pAcquireSyncs;
   2523 	const deUint64*			pAcquireKeys;
   2524 	const deUint32*			pAcquireTimeoutMilliseconds;
   2525 	deUint32				releaseCount;
   2526 	const VkDeviceMemory*	pReleaseSyncs;
   2527 	const deUint64*			pReleaseKeys;
   2528 };
   2529 
   2530 struct VkValidationFlagsEXT
   2531 {
   2532 	VkStructureType			sType;
   2533 	const void*				pNext;
   2534 	deUint32				disabledValidationCheckCount;
   2535 	VkValidationCheckEXT*	pDisabledValidationChecks;
   2536 };
   2537 
   2538 struct VkViSurfaceCreateInfoNN
   2539 {
   2540 	VkStructureType				sType;
   2541 	const void*					pNext;
   2542 	VkViSurfaceCreateFlagsNN	flags;
   2543 	void*						window;
   2544 };
   2545 
   2546 struct VkConditionalRenderingBeginInfoEXT
   2547 {
   2548 	VkStructureType					sType;
   2549 	const void*						pNext;
   2550 	VkBuffer						buffer;
   2551 	VkDeviceSize					offset;
   2552 	VkConditionalRenderingFlagsEXT	flags;
   2553 };
   2554 
   2555 struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
   2556 {
   2557 	VkStructureType	sType;
   2558 	void*			pNext;
   2559 	VkBool32		conditionalRendering;
   2560 	VkBool32		inheritedConditionalRendering;
   2561 };
   2562 
   2563 struct VkCommandBufferInheritanceConditionalRenderingInfoEXT
   2564 {
   2565 	VkStructureType	sType;
   2566 	const void*		pNext;
   2567 	VkBool32		conditionalRenderingEnable;
   2568 };
   2569 
   2570 struct VkDeviceGeneratedCommandsFeaturesNVX
   2571 {
   2572 	VkStructureType	sType;
   2573 	const void*		pNext;
   2574 	VkBool32		computeBindingPointSupport;
   2575 };
   2576 
   2577 struct VkDeviceGeneratedCommandsLimitsNVX
   2578 {
   2579 	VkStructureType	sType;
   2580 	const void*		pNext;
   2581 	deUint32		maxIndirectCommandsLayoutTokenCount;
   2582 	deUint32		maxObjectEntryCounts;
   2583 	deUint32		minSequenceCountBufferOffsetAlignment;
   2584 	deUint32		minSequenceIndexBufferOffsetAlignment;
   2585 	deUint32		minCommandsTokenBufferOffsetAlignment;
   2586 };
   2587 
   2588 struct VkIndirectCommandsTokenNVX
   2589 {
   2590 	VkIndirectCommandsTokenTypeNVX	tokenType;
   2591 	VkBuffer						buffer;
   2592 	VkDeviceSize					offset;
   2593 };
   2594 
   2595 struct VkIndirectCommandsLayoutTokenNVX
   2596 {
   2597 	VkIndirectCommandsTokenTypeNVX	tokenType;
   2598 	deUint32						bindingUnit;
   2599 	deUint32						dynamicCount;
   2600 	deUint32						divisor;
   2601 };
   2602 
   2603 struct VkIndirectCommandsLayoutCreateInfoNVX
   2604 {
   2605 	VkStructureType							sType;
   2606 	const void*								pNext;
   2607 	VkPipelineBindPoint						pipelineBindPoint;
   2608 	VkIndirectCommandsLayoutUsageFlagsNVX	flags;
   2609 	deUint32								tokenCount;
   2610 	const VkIndirectCommandsLayoutTokenNVX*	pTokens;
   2611 };
   2612 
   2613 struct VkCmdProcessCommandsInfoNVX
   2614 {
   2615 	VkStructureType						sType;
   2616 	const void*							pNext;
   2617 	VkObjectTableNVX					objectTable;
   2618 	VkIndirectCommandsLayoutNVX			indirectCommandsLayout;
   2619 	deUint32							indirectCommandsTokenCount;
   2620 	const VkIndirectCommandsTokenNVX*	pIndirectCommandsTokens;
   2621 	deUint32							maxSequencesCount;
   2622 	VkCommandBuffer						targetCommandBuffer;
   2623 	VkBuffer							sequencesCountBuffer;
   2624 	VkDeviceSize						sequencesCountOffset;
   2625 	VkBuffer							sequencesIndexBuffer;
   2626 	VkDeviceSize						sequencesIndexOffset;
   2627 };
   2628 
   2629 struct VkCmdReserveSpaceForCommandsInfoNVX
   2630 {
   2631 	VkStructureType				sType;
   2632 	const void*					pNext;
   2633 	VkObjectTableNVX			objectTable;
   2634 	VkIndirectCommandsLayoutNVX	indirectCommandsLayout;
   2635 	deUint32					maxSequencesCount;
   2636 };
   2637 
   2638 struct VkObjectTableCreateInfoNVX
   2639 {
   2640 	VkStructureType						sType;
   2641 	const void*							pNext;
   2642 	deUint32							objectCount;
   2643 	const VkObjectEntryTypeNVX*			pObjectEntryTypes;
   2644 	const deUint32*						pObjectEntryCounts;
   2645 	const VkObjectEntryUsageFlagsNVX*	pObjectEntryUsageFlags;
   2646 	deUint32							maxUniformBuffersPerDescriptor;
   2647 	deUint32							maxStorageBuffersPerDescriptor;
   2648 	deUint32							maxStorageImagesPerDescriptor;
   2649 	deUint32							maxSampledImagesPerDescriptor;
   2650 	deUint32							maxPipelineLayouts;
   2651 };
   2652 
   2653 struct VkObjectTableEntryNVX
   2654 {
   2655 	VkObjectEntryTypeNVX		type;
   2656 	VkObjectEntryUsageFlagsNVX	flags;
   2657 };
   2658 
   2659 struct VkObjectTablePipelineEntryNVX
   2660 {
   2661 	VkObjectEntryTypeNVX		type;
   2662 	VkObjectEntryUsageFlagsNVX	flags;
   2663 	VkPipeline					pipeline;
   2664 };
   2665 
   2666 struct VkObjectTableDescriptorSetEntryNVX
   2667 {
   2668 	VkObjectEntryTypeNVX		type;
   2669 	VkObjectEntryUsageFlagsNVX	flags;
   2670 	VkPipelineLayout			pipelineLayout;
   2671 	VkDescriptorSet				descriptorSet;
   2672 };
   2673 
   2674 struct VkObjectTableVertexBufferEntryNVX
   2675 {
   2676 	VkObjectEntryTypeNVX		type;
   2677 	VkObjectEntryUsageFlagsNVX	flags;
   2678 	VkBuffer					buffer;
   2679 };
   2680 
   2681 struct VkObjectTableIndexBufferEntryNVX
   2682 {
   2683 	VkObjectEntryTypeNVX		type;
   2684 	VkObjectEntryUsageFlagsNVX	flags;
   2685 	VkBuffer					buffer;
   2686 	VkIndexType					indexType;
   2687 };
   2688 
   2689 struct VkObjectTablePushConstantEntryNVX
   2690 {
   2691 	VkObjectEntryTypeNVX		type;
   2692 	VkObjectEntryUsageFlagsNVX	flags;
   2693 	VkPipelineLayout			pipelineLayout;
   2694 	VkShaderStageFlags			stageFlags;
   2695 };
   2696 
   2697 struct VkViewportWScalingNV
   2698 {
   2699 	float	xcoeff;
   2700 	float	ycoeff;
   2701 };
   2702 
   2703 struct VkPipelineViewportWScalingStateCreateInfoNV
   2704 {
   2705 	VkStructureType				sType;
   2706 	const void*					pNext;
   2707 	VkBool32					viewportWScalingEnable;
   2708 	deUint32					viewportCount;
   2709 	const VkViewportWScalingNV*	pViewportWScalings;
   2710 };
   2711 
   2712 struct VkSurfaceCapabilities2EXT
   2713 {
   2714 	VkStructureType					sType;
   2715 	void*							pNext;
   2716 	deUint32						minImageCount;
   2717 	deUint32						maxImageCount;
   2718 	VkExtent2D						currentExtent;
   2719 	VkExtent2D						minImageExtent;
   2720 	VkExtent2D						maxImageExtent;
   2721 	deUint32						maxImageArrayLayers;
   2722 	VkSurfaceTransformFlagsKHR		supportedTransforms;
   2723 	VkSurfaceTransformFlagBitsKHR	currentTransform;
   2724 	VkCompositeAlphaFlagsKHR		supportedCompositeAlpha;
   2725 	VkImageUsageFlags				supportedUsageFlags;
   2726 	VkSurfaceCounterFlagsEXT		supportedSurfaceCounters;
   2727 };
   2728 
   2729 struct VkDisplayPowerInfoEXT
   2730 {
   2731 	VkStructureType			sType;
   2732 	const void*				pNext;
   2733 	VkDisplayPowerStateEXT	powerState;
   2734 };
   2735 
   2736 struct VkDeviceEventInfoEXT
   2737 {
   2738 	VkStructureType			sType;
   2739 	const void*				pNext;
   2740 	VkDeviceEventTypeEXT	deviceEvent;
   2741 };
   2742 
   2743 struct VkDisplayEventInfoEXT
   2744 {
   2745 	VkStructureType			sType;
   2746 	const void*				pNext;
   2747 	VkDisplayEventTypeEXT	displayEvent;
   2748 };
   2749 
   2750 struct VkSwapchainCounterCreateInfoEXT
   2751 {
   2752 	VkStructureType				sType;
   2753 	const void*					pNext;
   2754 	VkSurfaceCounterFlagsEXT	surfaceCounters;
   2755 };
   2756 
   2757 struct VkRefreshCycleDurationGOOGLE
   2758 {
   2759 	deUint64	refreshDuration;
   2760 };
   2761 
   2762 struct VkPastPresentationTimingGOOGLE
   2763 {
   2764 	deUint32	presentID;
   2765 	deUint64	desiredPresentTime;
   2766 	deUint64	actualPresentTime;
   2767 	deUint64	earliestPresentTime;
   2768 	deUint64	presentMargin;
   2769 };
   2770 
   2771 struct VkPresentTimeGOOGLE
   2772 {
   2773 	deUint32	presentID;
   2774 	deUint64	desiredPresentTime;
   2775 };
   2776 
   2777 struct VkPresentTimesInfoGOOGLE
   2778 {
   2779 	VkStructureType				sType;
   2780 	const void*					pNext;
   2781 	deUint32					swapchainCount;
   2782 	const VkPresentTimeGOOGLE*	pTimes;
   2783 };
   2784 
   2785 struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
   2786 {
   2787 	VkStructureType	sType;
   2788 	void*			pNext;
   2789 	VkBool32		perViewPositionAllComponents;
   2790 };
   2791 
   2792 struct VkViewportSwizzleNV
   2793 {
   2794 	VkViewportCoordinateSwizzleNV	x;
   2795 	VkViewportCoordinateSwizzleNV	y;
   2796 	VkViewportCoordinateSwizzleNV	z;
   2797 	VkViewportCoordinateSwizzleNV	w;
   2798 };
   2799 
   2800 struct VkPipelineViewportSwizzleStateCreateInfoNV
   2801 {
   2802 	VkStructureType								sType;
   2803 	const void*									pNext;
   2804 	VkPipelineViewportSwizzleStateCreateFlagsNV	flags;
   2805 	deUint32									viewportCount;
   2806 	const VkViewportSwizzleNV*					pViewportSwizzles;
   2807 };
   2808 
   2809 struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
   2810 {
   2811 	VkStructureType	sType;
   2812 	void*			pNext;
   2813 	deUint32		maxDiscardRectangles;
   2814 };
   2815 
   2816 struct VkPipelineDiscardRectangleStateCreateInfoEXT
   2817 {
   2818 	VkStructureType									sType;
   2819 	const void*										pNext;
   2820 	VkPipelineDiscardRectangleStateCreateFlagsEXT	flags;
   2821 	VkDiscardRectangleModeEXT						discardRectangleMode;
   2822 	deUint32										discardRectangleCount;
   2823 	const VkRect2D*									pDiscardRectangles;
   2824 };
   2825 
   2826 struct VkXYColorEXT
   2827 {
   2828 	float	x;
   2829 	float	y;
   2830 };
   2831 
   2832 struct VkHdrMetadataEXT
   2833 {
   2834 	VkStructureType	sType;
   2835 	const void*		pNext;
   2836 	VkXYColorEXT	displayPrimaryRed;
   2837 	VkXYColorEXT	displayPrimaryGreen;
   2838 	VkXYColorEXT	displayPrimaryBlue;
   2839 	VkXYColorEXT	whitePoint;
   2840 	float			maxLuminance;
   2841 	float			minLuminance;
   2842 	float			maxContentLightLevel;
   2843 	float			maxFrameAverageLightLevel;
   2844 };
   2845 
   2846 struct VkIOSSurfaceCreateInfoMVK
   2847 {
   2848 	VkStructureType				sType;
   2849 	const void*					pNext;
   2850 	VkIOSSurfaceCreateFlagsMVK	flags;
   2851 	const void*					pView;
   2852 };
   2853 
   2854 struct VkMacOSSurfaceCreateInfoMVK
   2855 {
   2856 	VkStructureType					sType;
   2857 	const void*						pNext;
   2858 	VkMacOSSurfaceCreateFlagsMVK	flags;
   2859 	const void*						pView;
   2860 };
   2861 
   2862 struct VkSamplerReductionModeCreateInfoEXT
   2863 {
   2864 	VkStructureType				sType;
   2865 	const void*					pNext;
   2866 	VkSamplerReductionModeEXT	reductionMode;
   2867 };
   2868 
   2869 struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
   2870 {
   2871 	VkStructureType	sType;
   2872 	void*			pNext;
   2873 	VkBool32		filterMinmaxSingleComponentFormats;
   2874 	VkBool32		filterMinmaxImageComponentMapping;
   2875 };
   2876 
   2877 struct VkSampleLocationEXT
   2878 {
   2879 	float	x;
   2880 	float	y;
   2881 };
   2882 
   2883 struct VkSampleLocationsInfoEXT
   2884 {
   2885 	VkStructureType				sType;
   2886 	const void*					pNext;
   2887 	VkSampleCountFlagBits		sampleLocationsPerPixel;
   2888 	VkExtent2D					sampleLocationGridSize;
   2889 	deUint32					sampleLocationsCount;
   2890 	const VkSampleLocationEXT*	pSampleLocations;
   2891 };
   2892 
   2893 struct VkAttachmentSampleLocationsEXT
   2894 {
   2895 	deUint32					attachmentIndex;
   2896 	VkSampleLocationsInfoEXT	sampleLocationsInfo;
   2897 };
   2898 
   2899 struct VkSubpassSampleLocationsEXT
   2900 {
   2901 	deUint32					subpassIndex;
   2902 	VkSampleLocationsInfoEXT	sampleLocationsInfo;
   2903 };
   2904 
   2905 struct VkRenderPassSampleLocationsBeginInfoEXT
   2906 {
   2907 	VkStructureType							sType;
   2908 	const void*								pNext;
   2909 	deUint32								attachmentInitialSampleLocationsCount;
   2910 	const VkAttachmentSampleLocationsEXT*	pAttachmentInitialSampleLocations;
   2911 	deUint32								postSubpassSampleLocationsCount;
   2912 	const VkSubpassSampleLocationsEXT*		pSubpassSampleLocations;
   2913 };
   2914 
   2915 struct VkPipelineSampleLocationsStateCreateInfoEXT
   2916 {
   2917 	VkStructureType				sType;
   2918 	const void*					pNext;
   2919 	VkBool32					sampleLocationsEnable;
   2920 	VkSampleLocationsInfoEXT	sampleLocationsInfo;
   2921 };
   2922 
   2923 struct VkPhysicalDeviceSampleLocationsPropertiesEXT
   2924 {
   2925 	VkStructureType		sType;
   2926 	void*				pNext;
   2927 	VkSampleCountFlags	sampleLocationSampleCounts;
   2928 	VkExtent2D			maxSampleLocationGridSize;
   2929 	float				sampleLocationCoordinateRange[2];
   2930 	deUint32			sampleLocationSubPixelBits;
   2931 	VkBool32			variableSampleLocations;
   2932 };
   2933 
   2934 struct VkMultisamplePropertiesEXT
   2935 {
   2936 	VkStructureType	sType;
   2937 	void*			pNext;
   2938 	VkExtent2D		maxSampleLocationGridSize;
   2939 };
   2940 
   2941 struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
   2942 {
   2943 	VkStructureType	sType;
   2944 	void*			pNext;
   2945 	VkBool32		advancedBlendCoherentOperations;
   2946 };
   2947 
   2948 struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
   2949 {
   2950 	VkStructureType	sType;
   2951 	void*			pNext;
   2952 	deUint32		advancedBlendMaxColorAttachments;
   2953 	VkBool32		advancedBlendIndependentBlend;
   2954 	VkBool32		advancedBlendNonPremultipliedSrcColor;
   2955 	VkBool32		advancedBlendNonPremultipliedDstColor;
   2956 	VkBool32		advancedBlendCorrelatedOverlap;
   2957 	VkBool32		advancedBlendAllOperations;
   2958 };
   2959 
   2960 struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
   2961 {
   2962 	VkStructureType		sType;
   2963 	const void*			pNext;
   2964 	VkBool32			srcPremultiplied;
   2965 	VkBool32			dstPremultiplied;
   2966 	VkBlendOverlapEXT	blendOverlap;
   2967 };
   2968 
   2969 struct VkPipelineCoverageToColorStateCreateInfoNV
   2970 {
   2971 	VkStructureType								sType;
   2972 	const void*									pNext;
   2973 	VkPipelineCoverageToColorStateCreateFlagsNV	flags;
   2974 	VkBool32									coverageToColorEnable;
   2975 	deUint32									coverageToColorLocation;
   2976 };
   2977 
   2978 struct VkPipelineCoverageModulationStateCreateInfoNV
   2979 {
   2980 	VkStructureType									sType;
   2981 	const void*										pNext;
   2982 	VkPipelineCoverageModulationStateCreateFlagsNV	flags;
   2983 	VkCoverageModulationModeNV						coverageModulationMode;
   2984 	VkBool32										coverageModulationTableEnable;
   2985 	deUint32										coverageModulationTableCount;
   2986 	const float*									pCoverageModulationTable;
   2987 };
   2988 
   2989 struct VkValidationCacheCreateInfoEXT
   2990 {
   2991 	VkStructureType					sType;
   2992 	const void*						pNext;
   2993 	VkValidationCacheCreateFlagsEXT	flags;
   2994 	deUintptr						initialDataSize;
   2995 	const void*						pInitialData;
   2996 };
   2997 
   2998 struct VkShaderModuleValidationCacheCreateInfoEXT
   2999 {
   3000 	VkStructureType			sType;
   3001 	const void*				pNext;
   3002 	VkValidationCacheEXT	validationCache;
   3003 };
   3004 
   3005 struct VkAndroidHardwareBufferUsageANDROID
   3006 {
   3007 	VkStructureType	sType;
   3008 	void*			pNext;
   3009 	deUint64		androidHardwareBufferUsage;
   3010 };
   3011 
   3012 struct VkAndroidHardwareBufferPropertiesANDROID
   3013 {
   3014 	VkStructureType	sType;
   3015 	void*			pNext;
   3016 	VkDeviceSize	allocationSize;
   3017 	deUint32		memoryTypeBits;
   3018 };
   3019 
   3020 struct VkAndroidHardwareBufferFormatPropertiesANDROID
   3021 {
   3022 	VkStructureType					sType;
   3023 	void*							pNext;
   3024 	VkFormat						format;
   3025 	deUint64						externalFormat;
   3026 	VkFormatFeatureFlags			formatFeatures;
   3027 	VkComponentMapping				samplerYcbcrConversionComponents;
   3028 	VkSamplerYcbcrModelConversion	suggestedYcbcrModel;
   3029 	VkSamplerYcbcrRange				suggestedYcbcrRange;
   3030 	VkChromaLocation				suggestedXChromaOffset;
   3031 	VkChromaLocation				suggestedYChromaOffset;
   3032 };
   3033 
   3034 struct VkImportAndroidHardwareBufferInfoANDROID
   3035 {
   3036 	VkStructureType						sType;
   3037 	const void*							pNext;
   3038 	struct pt::AndroidHardwareBufferPtr	buffer;
   3039 };
   3040 
   3041 struct VkMemoryGetAndroidHardwareBufferInfoANDROID
   3042 {
   3043 	VkStructureType	sType;
   3044 	void*			pNext;
   3045 	VkDeviceMemory	memory;
   3046 };
   3047 
   3048 struct VkExternalFormatANDROID
   3049 {
   3050 	VkStructureType	sType;
   3051 	void*			pNext;
   3052 	deUint64		externalFormat;
   3053 };
   3054 
   3055 struct VkImportMemoryHostPointerInfoEXT
   3056 {
   3057 	VkStructureType						sType;
   3058 	const void*							pNext;
   3059 	VkExternalMemoryHandleTypeFlagBits	handleType;
   3060 	void*								pHostPointer;
   3061 };
   3062 
   3063 struct VkMemoryHostPointerPropertiesEXT
   3064 {
   3065 	VkStructureType	sType;
   3066 	void*			pNext;
   3067 	deUint32		memoryTypeBits;
   3068 };
   3069 
   3070 struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT
   3071 {
   3072 	VkStructureType	sType;
   3073 	void*			pNext;
   3074 	VkDeviceSize	minImportedHostPointerAlignment;
   3075 };
   3076 
   3077 struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
   3078 {
   3079 	VkStructureType	sType;
   3080 	void*			pNext;
   3081 	deUint32		maxVertexAttribDivisor;
   3082 };
   3083 
   3084 struct VkVertexInputBindingDivisorDescriptionEXT
   3085 {
   3086 	deUint32	binding;
   3087 	deUint32	divisor;
   3088 };
   3089 
   3090 struct VkPipelineVertexInputDivisorStateCreateInfoEXT
   3091 {
   3092 	VkStructureType										sType;
   3093 	const void*											pNext;
   3094 	deUint32											vertexBindingDivisorCount;
   3095 	const VkVertexInputBindingDivisorDescriptionEXT*	pVertexBindingDivisors;
   3096 };
   3097 
   3098 struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
   3099 {
   3100 	VkStructureType	sType;
   3101 	void*			pNext;
   3102 	VkBool32		vertexAttributeInstanceRateDivisor;
   3103 	VkBool32		vertexAttributeInstanceRateZeroDivisor;
   3104 };
   3105 
   3106 struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
   3107 {
   3108 	VkStructureType						sType;
   3109 	const void*							pNext;
   3110 	deUint32							bindingCount;
   3111 	const VkDescriptorBindingFlagsEXT*	pBindingFlags;
   3112 };
   3113 
   3114 struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT
   3115 {
   3116 	VkStructureType	sType;
   3117 	void*			pNext;
   3118 	VkBool32		shaderInputAttachmentArrayDynamicIndexing;
   3119 	VkBool32		shaderUniformTexelBufferArrayDynamicIndexing;
   3120 	VkBool32		shaderStorageTexelBufferArrayDynamicIndexing;
   3121 	VkBool32		shaderUniformBufferArrayNonUniformIndexing;
   3122 	VkBool32		shaderSampledImageArrayNonUniformIndexing;
   3123 	VkBool32		shaderStorageBufferArrayNonUniformIndexing;
   3124 	VkBool32		shaderStorageImageArrayNonUniformIndexing;
   3125 	VkBool32		shaderInputAttachmentArrayNonUniformIndexing;
   3126 	VkBool32		shaderUniformTexelBufferArrayNonUniformIndexing;
   3127 	VkBool32		shaderStorageTexelBufferArrayNonUniformIndexing;
   3128 	VkBool32		descriptorBindingUniformBufferUpdateAfterBind;
   3129 	VkBool32		descriptorBindingSampledImageUpdateAfterBind;
   3130 	VkBool32		descriptorBindingStorageImageUpdateAfterBind;
   3131 	VkBool32		descriptorBindingStorageBufferUpdateAfterBind;
   3132 	VkBool32		descriptorBindingUniformTexelBufferUpdateAfterBind;
   3133 	VkBool32		descriptorBindingStorageTexelBufferUpdateAfterBind;
   3134 	VkBool32		descriptorBindingUpdateUnusedWhilePending;
   3135 	VkBool32		descriptorBindingPartiallyBound;
   3136 	VkBool32		descriptorBindingVariableDescriptorCount;
   3137 	VkBool32		runtimeDescriptorArray;
   3138 };
   3139 
   3140 struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT
   3141 {
   3142 	VkStructureType	sType;
   3143 	void*			pNext;
   3144 	deUint32		maxUpdateAfterBindDescriptorsInAllPools;
   3145 	VkBool32		shaderUniformBufferArrayNonUniformIndexingNative;
   3146 	VkBool32		shaderSampledImageArrayNonUniformIndexingNative;
   3147 	VkBool32		shaderStorageBufferArrayNonUniformIndexingNative;
   3148 	VkBool32		shaderStorageImageArrayNonUniformIndexingNative;
   3149 	VkBool32		shaderInputAttachmentArrayNonUniformIndexingNative;
   3150 	VkBool32		robustBufferAccessUpdateAfterBind;
   3151 	VkBool32		quadDivergentImplicitLod;
   3152 	deUint32		maxPerStageDescriptorUpdateAfterBindSamplers;
   3153 	deUint32		maxPerStageDescriptorUpdateAfterBindUniformBuffers;
   3154 	deUint32		maxPerStageDescriptorUpdateAfterBindStorageBuffers;
   3155 	deUint32		maxPerStageDescriptorUpdateAfterBindSampledImages;
   3156 	deUint32		maxPerStageDescriptorUpdateAfterBindStorageImages;
   3157 	deUint32		maxPerStageDescriptorUpdateAfterBindInputAttachments;
   3158 	deUint32		maxPerStageUpdateAfterBindResources;
   3159 	deUint32		maxDescriptorSetUpdateAfterBindSamplers;
   3160 	deUint32		maxDescriptorSetUpdateAfterBindUniformBuffers;
   3161 	deUint32		maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
   3162 	deUint32		maxDescriptorSetUpdateAfterBindStorageBuffers;
   3163 	deUint32		maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
   3164 	deUint32		maxDescriptorSetUpdateAfterBindSampledImages;
   3165 	deUint32		maxDescriptorSetUpdateAfterBindStorageImages;
   3166 	deUint32		maxDescriptorSetUpdateAfterBindInputAttachments;
   3167 };
   3168 
   3169 struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
   3170 {
   3171 	VkStructureType	sType;
   3172 	const void*		pNext;
   3173 	deUint32		descriptorSetCount;
   3174 	const deUint32*	pDescriptorCounts;
   3175 };
   3176 
   3177 struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
   3178 {
   3179 	VkStructureType	sType;
   3180 	void*			pNext;
   3181 	deUint32		maxVariableDescriptorCount;
   3182 };
   3183 
   3184 struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
   3185 {
   3186 	VkStructureType	sType;
   3187 	void*			pNext;
   3188 	VkBool32		inlineUniformBlock;
   3189 	VkBool32		descriptorBindingInlineUniformBlockUpdateAfterBind;
   3190 };
   3191 
   3192 struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
   3193 {
   3194 	VkStructureType	sType;
   3195 	void*			pNext;
   3196 	deUint32		maxInlineUniformBlockSize;
   3197 	deUint32		maxPerStageDescriptorInlineUniformBlocks;
   3198 	deUint32		maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
   3199 	deUint32		maxDescriptorSetInlineUniformBlocks;
   3200 	deUint32		maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
   3201 };
   3202 
   3203 struct VkWriteDescriptorSetInlineUniformBlockEXT
   3204 {
   3205 	VkStructureType	sType;
   3206 	const void*		pNext;
   3207 	deUint32		dataSize;
   3208 	const void*		pData;
   3209 };
   3210 
   3211 struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT
   3212 {
   3213 	VkStructureType	sType;
   3214 	const void*		pNext;
   3215 	deUint32		maxInlineUniformBlockBindings;
   3216 };
   3217 
   3218 struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
   3219 {
   3220 	VkStructureType	sType;
   3221 	void*			pNext;
   3222 	VkBool32		shaderBufferInt64Atomics;
   3223 	VkBool32		shaderSharedInt64Atomics;
   3224 };
   3225 
   3226 struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
   3227 {
   3228 	VkStructureType	sType;
   3229 	void*			pNext;
   3230 	VkBool32		vulkanMemoryModel;
   3231 	VkBool32		vulkanMemoryModelDeviceScope;
   3232 	VkBool32		vulkanMemoryModelAvailabilityVisibilityChains;
   3233 };
   3234 
   3235 struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
   3236 {
   3237 	VkStructureType	sType;
   3238 	void*			pNext;
   3239 	VkBool32		scalarBlockLayout;
   3240 };
   3241 
   3242 
   3243 
   3244 
   3245 
   3246 
   3247 
   3248 
   3249 
   3250 
   3251 
   3252 
   3253 
   3254 
   3255 
   3256 
   3257 
   3258 
   3259 
   3260 
   3261 
   3262 
   3263 
   3264 
   3265 
   3266 
   3267 
   3268 
   3269 
   3270 
   3271 
   3272 
   3273 
   3274 
   3275 
   3276 
   3277 
   3278 
   3279 
   3280 
   3281 
   3282 
   3283 
   3284 
   3285 
   3286 
   3287 
   3288 
   3289 
   3290 
   3291 
   3292 
   3293 
   3294 
   3295 
   3296 
   3297 
   3298 
   3299 
   3300 
   3301 
   3302 
   3303 
   3304