/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 */
const char*	getPipelineCacheHeaderVersionName		(VkPipelineCacheHeaderVersion value);
const char*	getResultName							(VkResult value);
const char*	getStructureTypeName					(VkStructureType value);
const char*	getSystemAllocationScopeName			(VkSystemAllocationScope value);
const char*	getInternalAllocationTypeName			(VkInternalAllocationType value);
const char*	getFormatName							(VkFormat value);
const char*	getImageTypeName						(VkImageType value);
const char*	getImageTilingName						(VkImageTiling value);
const char*	getPhysicalDeviceTypeName				(VkPhysicalDeviceType value);
const char*	getQueryTypeName						(VkQueryType value);
const char*	getSharingModeName						(VkSharingMode value);
const char*	getImageLayoutName						(VkImageLayout value);
const char*	getImageViewTypeName					(VkImageViewType value);
const char*	getComponentSwizzleName					(VkComponentSwizzle value);
const char*	getVertexInputRateName					(VkVertexInputRate value);
const char*	getPrimitiveTopologyName				(VkPrimitiveTopology value);
const char*	getPolygonModeName						(VkPolygonMode value);
const char*	getFrontFaceName						(VkFrontFace value);
const char*	getCompareOpName						(VkCompareOp value);
const char*	getStencilOpName						(VkStencilOp value);
const char*	getLogicOpName							(VkLogicOp value);
const char*	getBlendFactorName						(VkBlendFactor value);
const char*	getBlendOpName							(VkBlendOp value);
const char*	getDynamicStateName						(VkDynamicState value);
const char*	getFilterName							(VkFilter value);
const char*	getSamplerMipmapModeName				(VkSamplerMipmapMode value);
const char*	getSamplerAddressModeName				(VkSamplerAddressMode value);
const char*	getBorderColorName						(VkBorderColor value);
const char*	getDescriptorTypeName					(VkDescriptorType value);
const char*	getAttachmentLoadOpName					(VkAttachmentLoadOp value);
const char*	getAttachmentStoreOpName				(VkAttachmentStoreOp value);
const char*	getPipelineBindPointName				(VkPipelineBindPoint value);
const char*	getCommandBufferLevelName				(VkCommandBufferLevel value);
const char*	getIndexTypeName						(VkIndexType value);
const char*	getSubpassContentsName					(VkSubpassContents value);
const char*	getObjectTypeName						(VkObjectType value);
const char*	getPointClippingBehaviorName			(VkPointClippingBehavior value);
const char*	getTessellationDomainOriginName			(VkTessellationDomainOrigin value);
const char*	getSamplerYcbcrModelConversionName		(VkSamplerYcbcrModelConversion value);
const char*	getSamplerYcbcrRangeName				(VkSamplerYcbcrRange value);
const char*	getChromaLocationName					(VkChromaLocation value);
const char*	getDescriptorUpdateTemplateTypeName		(VkDescriptorUpdateTemplateType value);
const char*	getColorSpaceKHRName					(VkColorSpaceKHR value);
const char*	getPresentModeKHRName					(VkPresentModeKHR value);
const char*	getDebugReportObjectTypeEXTName			(VkDebugReportObjectTypeEXT value);
const char*	getRasterizationOrderAMDName			(VkRasterizationOrderAMD value);
const char*	getValidationCheckEXTName				(VkValidationCheckEXT value);
const char*	getIndirectCommandsTokenTypeNVXName		(VkIndirectCommandsTokenTypeNVX value);
const char*	getObjectEntryTypeNVXName				(VkObjectEntryTypeNVX value);
const char*	getDisplayPowerStateEXTName				(VkDisplayPowerStateEXT value);
const char*	getDeviceEventTypeEXTName				(VkDeviceEventTypeEXT value);
const char*	getDisplayEventTypeEXTName				(VkDisplayEventTypeEXT value);
const char*	getViewportCoordinateSwizzleNVName		(VkViewportCoordinateSwizzleNV value);
const char*	getDiscardRectangleModeEXTName			(VkDiscardRectangleModeEXT value);
const char*	getSamplerReductionModeEXTName			(VkSamplerReductionModeEXT value);
const char*	getBlendOverlapEXTName					(VkBlendOverlapEXT value);
const char*	getCoverageModulationModeNVName			(VkCoverageModulationModeNV value);
const char*	getValidationCacheHeaderVersionEXTName	(VkValidationCacheHeaderVersionEXT value);
const char*	getComponentTypeNVName					(VkComponentTypeNV value);
const char*	getScopeNVName							(VkScopeNV value);

inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>		getPipelineCacheHeaderVersionStr		(VkPipelineCacheHeaderVersion value)		{ return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value);				}
inline tcu::Format::Enum<VkResult>							getResultStr							(VkResult value)							{ return tcu::Format::Enum<VkResult>(getResultName, value);														}
inline tcu::Format::Enum<VkStructureType>					getStructureTypeStr						(VkStructureType value)						{ return tcu::Format::Enum<VkStructureType>(getStructureTypeName, value);										}
inline tcu::Format::Enum<VkSystemAllocationScope>			getSystemAllocationScopeStr				(VkSystemAllocationScope value)				{ return tcu::Format::Enum<VkSystemAllocationScope>(getSystemAllocationScopeName, value);						}
inline tcu::Format::Enum<VkInternalAllocationType>			getInternalAllocationTypeStr			(VkInternalAllocationType value)			{ return tcu::Format::Enum<VkInternalAllocationType>(getInternalAllocationTypeName, value);						}
inline tcu::Format::Enum<VkFormat>							getFormatStr							(VkFormat value)							{ return tcu::Format::Enum<VkFormat>(getFormatName, value);														}
inline tcu::Format::Enum<VkImageType>						getImageTypeStr							(VkImageType value)							{ return tcu::Format::Enum<VkImageType>(getImageTypeName, value);												}
inline tcu::Format::Enum<VkImageTiling>						getImageTilingStr						(VkImageTiling value)						{ return tcu::Format::Enum<VkImageTiling>(getImageTilingName, value);											}
inline tcu::Format::Enum<VkPhysicalDeviceType>				getPhysicalDeviceTypeStr				(VkPhysicalDeviceType value)				{ return tcu::Format::Enum<VkPhysicalDeviceType>(getPhysicalDeviceTypeName, value);								}
inline tcu::Format::Enum<VkQueryType>						getQueryTypeStr							(VkQueryType value)							{ return tcu::Format::Enum<VkQueryType>(getQueryTypeName, value);												}
inline tcu::Format::Enum<VkSharingMode>						getSharingModeStr						(VkSharingMode value)						{ return tcu::Format::Enum<VkSharingMode>(getSharingModeName, value);											}
inline tcu::Format::Enum<VkImageLayout>						getImageLayoutStr						(VkImageLayout value)						{ return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value);											}
inline tcu::Format::Enum<VkImageViewType>					getImageViewTypeStr						(VkImageViewType value)						{ return tcu::Format::Enum<VkImageViewType>(getImageViewTypeName, value);										}
inline tcu::Format::Enum<VkComponentSwizzle>				getComponentSwizzleStr					(VkComponentSwizzle value)					{ return tcu::Format::Enum<VkComponentSwizzle>(getComponentSwizzleName, value);									}
inline tcu::Format::Enum<VkVertexInputRate>					getVertexInputRateStr					(VkVertexInputRate value)					{ return tcu::Format::Enum<VkVertexInputRate>(getVertexInputRateName, value);									}
inline tcu::Format::Enum<VkPrimitiveTopology>				getPrimitiveTopologyStr					(VkPrimitiveTopology value)					{ return tcu::Format::Enum<VkPrimitiveTopology>(getPrimitiveTopologyName, value);								}
inline tcu::Format::Enum<VkPolygonMode>						getPolygonModeStr						(VkPolygonMode value)						{ return tcu::Format::Enum<VkPolygonMode>(getPolygonModeName, value);											}
inline tcu::Format::Enum<VkFrontFace>						getFrontFaceStr							(VkFrontFace value)							{ return tcu::Format::Enum<VkFrontFace>(getFrontFaceName, value);												}
inline tcu::Format::Enum<VkCompareOp>						getCompareOpStr							(VkCompareOp value)							{ return tcu::Format::Enum<VkCompareOp>(getCompareOpName, value);												}
inline tcu::Format::Enum<VkStencilOp>						getStencilOpStr							(VkStencilOp value)							{ return tcu::Format::Enum<VkStencilOp>(getStencilOpName, value);												}
inline tcu::Format::Enum<VkLogicOp>							getLogicOpStr							(VkLogicOp value)							{ return tcu::Format::Enum<VkLogicOp>(getLogicOpName, value);													}
inline tcu::Format::Enum<VkBlendFactor>						getBlendFactorStr						(VkBlendFactor value)						{ return tcu::Format::Enum<VkBlendFactor>(getBlendFactorName, value);											}
inline tcu::Format::Enum<VkBlendOp>							getBlendOpStr							(VkBlendOp value)							{ return tcu::Format::Enum<VkBlendOp>(getBlendOpName, value);													}
inline tcu::Format::Enum<VkDynamicState>					getDynamicStateStr						(VkDynamicState value)						{ return tcu::Format::Enum<VkDynamicState>(getDynamicStateName, value);											}
inline tcu::Format::Enum<VkFilter>							getFilterStr							(VkFilter value)							{ return tcu::Format::Enum<VkFilter>(getFilterName, value);														}
inline tcu::Format::Enum<VkSamplerMipmapMode>				getSamplerMipmapModeStr					(VkSamplerMipmapMode value)					{ return tcu::Format::Enum<VkSamplerMipmapMode>(getSamplerMipmapModeName, value);								}
inline tcu::Format::Enum<VkSamplerAddressMode>				getSamplerAddressModeStr				(VkSamplerAddressMode value)				{ return tcu::Format::Enum<VkSamplerAddressMode>(getSamplerAddressModeName, value);								}
inline tcu::Format::Enum<VkBorderColor>						getBorderColorStr						(VkBorderColor value)						{ return tcu::Format::Enum<VkBorderColor>(getBorderColorName, value);											}
inline tcu::Format::Enum<VkDescriptorType>					getDescriptorTypeStr					(VkDescriptorType value)					{ return tcu::Format::Enum<VkDescriptorType>(getDescriptorTypeName, value);										}
inline tcu::Format::Enum<VkAttachmentLoadOp>				getAttachmentLoadOpStr					(VkAttachmentLoadOp value)					{ return tcu::Format::Enum<VkAttachmentLoadOp>(getAttachmentLoadOpName, value);									}
inline tcu::Format::Enum<VkAttachmentStoreOp>				getAttachmentStoreOpStr					(VkAttachmentStoreOp value)					{ return tcu::Format::Enum<VkAttachmentStoreOp>(getAttachmentStoreOpName, value);								}
inline tcu::Format::Enum<VkPipelineBindPoint>				getPipelineBindPointStr					(VkPipelineBindPoint value)					{ return tcu::Format::Enum<VkPipelineBindPoint>(getPipelineBindPointName, value);								}
inline tcu::Format::Enum<VkCommandBufferLevel>				getCommandBufferLevelStr				(VkCommandBufferLevel value)				{ return tcu::Format::Enum<VkCommandBufferLevel>(getCommandBufferLevelName, value);								}
inline tcu::Format::Enum<VkIndexType>						getIndexTypeStr							(VkIndexType value)							{ return tcu::Format::Enum<VkIndexType>(getIndexTypeName, value);												}
inline tcu::Format::Enum<VkSubpassContents>					getSubpassContentsStr					(VkSubpassContents value)					{ return tcu::Format::Enum<VkSubpassContents>(getSubpassContentsName, value);									}
inline tcu::Format::Enum<VkObjectType>						getObjectTypeStr						(VkObjectType value)						{ return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value);												}
inline tcu::Format::Enum<VkPointClippingBehavior>			getPointClippingBehaviorStr				(VkPointClippingBehavior value)				{ return tcu::Format::Enum<VkPointClippingBehavior>(getPointClippingBehaviorName, value);						}
inline tcu::Format::Enum<VkTessellationDomainOrigin>		getTessellationDomainOriginStr			(VkTessellationDomainOrigin value)			{ return tcu::Format::Enum<VkTessellationDomainOrigin>(getTessellationDomainOriginName, value);					}
inline tcu::Format::Enum<VkSamplerYcbcrModelConversion>		getSamplerYcbcrModelConversionStr		(VkSamplerYcbcrModelConversion value)		{ return tcu::Format::Enum<VkSamplerYcbcrModelConversion>(getSamplerYcbcrModelConversionName, value);			}
inline tcu::Format::Enum<VkSamplerYcbcrRange>				getSamplerYcbcrRangeStr					(VkSamplerYcbcrRange value)					{ return tcu::Format::Enum<VkSamplerYcbcrRange>(getSamplerYcbcrRangeName, value);								}
inline tcu::Format::Enum<VkChromaLocation>					getChromaLocationStr					(VkChromaLocation value)					{ return tcu::Format::Enum<VkChromaLocation>(getChromaLocationName, value);										}
inline tcu::Format::Enum<VkDescriptorUpdateTemplateType>	getDescriptorUpdateTemplateTypeStr		(VkDescriptorUpdateTemplateType value)		{ return tcu::Format::Enum<VkDescriptorUpdateTemplateType>(getDescriptorUpdateTemplateTypeName, value);			}
inline tcu::Format::Enum<VkColorSpaceKHR>					getColorSpaceKHRStr						(VkColorSpaceKHR value)						{ return tcu::Format::Enum<VkColorSpaceKHR>(getColorSpaceKHRName, value);										}
inline tcu::Format::Enum<VkPresentModeKHR>					getPresentModeKHRStr					(VkPresentModeKHR value)					{ return tcu::Format::Enum<VkPresentModeKHR>(getPresentModeKHRName, value);										}
inline tcu::Format::Enum<VkDebugReportObjectTypeEXT>		getDebugReportObjectTypeEXTStr			(VkDebugReportObjectTypeEXT value)			{ return tcu::Format::Enum<VkDebugReportObjectTypeEXT>(getDebugReportObjectTypeEXTName, value);					}
inline tcu::Format::Enum<VkRasterizationOrderAMD>			getRasterizationOrderAMDStr				(VkRasterizationOrderAMD value)				{ return tcu::Format::Enum<VkRasterizationOrderAMD>(getRasterizationOrderAMDName, value);						}
inline tcu::Format::Enum<VkValidationCheckEXT>				getValidationCheckEXTStr				(VkValidationCheckEXT value)				{ return tcu::Format::Enum<VkValidationCheckEXT>(getValidationCheckEXTName, value);								}
inline tcu::Format::Enum<VkIndirectCommandsTokenTypeNVX>	getIndirectCommandsTokenTypeNVXStr		(VkIndirectCommandsTokenTypeNVX value)		{ return tcu::Format::Enum<VkIndirectCommandsTokenTypeNVX>(getIndirectCommandsTokenTypeNVXName, value);			}
inline tcu::Format::Enum<VkObjectEntryTypeNVX>				getObjectEntryTypeNVXStr				(VkObjectEntryTypeNVX value)				{ return tcu::Format::Enum<VkObjectEntryTypeNVX>(getObjectEntryTypeNVXName, value);								}
inline tcu::Format::Enum<VkDisplayPowerStateEXT>			getDisplayPowerStateEXTStr				(VkDisplayPowerStateEXT value)				{ return tcu::Format::Enum<VkDisplayPowerStateEXT>(getDisplayPowerStateEXTName, value);							}
inline tcu::Format::Enum<VkDeviceEventTypeEXT>				getDeviceEventTypeEXTStr				(VkDeviceEventTypeEXT value)				{ return tcu::Format::Enum<VkDeviceEventTypeEXT>(getDeviceEventTypeEXTName, value);								}
inline tcu::Format::Enum<VkDisplayEventTypeEXT>				getDisplayEventTypeEXTStr				(VkDisplayEventTypeEXT value)				{ return tcu::Format::Enum<VkDisplayEventTypeEXT>(getDisplayEventTypeEXTName, value);							}
inline tcu::Format::Enum<VkViewportCoordinateSwizzleNV>		getViewportCoordinateSwizzleNVStr		(VkViewportCoordinateSwizzleNV value)		{ return tcu::Format::Enum<VkViewportCoordinateSwizzleNV>(getViewportCoordinateSwizzleNVName, value);			}
inline tcu::Format::Enum<VkDiscardRectangleModeEXT>			getDiscardRectangleModeEXTStr			(VkDiscardRectangleModeEXT value)			{ return tcu::Format::Enum<VkDiscardRectangleModeEXT>(getDiscardRectangleModeEXTName, value);					}
inline tcu::Format::Enum<VkSamplerReductionModeEXT>			getSamplerReductionModeEXTStr			(VkSamplerReductionModeEXT value)			{ return tcu::Format::Enum<VkSamplerReductionModeEXT>(getSamplerReductionModeEXTName, value);					}
inline tcu::Format::Enum<VkBlendOverlapEXT>					getBlendOverlapEXTStr					(VkBlendOverlapEXT value)					{ return tcu::Format::Enum<VkBlendOverlapEXT>(getBlendOverlapEXTName, value);									}
inline tcu::Format::Enum<VkCoverageModulationModeNV>		getCoverageModulationModeNVStr			(VkCoverageModulationModeNV value)			{ return tcu::Format::Enum<VkCoverageModulationModeNV>(getCoverageModulationModeNVName, value);					}
inline tcu::Format::Enum<VkValidationCacheHeaderVersionEXT>	getValidationCacheHeaderVersionEXTStr	(VkValidationCacheHeaderVersionEXT value)	{ return tcu::Format::Enum<VkValidationCacheHeaderVersionEXT>(getValidationCacheHeaderVersionEXTName, value);	}
inline tcu::Format::Enum<VkComponentTypeNV>					getComponentTypeNVStr					(VkComponentTypeNV value)					{ return tcu::Format::Enum<VkComponentTypeNV>(getComponentTypeNVName, value);									}
inline tcu::Format::Enum<VkScopeNV>							getScopeNVStr							(VkScopeNV value)							{ return tcu::Format::Enum<VkScopeNV>(getScopeNVName, value);													}

inline std::ostream&	operator<<	(std::ostream& s, VkPipelineCacheHeaderVersion value)		{ return s << getPipelineCacheHeaderVersionStr(value);		}
inline std::ostream&	operator<<	(std::ostream& s, VkResult value)							{ return s << getResultStr(value);							}
inline std::ostream&	operator<<	(std::ostream& s, VkStructureType value)					{ return s << getStructureTypeStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkSystemAllocationScope value)			{ return s << getSystemAllocationScopeStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkInternalAllocationType value)			{ return s << getInternalAllocationTypeStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkFormat value)							{ return s << getFormatStr(value);							}
inline std::ostream&	operator<<	(std::ostream& s, VkImageType value)						{ return s << getImageTypeStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkImageTiling value)						{ return s << getImageTilingStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkPhysicalDeviceType value)				{ return s << getPhysicalDeviceTypeStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkQueryType value)						{ return s << getQueryTypeStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkSharingMode value)						{ return s << getSharingModeStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkImageLayout value)						{ return s << getImageLayoutStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkImageViewType value)					{ return s << getImageViewTypeStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkComponentSwizzle value)					{ return s << getComponentSwizzleStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkVertexInputRate value)					{ return s << getVertexInputRateStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkPrimitiveTopology value)				{ return s << getPrimitiveTopologyStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkPolygonMode value)						{ return s << getPolygonModeStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkFrontFace value)						{ return s << getFrontFaceStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkCompareOp value)						{ return s << getCompareOpStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkStencilOp value)						{ return s << getStencilOpStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkLogicOp value)							{ return s << getLogicOpStr(value);							}
inline std::ostream&	operator<<	(std::ostream& s, VkBlendFactor value)						{ return s << getBlendFactorStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkBlendOp value)							{ return s << getBlendOpStr(value);							}
inline std::ostream&	operator<<	(std::ostream& s, VkDynamicState value)						{ return s << getDynamicStateStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkFilter value)							{ return s << getFilterStr(value);							}
inline std::ostream&	operator<<	(std::ostream& s, VkSamplerMipmapMode value)				{ return s << getSamplerMipmapModeStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkSamplerAddressMode value)				{ return s << getSamplerAddressModeStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkBorderColor value)						{ return s << getBorderColorStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkDescriptorType value)					{ return s << getDescriptorTypeStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkAttachmentLoadOp value)					{ return s << getAttachmentLoadOpStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkAttachmentStoreOp value)				{ return s << getAttachmentStoreOpStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkPipelineBindPoint value)				{ return s << getPipelineBindPointStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkCommandBufferLevel value)				{ return s << getCommandBufferLevelStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkIndexType value)						{ return s << getIndexTypeStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkSubpassContents value)					{ return s << getSubpassContentsStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkObjectType value)						{ return s << getObjectTypeStr(value);						}
inline std::ostream&	operator<<	(std::ostream& s, VkPointClippingBehavior value)			{ return s << getPointClippingBehaviorStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkTessellationDomainOrigin value)			{ return s << getTessellationDomainOriginStr(value);		}
inline std::ostream&	operator<<	(std::ostream& s, VkSamplerYcbcrModelConversion value)		{ return s << getSamplerYcbcrModelConversionStr(value);		}
inline std::ostream&	operator<<	(std::ostream& s, VkSamplerYcbcrRange value)				{ return s << getSamplerYcbcrRangeStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkChromaLocation value)					{ return s << getChromaLocationStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkDescriptorUpdateTemplateType value)		{ return s << getDescriptorUpdateTemplateTypeStr(value);	}
inline std::ostream&	operator<<	(std::ostream& s, VkColorSpaceKHR value)					{ return s << getColorSpaceKHRStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkPresentModeKHR value)					{ return s << getPresentModeKHRStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkDebugReportObjectTypeEXT value)			{ return s << getDebugReportObjectTypeEXTStr(value);		}
inline std::ostream&	operator<<	(std::ostream& s, VkRasterizationOrderAMD value)			{ return s << getRasterizationOrderAMDStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkValidationCheckEXT value)				{ return s << getValidationCheckEXTStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkIndirectCommandsTokenTypeNVX value)		{ return s << getIndirectCommandsTokenTypeNVXStr(value);	}
inline std::ostream&	operator<<	(std::ostream& s, VkObjectEntryTypeNVX value)				{ return s << getObjectEntryTypeNVXStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkDisplayPowerStateEXT value)				{ return s << getDisplayPowerStateEXTStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkDeviceEventTypeEXT value)				{ return s << getDeviceEventTypeEXTStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkDisplayEventTypeEXT value)				{ return s << getDisplayEventTypeEXTStr(value);				}
inline std::ostream&	operator<<	(std::ostream& s, VkViewportCoordinateSwizzleNV value)		{ return s << getViewportCoordinateSwizzleNVStr(value);		}
inline std::ostream&	operator<<	(std::ostream& s, VkDiscardRectangleModeEXT value)			{ return s << getDiscardRectangleModeEXTStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkSamplerReductionModeEXT value)			{ return s << getSamplerReductionModeEXTStr(value);			}
inline std::ostream&	operator<<	(std::ostream& s, VkBlendOverlapEXT value)					{ return s << getBlendOverlapEXTStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkCoverageModulationModeNV value)			{ return s << getCoverageModulationModeNVStr(value);		}
inline std::ostream&	operator<<	(std::ostream& s, VkValidationCacheHeaderVersionEXT value)	{ return s << getValidationCacheHeaderVersionEXTStr(value);	}
inline std::ostream&	operator<<	(std::ostream& s, VkComponentTypeNV value)					{ return s << getComponentTypeNVStr(value);					}
inline std::ostream&	operator<<	(std::ostream& s, VkScopeNV value)							{ return s << getScopeNVStr(value);							}

tcu::Format::Bitfield<32>	getFormatFeatureFlagsStr								(VkFormatFeatureFlags value);
tcu::Format::Bitfield<32>	getImageUsageFlagsStr									(VkImageUsageFlags value);
tcu::Format::Bitfield<32>	getImageCreateFlagsStr									(VkImageCreateFlags value);
tcu::Format::Bitfield<32>	getSampleCountFlagsStr									(VkSampleCountFlags value);
tcu::Format::Bitfield<32>	getQueueFlagsStr										(VkQueueFlags value);
tcu::Format::Bitfield<32>	getMemoryPropertyFlagsStr								(VkMemoryPropertyFlags value);
tcu::Format::Bitfield<32>	getMemoryHeapFlagsStr									(VkMemoryHeapFlags value);
tcu::Format::Bitfield<32>	getDeviceQueueCreateFlagsStr							(VkDeviceQueueCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineStageFlagsStr								(VkPipelineStageFlags value);
tcu::Format::Bitfield<32>	getImageAspectFlagsStr									(VkImageAspectFlags value);
tcu::Format::Bitfield<32>	getSparseImageFormatFlagsStr							(VkSparseImageFormatFlags value);
tcu::Format::Bitfield<32>	getSparseMemoryBindFlagsStr								(VkSparseMemoryBindFlags value);
tcu::Format::Bitfield<32>	getFenceCreateFlagsStr									(VkFenceCreateFlags value);
tcu::Format::Bitfield<32>	getQueryPipelineStatisticFlagsStr						(VkQueryPipelineStatisticFlags value);
tcu::Format::Bitfield<32>	getQueryResultFlagsStr									(VkQueryResultFlags value);
tcu::Format::Bitfield<32>	getBufferCreateFlagsStr									(VkBufferCreateFlags value);
tcu::Format::Bitfield<32>	getBufferUsageFlagsStr									(VkBufferUsageFlags value);
tcu::Format::Bitfield<32>	getPipelineCreateFlagsStr								(VkPipelineCreateFlags value);
tcu::Format::Bitfield<32>	getShaderStageFlagsStr									(VkShaderStageFlags value);
tcu::Format::Bitfield<32>	getCullModeFlagsStr										(VkCullModeFlags value);
tcu::Format::Bitfield<32>	getColorComponentFlagsStr								(VkColorComponentFlags value);
tcu::Format::Bitfield<32>	getDescriptorSetLayoutCreateFlagsStr					(VkDescriptorSetLayoutCreateFlags value);
tcu::Format::Bitfield<32>	getDescriptorPoolCreateFlagsStr							(VkDescriptorPoolCreateFlags value);
tcu::Format::Bitfield<32>	getAttachmentDescriptionFlagsStr						(VkAttachmentDescriptionFlags value);
tcu::Format::Bitfield<32>	getSubpassDescriptionFlagsStr							(VkSubpassDescriptionFlags value);
tcu::Format::Bitfield<32>	getAccessFlagsStr										(VkAccessFlags value);
tcu::Format::Bitfield<32>	getDependencyFlagsStr									(VkDependencyFlags value);
tcu::Format::Bitfield<32>	getCommandPoolCreateFlagsStr							(VkCommandPoolCreateFlags value);
tcu::Format::Bitfield<32>	getCommandPoolResetFlagsStr								(VkCommandPoolResetFlags value);
tcu::Format::Bitfield<32>	getCommandBufferUsageFlagsStr							(VkCommandBufferUsageFlags value);
tcu::Format::Bitfield<32>	getQueryControlFlagsStr									(VkQueryControlFlags value);
tcu::Format::Bitfield<32>	getCommandBufferResetFlagsStr							(VkCommandBufferResetFlags value);
tcu::Format::Bitfield<32>	getStencilFaceFlagsStr									(VkStencilFaceFlags value);
tcu::Format::Bitfield<32>	getSubgroupFeatureFlagsStr								(VkSubgroupFeatureFlags value);
tcu::Format::Bitfield<32>	getPeerMemoryFeatureFlagsStr							(VkPeerMemoryFeatureFlags value);
tcu::Format::Bitfield<32>	getMemoryAllocateFlagsStr								(VkMemoryAllocateFlags value);
tcu::Format::Bitfield<32>	getExternalMemoryHandleTypeFlagsStr						(VkExternalMemoryHandleTypeFlags value);
tcu::Format::Bitfield<32>	getExternalMemoryFeatureFlagsStr						(VkExternalMemoryFeatureFlags value);
tcu::Format::Bitfield<32>	getExternalFenceHandleTypeFlagsStr						(VkExternalFenceHandleTypeFlags value);
tcu::Format::Bitfield<32>	getExternalFenceFeatureFlagsStr							(VkExternalFenceFeatureFlags value);
tcu::Format::Bitfield<32>	getFenceImportFlagsStr									(VkFenceImportFlags value);
tcu::Format::Bitfield<32>	getSemaphoreImportFlagsStr								(VkSemaphoreImportFlags value);
tcu::Format::Bitfield<32>	getExternalSemaphoreHandleTypeFlagsStr					(VkExternalSemaphoreHandleTypeFlags value);
tcu::Format::Bitfield<32>	getExternalSemaphoreFeatureFlagsStr						(VkExternalSemaphoreFeatureFlags value);
tcu::Format::Bitfield<32>	getSurfaceTransformFlagsKHRStr							(VkSurfaceTransformFlagsKHR value);
tcu::Format::Bitfield<32>	getCompositeAlphaFlagsKHRStr							(VkCompositeAlphaFlagsKHR value);
tcu::Format::Bitfield<32>	getSwapchainCreateFlagsKHRStr							(VkSwapchainCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getDeviceGroupPresentModeFlagsKHRStr					(VkDeviceGroupPresentModeFlagsKHR value);
tcu::Format::Bitfield<32>	getDisplayPlaneAlphaFlagsKHRStr							(VkDisplayPlaneAlphaFlagsKHR value);
tcu::Format::Bitfield<32>	getResolveModeFlagsKHRStr								(VkResolveModeFlagsKHR value);
tcu::Format::Bitfield<32>	getDebugReportFlagsEXTStr								(VkDebugReportFlagsEXT value);
tcu::Format::Bitfield<32>	getExternalMemoryHandleTypeFlagsNVStr					(VkExternalMemoryHandleTypeFlagsNV value);
tcu::Format::Bitfield<32>	getExternalMemoryFeatureFlagsNVStr						(VkExternalMemoryFeatureFlagsNV value);
tcu::Format::Bitfield<32>	getConditionalRenderingFlagsEXTStr						(VkConditionalRenderingFlagsEXT value);
tcu::Format::Bitfield<32>	getIndirectCommandsLayoutUsageFlagsNVXStr				(VkIndirectCommandsLayoutUsageFlagsNVX value);
tcu::Format::Bitfield<32>	getObjectEntryUsageFlagsNVXStr							(VkObjectEntryUsageFlagsNVX value);
tcu::Format::Bitfield<32>	getSurfaceCounterFlagsEXTStr							(VkSurfaceCounterFlagsEXT value);
tcu::Format::Bitfield<32>	getDescriptorBindingFlagsEXTStr							(VkDescriptorBindingFlagsEXT value);
tcu::Format::Bitfield<32>	getInstanceCreateFlagsStr								(VkInstanceCreateFlags value);
tcu::Format::Bitfield<32>	getDeviceCreateFlagsStr									(VkDeviceCreateFlags value);
tcu::Format::Bitfield<32>	getMemoryMapFlagsStr									(VkMemoryMapFlags value);
tcu::Format::Bitfield<32>	getSemaphoreCreateFlagsStr								(VkSemaphoreCreateFlags value);
tcu::Format::Bitfield<32>	getEventCreateFlagsStr									(VkEventCreateFlags value);
tcu::Format::Bitfield<32>	getQueryPoolCreateFlagsStr								(VkQueryPoolCreateFlags value);
tcu::Format::Bitfield<32>	getBufferViewCreateFlagsStr								(VkBufferViewCreateFlags value);
tcu::Format::Bitfield<32>	getImageViewCreateFlagsStr								(VkImageViewCreateFlags value);
tcu::Format::Bitfield<32>	getShaderModuleCreateFlagsStr							(VkShaderModuleCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineCacheCreateFlagsStr							(VkPipelineCacheCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineShaderStageCreateFlagsStr					(VkPipelineShaderStageCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineVertexInputStateCreateFlagsStr				(VkPipelineVertexInputStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineInputAssemblyStateCreateFlagsStr				(VkPipelineInputAssemblyStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineTessellationStateCreateFlagsStr				(VkPipelineTessellationStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineViewportStateCreateFlagsStr					(VkPipelineViewportStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineRasterizationStateCreateFlagsStr				(VkPipelineRasterizationStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineMultisampleStateCreateFlagsStr				(VkPipelineMultisampleStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineDepthStencilStateCreateFlagsStr				(VkPipelineDepthStencilStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineColorBlendStateCreateFlagsStr				(VkPipelineColorBlendStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineDynamicStateCreateFlagsStr					(VkPipelineDynamicStateCreateFlags value);
tcu::Format::Bitfield<32>	getPipelineLayoutCreateFlagsStr							(VkPipelineLayoutCreateFlags value);
tcu::Format::Bitfield<32>	getSamplerCreateFlagsStr								(VkSamplerCreateFlags value);
tcu::Format::Bitfield<32>	getDescriptorPoolResetFlagsStr							(VkDescriptorPoolResetFlags value);
tcu::Format::Bitfield<32>	getFramebufferCreateFlagsStr							(VkFramebufferCreateFlags value);
tcu::Format::Bitfield<32>	getRenderPassCreateFlagsStr								(VkRenderPassCreateFlags value);
tcu::Format::Bitfield<32>	getCommandPoolTrimFlagsStr								(VkCommandPoolTrimFlags value);
tcu::Format::Bitfield<32>	getDescriptorUpdateTemplateCreateFlagsStr				(VkDescriptorUpdateTemplateCreateFlags value);
tcu::Format::Bitfield<32>	getDisplayModeCreateFlagsKHRStr							(VkDisplayModeCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getDisplaySurfaceCreateFlagsKHRStr						(VkDisplaySurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getXlibSurfaceCreateFlagsKHRStr							(VkXlibSurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getXcbSurfaceCreateFlagsKHRStr							(VkXcbSurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getWaylandSurfaceCreateFlagsKHRStr						(VkWaylandSurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getMirSurfaceCreateFlagsKHRStr							(VkMirSurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getAndroidSurfaceCreateFlagsKHRStr						(VkAndroidSurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getWin32SurfaceCreateFlagsKHRStr						(VkWin32SurfaceCreateFlagsKHR value);
tcu::Format::Bitfield<32>	getViSurfaceCreateFlagsNNStr							(VkViSurfaceCreateFlagsNN value);
tcu::Format::Bitfield<32>	getPipelineViewportSwizzleStateCreateFlagsNVStr			(VkPipelineViewportSwizzleStateCreateFlagsNV value);
tcu::Format::Bitfield<32>	getPipelineDiscardRectangleStateCreateFlagsEXTStr		(VkPipelineDiscardRectangleStateCreateFlagsEXT value);
tcu::Format::Bitfield<32>	getIOSSurfaceCreateFlagsMVKStr							(VkIOSSurfaceCreateFlagsMVK value);
tcu::Format::Bitfield<32>	getMacOSSurfaceCreateFlagsMVKStr						(VkMacOSSurfaceCreateFlagsMVK value);
tcu::Format::Bitfield<32>	getPipelineCoverageToColorStateCreateFlagsNVStr			(VkPipelineCoverageToColorStateCreateFlagsNV value);
tcu::Format::Bitfield<32>	getPipelineCoverageModulationStateCreateFlagsNVStr		(VkPipelineCoverageModulationStateCreateFlagsNV value);
tcu::Format::Bitfield<32>	getValidationCacheCreateFlagsEXTStr						(VkValidationCacheCreateFlagsEXT value);
tcu::Format::Bitfield<32>	getPipelineRasterizationDepthClipStateCreateFlagsEXTStr	(VkPipelineRasterizationDepthClipStateCreateFlagsEXT value);

std::ostream&	operator<<	(std::ostream& s, const VkApplicationInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkInstanceCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkAllocationCallbacks& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkFormatProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkExtent3D& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageFormatProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceLimits& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSparseProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkQueueFamilyProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryType& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryHeap& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceMemoryProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceQueueCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExtensionProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkLayerProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubmitInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryAllocateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkMappedMemoryRange& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryRequirements& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageFormatProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageMemoryRequirements& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseMemoryBind& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseBufferMemoryBindInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageSubresource& value);
std::ostream&	operator<<	(std::ostream& s, const VkOffset3D& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageMemoryBind& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageMemoryBindInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindSparseInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkFenceCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSemaphoreCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkEventCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkQueryPoolCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferViewCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubresourceLayout& value);
std::ostream&	operator<<	(std::ostream& s, const VkComponentMapping& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageSubresourceRange& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageViewCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkShaderModuleCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineCacheCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSpecializationMapEntry& value);
std::ostream&	operator<<	(std::ostream& s, const VkSpecializationInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineShaderStageCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkVertexInputBindingDescription& value);
std::ostream&	operator<<	(std::ostream& s, const VkVertexInputAttributeDescription& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineTessellationStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkViewport& value);
std::ostream&	operator<<	(std::ostream& s, const VkOffset2D& value);
std::ostream&	operator<<	(std::ostream& s, const VkExtent2D& value);
std::ostream&	operator<<	(std::ostream& s, const VkRect2D& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineViewportStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkStencilOpState& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineDepthStencilStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineColorBlendAttachmentState& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineDynamicStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkGraphicsPipelineCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkComputePipelineCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPushConstantRange& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineLayoutCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSamplerCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetLayoutBinding& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorPoolSize& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorPoolCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetAllocateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorImageInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorBufferInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkWriteDescriptorSet& value);
std::ostream&	operator<<	(std::ostream& s, const VkCopyDescriptorSet& value);
std::ostream&	operator<<	(std::ostream& s, const VkFramebufferCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkAttachmentDescription& value);
std::ostream&	operator<<	(std::ostream& s, const VkAttachmentReference& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassDescription& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassDependency& value);
std::ostream&	operator<<	(std::ostream& s, const VkRenderPassCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkCommandPoolCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkCommandBufferAllocateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkCommandBufferInheritanceInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkCommandBufferBeginInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferCopy& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageSubresourceLayers& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageCopy& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageBlit& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferImageCopy& value);
std::ostream&	operator<<	(std::ostream& s, const VkClearColorValue& value);
std::ostream&	operator<<	(std::ostream& s, const VkClearDepthStencilValue& value);
std::ostream&	operator<<	(std::ostream& s, const VkClearValue& value);
std::ostream&	operator<<	(std::ostream& s, const VkClearAttachment& value);
std::ostream&	operator<<	(std::ostream& s, const VkClearRect& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageResolve& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryBarrier& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferMemoryBarrier& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageMemoryBarrier& value);
std::ostream&	operator<<	(std::ostream& s, const VkRenderPassBeginInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDispatchIndirectCommand& value);
std::ostream&	operator<<	(std::ostream& s, const VkDrawIndexedIndirectCommand& value);
std::ostream&	operator<<	(std::ostream& s, const VkDrawIndirectCommand& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindBufferMemoryInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindImageMemoryInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDevice8BitStorageFeaturesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDevice16BitStorageFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryDedicatedRequirements& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryDedicatedAllocateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryAllocateFlagsInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupRenderPassBeginInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupCommandBufferBeginInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupSubmitInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupBindSparseInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindBufferMemoryDeviceGroupInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindImageMemoryDeviceGroupInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceGroupProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupDeviceCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferMemoryRequirementsInfo2& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageMemoryRequirementsInfo2& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageSparseMemoryRequirementsInfo2& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryRequirements2& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageMemoryRequirements2& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceFeatures2& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceProperties2& value);
std::ostream&	operator<<	(std::ostream& s, const VkFormatProperties2& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageFormatProperties2& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceImageFormatInfo2& value);
std::ostream&	operator<<	(std::ostream& s, const VkQueueFamilyProperties2& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceMemoryProperties2& value);
std::ostream&	operator<<	(std::ostream& s, const VkSparseImageFormatProperties2& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSparseImageFormatInfo2& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDevicePointClippingProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkInputAttachmentAspectReference& value);
std::ostream&	operator<<	(std::ostream& s, const VkRenderPassInputAttachmentAspectCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageViewUsageCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineTessellationDomainOriginStateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkRenderPassMultiviewCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceMultiviewFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceMultiviewProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceVariablePointerFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceProtectedMemoryFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceProtectedMemoryProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceQueueInfo2& value);
std::ostream&	operator<<	(std::ostream& s, const VkProtectedSubmitInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSamplerYcbcrConversionCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkSamplerYcbcrConversionInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindImagePlaneMemoryInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkImagePlaneMemoryRequirementsInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSamplerYcbcrConversionFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkSamplerYcbcrConversionImageFormatProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorUpdateTemplateEntry& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorUpdateTemplateCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalMemoryProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceExternalImageFormatInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalImageFormatProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceExternalBufferInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalBufferProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceIDProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalMemoryImageCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalMemoryBufferCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportMemoryAllocateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceExternalFenceInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalFenceProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportFenceCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportSemaphoreCreateInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceExternalSemaphoreInfo& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalSemaphoreProperties& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceMaintenance3Properties& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetLayoutSupport& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceShaderDrawParameterFeatures& value);
std::ostream&	operator<<	(std::ostream& s, const VkSurfaceCapabilitiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSurfaceFormatKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSwapchainCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPresentInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageSwapchainCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkBindImageMemorySwapchainInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkAcquireNextImageInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupPresentInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayModeParametersKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayModePropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayModeCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPlanePropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPresentInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkXlibSurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkXcbSurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkWaylandSurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkMirSurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkWin32SurfaceCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportMemoryWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportMemoryWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryWin32HandlePropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryGetWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportMemoryFdInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryFdPropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryGetFdInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportSemaphoreWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportSemaphoreWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkD3D12FenceSubmitInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSemaphoreGetWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportSemaphoreFdInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSemaphoreGetFdInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDevicePushDescriptorPropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceFloat16Int8FeaturesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkRectLayerKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPresentRegionKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPresentRegionsKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkAttachmentDescription2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkAttachmentReference2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassDescription2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassDependency2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkRenderPassCreateInfo2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassBeginInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassEndInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportFenceWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportFenceWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkFenceGetWin32HandleInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportFenceFdInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkFenceGetFdInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSurfaceCapabilities2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSurfaceFormat2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayProperties2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPlaneProperties2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayModeProperties2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPlaneInfo2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkImageFormatListCreateInfoKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkConformanceVersionKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceDriverPropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceFloatControlsPropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassDescriptionDepthStencilResolveKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceDepthStencilResolvePropertiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkSurfaceProtectedCapabilitiesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value);
std::ostream&	operator<<	(std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDebugMarkerObjectTagInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDebugMarkerMarkerInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDedicatedAllocationImageCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkDedicatedAllocationBufferCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkDedicatedAllocationMemoryAllocateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkTextureLODGatherFormatPropertiesAMD& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalImageFormatPropertiesNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalMemoryImageCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportMemoryAllocateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportMemoryWin32HandleInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkExportMemoryWin32HandleInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkValidationFlagsEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkViSurfaceCreateInfoNN& value);
std::ostream&	operator<<	(std::ostream& s, const VkConditionalRenderingBeginInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceConditionalRenderingFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkCommandBufferInheritanceConditionalRenderingInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGeneratedCommandsFeaturesNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceGeneratedCommandsLimitsNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkIndirectCommandsTokenNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkIndirectCommandsLayoutTokenNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkIndirectCommandsLayoutCreateInfoNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkCmdProcessCommandsInfoNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkCmdReserveSpaceForCommandsInfoNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTableCreateInfoNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTableEntryNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTablePipelineEntryNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTableDescriptorSetEntryNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTableVertexBufferEntryNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTableIndexBufferEntryNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkObjectTablePushConstantEntryNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkViewportWScalingNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineViewportWScalingStateCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkSurfaceCapabilities2EXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayPowerInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDeviceEventInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDisplayEventInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkSwapchainCounterCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkRefreshCycleDurationGOOGLE& value);
std::ostream&	operator<<	(std::ostream& s, const VkPastPresentationTimingGOOGLE& value);
std::ostream&	operator<<	(std::ostream& s, const VkPresentTimeGOOGLE& value);
std::ostream&	operator<<	(std::ostream& s, const VkPresentTimesInfoGOOGLE& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& value);
std::ostream&	operator<<	(std::ostream& s, const VkViewportSwizzleNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineViewportSwizzleStateCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceDiscardRectanglePropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineDiscardRectangleStateCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkXYColorEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkHdrMetadataEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkIOSSurfaceCreateInfoMVK& value);
std::ostream&	operator<<	(std::ostream& s, const VkMacOSSurfaceCreateInfoMVK& value);
std::ostream&	operator<<	(std::ostream& s, const VkSamplerReductionModeCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkSampleLocationEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkSampleLocationsInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkAttachmentSampleLocationsEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkSubpassSampleLocationsEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkRenderPassSampleLocationsBeginInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineSampleLocationsStateCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceSampleLocationsPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkMultisamplePropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineColorBlendAdvancedStateCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineCoverageToColorStateCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineCoverageModulationStateCreateInfoNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkValidationCacheCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkShaderModuleValidationCacheCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value);
std::ostream&	operator<<	(std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value);
std::ostream&	operator<<	(std::ostream& s, const VkAndroidHardwareBufferFormatPropertiesANDROID& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportAndroidHardwareBufferInfoANDROID& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryGetAndroidHardwareBufferInfoANDROID& value);
std::ostream&	operator<<	(std::ostream& s, const VkExternalFormatANDROID& value);
std::ostream&	operator<<	(std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkMemoryHostPointerPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkVertexInputBindingDivisorDescriptionEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineVertexInputDivisorStateCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceDescriptorIndexingFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceDescriptorIndexingPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceInlineUniformBlockPropertiesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkWriteDescriptorSetInlineUniformBlockEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkDescriptorPoolInlineUniformBlockCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceDepthClipEnableFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPipelineRasterizationDepthClipStateCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceBufferAddressFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferDeviceAddressInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkBufferDeviceAddressCreateInfoEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkCooperativeMatrixPropertiesNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceCooperativeMatrixPropertiesNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceCooperativeMatrixFeaturesNV& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceHostQueryResetFeaturesEXT& value);
std::ostream&	operator<<	(std::ostream& s, const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& value);
