blob: 02c6d766c3e371c1a4d31820dd10b0a77aaeaf43 [file] [log] [blame]
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
* This file was generated by /scripts/gen_framework.py
*/
template<> const char* getTypeName<VkBuffer> (void) { return "VkBuffer"; }
template<> const char* getTypeName<VkImage> (void) { return "VkImage"; }
template<> const char* getTypeName<VkInstance> (void) { return "VkInstance"; }
template<> const char* getTypeName<VkPhysicalDevice> (void) { return "VkPhysicalDevice"; }
template<> const char* getTypeName<VkDevice> (void) { return "VkDevice"; }
template<> const char* getTypeName<VkQueue> (void) { return "VkQueue"; }
template<> const char* getTypeName<VkSemaphore> (void) { return "VkSemaphore"; }
template<> const char* getTypeName<VkCommandBuffer> (void) { return "VkCommandBuffer"; }
template<> const char* getTypeName<VkFence> (void) { return "VkFence"; }
template<> const char* getTypeName<VkDeviceMemory> (void) { return "VkDeviceMemory"; }
template<> const char* getTypeName<VkEvent> (void) { return "VkEvent"; }
template<> const char* getTypeName<VkQueryPool> (void) { return "VkQueryPool"; }
template<> const char* getTypeName<VkBufferView> (void) { return "VkBufferView"; }
template<> const char* getTypeName<VkImageView> (void) { return "VkImageView"; }
template<> const char* getTypeName<VkShaderModule> (void) { return "VkShaderModule"; }
template<> const char* getTypeName<VkPipelineCache> (void) { return "VkPipelineCache"; }
template<> const char* getTypeName<VkPipelineLayout> (void) { return "VkPipelineLayout"; }
template<> const char* getTypeName<VkPipeline> (void) { return "VkPipeline"; }
template<> const char* getTypeName<VkRenderPass> (void) { return "VkRenderPass"; }
template<> const char* getTypeName<VkDescriptorSetLayout> (void) { return "VkDescriptorSetLayout"; }
template<> const char* getTypeName<VkSampler> (void) { return "VkSampler"; }
template<> const char* getTypeName<VkDescriptorSet> (void) { return "VkDescriptorSet"; }
template<> const char* getTypeName<VkDescriptorPool> (void) { return "VkDescriptorPool"; }
template<> const char* getTypeName<VkFramebuffer> (void) { return "VkFramebuffer"; }
template<> const char* getTypeName<VkCommandPool> (void) { return "VkCommandPool"; }
template<> const char* getTypeName<VkSamplerYcbcrConversion> (void) { return "VkSamplerYcbcrConversion"; }
template<> const char* getTypeName<VkDescriptorUpdateTemplate> (void) { return "VkDescriptorUpdateTemplate"; }
template<> const char* getTypeName<VkPrivateDataSlot> (void) { return "VkPrivateDataSlot"; }
template<> const char* getTypeName<VkSurfaceKHR> (void) { return "VkSurfaceKHR"; }
template<> const char* getTypeName<VkSwapchainKHR> (void) { return "VkSwapchainKHR"; }
template<> const char* getTypeName<VkDisplayKHR> (void) { return "VkDisplayKHR"; }
template<> const char* getTypeName<VkDisplayModeKHR> (void) { return "VkDisplayModeKHR"; }
template<> const char* getTypeName<VkDeferredOperationKHR> (void) { return "VkDeferredOperationKHR"; }
template<> const char* getTypeName<VkDebugReportCallbackEXT> (void) { return "VkDebugReportCallbackEXT"; }
template<> const char* getTypeName<VkCuModuleNVX> (void) { return "VkCuModuleNVX"; }
template<> const char* getTypeName<VkCuFunctionNVX> (void) { return "VkCuFunctionNVX"; }
template<> const char* getTypeName<VkDebugUtilsMessengerEXT> (void) { return "VkDebugUtilsMessengerEXT"; }
template<> const char* getTypeName<VkValidationCacheEXT> (void) { return "VkValidationCacheEXT"; }
template<> const char* getTypeName<VkAccelerationStructureNV> (void) { return "VkAccelerationStructureNV"; }
template<> const char* getTypeName<VkPerformanceConfigurationINTEL> (void) { return "VkPerformanceConfigurationINTEL"; }
template<> const char* getTypeName<VkIndirectCommandsLayoutNV> (void) { return "VkIndirectCommandsLayoutNV"; }
template<> const char* getTypeName<VkAccelerationStructureKHR> (void) { return "VkAccelerationStructureKHR"; }
template<> const char* getTypeName<VkVideoSessionKHR> (void) { return "VkVideoSessionKHR"; }
template<> const char* getTypeName<VkVideoSessionParametersKHR> (void) { return "VkVideoSessionParametersKHR"; }
template<> const char* getTypeName<VkBufferCollectionFUCHSIA> (void) { return "VkBufferCollectionFUCHSIA"; }
namespace pt
{
std::ostream& operator<< (std::ostream& s, XlibDisplayPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, XlibWindow v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, XlibVisualID v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, XcbConnectionPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, XcbWindow v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, XcbVisualid v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, WaylandDisplayPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, WaylandSurfacePtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, MirConnectionPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, MirSurfacePtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, AndroidNativeWindowPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, Win32InstanceHandle v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, Win32WindowHandle v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, Win32Handle v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, Win32SecurityAttributesPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, AndroidHardwareBufferPtr v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, Win32MonitorHandle v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, Win32LPCWSTR v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, RROutput v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, zx_handle_t v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, GgpFrameToken v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, GgpStreamDescriptor v) { return s << tcu::toHex(v.internal); }
std::ostream& operator<< (std::ostream& s, CAMetalLayer v) { return s << tcu::toHex(v.internal); }
}
const char* getResultName (VkResult value)
{
switch (value)
{
case VK_SUCCESS: return "VK_SUCCESS";
case VK_NOT_READY: return "VK_NOT_READY";
case VK_TIMEOUT: return "VK_TIMEOUT";
case VK_EVENT_SET: return "VK_EVENT_SET";
case VK_EVENT_RESET: return "VK_EVENT_RESET";
case VK_INCOMPLETE: return "VK_INCOMPLETE";
case VK_ERROR_OUT_OF_HOST_MEMORY: return "VK_ERROR_OUT_OF_HOST_MEMORY";
case VK_ERROR_OUT_OF_DEVICE_MEMORY: return "VK_ERROR_OUT_OF_DEVICE_MEMORY";
case VK_ERROR_INITIALIZATION_FAILED: return "VK_ERROR_INITIALIZATION_FAILED";
case VK_ERROR_DEVICE_LOST: return "VK_ERROR_DEVICE_LOST";
case VK_ERROR_MEMORY_MAP_FAILED: return "VK_ERROR_MEMORY_MAP_FAILED";
case VK_ERROR_LAYER_NOT_PRESENT: return "VK_ERROR_LAYER_NOT_PRESENT";
case VK_ERROR_EXTENSION_NOT_PRESENT: return "VK_ERROR_EXTENSION_NOT_PRESENT";
case VK_ERROR_FEATURE_NOT_PRESENT: return "VK_ERROR_FEATURE_NOT_PRESENT";
case VK_ERROR_INCOMPATIBLE_DRIVER: return "VK_ERROR_INCOMPATIBLE_DRIVER";
case VK_ERROR_TOO_MANY_OBJECTS: return "VK_ERROR_TOO_MANY_OBJECTS";
case VK_ERROR_FORMAT_NOT_SUPPORTED: return "VK_ERROR_FORMAT_NOT_SUPPORTED";
case VK_ERROR_FRAGMENTED_POOL: return "VK_ERROR_FRAGMENTED_POOL";
case VK_ERROR_UNKNOWN: return "VK_ERROR_UNKNOWN";
case VK_ERROR_OUT_OF_POOL_MEMORY: return "VK_ERROR_OUT_OF_POOL_MEMORY";
case VK_ERROR_INVALID_EXTERNAL_HANDLE: return "VK_ERROR_INVALID_EXTERNAL_HANDLE";
case VK_ERROR_FRAGMENTATION: return "VK_ERROR_FRAGMENTATION";
case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS";
case VK_PIPELINE_COMPILE_REQUIRED: return "VK_PIPELINE_COMPILE_REQUIRED";
case VK_ERROR_SURFACE_LOST_KHR: return "VK_ERROR_SURFACE_LOST_KHR";
case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR";
case VK_SUBOPTIMAL_KHR: return "VK_SUBOPTIMAL_KHR";
case VK_ERROR_OUT_OF_DATE_KHR: return "VK_ERROR_OUT_OF_DATE_KHR";
case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR";
case VK_ERROR_VALIDATION_FAILED_EXT: return "VK_ERROR_VALIDATION_FAILED_EXT";
case VK_ERROR_INVALID_SHADER_NV: return "VK_ERROR_INVALID_SHADER_NV";
case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
case VK_ERROR_NOT_PERMITTED_KHR: return "VK_ERROR_NOT_PERMITTED_KHR";
case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT";
case VK_THREAD_IDLE_KHR: return "VK_THREAD_IDLE_KHR";
case VK_THREAD_DONE_KHR: return "VK_THREAD_DONE_KHR";
case VK_OPERATION_DEFERRED_KHR: return "VK_OPERATION_DEFERRED_KHR";
case VK_OPERATION_NOT_DEFERRED_KHR: return "VK_OPERATION_NOT_DEFERRED_KHR";
case VK_RESULT_MAX_ENUM: return "VK_RESULT_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getStructureTypeName (VkStructureType value)
{
switch (value)
{
case VK_STRUCTURE_TYPE_APPLICATION_INFO: return "VK_STRUCTURE_TYPE_APPLICATION_INFO";
case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO";
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO";
case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO";
case VK_STRUCTURE_TYPE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_SUBMIT_INFO";
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE";
case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO";
case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO";
case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO";
case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO";
case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO";
case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO";
case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO";
case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO";
case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO";
case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO";
case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO";
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO";
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO";
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET";
case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET";
case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO";
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO";
case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO";
case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO";
case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER";
case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER";
case VK_STRUCTURE_TYPE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER";
case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO";
case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES";
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO";
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES";
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS";
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO";
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO";
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO";
case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2";
case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2";
case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2";
case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2";
case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2";
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2";
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2";
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2";
case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES";
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES";
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES";
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2";
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO";
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO";
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO";
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES";
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES";
case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO";
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO";
case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES";
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO";
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO";
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO";
case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES";
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO";
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO";
case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES";
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES";
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO";
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2";
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2";
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2";
case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2";
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2";
case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO";
case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES";
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES";
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES";
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES";
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES";
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES";
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO";
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO";
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES";
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT";
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES";
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO";
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO";
case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO";
case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES";
case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO";
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO";
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO";
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES";
case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES";
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO";
case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES";
case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2";
case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2";
case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2";
case VK_STRUCTURE_TYPE_DEPENDENCY_INFO: return "VK_STRUCTURE_TYPE_DEPENDENCY_INFO";
case VK_STRUCTURE_TYPE_SUBMIT_INFO_2: return "VK_STRUCTURE_TYPE_SUBMIT_INFO_2";
case VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES";
case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2: return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2";
case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2";
case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2";
case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2: return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2";
case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2";
case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2";
case VK_STRUCTURE_TYPE_BUFFER_COPY_2: return "VK_STRUCTURE_TYPE_BUFFER_COPY_2";
case VK_STRUCTURE_TYPE_IMAGE_COPY_2: return "VK_STRUCTURE_TYPE_IMAGE_COPY_2";
case VK_STRUCTURE_TYPE_IMAGE_BLIT_2: return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2";
case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2: return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2";
case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2: return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES";
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES";
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK";
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES";
case VK_STRUCTURE_TYPE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_RENDERING_INFO";
case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO: return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO";
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES";
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES";
case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS";
case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS";
case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR";
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR";
case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: return "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR";
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR";
case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD";
case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT";
case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT";
case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR";
case VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR";
case VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR";
case VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR: return "VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR";
case VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR: return "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR";
case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR";
case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX: return "VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX";
case VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX: return "VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX";
case VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX: return "VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT";
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD";
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT";
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: return "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD";
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: return "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX";
case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV";
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV";
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV";
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV";
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT";
case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: return "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR";
case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR";
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR";
case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR";
case VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR";
case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT";
case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: return "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT";
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT";
case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: return "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT";
case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT";
case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: return "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT";
case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_HDR_METADATA_EXT: return "VK_STRUCTURE_TYPE_HDR_METADATA_EXT";
case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR";
case VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR";
case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR";
case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR";
case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: return "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR";
case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR";
case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR";
case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR";
case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR";
case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR";
case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: return "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK";
case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: return "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK";
case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT";
case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT";
case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT";
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT";
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID";
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID";
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID";
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID";
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID";
case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT";
case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR";
case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR: return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR";
case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR: return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR";
case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR: return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT";
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT";
case VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_GEOMETRY_NV: return "VK_STRUCTURE_TYPE_GEOMETRY_NV";
case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: return "VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV";
case VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: return "VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV";
case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: return "VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV";
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV";
case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT";
case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT";
case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD";
case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT";
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR";
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: return "VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV";
case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV";
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL";
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL";
case VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL: return "VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL";
case VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL";
case VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL";
case VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL";
case VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: return "VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD";
case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD";
case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT";
case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: return "VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT";
case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT";
case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV";
case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV";
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT";
case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT";
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT";
case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR";
case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV";
case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV: return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV";
case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV: return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT";
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM";
case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: return "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT";
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: return "VK_STRUCTURE_TYPE_PRESENT_ID_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV";
case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT";
case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE";
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT";
case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA: return "VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA";
case VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA: return "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: return "VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI";
case VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV: return "VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT";
case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX: return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV";
case VK_STRUCTURE_TYPE_MAX_ENUM: return "VK_STRUCTURE_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getImageLayoutName (VkImageLayout value)
{
switch (value)
{
case VK_IMAGE_LAYOUT_UNDEFINED: return "VK_IMAGE_LAYOUT_UNDEFINED";
case VK_IMAGE_LAYOUT_GENERAL: return "VK_IMAGE_LAYOUT_GENERAL";
case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
case VK_IMAGE_LAYOUT_PREINITIALIZED: return "VK_IMAGE_LAYOUT_PREINITIALIZED";
case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL";
case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL";
case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL";
case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL";
case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL";
case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL";
case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL";
case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL";
case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR";
case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR: return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR";
case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR: return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR";
case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR: return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR";
case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR";
case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT";
case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR";
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR: return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR";
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR: return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR";
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR: return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR";
case VK_IMAGE_LAYOUT_MAX_ENUM: return "VK_IMAGE_LAYOUT_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getObjectTypeName (VkObjectType value)
{
switch (value)
{
case VK_OBJECT_TYPE_UNKNOWN: return "VK_OBJECT_TYPE_UNKNOWN";
case VK_OBJECT_TYPE_INSTANCE: return "VK_OBJECT_TYPE_INSTANCE";
case VK_OBJECT_TYPE_PHYSICAL_DEVICE: return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
case VK_OBJECT_TYPE_DEVICE: return "VK_OBJECT_TYPE_DEVICE";
case VK_OBJECT_TYPE_QUEUE: return "VK_OBJECT_TYPE_QUEUE";
case VK_OBJECT_TYPE_SEMAPHORE: return "VK_OBJECT_TYPE_SEMAPHORE";
case VK_OBJECT_TYPE_COMMAND_BUFFER: return "VK_OBJECT_TYPE_COMMAND_BUFFER";
case VK_OBJECT_TYPE_FENCE: return "VK_OBJECT_TYPE_FENCE";
case VK_OBJECT_TYPE_DEVICE_MEMORY: return "VK_OBJECT_TYPE_DEVICE_MEMORY";
case VK_OBJECT_TYPE_BUFFER: return "VK_OBJECT_TYPE_BUFFER";
case VK_OBJECT_TYPE_IMAGE: return "VK_OBJECT_TYPE_IMAGE";
case VK_OBJECT_TYPE_EVENT: return "VK_OBJECT_TYPE_EVENT";
case VK_OBJECT_TYPE_QUERY_POOL: return "VK_OBJECT_TYPE_QUERY_POOL";
case VK_OBJECT_TYPE_BUFFER_VIEW: return "VK_OBJECT_TYPE_BUFFER_VIEW";
case VK_OBJECT_TYPE_IMAGE_VIEW: return "VK_OBJECT_TYPE_IMAGE_VIEW";
case VK_OBJECT_TYPE_SHADER_MODULE: return "VK_OBJECT_TYPE_SHADER_MODULE";
case VK_OBJECT_TYPE_PIPELINE_CACHE: return "VK_OBJECT_TYPE_PIPELINE_CACHE";
case VK_OBJECT_TYPE_PIPELINE_LAYOUT: return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
case VK_OBJECT_TYPE_RENDER_PASS: return "VK_OBJECT_TYPE_RENDER_PASS";
case VK_OBJECT_TYPE_PIPELINE: return "VK_OBJECT_TYPE_PIPELINE";
case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
case VK_OBJECT_TYPE_SAMPLER: return "VK_OBJECT_TYPE_SAMPLER";
case VK_OBJECT_TYPE_DESCRIPTOR_POOL: return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
case VK_OBJECT_TYPE_DESCRIPTOR_SET: return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
case VK_OBJECT_TYPE_FRAMEBUFFER: return "VK_OBJECT_TYPE_FRAMEBUFFER";
case VK_OBJECT_TYPE_COMMAND_POOL: return "VK_OBJECT_TYPE_COMMAND_POOL";
case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT: return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT";
case VK_OBJECT_TYPE_SURFACE_KHR: return "VK_OBJECT_TYPE_SURFACE_KHR";
case VK_OBJECT_TYPE_SWAPCHAIN_KHR: return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
case VK_OBJECT_TYPE_DISPLAY_KHR: return "VK_OBJECT_TYPE_DISPLAY_KHR";
case VK_OBJECT_TYPE_DISPLAY_MODE_KHR: return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR";
case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT: return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT";
case VK_OBJECT_TYPE_VIDEO_SESSION_KHR: return "VK_OBJECT_TYPE_VIDEO_SESSION_KHR";
case VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR: return "VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR";
case VK_OBJECT_TYPE_CU_MODULE_NVX: return "VK_OBJECT_TYPE_CU_MODULE_NVX";
case VK_OBJECT_TYPE_CU_FUNCTION_NVX: return "VK_OBJECT_TYPE_CU_FUNCTION_NVX";
case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT";
case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR: return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR";
case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT: return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV";
case VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL: return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL";
case VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR: return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR";
case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV: return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
case VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA: return "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA";
case VK_OBJECT_TYPE_MAX_ENUM: return "VK_OBJECT_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
{
switch (value)
{
case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getVendorIdName (VkVendorId value)
{
switch (value)
{
case VK_VENDOR_ID_VIV: return "VK_VENDOR_ID_VIV";
case VK_VENDOR_ID_VSI: return "VK_VENDOR_ID_VSI";
case VK_VENDOR_ID_KAZAN: return "VK_VENDOR_ID_KAZAN";
case VK_VENDOR_ID_CODEPLAY: return "VK_VENDOR_ID_CODEPLAY";
case VK_VENDOR_ID_MESA: return "VK_VENDOR_ID_MESA";
case VK_VENDOR_ID_POCL: return "VK_VENDOR_ID_POCL";
case VK_VENDOR_ID_MAX_ENUM: return "VK_VENDOR_ID_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSystemAllocationScopeName (VkSystemAllocationScope value)
{
switch (value)
{
case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND";
case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT";
case VK_SYSTEM_ALLOCATION_SCOPE_CACHE: return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE";
case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE";
case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE";
case VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM: return "VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getInternalAllocationTypeName (VkInternalAllocationType value)
{
switch (value)
{
case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE";
case VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM: return "VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getFormatName (VkFormat value)
{
switch (value)
{
case VK_FORMAT_UNDEFINED: return "VK_FORMAT_UNDEFINED";
case VK_FORMAT_R4G4_UNORM_PACK8: return "VK_FORMAT_R4G4_UNORM_PACK8";
case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
case VK_FORMAT_R5G6B5_UNORM_PACK16: return "VK_FORMAT_R5G6B5_UNORM_PACK16";
case VK_FORMAT_B5G6R5_UNORM_PACK16: return "VK_FORMAT_B5G6R5_UNORM_PACK16";
case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
case VK_FORMAT_R8_UNORM: return "VK_FORMAT_R8_UNORM";
case VK_FORMAT_R8_SNORM: return "VK_FORMAT_R8_SNORM";
case VK_FORMAT_R8_USCALED: return "VK_FORMAT_R8_USCALED";
case VK_FORMAT_R8_SSCALED: return "VK_FORMAT_R8_SSCALED";
case VK_FORMAT_R8_UINT: return "VK_FORMAT_R8_UINT";
case VK_FORMAT_R8_SINT: return "VK_FORMAT_R8_SINT";
case VK_FORMAT_R8_SRGB: return "VK_FORMAT_R8_SRGB";
case VK_FORMAT_R8G8_UNORM: return "VK_FORMAT_R8G8_UNORM";
case VK_FORMAT_R8G8_SNORM: return "VK_FORMAT_R8G8_SNORM";
case VK_FORMAT_R8G8_USCALED: return "VK_FORMAT_R8G8_USCALED";
case VK_FORMAT_R8G8_SSCALED: return "VK_FORMAT_R8G8_SSCALED";
case VK_FORMAT_R8G8_UINT: return "VK_FORMAT_R8G8_UINT";
case VK_FORMAT_R8G8_SINT: return "VK_FORMAT_R8G8_SINT";
case VK_FORMAT_R8G8_SRGB: return "VK_FORMAT_R8G8_SRGB";
case VK_FORMAT_R8G8B8_UNORM: return "VK_FORMAT_R8G8B8_UNORM";
case VK_FORMAT_R8G8B8_SNORM: return "VK_FORMAT_R8G8B8_SNORM";
case VK_FORMAT_R8G8B8_USCALED: return "VK_FORMAT_R8G8B8_USCALED";
case VK_FORMAT_R8G8B8_SSCALED: return "VK_FORMAT_R8G8B8_SSCALED";
case VK_FORMAT_R8G8B8_UINT: return "VK_FORMAT_R8G8B8_UINT";
case VK_FORMAT_R8G8B8_SINT: return "VK_FORMAT_R8G8B8_SINT";
case VK_FORMAT_R8G8B8_SRGB: return "VK_FORMAT_R8G8B8_SRGB";
case VK_FORMAT_B8G8R8_UNORM: return "VK_FORMAT_B8G8R8_UNORM";
case VK_FORMAT_B8G8R8_SNORM: return "VK_FORMAT_B8G8R8_SNORM";
case VK_FORMAT_B8G8R8_USCALED: return "VK_FORMAT_B8G8R8_USCALED";
case VK_FORMAT_B8G8R8_SSCALED: return "VK_FORMAT_B8G8R8_SSCALED";
case VK_FORMAT_B8G8R8_UINT: return "VK_FORMAT_B8G8R8_UINT";
case VK_FORMAT_B8G8R8_SINT: return "VK_FORMAT_B8G8R8_SINT";
case VK_FORMAT_B8G8R8_SRGB: return "VK_FORMAT_B8G8R8_SRGB";
case VK_FORMAT_R8G8B8A8_UNORM: return "VK_FORMAT_R8G8B8A8_UNORM";
case VK_FORMAT_R8G8B8A8_SNORM: return "VK_FORMAT_R8G8B8A8_SNORM";
case VK_FORMAT_R8G8B8A8_USCALED: return "VK_FORMAT_R8G8B8A8_USCALED";
case VK_FORMAT_R8G8B8A8_SSCALED: return "VK_FORMAT_R8G8B8A8_SSCALED";
case VK_FORMAT_R8G8B8A8_UINT: return "VK_FORMAT_R8G8B8A8_UINT";
case VK_FORMAT_R8G8B8A8_SINT: return "VK_FORMAT_R8G8B8A8_SINT";
case VK_FORMAT_R8G8B8A8_SRGB: return "VK_FORMAT_R8G8B8A8_SRGB";
case VK_FORMAT_B8G8R8A8_UNORM: return "VK_FORMAT_B8G8R8A8_UNORM";
case VK_FORMAT_B8G8R8A8_SNORM: return "VK_FORMAT_B8G8R8A8_SNORM";
case VK_FORMAT_B8G8R8A8_USCALED: return "VK_FORMAT_B8G8R8A8_USCALED";
case VK_FORMAT_B8G8R8A8_SSCALED: return "VK_FORMAT_B8G8R8A8_SSCALED";
case VK_FORMAT_B8G8R8A8_UINT: return "VK_FORMAT_B8G8R8A8_UINT";
case VK_FORMAT_B8G8R8A8_SINT: return "VK_FORMAT_B8G8R8A8_SINT";
case VK_FORMAT_B8G8R8A8_SRGB: return "VK_FORMAT_B8G8R8A8_SRGB";
case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
case VK_FORMAT_A8B8G8R8_UINT_PACK32: return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
case VK_FORMAT_A8B8G8R8_SINT_PACK32: return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
case VK_FORMAT_A2R10G10B10_UINT_PACK32: return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
case VK_FORMAT_A2R10G10B10_SINT_PACK32: return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
case VK_FORMAT_A2B10G10R10_UINT_PACK32: return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
case VK_FORMAT_A2B10G10R10_SINT_PACK32: return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
case VK_FORMAT_R16_UNORM: return "VK_FORMAT_R16_UNORM";
case VK_FORMAT_R16_SNORM: return "VK_FORMAT_R16_SNORM";
case VK_FORMAT_R16_USCALED: return "VK_FORMAT_R16_USCALED";
case VK_FORMAT_R16_SSCALED: return "VK_FORMAT_R16_SSCALED";
case VK_FORMAT_R16_UINT: return "VK_FORMAT_R16_UINT";
case VK_FORMAT_R16_SINT: return "VK_FORMAT_R16_SINT";
case VK_FORMAT_R16_SFLOAT: return "VK_FORMAT_R16_SFLOAT";
case VK_FORMAT_R16G16_UNORM: return "VK_FORMAT_R16G16_UNORM";
case VK_FORMAT_R16G16_SNORM: return "VK_FORMAT_R16G16_SNORM";
case VK_FORMAT_R16G16_USCALED: return "VK_FORMAT_R16G16_USCALED";
case VK_FORMAT_R16G16_SSCALED: return "VK_FORMAT_R16G16_SSCALED";
case VK_FORMAT_R16G16_UINT: return "VK_FORMAT_R16G16_UINT";
case VK_FORMAT_R16G16_SINT: return "VK_FORMAT_R16G16_SINT";
case VK_FORMAT_R16G16_SFLOAT: return "VK_FORMAT_R16G16_SFLOAT";
case VK_FORMAT_R16G16B16_UNORM: return "VK_FORMAT_R16G16B16_UNORM";
case VK_FORMAT_R16G16B16_SNORM: return "VK_FORMAT_R16G16B16_SNORM";
case VK_FORMAT_R16G16B16_USCALED: return "VK_FORMAT_R16G16B16_USCALED";
case VK_FORMAT_R16G16B16_SSCALED: return "VK_FORMAT_R16G16B16_SSCALED";
case VK_FORMAT_R16G16B16_UINT: return "VK_FORMAT_R16G16B16_UINT";
case VK_FORMAT_R16G16B16_SINT: return "VK_FORMAT_R16G16B16_SINT";
case VK_FORMAT_R16G16B16_SFLOAT: return "VK_FORMAT_R16G16B16_SFLOAT";
case VK_FORMAT_R16G16B16A16_UNORM: return "VK_FORMAT_R16G16B16A16_UNORM";
case VK_FORMAT_R16G16B16A16_SNORM: return "VK_FORMAT_R16G16B16A16_SNORM";
case VK_FORMAT_R16G16B16A16_USCALED: return "VK_FORMAT_R16G16B16A16_USCALED";
case VK_FORMAT_R16G16B16A16_SSCALED: return "VK_FORMAT_R16G16B16A16_SSCALED";
case VK_FORMAT_R16G16B16A16_UINT: return "VK_FORMAT_R16G16B16A16_UINT";
case VK_FORMAT_R16G16B16A16_SINT: return "VK_FORMAT_R16G16B16A16_SINT";
case VK_FORMAT_R16G16B16A16_SFLOAT: return "VK_FORMAT_R16G16B16A16_SFLOAT";
case VK_FORMAT_R32_UINT: return "VK_FORMAT_R32_UINT";
case VK_FORMAT_R32_SINT: return "VK_FORMAT_R32_SINT";
case VK_FORMAT_R32_SFLOAT: return "VK_FORMAT_R32_SFLOAT";
case VK_FORMAT_R32G32_UINT: return "VK_FORMAT_R32G32_UINT";
case VK_FORMAT_R32G32_SINT: return "VK_FORMAT_R32G32_SINT";
case VK_FORMAT_R32G32_SFLOAT: return "VK_FORMAT_R32G32_SFLOAT";
case VK_FORMAT_R32G32B32_UINT: return "VK_FORMAT_R32G32B32_UINT";
case VK_FORMAT_R32G32B32_SINT: return "VK_FORMAT_R32G32B32_SINT";
case VK_FORMAT_R32G32B32_SFLOAT: return "VK_FORMAT_R32G32B32_SFLOAT";
case VK_FORMAT_R32G32B32A32_UINT: return "VK_FORMAT_R32G32B32A32_UINT";
case VK_FORMAT_R32G32B32A32_SINT: return "VK_FORMAT_R32G32B32A32_SINT";
case VK_FORMAT_R32G32B32A32_SFLOAT: return "VK_FORMAT_R32G32B32A32_SFLOAT";
case VK_FORMAT_R64_UINT: return "VK_FORMAT_R64_UINT";
case VK_FORMAT_R64_SINT: return "VK_FORMAT_R64_SINT";
case VK_FORMAT_R64_SFLOAT: return "VK_FORMAT_R64_SFLOAT";
case VK_FORMAT_R64G64_UINT: return "VK_FORMAT_R64G64_UINT";
case VK_FORMAT_R64G64_SINT: return "VK_FORMAT_R64G64_SINT";
case VK_FORMAT_R64G64_SFLOAT: return "VK_FORMAT_R64G64_SFLOAT";
case VK_FORMAT_R64G64B64_UINT: return "VK_FORMAT_R64G64B64_UINT";
case VK_FORMAT_R64G64B64_SINT: return "VK_FORMAT_R64G64B64_SINT";
case VK_FORMAT_R64G64B64_SFLOAT: return "VK_FORMAT_R64G64B64_SFLOAT";
case VK_FORMAT_R64G64B64A64_UINT: return "VK_FORMAT_R64G64B64A64_UINT";
case VK_FORMAT_R64G64B64A64_SINT: return "VK_FORMAT_R64G64B64A64_SINT";
case VK_FORMAT_R64G64B64A64_SFLOAT: return "VK_FORMAT_R64G64B64A64_SFLOAT";
case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
case VK_FORMAT_D16_UNORM: return "VK_FORMAT_D16_UNORM";
case VK_FORMAT_X8_D24_UNORM_PACK32: return "VK_FORMAT_X8_D24_UNORM_PACK32";
case VK_FORMAT_D32_SFLOAT: return "VK_FORMAT_D32_SFLOAT";
case VK_FORMAT_S8_UINT: return "VK_FORMAT_S8_UINT";
case VK_FORMAT_D16_UNORM_S8_UINT: return "VK_FORMAT_D16_UNORM_S8_UINT";
case VK_FORMAT_D24_UNORM_S8_UINT: return "VK_FORMAT_D24_UNORM_S8_UINT";
case VK_FORMAT_D32_SFLOAT_S8_UINT: return "VK_FORMAT_D32_SFLOAT_S8_UINT";
case VK_FORMAT_BC1_RGB_UNORM_BLOCK: return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
case VK_FORMAT_BC1_RGB_SRGB_BLOCK: return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
case VK_FORMAT_BC2_UNORM_BLOCK: return "VK_FORMAT_BC2_UNORM_BLOCK";
case VK_FORMAT_BC2_SRGB_BLOCK: return "VK_FORMAT_BC2_SRGB_BLOCK";
case VK_FORMAT_BC3_UNORM_BLOCK: return "VK_FORMAT_BC3_UNORM_BLOCK";
case VK_FORMAT_BC3_SRGB_BLOCK: return "VK_FORMAT_BC3_SRGB_BLOCK";
case VK_FORMAT_BC4_UNORM_BLOCK: return "VK_FORMAT_BC4_UNORM_BLOCK";
case VK_FORMAT_BC4_SNORM_BLOCK: return "VK_FORMAT_BC4_SNORM_BLOCK";
case VK_FORMAT_BC5_UNORM_BLOCK: return "VK_FORMAT_BC5_UNORM_BLOCK";
case VK_FORMAT_BC5_SNORM_BLOCK: return "VK_FORMAT_BC5_SNORM_BLOCK";
case VK_FORMAT_BC6H_UFLOAT_BLOCK: return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
case VK_FORMAT_BC6H_SFLOAT_BLOCK: return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
case VK_FORMAT_BC7_UNORM_BLOCK: return "VK_FORMAT_BC7_UNORM_BLOCK";
case VK_FORMAT_BC7_SRGB_BLOCK: return "VK_FORMAT_BC7_SRGB_BLOCK";
case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
case VK_FORMAT_EAC_R11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
case VK_FORMAT_EAC_R11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
case VK_FORMAT_G8B8G8R8_422_UNORM: return "VK_FORMAT_G8B8G8R8_422_UNORM";
case VK_FORMAT_B8G8R8G8_422_UNORM: return "VK_FORMAT_B8G8R8G8_422_UNORM";
case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM";
case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM";
case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM";
case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM";
case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM";
case VK_FORMAT_R10X6_UNORM_PACK16: return "VK_FORMAT_R10X6_UNORM_PACK16";
case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16";
case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16";
case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16";
case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16";
case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16";
case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16";
case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16";
case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16";
case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16";
case VK_FORMAT_R12X4_UNORM_PACK16: return "VK_FORMAT_R12X4_UNORM_PACK16";
case VK_FORMAT_R12X4G12X4_UNORM_2PACK16: return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16";
case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16";
case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16";
case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16";
case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16";
case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16";
case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16";
case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16";
case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16";
case VK_FORMAT_G16B16G16R16_422_UNORM: return "VK_FORMAT_G16B16G16R16_422_UNORM";
case VK_FORMAT_B16G16R16G16_422_UNORM: return "VK_FORMAT_B16G16R16G16_422_UNORM";
case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM";
case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM";
case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM";
case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM";
case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM";
case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM";
case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16";
case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16";
case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM";
case VK_FORMAT_A4R4G4B4_UNORM_PACK16: return "VK_FORMAT_A4R4G4B4_UNORM_PACK16";
case VK_FORMAT_A4B4G4R4_UNORM_PACK16: return "VK_FORMAT_A4B4G4R4_UNORM_PACK16";
case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK";
case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK";
case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG";
case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG";
case VK_FORMAT_MAX_ENUM: return "VK_FORMAT_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getImageTilingName (VkImageTiling value)
{
switch (value)
{
case VK_IMAGE_TILING_OPTIMAL: return "VK_IMAGE_TILING_OPTIMAL";
case VK_IMAGE_TILING_LINEAR: return "VK_IMAGE_TILING_LINEAR";
case VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: return "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT";
case VK_IMAGE_TILING_MAX_ENUM: return "VK_IMAGE_TILING_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getImageTypeName (VkImageType value)
{
switch (value)
{
case VK_IMAGE_TYPE_1D: return "VK_IMAGE_TYPE_1D";
case VK_IMAGE_TYPE_2D: return "VK_IMAGE_TYPE_2D";
case VK_IMAGE_TYPE_3D: return "VK_IMAGE_TYPE_3D";
case VK_IMAGE_TYPE_MAX_ENUM: return "VK_IMAGE_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPhysicalDeviceTypeName (VkPhysicalDeviceType value)
{
switch (value)
{
case VK_PHYSICAL_DEVICE_TYPE_OTHER: return "VK_PHYSICAL_DEVICE_TYPE_OTHER";
case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU";
case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU";
case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU";
case VK_PHYSICAL_DEVICE_TYPE_CPU: return "VK_PHYSICAL_DEVICE_TYPE_CPU";
case VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: return "VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getQueryTypeName (VkQueryType value)
{
switch (value)
{
case VK_QUERY_TYPE_OCCLUSION: return "VK_QUERY_TYPE_OCCLUSION";
case VK_QUERY_TYPE_PIPELINE_STATISTICS: return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
case VK_QUERY_TYPE_TIMESTAMP: return "VK_QUERY_TYPE_TIMESTAMP";
case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR: return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT: return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR: return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL: return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR: return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
case VK_QUERY_TYPE_MAX_ENUM: return "VK_QUERY_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSharingModeName (VkSharingMode value)
{
switch (value)
{
case VK_SHARING_MODE_EXCLUSIVE: return "VK_SHARING_MODE_EXCLUSIVE";
case VK_SHARING_MODE_CONCURRENT: return "VK_SHARING_MODE_CONCURRENT";
case VK_SHARING_MODE_MAX_ENUM: return "VK_SHARING_MODE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getComponentSwizzleName (VkComponentSwizzle value)
{
switch (value)
{
case VK_COMPONENT_SWIZZLE_IDENTITY: return "VK_COMPONENT_SWIZZLE_IDENTITY";
case VK_COMPONENT_SWIZZLE_ZERO: return "VK_COMPONENT_SWIZZLE_ZERO";
case VK_COMPONENT_SWIZZLE_ONE: return "VK_COMPONENT_SWIZZLE_ONE";
case VK_COMPONENT_SWIZZLE_R: return "VK_COMPONENT_SWIZZLE_R";
case VK_COMPONENT_SWIZZLE_G: return "VK_COMPONENT_SWIZZLE_G";
case VK_COMPONENT_SWIZZLE_B: return "VK_COMPONENT_SWIZZLE_B";
case VK_COMPONENT_SWIZZLE_A: return "VK_COMPONENT_SWIZZLE_A";
case VK_COMPONENT_SWIZZLE_MAX_ENUM: return "VK_COMPONENT_SWIZZLE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getImageViewTypeName (VkImageViewType value)
{
switch (value)
{
case VK_IMAGE_VIEW_TYPE_1D: return "VK_IMAGE_VIEW_TYPE_1D";
case VK_IMAGE_VIEW_TYPE_2D: return "VK_IMAGE_VIEW_TYPE_2D";
case VK_IMAGE_VIEW_TYPE_3D: return "VK_IMAGE_VIEW_TYPE_3D";
case VK_IMAGE_VIEW_TYPE_CUBE: return "VK_IMAGE_VIEW_TYPE_CUBE";
case VK_IMAGE_VIEW_TYPE_1D_ARRAY: return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
case VK_IMAGE_VIEW_TYPE_2D_ARRAY: return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
case VK_IMAGE_VIEW_TYPE_MAX_ENUM: return "VK_IMAGE_VIEW_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getBlendFactorName (VkBlendFactor value)
{
switch (value)
{
case VK_BLEND_FACTOR_ZERO: return "VK_BLEND_FACTOR_ZERO";
case VK_BLEND_FACTOR_ONE: return "VK_BLEND_FACTOR_ONE";
case VK_BLEND_FACTOR_SRC_COLOR: return "VK_BLEND_FACTOR_SRC_COLOR";
case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
case VK_BLEND_FACTOR_DST_COLOR: return "VK_BLEND_FACTOR_DST_COLOR";
case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
case VK_BLEND_FACTOR_SRC_ALPHA: return "VK_BLEND_FACTOR_SRC_ALPHA";
case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
case VK_BLEND_FACTOR_DST_ALPHA: return "VK_BLEND_FACTOR_DST_ALPHA";
case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
case VK_BLEND_FACTOR_CONSTANT_COLOR: return "VK_BLEND_FACTOR_CONSTANT_COLOR";
case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
case VK_BLEND_FACTOR_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
case VK_BLEND_FACTOR_SRC1_COLOR: return "VK_BLEND_FACTOR_SRC1_COLOR";
case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
case VK_BLEND_FACTOR_SRC1_ALPHA: return "VK_BLEND_FACTOR_SRC1_ALPHA";
case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
case VK_BLEND_FACTOR_MAX_ENUM: return "VK_BLEND_FACTOR_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getBlendOpName (VkBlendOp value)
{
switch (value)
{
case VK_BLEND_OP_ADD: return "VK_BLEND_OP_ADD";
case VK_BLEND_OP_SUBTRACT: return "VK_BLEND_OP_SUBTRACT";
case VK_BLEND_OP_REVERSE_SUBTRACT: return "VK_BLEND_OP_REVERSE_SUBTRACT";
case VK_BLEND_OP_MIN: return "VK_BLEND_OP_MIN";
case VK_BLEND_OP_MAX: return "VK_BLEND_OP_MAX";
case VK_BLEND_OP_ZERO_EXT: return "VK_BLEND_OP_ZERO_EXT";
case VK_BLEND_OP_SRC_EXT: return "VK_BLEND_OP_SRC_EXT";
case VK_BLEND_OP_DST_EXT: return "VK_BLEND_OP_DST_EXT";
case VK_BLEND_OP_SRC_OVER_EXT: return "VK_BLEND_OP_SRC_OVER_EXT";
case VK_BLEND_OP_DST_OVER_EXT: return "VK_BLEND_OP_DST_OVER_EXT";
case VK_BLEND_OP_SRC_IN_EXT: return "VK_BLEND_OP_SRC_IN_EXT";
case VK_BLEND_OP_DST_IN_EXT: return "VK_BLEND_OP_DST_IN_EXT";
case VK_BLEND_OP_SRC_OUT_EXT: return "VK_BLEND_OP_SRC_OUT_EXT";
case VK_BLEND_OP_DST_OUT_EXT: return "VK_BLEND_OP_DST_OUT_EXT";
case VK_BLEND_OP_SRC_ATOP_EXT: return "VK_BLEND_OP_SRC_ATOP_EXT";
case VK_BLEND_OP_DST_ATOP_EXT: return "VK_BLEND_OP_DST_ATOP_EXT";
case VK_BLEND_OP_XOR_EXT: return "VK_BLEND_OP_XOR_EXT";
case VK_BLEND_OP_MULTIPLY_EXT: return "VK_BLEND_OP_MULTIPLY_EXT";
case VK_BLEND_OP_SCREEN_EXT: return "VK_BLEND_OP_SCREEN_EXT";
case VK_BLEND_OP_OVERLAY_EXT: return "VK_BLEND_OP_OVERLAY_EXT";
case VK_BLEND_OP_DARKEN_EXT: return "VK_BLEND_OP_DARKEN_EXT";
case VK_BLEND_OP_LIGHTEN_EXT: return "VK_BLEND_OP_LIGHTEN_EXT";
case VK_BLEND_OP_COLORDODGE_EXT: return "VK_BLEND_OP_COLORDODGE_EXT";
case VK_BLEND_OP_COLORBURN_EXT: return "VK_BLEND_OP_COLORBURN_EXT";
case VK_BLEND_OP_HARDLIGHT_EXT: return "VK_BLEND_OP_HARDLIGHT_EXT";
case VK_BLEND_OP_SOFTLIGHT_EXT: return "VK_BLEND_OP_SOFTLIGHT_EXT";
case VK_BLEND_OP_DIFFERENCE_EXT: return "VK_BLEND_OP_DIFFERENCE_EXT";
case VK_BLEND_OP_EXCLUSION_EXT: return "VK_BLEND_OP_EXCLUSION_EXT";
case VK_BLEND_OP_INVERT_EXT: return "VK_BLEND_OP_INVERT_EXT";
case VK_BLEND_OP_INVERT_RGB_EXT: return "VK_BLEND_OP_INVERT_RGB_EXT";
case VK_BLEND_OP_LINEARDODGE_EXT: return "VK_BLEND_OP_LINEARDODGE_EXT";
case VK_BLEND_OP_LINEARBURN_EXT: return "VK_BLEND_OP_LINEARBURN_EXT";
case VK_BLEND_OP_VIVIDLIGHT_EXT: return "VK_BLEND_OP_VIVIDLIGHT_EXT";
case VK_BLEND_OP_LINEARLIGHT_EXT: return "VK_BLEND_OP_LINEARLIGHT_EXT";
case VK_BLEND_OP_PINLIGHT_EXT: return "VK_BLEND_OP_PINLIGHT_EXT";
case VK_BLEND_OP_HARDMIX_EXT: return "VK_BLEND_OP_HARDMIX_EXT";
case VK_BLEND_OP_HSL_HUE_EXT: return "VK_BLEND_OP_HSL_HUE_EXT";
case VK_BLEND_OP_HSL_SATURATION_EXT: return "VK_BLEND_OP_HSL_SATURATION_EXT";
case VK_BLEND_OP_HSL_COLOR_EXT: return "VK_BLEND_OP_HSL_COLOR_EXT";
case VK_BLEND_OP_HSL_LUMINOSITY_EXT: return "VK_BLEND_OP_HSL_LUMINOSITY_EXT";
case VK_BLEND_OP_PLUS_EXT: return "VK_BLEND_OP_PLUS_EXT";
case VK_BLEND_OP_PLUS_CLAMPED_EXT: return "VK_BLEND_OP_PLUS_CLAMPED_EXT";
case VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: return "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT";
case VK_BLEND_OP_PLUS_DARKER_EXT: return "VK_BLEND_OP_PLUS_DARKER_EXT";
case VK_BLEND_OP_MINUS_EXT: return "VK_BLEND_OP_MINUS_EXT";
case VK_BLEND_OP_MINUS_CLAMPED_EXT: return "VK_BLEND_OP_MINUS_CLAMPED_EXT";
case VK_BLEND_OP_CONTRAST_EXT: return "VK_BLEND_OP_CONTRAST_EXT";
case VK_BLEND_OP_INVERT_OVG_EXT: return "VK_BLEND_OP_INVERT_OVG_EXT";
case VK_BLEND_OP_RED_EXT: return "VK_BLEND_OP_RED_EXT";
case VK_BLEND_OP_GREEN_EXT: return "VK_BLEND_OP_GREEN_EXT";
case VK_BLEND_OP_BLUE_EXT: return "VK_BLEND_OP_BLUE_EXT";
case VK_BLEND_OP_MAX_ENUM: return "VK_BLEND_OP_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getCompareOpName (VkCompareOp value)
{
switch (value)
{
case VK_COMPARE_OP_NEVER: return "VK_COMPARE_OP_NEVER";
case VK_COMPARE_OP_LESS: return "VK_COMPARE_OP_LESS";
case VK_COMPARE_OP_EQUAL: return "VK_COMPARE_OP_EQUAL";
case VK_COMPARE_OP_LESS_OR_EQUAL: return "VK_COMPARE_OP_LESS_OR_EQUAL";
case VK_COMPARE_OP_GREATER: return "VK_COMPARE_OP_GREATER";
case VK_COMPARE_OP_NOT_EQUAL: return "VK_COMPARE_OP_NOT_EQUAL";
case VK_COMPARE_OP_GREATER_OR_EQUAL: return "VK_COMPARE_OP_GREATER_OR_EQUAL";
case VK_COMPARE_OP_ALWAYS: return "VK_COMPARE_OP_ALWAYS";
case VK_COMPARE_OP_MAX_ENUM: return "VK_COMPARE_OP_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getDynamicStateName (VkDynamicState value)
{
switch (value)
{
case VK_DYNAMIC_STATE_VIEWPORT: return "VK_DYNAMIC_STATE_VIEWPORT";
case VK_DYNAMIC_STATE_SCISSOR: return "VK_DYNAMIC_STATE_SCISSOR";
case VK_DYNAMIC_STATE_LINE_WIDTH: return "VK_DYNAMIC_STATE_LINE_WIDTH";
case VK_DYNAMIC_STATE_DEPTH_BIAS: return "VK_DYNAMIC_STATE_DEPTH_BIAS";
case VK_DYNAMIC_STATE_BLEND_CONSTANTS: return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
case VK_DYNAMIC_STATE_DEPTH_BOUNDS: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
case VK_DYNAMIC_STATE_STENCIL_REFERENCE: return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
case VK_DYNAMIC_STATE_CULL_MODE: return "VK_DYNAMIC_STATE_CULL_MODE";
case VK_DYNAMIC_STATE_FRONT_FACE: return "VK_DYNAMIC_STATE_FRONT_FACE";
case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY: return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY";
case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT: return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT";
case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT: return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT";
case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE: return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE";
case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE";
case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE";
case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP: return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP";
case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE";
case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE: return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE";
case VK_DYNAMIC_STATE_STENCIL_OP: return "VK_DYNAMIC_STATE_STENCIL_OP";
case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE: return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE";
case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE";
case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE: return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE";
case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV: return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV";
case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT";
case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT";
case VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR: return "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR";
case VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV: return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV";
case VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV: return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV";
case VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV: return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV";
case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR";
case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT: return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT";
case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT: return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT";
case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT: return "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT";
case VK_DYNAMIC_STATE_LOGIC_OP_EXT: return "VK_DYNAMIC_STATE_LOGIC_OP_EXT";
case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT: return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT";
case VK_DYNAMIC_STATE_MAX_ENUM: return "VK_DYNAMIC_STATE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getFrontFaceName (VkFrontFace value)
{
switch (value)
{
case VK_FRONT_FACE_COUNTER_CLOCKWISE: return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
case VK_FRONT_FACE_CLOCKWISE: return "VK_FRONT_FACE_CLOCKWISE";
case VK_FRONT_FACE_MAX_ENUM: return "VK_FRONT_FACE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getVertexInputRateName (VkVertexInputRate value)
{
switch (value)
{
case VK_VERTEX_INPUT_RATE_VERTEX: return "VK_VERTEX_INPUT_RATE_VERTEX";
case VK_VERTEX_INPUT_RATE_INSTANCE: return "VK_VERTEX_INPUT_RATE_INSTANCE";
case VK_VERTEX_INPUT_RATE_MAX_ENUM: return "VK_VERTEX_INPUT_RATE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPrimitiveTopologyName (VkPrimitiveTopology value)
{
switch (value)
{
case VK_PRIMITIVE_TOPOLOGY_POINT_LIST: return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
case VK_PRIMITIVE_TOPOLOGY_MAX_ENUM: return "VK_PRIMITIVE_TOPOLOGY_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPolygonModeName (VkPolygonMode value)
{
switch (value)
{
case VK_POLYGON_MODE_FILL: return "VK_POLYGON_MODE_FILL";
case VK_POLYGON_MODE_LINE: return "VK_POLYGON_MODE_LINE";
case VK_POLYGON_MODE_POINT: return "VK_POLYGON_MODE_POINT";
case VK_POLYGON_MODE_FILL_RECTANGLE_NV: return "VK_POLYGON_MODE_FILL_RECTANGLE_NV";
case VK_POLYGON_MODE_MAX_ENUM: return "VK_POLYGON_MODE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getStencilOpName (VkStencilOp value)
{
switch (value)
{
case VK_STENCIL_OP_KEEP: return "VK_STENCIL_OP_KEEP";
case VK_STENCIL_OP_ZERO: return "VK_STENCIL_OP_ZERO";
case VK_STENCIL_OP_REPLACE: return "VK_STENCIL_OP_REPLACE";
case VK_STENCIL_OP_INCREMENT_AND_CLAMP: return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
case VK_STENCIL_OP_DECREMENT_AND_CLAMP: return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
case VK_STENCIL_OP_INVERT: return "VK_STENCIL_OP_INVERT";
case VK_STENCIL_OP_INCREMENT_AND_WRAP: return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
case VK_STENCIL_OP_DECREMENT_AND_WRAP: return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
case VK_STENCIL_OP_MAX_ENUM: return "VK_STENCIL_OP_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getLogicOpName (VkLogicOp value)
{
switch (value)
{
case VK_LOGIC_OP_CLEAR: return "VK_LOGIC_OP_CLEAR";
case VK_LOGIC_OP_AND: return "VK_LOGIC_OP_AND";
case VK_LOGIC_OP_AND_REVERSE: return "VK_LOGIC_OP_AND_REVERSE";
case VK_LOGIC_OP_COPY: return "VK_LOGIC_OP_COPY";
case VK_LOGIC_OP_AND_INVERTED: return "VK_LOGIC_OP_AND_INVERTED";
case VK_LOGIC_OP_NO_OP: return "VK_LOGIC_OP_NO_OP";
case VK_LOGIC_OP_XOR: return "VK_LOGIC_OP_XOR";
case VK_LOGIC_OP_OR: return "VK_LOGIC_OP_OR";
case VK_LOGIC_OP_NOR: return "VK_LOGIC_OP_NOR";
case VK_LOGIC_OP_EQUIVALENT: return "VK_LOGIC_OP_EQUIVALENT";
case VK_LOGIC_OP_INVERT: return "VK_LOGIC_OP_INVERT";
case VK_LOGIC_OP_OR_REVERSE: return "VK_LOGIC_OP_OR_REVERSE";
case VK_LOGIC_OP_COPY_INVERTED: return "VK_LOGIC_OP_COPY_INVERTED";
case VK_LOGIC_OP_OR_INVERTED: return "VK_LOGIC_OP_OR_INVERTED";
case VK_LOGIC_OP_NAND: return "VK_LOGIC_OP_NAND";
case VK_LOGIC_OP_SET: return "VK_LOGIC_OP_SET";
case VK_LOGIC_OP_MAX_ENUM: return "VK_LOGIC_OP_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getBorderColorName (VkBorderColor value)
{
switch (value)
{
case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK";
case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK";
case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK";
case VK_BORDER_COLOR_INT_OPAQUE_BLACK: return "VK_BORDER_COLOR_INT_OPAQUE_BLACK";
case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE";
case VK_BORDER_COLOR_INT_OPAQUE_WHITE: return "VK_BORDER_COLOR_INT_OPAQUE_WHITE";
case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT: return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT";
case VK_BORDER_COLOR_INT_CUSTOM_EXT: return "VK_BORDER_COLOR_INT_CUSTOM_EXT";
case VK_BORDER_COLOR_MAX_ENUM: return "VK_BORDER_COLOR_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getFilterName (VkFilter value)
{
switch (value)
{
case VK_FILTER_NEAREST: return "VK_FILTER_NEAREST";
case VK_FILTER_LINEAR: return "VK_FILTER_LINEAR";
case VK_FILTER_CUBIC_IMG: return "VK_FILTER_CUBIC_IMG";
case VK_FILTER_MAX_ENUM: return "VK_FILTER_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSamplerAddressModeName (VkSamplerAddressMode value)
{
switch (value)
{
case VK_SAMPLER_ADDRESS_MODE_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
case VK_SAMPLER_ADDRESS_MODE_MAX_ENUM: return "VK_SAMPLER_ADDRESS_MODE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSamplerMipmapModeName (VkSamplerMipmapMode value)
{
switch (value)
{
case VK_SAMPLER_MIPMAP_MODE_NEAREST: return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
case VK_SAMPLER_MIPMAP_MODE_LINEAR: return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
case VK_SAMPLER_MIPMAP_MODE_MAX_ENUM: return "VK_SAMPLER_MIPMAP_MODE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getDescriptorTypeName (VkDescriptorType value)
{
switch (value)
{
case VK_DESCRIPTOR_TYPE_SAMPLER: return "VK_DESCRIPTOR_TYPE_SAMPLER";
case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER";
case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE";
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE";
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER";
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER";
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER";
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER";
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC";
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC";
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT";
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK";
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR";
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV";
case VK_DESCRIPTOR_TYPE_MUTABLE_VALVE: return "VK_DESCRIPTOR_TYPE_MUTABLE_VALVE";
case VK_DESCRIPTOR_TYPE_MAX_ENUM: return "VK_DESCRIPTOR_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getAttachmentLoadOpName (VkAttachmentLoadOp value)
{
switch (value)
{
case VK_ATTACHMENT_LOAD_OP_LOAD: return "VK_ATTACHMENT_LOAD_OP_LOAD";
case VK_ATTACHMENT_LOAD_OP_CLEAR: return "VK_ATTACHMENT_LOAD_OP_CLEAR";
case VK_ATTACHMENT_LOAD_OP_DONT_CARE: return "VK_ATTACHMENT_LOAD_OP_DONT_CARE";
case VK_ATTACHMENT_LOAD_OP_NONE_EXT: return "VK_ATTACHMENT_LOAD_OP_NONE_EXT";
case VK_ATTACHMENT_LOAD_OP_MAX_ENUM: return "VK_ATTACHMENT_LOAD_OP_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getAttachmentStoreOpName (VkAttachmentStoreOp value)
{
switch (value)
{
case VK_ATTACHMENT_STORE_OP_STORE: return "VK_ATTACHMENT_STORE_OP_STORE";
case VK_ATTACHMENT_STORE_OP_DONT_CARE: return "VK_ATTACHMENT_STORE_OP_DONT_CARE";
case VK_ATTACHMENT_STORE_OP_NONE: return "VK_ATTACHMENT_STORE_OP_NONE";
case VK_ATTACHMENT_STORE_OP_MAX_ENUM: return "VK_ATTACHMENT_STORE_OP_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPipelineBindPointName (VkPipelineBindPoint value)
{
switch (value)
{
case VK_PIPELINE_BIND_POINT_GRAPHICS: return "VK_PIPELINE_BIND_POINT_GRAPHICS";
case VK_PIPELINE_BIND_POINT_COMPUTE: return "VK_PIPELINE_BIND_POINT_COMPUTE";
case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR: return "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR";
case VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI: return "VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI";
case VK_PIPELINE_BIND_POINT_MAX_ENUM: return "VK_PIPELINE_BIND_POINT_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getCommandBufferLevelName (VkCommandBufferLevel value)
{
switch (value)
{
case VK_COMMAND_BUFFER_LEVEL_PRIMARY: return "VK_COMMAND_BUFFER_LEVEL_PRIMARY";
case VK_COMMAND_BUFFER_LEVEL_SECONDARY: return "VK_COMMAND_BUFFER_LEVEL_SECONDARY";
case VK_COMMAND_BUFFER_LEVEL_MAX_ENUM: return "VK_COMMAND_BUFFER_LEVEL_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getIndexTypeName (VkIndexType value)
{
switch (value)
{
case VK_INDEX_TYPE_UINT16: return "VK_INDEX_TYPE_UINT16";
case VK_INDEX_TYPE_UINT32: return "VK_INDEX_TYPE_UINT32";
case VK_INDEX_TYPE_NONE_KHR: return "VK_INDEX_TYPE_NONE_KHR";
case VK_INDEX_TYPE_UINT8_EXT: return "VK_INDEX_TYPE_UINT8_EXT";
case VK_INDEX_TYPE_MAX_ENUM: return "VK_INDEX_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSubpassContentsName (VkSubpassContents value)
{
switch (value)
{
case VK_SUBPASS_CONTENTS_INLINE: return "VK_SUBPASS_CONTENTS_INLINE";
case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS";
case VK_SUBPASS_CONTENTS_MAX_ENUM: return "VK_SUBPASS_CONTENTS_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPointClippingBehaviorName (VkPointClippingBehavior value)
{
switch (value)
{
case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES: return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES";
case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY: return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY";
case VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM: return "VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getTessellationDomainOriginName (VkTessellationDomainOrigin value)
{
switch (value)
{
case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT";
case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT";
case VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM: return "VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSamplerYcbcrModelConversionName (VkSamplerYcbcrModelConversion value)
{
switch (value)
{
case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY";
case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY";
case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709";
case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601";
case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020";
case VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSamplerYcbcrRangeName (VkSamplerYcbcrRange value)
{
switch (value)
{
case VK_SAMPLER_YCBCR_RANGE_ITU_FULL: return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL";
case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW";
case VK_SAMPLER_YCBCR_RANGE_MAX_ENUM: return "VK_SAMPLER_YCBCR_RANGE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getChromaLocationName (VkChromaLocation value)
{
switch (value)
{
case VK_CHROMA_LOCATION_COSITED_EVEN: return "VK_CHROMA_LOCATION_COSITED_EVEN";
case VK_CHROMA_LOCATION_MIDPOINT: return "VK_CHROMA_LOCATION_MIDPOINT";
case VK_CHROMA_LOCATION_MAX_ENUM: return "VK_CHROMA_LOCATION_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getDescriptorUpdateTemplateTypeName (VkDescriptorUpdateTemplateType value)
{
switch (value)
{
case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET";
case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR";
case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getDriverIdName (VkDriverId value)
{
switch (value)
{
case VK_DRIVER_ID_AMD_PROPRIETARY: return "VK_DRIVER_ID_AMD_PROPRIETARY";
case VK_DRIVER_ID_AMD_OPEN_SOURCE: return "VK_DRIVER_ID_AMD_OPEN_SOURCE";
case VK_DRIVER_ID_MESA_RADV: return "VK_DRIVER_ID_MESA_RADV";
case VK_DRIVER_ID_NVIDIA_PROPRIETARY: return "VK_DRIVER_ID_NVIDIA_PROPRIETARY";
case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS: return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS";
case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA: return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA";
case VK_DRIVER_ID_IMAGINATION_PROPRIETARY: return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY";
case VK_DRIVER_ID_QUALCOMM_PROPRIETARY: return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY";
case VK_DRIVER_ID_ARM_PROPRIETARY: return "VK_DRIVER_ID_ARM_PROPRIETARY";
case VK_DRIVER_ID_GOOGLE_SWIFTSHADER: return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER";
case VK_DRIVER_ID_GGP_PROPRIETARY: return "VK_DRIVER_ID_GGP_PROPRIETARY";
case VK_DRIVER_ID_BROADCOM_PROPRIETARY: return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
case VK_DRIVER_ID_MESA_LLVMPIPE: return "VK_DRIVER_ID_MESA_LLVMPIPE";
case VK_DRIVER_ID_MOLTENVK: return "VK_DRIVER_ID_MOLTENVK";
case VK_DRIVER_ID_COREAVI_PROPRIETARY: return "VK_DRIVER_ID_COREAVI_PROPRIETARY";
case VK_DRIVER_ID_JUICE_PROPRIETARY: return "VK_DRIVER_ID_JUICE_PROPRIETARY";
case VK_DRIVER_ID_VERISILICON_PROPRIETARY: return "VK_DRIVER_ID_VERISILICON_PROPRIETARY";
case VK_DRIVER_ID_MESA_TURNIP: return "VK_DRIVER_ID_MESA_TURNIP";
case VK_DRIVER_ID_MESA_V3DV: return "VK_DRIVER_ID_MESA_V3DV";
case VK_DRIVER_ID_MESA_PANVK: return "VK_DRIVER_ID_MESA_PANVK";
case VK_DRIVER_ID_SAMSUNG_PROPRIETARY: return "VK_DRIVER_ID_SAMSUNG_PROPRIETARY";
case VK_DRIVER_ID_MESA_VENUS: return "VK_DRIVER_ID_MESA_VENUS";
case VK_DRIVER_ID_MAX_ENUM: return "VK_DRIVER_ID_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getShaderFloatControlsIndependenceName (VkShaderFloatControlsIndependence value)
{
switch (value)
{
case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY";
case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL";
case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE";
case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSamplerReductionModeName (VkSamplerReductionMode value)
{
switch (value)
{
case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE: return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE";
case VK_SAMPLER_REDUCTION_MODE_MIN: return "VK_SAMPLER_REDUCTION_MODE_MIN";
case VK_SAMPLER_REDUCTION_MODE_MAX: return "VK_SAMPLER_REDUCTION_MODE_MAX";
case VK_SAMPLER_REDUCTION_MODE_MAX_ENUM: return "VK_SAMPLER_REDUCTION_MODE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getSemaphoreTypeName (VkSemaphoreType value)
{
switch (value)
{
case VK_SEMAPHORE_TYPE_BINARY: return "VK_SEMAPHORE_TYPE_BINARY";
case VK_SEMAPHORE_TYPE_TIMELINE: return "VK_SEMAPHORE_TYPE_TIMELINE";
case VK_SEMAPHORE_TYPE_MAX_ENUM: return "VK_SEMAPHORE_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
const char* getPresentModeKHRName (VkPresentModeKHR value)
{
switch (value)
{
case VK_PRESENT_MODE_IMMEDIATE_KHR: return "VK_PRESENT_MODE_IMMEDIATE_KHR";
case VK_PRESENT_MODE_MAILBOX_KHR: return "VK_PRESENT_MODE_MAILBOX_KHR";
case VK_PRESENT_MODE_FIFO_KHR: return "VK_PRESENT_MODE_FIFO_KHR";
case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return "VK_PRESENT_MODE_FIFO_RELAXED_KHR";
case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR";
case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR";
case VK_PRESENT_MODE_MAX_ENUM_KHR: return "VK_PRESENT_MODE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getColorSpaceKHRName (VkColorSpaceKHR value)
{
switch (value)
{
case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR";
case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT";
case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT";
case VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT";
case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT";
case VK_COLOR_SPACE_BT709_LINEAR_EXT: return "VK_COLOR_SPACE_BT709_LINEAR_EXT";
case VK_COLOR_SPACE_BT709_NONLINEAR_EXT: return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT";
case VK_COLOR_SPACE_BT2020_LINEAR_EXT: return "VK_COLOR_SPACE_BT2020_LINEAR_EXT";
case VK_COLOR_SPACE_HDR10_ST2084_EXT: return "VK_COLOR_SPACE_HDR10_ST2084_EXT";
case VK_COLOR_SPACE_DOLBYVISION_EXT: return "VK_COLOR_SPACE_DOLBYVISION_EXT";
case VK_COLOR_SPACE_HDR10_HLG_EXT: return "VK_COLOR_SPACE_HDR10_HLG_EXT";
case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT";
case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT";
case VK_COLOR_SPACE_PASS_THROUGH_EXT: return "VK_COLOR_SPACE_PASS_THROUGH_EXT";
case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT";
case VK_COLOR_SPACE_DISPLAY_NATIVE_AMD: return "VK_COLOR_SPACE_DISPLAY_NATIVE_AMD";
case VK_COLOR_SPACE_MAX_ENUM_KHR: return "VK_COLOR_SPACE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getPerformanceCounterUnitKHRName (VkPerformanceCounterUnitKHR value)
{
switch (value)
{
case VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR";
case VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getPerformanceCounterScopeKHRName (VkPerformanceCounterScopeKHR value)
{
switch (value)
{
case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR";
case VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR";
case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR";
case VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getPerformanceCounterStorageKHRName (VkPerformanceCounterStorageKHR value)
{
switch (value)
{
case VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR";
case VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR";
case VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR";
case VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR";
case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR";
case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR";
case VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getQueueGlobalPriorityKHRName (VkQueueGlobalPriorityKHR value)
{
switch (value)
{
case VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR";
case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR";
case VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR";
case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR";
case VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getFragmentShadingRateCombinerOpKHRName (VkFragmentShadingRateCombinerOpKHR value)
{
switch (value)
{
case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR";
case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR";
case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR";
case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR";
case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR";
case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getPipelineExecutableStatisticFormatKHRName (VkPipelineExecutableStatisticFormatKHR value)
{
switch (value)
{
case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR";
case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR";
case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR";
case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR";
case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value)
{
switch (value)
{
case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT";
case VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getRasterizationOrderAMDName (VkRasterizationOrderAMD value)
{
switch (value)
{
case VK_RASTERIZATION_ORDER_STRICT_AMD: return "VK_RASTERIZATION_ORDER_STRICT_AMD";
case VK_RASTERIZATION_ORDER_RELAXED_AMD: return "VK_RASTERIZATION_ORDER_RELAXED_AMD";
case VK_RASTERIZATION_ORDER_MAX_ENUM_AMD: return "VK_RASTERIZATION_ORDER_MAX_ENUM_AMD";
default: return DE_NULL;
}
}
const char* getShaderInfoTypeAMDName (VkShaderInfoTypeAMD value)
{
switch (value)
{
case VK_SHADER_INFO_TYPE_STATISTICS_AMD: return "VK_SHADER_INFO_TYPE_STATISTICS_AMD";
case VK_SHADER_INFO_TYPE_BINARY_AMD: return "VK_SHADER_INFO_TYPE_BINARY_AMD";
case VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD: return "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD";
case VK_SHADER_INFO_TYPE_MAX_ENUM_AMD: return "VK_SHADER_INFO_TYPE_MAX_ENUM_AMD";
default: return DE_NULL;
}
}
const char* getValidationCheckEXTName (VkValidationCheckEXT value)
{
switch (value)
{
case VK_VALIDATION_CHECK_ALL_EXT: return "VK_VALIDATION_CHECK_ALL_EXT";
case VK_VALIDATION_CHECK_SHADERS_EXT: return "VK_VALIDATION_CHECK_SHADERS_EXT";
case VK_VALIDATION_CHECK_MAX_ENUM_EXT: return "VK_VALIDATION_CHECK_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getDisplayPowerStateEXTName (VkDisplayPowerStateEXT value)
{
switch (value)
{
case VK_DISPLAY_POWER_STATE_OFF_EXT: return "VK_DISPLAY_POWER_STATE_OFF_EXT";
case VK_DISPLAY_POWER_STATE_SUSPEND_EXT: return "VK_DISPLAY_POWER_STATE_SUSPEND_EXT";
case VK_DISPLAY_POWER_STATE_ON_EXT: return "VK_DISPLAY_POWER_STATE_ON_EXT";
case VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT: return "VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getDeviceEventTypeEXTName (VkDeviceEventTypeEXT value)
{
switch (value)
{
case VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: return "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT";
case VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT: return "VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getDisplayEventTypeEXTName (VkDisplayEventTypeEXT value)
{
switch (value)
{
case VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: return "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT";
case VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT: return "VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getViewportCoordinateSwizzleNVName (VkViewportCoordinateSwizzleNV value)
{
switch (value)
{
case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV";
case VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getDiscardRectangleModeEXTName (VkDiscardRectangleModeEXT value)
{
switch (value)
{
case VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT: return "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT";
case VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT: return "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT";
case VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT: return "VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getConservativeRasterizationModeEXTName (VkConservativeRasterizationModeEXT value)
{
switch (value)
{
case VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT";
case VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT";
case VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT";
case VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getBlendOverlapEXTName (VkBlendOverlapEXT value)
{
switch (value)
{
case VK_BLEND_OVERLAP_UNCORRELATED_EXT: return "VK_BLEND_OVERLAP_UNCORRELATED_EXT";
case VK_BLEND_OVERLAP_DISJOINT_EXT: return "VK_BLEND_OVERLAP_DISJOINT_EXT";
case VK_BLEND_OVERLAP_CONJOINT_EXT: return "VK_BLEND_OVERLAP_CONJOINT_EXT";
case VK_BLEND_OVERLAP_MAX_ENUM_EXT: return "VK_BLEND_OVERLAP_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getCoverageModulationModeNVName (VkCoverageModulationModeNV value)
{
switch (value)
{
case VK_COVERAGE_MODULATION_MODE_NONE_NV: return "VK_COVERAGE_MODULATION_MODE_NONE_NV";
case VK_COVERAGE_MODULATION_MODE_RGB_NV: return "VK_COVERAGE_MODULATION_MODE_RGB_NV";
case VK_COVERAGE_MODULATION_MODE_ALPHA_NV: return "VK_COVERAGE_MODULATION_MODE_ALPHA_NV";
case VK_COVERAGE_MODULATION_MODE_RGBA_NV: return "VK_COVERAGE_MODULATION_MODE_RGBA_NV";
case VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV: return "VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getValidationCacheHeaderVersionEXTName (VkValidationCacheHeaderVersionEXT value)
{
switch (value)
{
case VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT: return "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT";
case VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT: return "VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getShadingRatePaletteEntryNVName (VkShadingRatePaletteEntryNV value)
{
switch (value)
{
case VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV";
case VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getCoarseSampleOrderTypeNVName (VkCoarseSampleOrderTypeNV value)
{
switch (value)
{
case VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV";
case VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV";
case VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV";
case VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV";
case VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getRayTracingShaderGroupTypeKHRName (VkRayTracingShaderGroupTypeKHR value)
{
switch (value)
{
case VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR";
case VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR";
case VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR";
case VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getGeometryTypeKHRName (VkGeometryTypeKHR value)
{
switch (value)
{
case VK_GEOMETRY_TYPE_TRIANGLES_KHR: return "VK_GEOMETRY_TYPE_TRIANGLES_KHR";
case VK_GEOMETRY_TYPE_AABBS_KHR: return "VK_GEOMETRY_TYPE_AABBS_KHR";
case VK_GEOMETRY_TYPE_INSTANCES_KHR: return "VK_GEOMETRY_TYPE_INSTANCES_KHR";
case VK_GEOMETRY_TYPE_MAX_ENUM_KHR: return "VK_GEOMETRY_TYPE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getAccelerationStructureTypeKHRName (VkAccelerationStructureTypeKHR value)
{
switch (value)
{
case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR";
case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR";
case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR";
case VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getCopyAccelerationStructureModeKHRName (VkCopyAccelerationStructureModeKHR value)
{
switch (value)
{
case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR";
case VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR";
case VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR";
case VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR";
case VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getAccelerationStructureMemoryRequirementsTypeNVName (VkAccelerationStructureMemoryRequirementsTypeNV value)
{
switch (value)
{
case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV";
case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV";
case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV";
case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getTimeDomainEXTName (VkTimeDomainEXT value)
{
switch (value)
{
case VK_TIME_DOMAIN_DEVICE_EXT: return "VK_TIME_DOMAIN_DEVICE_EXT";
case VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT: return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT";
case VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT: return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT";
case VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT: return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT";
case VK_TIME_DOMAIN_MAX_ENUM_EXT: return "VK_TIME_DOMAIN_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getMemoryOverallocationBehaviorAMDName (VkMemoryOverallocationBehaviorAMD value)
{
switch (value)
{
case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD";
case VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD";
case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD";
case VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD";
default: return DE_NULL;
}
}
const char* getPerformanceConfigurationTypeINTELName (VkPerformanceConfigurationTypeINTEL value)
{
switch (value)
{
case VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL: return "VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL";
case VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL";
default: return DE_NULL;
}
}
const char* getQueryPoolSamplingModeINTELName (VkQueryPoolSamplingModeINTEL value)
{
switch (value)
{
case VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL: return "VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL";
case VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL: return "VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL";
default: return DE_NULL;
}
}
const char* getPerformanceOverrideTypeINTELName (VkPerformanceOverrideTypeINTEL value)
{
switch (value)
{
case VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL: return "VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL";
case VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL: return "VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL";
case VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL";
default: return DE_NULL;
}
}
const char* getPerformanceParameterTypeINTELName (VkPerformanceParameterTypeINTEL value)
{
switch (value)
{
case VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL: return "VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL";
case VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL: return "VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL";
case VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL";
default: return DE_NULL;
}
}
const char* getPerformanceValueTypeINTELName (VkPerformanceValueTypeINTEL value)
{
switch (value)
{
case VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL";
case VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL";
case VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL";
case VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL";
case VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL";
case VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL";
default: return DE_NULL;
}
}
const char* getValidationFeatureEnableEXTName (VkValidationFeatureEnableEXT value)
{
switch (value)
{
case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT: return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT";
case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT: return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT";
case VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT: return "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT";
case VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT: return "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT";
case VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT: return "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT";
case VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT: return "VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getValidationFeatureDisableEXTName (VkValidationFeatureDisableEXT value)
{
switch (value)
{
case VK_VALIDATION_FEATURE_DISABLE_ALL_EXT: return "VK_VALIDATION_FEATURE_DISABLE_ALL_EXT";
case VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT";
case VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT: return "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT";
case VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT";
case VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT: return "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT";
case VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT";
case VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT: return "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT";
case VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT: return "VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT";
case VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT: return "VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getComponentTypeNVName (VkComponentTypeNV value)
{
switch (value)
{
case VK_COMPONENT_TYPE_FLOAT16_NV: return "VK_COMPONENT_TYPE_FLOAT16_NV";
case VK_COMPONENT_TYPE_FLOAT32_NV: return "VK_COMPONENT_TYPE_FLOAT32_NV";
case VK_COMPONENT_TYPE_FLOAT64_NV: return "VK_COMPONENT_TYPE_FLOAT64_NV";
case VK_COMPONENT_TYPE_SINT8_NV: return "VK_COMPONENT_TYPE_SINT8_NV";
case VK_COMPONENT_TYPE_SINT16_NV: return "VK_COMPONENT_TYPE_SINT16_NV";
case VK_COMPONENT_TYPE_SINT32_NV: return "VK_COMPONENT_TYPE_SINT32_NV";
case VK_COMPONENT_TYPE_SINT64_NV: return "VK_COMPONENT_TYPE_SINT64_NV";
case VK_COMPONENT_TYPE_UINT8_NV: return "VK_COMPONENT_TYPE_UINT8_NV";
case VK_COMPONENT_TYPE_UINT16_NV: return "VK_COMPONENT_TYPE_UINT16_NV";
case VK_COMPONENT_TYPE_UINT32_NV: return "VK_COMPONENT_TYPE_UINT32_NV";
case VK_COMPONENT_TYPE_UINT64_NV: return "VK_COMPONENT_TYPE_UINT64_NV";
case VK_COMPONENT_TYPE_MAX_ENUM_NV: return "VK_COMPONENT_TYPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getScopeNVName (VkScopeNV value)
{
switch (value)
{
case VK_SCOPE_DEVICE_NV: return "VK_SCOPE_DEVICE_NV";
case VK_SCOPE_WORKGROUP_NV: return "VK_SCOPE_WORKGROUP_NV";
case VK_SCOPE_SUBGROUP_NV: return "VK_SCOPE_SUBGROUP_NV";
case VK_SCOPE_QUEUE_FAMILY_NV: return "VK_SCOPE_QUEUE_FAMILY_NV";
case VK_SCOPE_MAX_ENUM_NV: return "VK_SCOPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getCoverageReductionModeNVName (VkCoverageReductionModeNV value)
{
switch (value)
{
case VK_COVERAGE_REDUCTION_MODE_MERGE_NV: return "VK_COVERAGE_REDUCTION_MODE_MERGE_NV";
case VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV: return "VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV";
case VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV: return "VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getProvokingVertexModeEXTName (VkProvokingVertexModeEXT value)
{
switch (value)
{
case VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT: return "VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT";
case VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT: return "VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT";
case VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT: return "VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getLineRasterizationModeEXTName (VkLineRasterizationModeEXT value)
{
switch (value)
{
case VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT: return "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT";
case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT: return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT";
case VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT: return "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT";
case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT: return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT";
case VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT: return "VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getIndirectCommandsTokenTypeNVName (VkIndirectCommandsTokenTypeNV value)
{
switch (value)
{
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV";
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getDeviceMemoryReportEventTypeEXTName (VkDeviceMemoryReportEventTypeEXT value)
{
switch (value)
{
case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT";
case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT";
case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT";
case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT";
case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT";
case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
const char* getFragmentShadingRateTypeNVName (VkFragmentShadingRateTypeNV value)
{
switch (value)
{
case VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV: return "VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV";
case VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV: return "VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV";
case VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV: return "VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getFragmentShadingRateNVName (VkFragmentShadingRateNV value)
{
switch (value)
{
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV";
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV";
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV";
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV";
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV";
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV";
case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV";
case VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV";
case VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV";
case VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV";
case VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV";
case VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV: return "VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV";
case VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV: return "VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getAccelerationStructureMotionInstanceTypeNVName (VkAccelerationStructureMotionInstanceTypeNV value)
{
switch (value)
{
case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV";
case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV";
case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV";
case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV";
default: return DE_NULL;
}
}
const char* getBuildAccelerationStructureModeKHRName (VkBuildAccelerationStructureModeKHR value)
{
switch (value)
{
case VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR: return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR";
case VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR: return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR";
case VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR: return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getAccelerationStructureBuildTypeKHRName (VkAccelerationStructureBuildTypeKHR value)
{
switch (value)
{
case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR";
case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR";
case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR";
case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getAccelerationStructureCompatibilityKHRName (VkAccelerationStructureCompatibilityKHR value)
{
switch (value)
{
case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR: return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR";
case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR: return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR";
case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR: return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getShaderGroupShaderKHRName (VkShaderGroupShaderKHR value)
{
switch (value)
{
case VK_SHADER_GROUP_SHADER_GENERAL_KHR: return "VK_SHADER_GROUP_SHADER_GENERAL_KHR";
case VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR: return "VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR";
case VK_SHADER_GROUP_SHADER_ANY_HIT_KHR: return "VK_SHADER_GROUP_SHADER_ANY_HIT_KHR";
case VK_SHADER_GROUP_SHADER_INTERSECTION_KHR: return "VK_SHADER_GROUP_SHADER_INTERSECTION_KHR";
case VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR: return "VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getQueryResultStatusKHRName (VkQueryResultStatusKHR value)
{
switch (value)
{
case VK_QUERY_RESULT_STATUS_ERROR_KHR: return "VK_QUERY_RESULT_STATUS_ERROR_KHR";
case VK_QUERY_RESULT_STATUS_NOT_READY_KHR: return "VK_QUERY_RESULT_STATUS_NOT_READY_KHR";
case VK_QUERY_RESULT_STATUS_COMPLETE_KHR: return "VK_QUERY_RESULT_STATUS_COMPLETE_KHR";
case VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR: return "VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR";
default: return DE_NULL;
}
}
const char* getdVideoH264ChromaFormatIdcName (StdVideoH264ChromaFormatIdc value)
{
switch (value)
{
case STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME";
case STD_VIDEO_H264_CHROMA_FORMAT_IDC_420: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_420";
case STD_VIDEO_H264_CHROMA_FORMAT_IDC_422: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_422";
case STD_VIDEO_H264_CHROMA_FORMAT_IDC_444: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_444";
case STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264ProfileIdcName (StdVideoH264ProfileIdc value)
{
switch (value)
{
case STD_VIDEO_H264_PROFILE_IDC_BASELINE: return "STD_VIDEO_H264_PROFILE_IDC_BASELINE";
case STD_VIDEO_H264_PROFILE_IDC_MAIN: return "STD_VIDEO_H264_PROFILE_IDC_MAIN";
case STD_VIDEO_H264_PROFILE_IDC_HIGH: return "STD_VIDEO_H264_PROFILE_IDC_HIGH";
case STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE: return "STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE";
case STD_VIDEO_H264_PROFILE_IDC_INVALID: return "STD_VIDEO_H264_PROFILE_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264LevelName (StdVideoH264Level value)
{
switch (value)
{
case STD_VIDEO_H264_LEVEL_1_0: return "STD_VIDEO_H264_LEVEL_1_0";
case STD_VIDEO_H264_LEVEL_1_1: return "STD_VIDEO_H264_LEVEL_1_1";
case STD_VIDEO_H264_LEVEL_1_2: return "STD_VIDEO_H264_LEVEL_1_2";
case STD_VIDEO_H264_LEVEL_1_3: return "STD_VIDEO_H264_LEVEL_1_3";
case STD_VIDEO_H264_LEVEL_2_0: return "STD_VIDEO_H264_LEVEL_2_0";
case STD_VIDEO_H264_LEVEL_2_1: return "STD_VIDEO_H264_LEVEL_2_1";
case STD_VIDEO_H264_LEVEL_2_2: return "STD_VIDEO_H264_LEVEL_2_2";
case STD_VIDEO_H264_LEVEL_3_0: return "STD_VIDEO_H264_LEVEL_3_0";
case STD_VIDEO_H264_LEVEL_3_1: return "STD_VIDEO_H264_LEVEL_3_1";
case STD_VIDEO_H264_LEVEL_3_2: return "STD_VIDEO_H264_LEVEL_3_2";
case STD_VIDEO_H264_LEVEL_4_0: return "STD_VIDEO_H264_LEVEL_4_0";
case STD_VIDEO_H264_LEVEL_4_1: return "STD_VIDEO_H264_LEVEL_4_1";
case STD_VIDEO_H264_LEVEL_4_2: return "STD_VIDEO_H264_LEVEL_4_2";
case STD_VIDEO_H264_LEVEL_5_0: return "STD_VIDEO_H264_LEVEL_5_0";
case STD_VIDEO_H264_LEVEL_5_1: return "STD_VIDEO_H264_LEVEL_5_1";
case STD_VIDEO_H264_LEVEL_5_2: return "STD_VIDEO_H264_LEVEL_5_2";
case STD_VIDEO_H264_LEVEL_6_0: return "STD_VIDEO_H264_LEVEL_6_0";
case STD_VIDEO_H264_LEVEL_6_1: return "STD_VIDEO_H264_LEVEL_6_1";
case STD_VIDEO_H264_LEVEL_6_2: return "STD_VIDEO_H264_LEVEL_6_2";
case STD_VIDEO_H264_LEVEL_INVALID: return "STD_VIDEO_H264_LEVEL_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264PocTypeName (StdVideoH264PocType value)
{
switch (value)
{
case STD_VIDEO_H264_POC_TYPE_0: return "STD_VIDEO_H264_POC_TYPE_0";
case STD_VIDEO_H264_POC_TYPE_1: return "STD_VIDEO_H264_POC_TYPE_1";
case STD_VIDEO_H264_POC_TYPE_2: return "STD_VIDEO_H264_POC_TYPE_2";
case STD_VIDEO_H264_POC_TYPE_INVALID: return "STD_VIDEO_H264_POC_TYPE_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264AspectRatioIdcName (StdVideoH264AspectRatioIdc value)
{
switch (value)
{
case STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR";
case STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264WeightedBipredIdcName (StdVideoH264WeightedBipredIdc value)
{
switch (value)
{
case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT";
case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT";
case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT";
case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264ModificationOfPicNumsIdcName (StdVideoH264ModificationOfPicNumsIdc value)
{
switch (value)
{
case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT";
case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD";
case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM";
case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END";
case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264MemMgmtControlOpName (StdVideoH264MemMgmtControlOp value)
{
switch (value)
{
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM";
case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264CabacInitIdcName (StdVideoH264CabacInitIdc value)
{
switch (value)
{
case STD_VIDEO_H264_CABAC_INIT_IDC_0: return "STD_VIDEO_H264_CABAC_INIT_IDC_0";
case STD_VIDEO_H264_CABAC_INIT_IDC_1: return "STD_VIDEO_H264_CABAC_INIT_IDC_1";
case STD_VIDEO_H264_CABAC_INIT_IDC_2: return "STD_VIDEO_H264_CABAC_INIT_IDC_2";
case STD_VIDEO_H264_CABAC_INIT_IDC_INVALID: return "STD_VIDEO_H264_CABAC_INIT_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264DisableDeblockingFilterIdcName (StdVideoH264DisableDeblockingFilterIdc value)
{
switch (value)
{
case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED";
case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED";
case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL";
case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264SliceTypeName (StdVideoH264SliceType value)
{
switch (value)
{
case STD_VIDEO_H264_SLICE_TYPE_P: return "STD_VIDEO_H264_SLICE_TYPE_P";
case STD_VIDEO_H264_SLICE_TYPE_B: return "STD_VIDEO_H264_SLICE_TYPE_B";
case STD_VIDEO_H264_SLICE_TYPE_I: return "STD_VIDEO_H264_SLICE_TYPE_I";
case STD_VIDEO_H264_SLICE_TYPE_INVALID: return "STD_VIDEO_H264_SLICE_TYPE_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264PictureTypeName (StdVideoH264PictureType value)
{
switch (value)
{
case STD_VIDEO_H264_PICTURE_TYPE_P: return "STD_VIDEO_H264_PICTURE_TYPE_P";
case STD_VIDEO_H264_PICTURE_TYPE_B: return "STD_VIDEO_H264_PICTURE_TYPE_B";
case STD_VIDEO_H264_PICTURE_TYPE_I: return "STD_VIDEO_H264_PICTURE_TYPE_I";
case STD_VIDEO_H264_PICTURE_TYPE_IDR: return "STD_VIDEO_H264_PICTURE_TYPE_IDR";
case STD_VIDEO_H264_PICTURE_TYPE_INVALID: return "STD_VIDEO_H264_PICTURE_TYPE_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH264NonVclNaluTypeName (StdVideoH264NonVclNaluType value)
{
switch (value)
{
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED";
case STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH265ChromaFormatIdcName (StdVideoH265ChromaFormatIdc value)
{
switch (value)
{
case STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME";
case STD_VIDEO_H265_CHROMA_FORMAT_IDC_420: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_420";
case STD_VIDEO_H265_CHROMA_FORMAT_IDC_422: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_422";
case STD_VIDEO_H265_CHROMA_FORMAT_IDC_444: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_444";
case STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH265ProfileIdcName (StdVideoH265ProfileIdc value)
{
switch (value)
{
case STD_VIDEO_H265_PROFILE_IDC_MAIN: return "STD_VIDEO_H265_PROFILE_IDC_MAIN";
case STD_VIDEO_H265_PROFILE_IDC_MAIN_10: return "STD_VIDEO_H265_PROFILE_IDC_MAIN_10";
case STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE: return "STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE";
case STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS: return "STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS";
case STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS: return "STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS";
case STD_VIDEO_H265_PROFILE_IDC_INVALID: return "STD_VIDEO_H265_PROFILE_IDC_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH265LevelName (StdVideoH265Level value)
{
switch (value)
{
case STD_VIDEO_H265_LEVEL_1_0: return "STD_VIDEO_H265_LEVEL_1_0";
case STD_VIDEO_H265_LEVEL_2_0: return "STD_VIDEO_H265_LEVEL_2_0";
case STD_VIDEO_H265_LEVEL_2_1: return "STD_VIDEO_H265_LEVEL_2_1";
case STD_VIDEO_H265_LEVEL_3_0: return "STD_VIDEO_H265_LEVEL_3_0";
case STD_VIDEO_H265_LEVEL_3_1: return "STD_VIDEO_H265_LEVEL_3_1";
case STD_VIDEO_H265_LEVEL_4_0: return "STD_VIDEO_H265_LEVEL_4_0";
case STD_VIDEO_H265_LEVEL_4_1: return "STD_VIDEO_H265_LEVEL_4_1";
case STD_VIDEO_H265_LEVEL_5_0: return "STD_VIDEO_H265_LEVEL_5_0";
case STD_VIDEO_H265_LEVEL_5_1: return "STD_VIDEO_H265_LEVEL_5_1";
case STD_VIDEO_H265_LEVEL_5_2: return "STD_VIDEO_H265_LEVEL_5_2";
case STD_VIDEO_H265_LEVEL_6_0: return "STD_VIDEO_H265_LEVEL_6_0";
case STD_VIDEO_H265_LEVEL_6_1: return "STD_VIDEO_H265_LEVEL_6_1";
case STD_VIDEO_H265_LEVEL_6_2: return "STD_VIDEO_H265_LEVEL_6_2";
case STD_VIDEO_H265_LEVEL_INVALID: return "STD_VIDEO_H265_LEVEL_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH265SliceTypeName (StdVideoH265SliceType value)
{
switch (value)
{
case STD_VIDEO_H265_SLICE_TYPE_B: return "STD_VIDEO_H265_SLICE_TYPE_B";
case STD_VIDEO_H265_SLICE_TYPE_P: return "STD_VIDEO_H265_SLICE_TYPE_P";
case STD_VIDEO_H265_SLICE_TYPE_I: return "STD_VIDEO_H265_SLICE_TYPE_I";
case STD_VIDEO_H265_SLICE_TYPE_INVALID: return "STD_VIDEO_H265_SLICE_TYPE_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoH265PictureTypeName (StdVideoH265PictureType value)
{
switch (value)
{
case STD_VIDEO_H265_PICTURE_TYPE_P: return "STD_VIDEO_H265_PICTURE_TYPE_P";
case STD_VIDEO_H265_PICTURE_TYPE_B: return "STD_VIDEO_H265_PICTURE_TYPE_B";
case STD_VIDEO_H265_PICTURE_TYPE_I: return "STD_VIDEO_H265_PICTURE_TYPE_I";
case STD_VIDEO_H265_PICTURE_TYPE_IDR: return "STD_VIDEO_H265_PICTURE_TYPE_IDR";
case STD_VIDEO_H265_PICTURE_TYPE_INVALID: return "STD_VIDEO_H265_PICTURE_TYPE_INVALID";
default: return DE_NULL;
}
}
const char* getdVideoDecodeH264FieldOrderCountName (StdVideoDecodeH264FieldOrderCount value)
{
switch (value)
{
case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP";
case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM";
case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID";
default: return DE_NULL;
}
}
const char* getFullScreenExclusiveEXTName (VkFullScreenExclusiveEXT value)
{
switch (value)
{
case VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT";
case VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT";
case VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT";
case VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT";
case VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT";
default: return DE_NULL;
}
}
tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_ACCESS_INDIRECT_COMMAND_READ_BIT, "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_INDEX_READ_BIT, "VK_ACCESS_INDEX_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_UNIFORM_READ_BIT, "VK_ACCESS_UNIFORM_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_SHADER_READ_BIT, "VK_ACCESS_SHADER_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_SHADER_WRITE_BIT, "VK_ACCESS_SHADER_WRITE_BIT"),
tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"),
tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"),
tcu::Format::BitDesc(VK_ACCESS_TRANSFER_READ_BIT, "VK_ACCESS_TRANSFER_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_TRANSFER_WRITE_BIT, "VK_ACCESS_TRANSFER_WRITE_BIT"),
tcu::Format::BitDesc(VK_ACCESS_HOST_READ_BIT, "VK_ACCESS_HOST_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_HOST_WRITE_BIT, "VK_ACCESS_HOST_WRITE_BIT"),
tcu::Format::BitDesc(VK_ACCESS_MEMORY_READ_BIT, "VK_ACCESS_MEMORY_READ_BIT"),
tcu::Format::BitDesc(VK_ACCESS_MEMORY_WRITE_BIT, "VK_ACCESS_MEMORY_WRITE_BIT"),
tcu::Format::BitDesc(VK_ACCESS_NONE, "VK_ACCESS_NONE"),
tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"),
tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"),
tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"),
tcu::Format::BitDesc(VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT, "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"),
tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"),
tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"),
tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"),
tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"),
tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"),
tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV, "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"),
tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV, "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"),
tcu::Format::BitDesc(VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV, "VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV"),
tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV, "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV"),
tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV, "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV"),
tcu::Format::BitDesc(VK_ACCESS_NONE_KHR, "VK_ACCESS_NONE_KHR"),
tcu::Format::BitDesc(VK_ACCESS_FLAG_BITS_MAX_ENUM, "VK_ACCESS_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_IMAGE_ASPECT_COLOR_BIT, "VK_IMAGE_ASPECT_COLOR_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_DEPTH_BIT, "VK_IMAGE_ASPECT_DEPTH_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_STENCIL_BIT, "VK_IMAGE_ASPECT_STENCIL_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_METADATA_BIT, "VK_IMAGE_ASPECT_METADATA_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT, "VK_IMAGE_ASPECT_PLANE_0_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT, "VK_IMAGE_ASPECT_PLANE_1_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT, "VK_IMAGE_ASPECT_PLANE_2_BIT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_NONE_KHR, "VK_IMAGE_ASPECT_NONE_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_0_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_1_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_2_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM, "VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_SRC_BIT, "VK_FORMAT_FEATURE_BLIT_SRC_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_DST_BIT, "VK_FORMAT_FEATURE_BLIT_DST_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_DST_BIT, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_DISJOINT_BIT, "VK_FORMAT_FEATURE_DISJOINT_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR, "VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT, "VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR, "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_DISJOINT_BIT_KHR, "VK_FORMAT_FEATURE_DISJOINT_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR, "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT"),
tcu::Format::BitDesc(VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM, "VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_BINDING_BIT, "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_ALIAS_BIT, "VK_IMAGE_CREATE_ALIAS_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_PROTECTED_BIT, "VK_IMAGE_CREATE_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_DISJOINT_BIT, "VK_IMAGE_CREATE_DISJOINT_BIT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT, "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR, "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_DISJOINT_BIT_KHR, "VK_IMAGE_CREATE_DISJOINT_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_ALIAS_BIT_KHR, "VK_IMAGE_CREATE_ALIAS_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM, "VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSampleCountFlagsStr (VkSampleCountFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SAMPLE_COUNT_1_BIT, "VK_SAMPLE_COUNT_1_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_2_BIT, "VK_SAMPLE_COUNT_2_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_4_BIT, "VK_SAMPLE_COUNT_4_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_8_BIT, "VK_SAMPLE_COUNT_8_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_16_BIT, "VK_SAMPLE_COUNT_16_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_32_BIT, "VK_SAMPLE_COUNT_32_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_64_BIT, "VK_SAMPLE_COUNT_64_BIT"),
tcu::Format::BitDesc(VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM, "VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_SRC_BIT, "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_DST_BIT, "VK_IMAGE_USAGE_TRANSFER_DST_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_SAMPLED_BIT, "VK_IMAGE_USAGE_SAMPLED_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_STORAGE_BIT, "VK_IMAGE_USAGE_STORAGE_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI, "VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV, "VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV"),
tcu::Format::BitDesc(VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM, "VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"),
tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"),
tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR, "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR"),
tcu::Format::BitDesc(VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM, "VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getMemoryPropertyFlagsStr (VkMemoryPropertyFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_CACHED_BIT, "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_PROTECTED_BIT, "VK_MEMORY_PROPERTY_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD, "VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD, "VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV, "VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV"),
tcu::Format::BitDesc(VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM, "VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_QUEUE_GRAPHICS_BIT, "VK_QUEUE_GRAPHICS_BIT"),
tcu::Format::BitDesc(VK_QUEUE_COMPUTE_BIT, "VK_QUEUE_COMPUTE_BIT"),
tcu::Format::BitDesc(VK_QUEUE_TRANSFER_BIT, "VK_QUEUE_TRANSFER_BIT"),
tcu::Format::BitDesc(VK_QUEUE_SPARSE_BINDING_BIT, "VK_QUEUE_SPARSE_BINDING_BIT"),
tcu::Format::BitDesc(VK_QUEUE_PROTECTED_BIT, "VK_QUEUE_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_QUEUE_VIDEO_DECODE_BIT_KHR, "VK_QUEUE_VIDEO_DECODE_BIT_KHR"),
tcu::Format::BitDesc(VK_QUEUE_VIDEO_ENCODE_BIT_KHR, "VK_QUEUE_VIDEO_ENCODE_BIT_KHR"),
tcu::Format::BitDesc(VK_QUEUE_FLAG_BITS_MAX_ENUM, "VK_QUEUE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDeviceQueueCreateFlagsStr (VkDeviceQueueCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT, "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM, "VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineStageFlagsStr (VkPipelineStageFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_TRANSFER_BIT, "VK_PIPELINE_STAGE_TRANSFER_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_HOST_BIT, "VK_PIPELINE_STAGE_HOST_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_NONE, "VK_PIPELINE_STAGE_NONE"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT, "VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT, "VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV, "VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV, "VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT, "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV, "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV, "VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV, "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_NONE_KHR, "VK_PIPELINE_STAGE_NONE_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_METADATA_BIT, "VK_SPARSE_MEMORY_BIND_METADATA_BIT"),
tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM, "VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSparseImageFormatFlagsStr (VkSparseImageFormatFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"),
tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"),
tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"),
tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM, "VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getFenceCreateFlagsStr (VkFenceCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_FENCE_CREATE_SIGNALED_BIT, "VK_FENCE_CREATE_SIGNALED_BIT"),
tcu::Format::BitDesc(VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM, "VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getEventCreateFlagsStr (VkEventCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EVENT_CREATE_DEVICE_ONLY_BIT, "VK_EVENT_CREATE_DEVICE_ONLY_BIT"),
tcu::Format::BitDesc(VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR, "VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR"),
tcu::Format::BitDesc(VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM, "VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getQueryPipelineStatisticFlagsStr (VkQueryPipelineStatisticFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"),
tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM, "VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getQueryResultFlagsStr (VkQueryResultFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_QUERY_RESULT_64_BIT, "VK_QUERY_RESULT_64_BIT"),
tcu::Format::BitDesc(VK_QUERY_RESULT_WAIT_BIT, "VK_QUERY_RESULT_WAIT_BIT"),
tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"),
tcu::Format::BitDesc(VK_QUERY_RESULT_PARTIAL_BIT, "VK_QUERY_RESULT_PARTIAL_BIT"),
tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, "VK_QUERY_RESULT_WITH_STATUS_BIT_KHR"),
tcu::Format::BitDesc(VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM, "VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getBufferCreateFlagsStr (VkBufferCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_BINDING_BIT, "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_PROTECTED_BIT, "VK_BUFFER_CREATE_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM, "VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_DST_BIT, "VK_BUFFER_USAGE_TRANSFER_DST_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_INDEX_BUFFER_BIT, "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT, "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT, "VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR, "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR, "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, "VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_RAY_TRACING_BIT_NV, "VK_BUFFER_USAGE_RAY_TRACING_BIT_NV"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR"),
tcu::Format::BitDesc(VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM, "VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM, "VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT, "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_COLOR_COMPONENT_R_BIT, "VK_COLOR_COMPONENT_R_BIT"),
tcu::Format::BitDesc(VK_COLOR_COMPONENT_G_BIT, "VK_COLOR_COMPONENT_G_BIT"),
tcu::Format::BitDesc(VK_COLOR_COMPONENT_B_BIT, "VK_COLOR_COMPONENT_B_BIT"),
tcu::Format::BitDesc(VK_COLOR_COMPONENT_A_BIT, "VK_COLOR_COMPONENT_A_BIT"),
tcu::Format::BitDesc(VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM, "VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_DERIVATIVE_BIT, "VK_PIPELINE_CREATE_DERIVATIVE_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV, "VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR, "VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR, "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_LIBRARY_BIT_KHR, "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV, "VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE, "VK_PIPELINE_CREATE_DISPATCH_BASE"),
tcu::Format::BitDesc(VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR, "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE_KHR, "VK_PIPELINE_CREATE_DISPATCH_BASE_KHR"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineShaderStageCreateFlagsStr (VkPipelineShaderStageCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT, "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getShaderStageFlagsStr (VkShaderStageFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SHADER_STAGE_VERTEX_BIT, "VK_SHADER_STAGE_VERTEX_BIT"),
tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"),
tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"),
tcu::Format::BitDesc(VK_SHADER_STAGE_GEOMETRY_BIT, "VK_SHADER_STAGE_GEOMETRY_BIT"),
tcu::Format::BitDesc(VK_SHADER_STAGE_FRAGMENT_BIT, "VK_SHADER_STAGE_FRAGMENT_BIT"),
tcu::Format::BitDesc(VK_SHADER_STAGE_COMPUTE_BIT, "VK_SHADER_STAGE_COMPUTE_BIT"),
tcu::Format::BitDesc(VK_SHADER_STAGE_ALL_GRAPHICS, "VK_SHADER_STAGE_ALL_GRAPHICS"),
tcu::Format::BitDesc(VK_SHADER_STAGE_ALL, "VK_SHADER_STAGE_ALL"),
tcu::Format::BitDesc(VK_SHADER_STAGE_RAYGEN_BIT_KHR, "VK_SHADER_STAGE_RAYGEN_BIT_KHR"),
tcu::Format::BitDesc(VK_SHADER_STAGE_ANY_HIT_BIT_KHR, "VK_SHADER_STAGE_ANY_HIT_BIT_KHR"),
tcu::Format::BitDesc(VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"),
tcu::Format::BitDesc(VK_SHADER_STAGE_MISS_BIT_KHR, "VK_SHADER_STAGE_MISS_BIT_KHR"),
tcu::Format::BitDesc(VK_SHADER_STAGE_INTERSECTION_BIT_KHR, "VK_SHADER_STAGE_INTERSECTION_BIT_KHR"),
tcu::Format::BitDesc(VK_SHADER_STAGE_CALLABLE_BIT_KHR, "VK_SHADER_STAGE_CALLABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_SHADER_STAGE_TASK_BIT_NV, "VK_SHADER_STAGE_TASK_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_MESH_BIT_NV, "VK_SHADER_STAGE_MESH_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI, "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"),
tcu::Format::BitDesc(VK_SHADER_STAGE_RAYGEN_BIT_NV, "VK_SHADER_STAGE_RAYGEN_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_ANY_HIT_BIT_NV, "VK_SHADER_STAGE_ANY_HIT_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV, "VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_MISS_BIT_NV, "VK_SHADER_STAGE_MISS_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_INTERSECTION_BIT_NV, "VK_SHADER_STAGE_INTERSECTION_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_CALLABLE_BIT_NV, "VK_SHADER_STAGE_CALLABLE_BIT_NV"),
tcu::Format::BitDesc(VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM, "VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getCullModeFlagsStr (VkCullModeFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_CULL_MODE_NONE, "VK_CULL_MODE_NONE"),
tcu::Format::BitDesc(VK_CULL_MODE_FRONT_BIT, "VK_CULL_MODE_FRONT_BIT"),
tcu::Format::BitDesc(VK_CULL_MODE_BACK_BIT, "VK_CULL_MODE_BACK_BIT"),
tcu::Format::BitDesc(VK_CULL_MODE_FRONT_AND_BACK, "VK_CULL_MODE_FRONT_AND_BACK"),
tcu::Format::BitDesc(VK_CULL_MODE_FLAG_BITS_MAX_ENUM, "VK_CULL_MODE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineDepthStencilStateCreateFlagsStr (VkPipelineDepthStencilStateCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM"),
tcu::Format::BitDesc(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM, "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM"),
tcu::Format::BitDesc(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineColorBlendStateCreateFlagsStr (VkPipelineColorBlendStateCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM, "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM"),
tcu::Format::BitDesc(VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT"),
tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT, "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT"),
tcu::Format::BitDesc(VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM, "VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE, "VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE"),
tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT, "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM, "VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetLayoutCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"),
tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE"),
tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"),
tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM, "VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEPENDENCY_BY_REGION_BIT, "VK_DEPENDENCY_BY_REGION_BIT"),
tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT, "VK_DEPENDENCY_DEVICE_GROUP_BIT"),
tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT, "VK_DEPENDENCY_VIEW_LOCAL_BIT"),
tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR, "VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR"),
tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR, "VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR"),
tcu::Format::BitDesc(VK_DEPENDENCY_FLAG_BITS_MAX_ENUM, "VK_DEPENDENCY_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"),
tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR, "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR"),
tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM, "VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM, "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"),
tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM, "VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX, "VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, "VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, "VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM"),
tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM, "VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getCommandPoolCreateFlagsStr (VkCommandPoolCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"),
tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"),
tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_PROTECTED_BIT, "VK_COMMAND_POOL_CREATE_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM, "VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getCommandPoolResetFlagsStr (VkCommandPoolResetFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"),
tcu::Format::BitDesc(VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM, "VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getCommandBufferUsageFlagsStr (VkCommandBufferUsageFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"),
tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"),
tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"),
tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM, "VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getQueryControlFlagsStr (VkQueryControlFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_QUERY_CONTROL_PRECISE_BIT, "VK_QUERY_CONTROL_PRECISE_BIT"),
tcu::Format::BitDesc(VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM, "VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getCommandBufferResetFlagsStr (VkCommandBufferResetFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"),
tcu::Format::BitDesc(VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM, "VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getStencilFaceFlagsStr (VkStencilFaceFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_BIT, "VK_STENCIL_FACE_FRONT_BIT"),
tcu::Format::BitDesc(VK_STENCIL_FACE_BACK_BIT, "VK_STENCIL_FACE_BACK_BIT"),
tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_AND_BACK, "VK_STENCIL_FACE_FRONT_AND_BACK"),
tcu::Format::BitDesc(VK_STENCIL_FRONT_AND_BACK, "VK_STENCIL_FRONT_AND_BACK"),
tcu::Format::BitDesc(VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM, "VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSubgroupFeatureFlagsStr (VkSubgroupFeatureFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_BASIC_BIT, "VK_SUBGROUP_FEATURE_BASIC_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_VOTE_BIT, "VK_SUBGROUP_FEATURE_VOTE_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_BALLOT_BIT, "VK_SUBGROUP_FEATURE_BALLOT_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_BIT, "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT, "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_CLUSTERED_BIT, "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_QUAD_BIT, "VK_SUBGROUP_FEATURE_QUAD_BIT"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV, "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"),
tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM, "VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPeerMemoryFeatureFlagsStr (VkPeerMemoryFeatureFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR, "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR, "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR, "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR, "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR"),
tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM, "VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getMemoryAllocateFlagsStr (VkMemoryAllocateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"),
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT"),
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"),
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR, "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR"),
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR"),
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"),
tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM, "VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsStr (VkExternalMemoryHandleTypeFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsStr (VkExternalMemoryFeatureFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalFenceHandleTypeFlagsStr (VkExternalFenceHandleTypeFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalFenceFeatureFlagsStr (VkExternalFenceFeatureFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR, "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR, "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getFenceImportFlagsStr (VkFenceImportFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_FENCE_IMPORT_TEMPORARY_BIT, "VK_FENCE_IMPORT_TEMPORARY_BIT"),
tcu::Format::BitDesc(VK_FENCE_IMPORT_TEMPORARY_BIT_KHR, "VK_FENCE_IMPORT_TEMPORARY_BIT_KHR"),
tcu::Format::BitDesc(VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM, "VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSemaphoreImportFlagsStr (VkSemaphoreImportFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"),
tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR, "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR"),
tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM, "VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalSemaphoreHandleTypeFlagsStr (VkExternalSemaphoreHandleTypeFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalSemaphoreFeatureFlagsStr (VkExternalSemaphoreFeatureFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getResolveModeFlagsStr (VkResolveModeFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_RESOLVE_MODE_NONE, "VK_RESOLVE_MODE_NONE"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_AVERAGE_BIT, "VK_RESOLVE_MODE_AVERAGE_BIT"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_MIN_BIT, "VK_RESOLVE_MODE_MIN_BIT"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_MAX_BIT, "VK_RESOLVE_MODE_MAX_BIT"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_NONE_KHR, "VK_RESOLVE_MODE_NONE_KHR"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR, "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_AVERAGE_BIT_KHR, "VK_RESOLVE_MODE_AVERAGE_BIT_KHR"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_MIN_BIT_KHR, "VK_RESOLVE_MODE_MIN_BIT_KHR"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_MAX_BIT_KHR, "VK_RESOLVE_MODE_MAX_BIT_KHR"),
tcu::Format::BitDesc(VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM, "VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDescriptorBindingFlagsStr (VkDescriptorBindingFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT, "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT, "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT, "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT, "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"),
tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM, "VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSemaphoreWaitFlagsStr (VkSemaphoreWaitFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_ANY_BIT, "VK_SEMAPHORE_WAIT_ANY_BIT"),
tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_ANY_BIT_KHR, "VK_SEMAPHORE_WAIT_ANY_BIT_KHR"),
tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM, "VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineCreationFeedbackFlagsStr (VkPipelineCreationFeedbackFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT"),
tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getToolPurposeFlagsStr (VkToolPurposeFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_TOOL_PURPOSE_VALIDATION_BIT, "VK_TOOL_PURPOSE_VALIDATION_BIT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_PROFILING_BIT, "VK_TOOL_PURPOSE_PROFILING_BIT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_TRACING_BIT, "VK_TOOL_PURPOSE_TRACING_BIT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT, "VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT, "VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_VALIDATION_BIT_EXT, "VK_TOOL_PURPOSE_VALIDATION_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_PROFILING_BIT_EXT, "VK_TOOL_PURPOSE_PROFILING_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_TRACING_BIT_EXT, "VK_TOOL_PURPOSE_TRACING_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT, "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT, "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT"),
tcu::Format::BitDesc(VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM, "VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsStr (VkPrivateDataSlotCreateFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM, "VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSubmitFlagsStr (VkSubmitFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SUBMIT_PROTECTED_BIT, "VK_SUBMIT_PROTECTED_BIT"),
tcu::Format::BitDesc(VK_SUBMIT_PROTECTED_BIT_KHR, "VK_SUBMIT_PROTECTED_BIT_KHR"),
tcu::Format::BitDesc(VK_SUBMIT_FLAG_BITS_MAX_ENUM, "VK_SUBMIT_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getRenderingFlagsStr (VkRenderingFlags value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT"),
tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT, "VK_RENDERING_SUSPENDING_BIT"),
tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT, "VK_RENDERING_RESUMING_BIT"),
tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR"),
tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT_KHR, "VK_RENDERING_SUSPENDING_BIT_KHR"),
tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT_KHR, "VK_RENDERING_RESUMING_BIT_KHR"),
tcu::Format::BitDesc(VK_RENDERING_FLAG_BITS_MAX_ENUM, "VK_RENDERING_FLAG_BITS_MAX_ENUM"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSurfaceTransformFlagsKHRStr (VkSurfaceTransformFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR, "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"),
tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR, "VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getCompositeAlphaFlagsKHRStr (VkCompositeAlphaFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"),
tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"),
tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"),
tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"),
tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR, "VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, "VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"),
tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, "VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR"),
tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR, "VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR"),
tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR, "VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDeviceGroupPresentModeFlagsKHRStr (VkDeviceGroupPresentModeFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"),
tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"),
tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"),
tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"),
tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDisplayPlaneAlphaFlagsKHRStr (VkDisplayPlaneAlphaFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"),
tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"),
tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"),
tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"),
tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR, "VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPerformanceCounterDescriptionFlagsKHRStr (VkPerformanceCounterDescriptionFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR"),
tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR"),
tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR"),
tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR"),
tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getAcquireProfilingLockFlagsKHRStr (VkAcquireProfilingLockFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR, "VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDebugReportFlagsEXTStr (VkDebugReportFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEBUG_REPORT_INFORMATION_BIT_EXT, "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_REPORT_WARNING_BIT_EXT, "VK_DEBUG_REPORT_WARNING_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VK_DEBUG_REPORT_ERROR_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_REPORT_DEBUG_BIT_EXT, "VK_DEBUG_REPORT_DEBUG_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT, "VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsNVStr (VkExternalMemoryHandleTypeFlagsNV value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsNVStr (VkExternalMemoryFeatureFlagsNV value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"),
tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV, "VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getConditionalRenderingFlagsEXTStr (VkConditionalRenderingFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT, "VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"),
tcu::Format::BitDesc(VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT, "VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getSurfaceCounterFlagsEXTStr (VkSurfaceCounterFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SURFACE_COUNTER_VBLANK_BIT_EXT, "VK_SURFACE_COUNTER_VBLANK_BIT_EXT"),
tcu::Format::BitDesc(VK_SURFACE_COUNTER_VBLANK_EXT, "VK_SURFACE_COUNTER_VBLANK_EXT"),
tcu::Format::BitDesc(VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT, "VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDebugUtilsMessageSeverityFlagsEXTStr (VkDebugUtilsMessageSeverityFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDebugUtilsMessageTypeFlagsEXTStr (VkDebugUtilsMessageTypeFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"),
tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getGeometryFlagsKHRStr (VkGeometryFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_GEOMETRY_OPAQUE_BIT_KHR, "VK_GEOMETRY_OPAQUE_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_OPAQUE_BIT_NV, "VK_GEOMETRY_OPAQUE_BIT_NV"),
tcu::Format::BitDesc(VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV, "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV"),
tcu::Format::BitDesc(VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR, "VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getGeometryInstanceFlagsKHRStr (VkGeometryInstanceFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, "VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV, "VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV, "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV, "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV, "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV"),
tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR, "VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsKHRStr (VkBuildAccelerationStructureFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getPipelineCompilerControlFlagsAMDStr (VkPipelineCompilerControlFlagsAMD value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD, "VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getShaderCorePropertiesFlagsAMDStr (VkShaderCorePropertiesFlagsAMD value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD, "VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getIndirectStateFlagsNVStr (VkIndirectStateFlagsNV value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV, "VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV"),
tcu::Format::BitDesc(VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV, "VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getIndirectCommandsLayoutUsageFlagsNVStr (VkIndirectCommandsLayoutUsageFlagsNV value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV"),
tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV"),
tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV"),
tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getDeviceDiagnosticsConfigFlagsNVStr (VkDeviceDiagnosticsConfigFlagsNV value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV"),
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV"),
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV"),
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getAccelerationStructureCreateFlagsKHRStr (VkAccelerationStructureCreateFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"),
tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV, "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV"),
tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR, "VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoCodecOperationFlagsKHRStr (VkVideoCodecOperationFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR, "VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoChromaSubsamplingFlagsKHRStr (VkVideoChromaSubsamplingFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoComponentBitDepthFlagsKHRStr (VkVideoComponentBitDepthFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR"),
tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoCapabilityFlagsKHRStr (VkVideoCapabilityFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR, "VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR, "VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoSessionCreateFlagsKHRStr (VkVideoSessionCreateFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_SESSION_CREATE_DEFAULT_KHR, "VK_VIDEO_SESSION_CREATE_DEFAULT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR, "VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoCodingControlFlagsKHRStr (VkVideoCodingControlFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_CODING_CONTROL_DEFAULT_KHR, "VK_VIDEO_CODING_CONTROL_DEFAULT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR, "VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoCodingQualityPresetFlagsKHRStr (VkVideoCodingQualityPresetFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoDecodeFlagsKHRStr (VkVideoDecodeFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_DECODE_DEFAULT_KHR, "VK_VIDEO_DECODE_DEFAULT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_DECODE_RESERVED_0_BIT_KHR, "VK_VIDEO_DECODE_RESERVED_0_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeFlagsKHRStr (VkVideoEncodeFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_DEFAULT_KHR, "VK_VIDEO_ENCODE_DEFAULT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR, "VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeRateControlFlagsKHRStr (VkVideoEncodeRateControlFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeRateControlModeFlagsKHRStr (VkVideoEncodeRateControlModeFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncodeH264CapabilityFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH264InputModeFlagsEXTStr (VkVideoEncodeH264InputModeFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH264OutputModeFlagsEXTStr (VkVideoEncodeH264OutputModeFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH264CreateFlagsEXTStr (VkVideoEncodeH264CreateFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT, "VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT, "VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CREATE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_CREATE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH264RateControlStructureFlagsEXTStr (VkVideoEncodeH264RateControlStructureFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH265InputModeFlagsEXTStr (VkVideoEncodeH265InputModeFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH265OutputModeFlagsEXTStr (VkVideoEncodeH265OutputModeFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH265CtbSizeFlagsEXTStr (VkVideoEncodeH265CtbSizeFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoEncodeH265RateControlStructureFlagsEXTStr (VkVideoEncodeH265RateControlStructureFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getVideoDecodeH264PictureLayoutFlagsEXTStr (VkVideoDecodeH264PictureLayoutFlagsEXT value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT"),
tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getImageConstraintsInfoFlagsFUCHSIAStr (VkImageConstraintsInfoFlagsFUCHSIA value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA"),
tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA"),
tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA"),
tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA"),
tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA"),
tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
tcu::Format::Bitfield<32> getInstanceCreateFlagsStr (VkInstanceCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDeviceCreateFlagsStr (VkDeviceCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getMemoryMapFlagsStr (VkMemoryMapFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getSemaphoreCreateFlagsStr (VkSemaphoreCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getQueryPoolCreateFlagsStr (VkQueryPoolCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getBufferViewCreateFlagsStr (VkBufferViewCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getShaderModuleCreateFlagsStr (VkShaderModuleCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineVertexInputStateCreateFlagsStr (VkPipelineVertexInputStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineInputAssemblyStateCreateFlagsStr (VkPipelineInputAssemblyStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineTessellationStateCreateFlagsStr (VkPipelineTessellationStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineViewportStateCreateFlagsStr (VkPipelineViewportStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineRasterizationStateCreateFlagsStr (VkPipelineRasterizationStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineMultisampleStateCreateFlagsStr (VkPipelineMultisampleStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineDynamicStateCreateFlagsStr (VkPipelineDynamicStateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineLayoutCreateFlagsStr (VkPipelineLayoutCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDescriptorPoolResetFlagsStr (VkDescriptorPoolResetFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getCommandPoolTrimFlagsStr (VkCommandPoolTrimFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsStr (VkDescriptorUpdateTemplateCreateFlags value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDisplayModeCreateFlagsKHRStr (VkDisplayModeCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDisplaySurfaceCreateFlagsKHRStr (VkDisplaySurfaceCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineRasterizationStateStreamCreateFlagsEXTStr (VkPipelineRasterizationStateStreamCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineViewportSwizzleStateCreateFlagsNVStr (VkPipelineViewportSwizzleStateCreateFlagsNV value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineDiscardRectangleStateCreateFlagsEXTStr (VkPipelineDiscardRectangleStateCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineRasterizationConservativeStateCreateFlagsEXTStr (VkPipelineRasterizationConservativeStateCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineRasterizationDepthClipStateCreateFlagsEXTStr (VkPipelineRasterizationDepthClipStateCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDebugUtilsMessengerCallbackDataFlagsEXTStr (VkDebugUtilsMessengerCallbackDataFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDebugUtilsMessengerCreateFlagsEXTStr (VkDebugUtilsMessengerCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineCoverageToColorStateCreateFlagsNVStr (VkPipelineCoverageToColorStateCreateFlagsNV value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineCoverageModulationStateCreateFlagsNVStr (VkPipelineCoverageModulationStateCreateFlagsNV value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getValidationCacheCreateFlagsEXTStr (VkValidationCacheCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getPipelineCoverageReductionStateCreateFlagsNVStr (VkPipelineCoverageReductionStateCreateFlagsNV value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getHeadlessSurfaceCreateFlagsEXTStr (VkHeadlessSurfaceCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getDeviceMemoryReportFlagsEXTStr (VkDeviceMemoryReportFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getAccelerationStructureMotionInfoFlagsNVStr (VkAccelerationStructureMotionInfoFlagsNV value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getAccelerationStructureMotionInstanceFlagsNVStr (VkAccelerationStructureMotionInstanceFlagsNV value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getAndroidSurfaceCreateFlagsKHRStr (VkAndroidSurfaceCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getVideoBeginCodingFlagsKHRStr (VkVideoBeginCodingFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getVideoEndCodingFlagsKHRStr (VkVideoEndCodingFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getVideoEncodeH265CapabilityFlagsEXTStr (VkVideoEncodeH265CapabilityFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getVideoEncodeH265CreateFlagsEXTStr (VkVideoEncodeH265CreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getVideoDecodeH264CreateFlagsEXTStr (VkVideoDecodeH264CreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getVideoDecodeH265CreateFlagsEXTStr (VkVideoDecodeH265CreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getImagePipeSurfaceCreateFlagsFUCHSIAStr (VkImagePipeSurfaceCreateFlagsFUCHSIA value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getImageFormatConstraintsFlagsFUCHSIAStr (VkImageFormatConstraintsFlagsFUCHSIA value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getStreamDescriptorSurfaceCreateFlagsGGPStr (VkStreamDescriptorSurfaceCreateFlagsGGP value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getIOSSurfaceCreateFlagsMVKStr (VkIOSSurfaceCreateFlagsMVK value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getMacOSSurfaceCreateFlagsMVKStr (VkMacOSSurfaceCreateFlagsMVK value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getMetalSurfaceCreateFlagsEXTStr (VkMetalSurfaceCreateFlagsEXT value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getViSurfaceCreateFlagsNNStr (VkViSurfaceCreateFlagsNN value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getWaylandSurfaceCreateFlagsKHRStr (VkWaylandSurfaceCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getWin32SurfaceCreateFlagsKHRStr (VkWin32SurfaceCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr (VkXcbSurfaceCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR value)
{
return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
}
tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsNVStr (VkBuildAccelerationStructureFlagsNV value)
{
static const tcu::Format::BitDesc s_desc[] =
{
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV"),
tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
std::ostream& operator<< (std::ostream& s, const VkExtent2D& value)
{
s << "VkExtent2D = {\n";
s << "\twidth = " << value.width << '\n';
s << "\theight = " << value.height << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExtent3D& value)
{
s << "VkExtent3D = {\n";
s << "\twidth = " << value.width << '\n';
s << "\theight = " << value.height << '\n';
s << "\tdepth = " << value.depth << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkOffset2D& value)
{
s << "VkOffset2D = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkOffset3D& value)
{
s << "VkOffset3D = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << "\tz = " << value.z << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRect2D& value)
{
s << "VkRect2D = {\n";
s << "\toffset = " << value.offset << '\n';
s << "\textent = " << value.extent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBaseInStructure& value)
{
s << "VkBaseInStructure = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBaseOutStructure& value)
{
s << "VkBaseOutStructure = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value)
{
s << "VkBufferMemoryBarrier = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value)
{
s << "VkDispatchIndirectCommand = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << "\tz = " << value.z << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value)
{
s << "VkDrawIndexedIndirectCommand = {\n";
s << "\tindexCount = " << value.indexCount << '\n';
s << "\tinstanceCount = " << value.instanceCount << '\n';
s << "\tfirstIndex = " << value.firstIndex << '\n';
s << "\tvertexOffset = " << value.vertexOffset << '\n';
s << "\tfirstInstance = " << value.firstInstance << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value)
{
s << "VkDrawIndirectCommand = {\n";
s << "\tvertexCount = " << value.vertexCount << '\n';
s << "\tinstanceCount = " << value.instanceCount << '\n';
s << "\tfirstVertex = " << value.firstVertex << '\n';
s << "\tfirstInstance = " << value.firstInstance << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value)
{
s << "VkImageSubresourceRange = {\n";
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << "\tbaseMipLevel = " << value.baseMipLevel << '\n';
s << "\tlevelCount = " << value.levelCount << '\n';
s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n';
s << "\tlayerCount = " << value.layerCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value)
{
s << "VkImageMemoryBarrier = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
s << "\toldLayout = " << value.oldLayout << '\n';
s << "\tnewLayout = " << value.newLayout << '\n';
s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
s << "\timage = " << value.image << '\n';
s << "\tsubresourceRange = " << value.subresourceRange << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value)
{
s << "VkMemoryBarrier = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCacheHeaderVersionOne& value)
{
s << "VkPipelineCacheHeaderVersionOne = {\n";
s << "\theaderSize = " << value.headerSize << '\n';
s << "\theaderVersion = " << value.headerVersion << '\n';
s << "\tvendorID = " << value.vendorID << '\n';
s << "\tdeviceID = " << value.deviceID << '\n';
s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value)
{
s << "VkAllocationCallbacks = {\n";
s << "\tpUserData = " << value.pUserData << '\n';
s << "\tpfnAllocation = " << value.pfnAllocation << '\n';
s << "\tpfnReallocation = " << value.pfnReallocation << '\n';
s << "\tpfnFree = " << value.pfnFree << '\n';
s << "\tpfnInternalAllocation = " << value.pfnInternalAllocation << '\n';
s << "\tpfnInternalFree = " << value.pfnInternalFree << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value)
{
s << "VkApplicationInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpApplicationName = " << getCharPtrStr(value.pApplicationName) << '\n';
s << "\tapplicationVersion = " << value.applicationVersion << '\n';
s << "\tpEngineName = " << getCharPtrStr(value.pEngineName) << '\n';
s << "\tengineVersion = " << value.engineVersion << '\n';
s << "\tapiVersion = " << value.apiVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value)
{
s << "VkFormatProperties = {\n";
s << "\tlinearTilingFeatures = " << getFormatFeatureFlagsStr(value.linearTilingFeatures) << '\n';
s << "\toptimalTilingFeatures = " << getFormatFeatureFlagsStr(value.optimalTilingFeatures) << '\n';
s << "\tbufferFeatures = " << getFormatFeatureFlagsStr(value.bufferFeatures) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value)
{
s << "VkImageFormatProperties = {\n";
s << "\tmaxExtent = " << value.maxExtent << '\n';
s << "\tmaxMipLevels = " << value.maxMipLevels << '\n';
s << "\tmaxArrayLayers = " << value.maxArrayLayers << '\n';
s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n';
s << "\tmaxResourceSize = " << value.maxResourceSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value)
{
s << "VkInstanceCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getInstanceCreateFlagsStr(value.flags) << '\n';
s << "\tpApplicationInfo = " << value.pApplicationInfo << '\n';
s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n';
s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n';
s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n';
s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value)
{
s << "VkMemoryHeap = {\n";
s << "\tsize = " << value.size << '\n';
s << "\tflags = " << getMemoryHeapFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryType& value)
{
s << "VkMemoryType = {\n";
s << "\tpropertyFlags = " << getMemoryPropertyFlagsStr(value.propertyFlags) << '\n';
s << "\theapIndex = " << value.heapIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures& value)
{
s << "VkPhysicalDeviceFeatures = {\n";
s << "\trobustBufferAccess = " << value.robustBufferAccess << '\n';
s << "\tfullDrawIndexUint32 = " << value.fullDrawIndexUint32 << '\n';
s << "\timageCubeArray = " << value.imageCubeArray << '\n';
s << "\tindependentBlend = " << value.independentBlend << '\n';
s << "\tgeometryShader = " << value.geometryShader << '\n';
s << "\ttessellationShader = " << value.tessellationShader << '\n';
s << "\tsampleRateShading = " << value.sampleRateShading << '\n';
s << "\tdualSrcBlend = " << value.dualSrcBlend << '\n';
s << "\tlogicOp = " << value.logicOp << '\n';
s << "\tmultiDrawIndirect = " << value.multiDrawIndirect << '\n';
s << "\tdrawIndirectFirstInstance = " << value.drawIndirectFirstInstance << '\n';
s << "\tdepthClamp = " << value.depthClamp << '\n';
s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n';
s << "\tfillModeNonSolid = " << value.fillModeNonSolid << '\n';
s << "\tdepthBounds = " << value.depthBounds << '\n';
s << "\twideLines = " << value.wideLines << '\n';
s << "\tlargePoints = " << value.largePoints << '\n';
s << "\talphaToOne = " << value.alphaToOne << '\n';
s << "\tmultiViewport = " << value.multiViewport << '\n';
s << "\tsamplerAnisotropy = " << value.samplerAnisotropy << '\n';
s << "\ttextureCompressionETC2 = " << value.textureCompressionETC2 << '\n';
s << "\ttextureCompressionASTC_LDR = " << value.textureCompressionASTC_LDR << '\n';
s << "\ttextureCompressionBC = " << value.textureCompressionBC << '\n';
s << "\tocclusionQueryPrecise = " << value.occlusionQueryPrecise << '\n';
s << "\tpipelineStatisticsQuery = " << value.pipelineStatisticsQuery << '\n';
s << "\tvertexPipelineStoresAndAtomics = " << value.vertexPipelineStoresAndAtomics << '\n';
s << "\tfragmentStoresAndAtomics = " << value.fragmentStoresAndAtomics << '\n';
s << "\tshaderTessellationAndGeometryPointSize = " << value.shaderTessellationAndGeometryPointSize << '\n';
s << "\tshaderImageGatherExtended = " << value.shaderImageGatherExtended << '\n';
s << "\tshaderStorageImageExtendedFormats = " << value.shaderStorageImageExtendedFormats << '\n';
s << "\tshaderStorageImageMultisample = " << value.shaderStorageImageMultisample << '\n';
s << "\tshaderStorageImageReadWithoutFormat = " << value.shaderStorageImageReadWithoutFormat << '\n';
s << "\tshaderStorageImageWriteWithoutFormat = " << value.shaderStorageImageWriteWithoutFormat << '\n';
s << "\tshaderUniformBufferArrayDynamicIndexing = " << value.shaderUniformBufferArrayDynamicIndexing << '\n';
s << "\tshaderSampledImageArrayDynamicIndexing = " << value.shaderSampledImageArrayDynamicIndexing << '\n';
s << "\tshaderStorageBufferArrayDynamicIndexing = " << value.shaderStorageBufferArrayDynamicIndexing << '\n';
s << "\tshaderStorageImageArrayDynamicIndexing = " << value.shaderStorageImageArrayDynamicIndexing << '\n';
s << "\tshaderClipDistance = " << value.shaderClipDistance << '\n';
s << "\tshaderCullDistance = " << value.shaderCullDistance << '\n';
s << "\tshaderFloat64 = " << value.shaderFloat64 << '\n';
s << "\tshaderInt64 = " << value.shaderInt64 << '\n';
s << "\tshaderInt16 = " << value.shaderInt16 << '\n';
s << "\tshaderResourceResidency = " << value.shaderResourceResidency << '\n';
s << "\tshaderResourceMinLod = " << value.shaderResourceMinLod << '\n';
s << "\tsparseBinding = " << value.sparseBinding << '\n';
s << "\tsparseResidencyBuffer = " << value.sparseResidencyBuffer << '\n';
s << "\tsparseResidencyImage2D = " << value.sparseResidencyImage2D << '\n';
s << "\tsparseResidencyImage3D = " << value.sparseResidencyImage3D << '\n';
s << "\tsparseResidency2Samples = " << value.sparseResidency2Samples << '\n';
s << "\tsparseResidency4Samples = " << value.sparseResidency4Samples << '\n';
s << "\tsparseResidency8Samples = " << value.sparseResidency8Samples << '\n';
s << "\tsparseResidency16Samples = " << value.sparseResidency16Samples << '\n';
s << "\tsparseResidencyAliased = " << value.sparseResidencyAliased << '\n';
s << "\tvariableMultisampleRate = " << value.variableMultisampleRate << '\n';
s << "\tinheritedQueries = " << value.inheritedQueries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLimits& value)
{
s << "VkPhysicalDeviceLimits = {\n";
s << "\tmaxImageDimension1D = " << value.maxImageDimension1D << '\n';
s << "\tmaxImageDimension2D = " << value.maxImageDimension2D << '\n';
s << "\tmaxImageDimension3D = " << value.maxImageDimension3D << '\n';
s << "\tmaxImageDimensionCube = " << value.maxImageDimensionCube << '\n';
s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n';
s << "\tmaxTexelBufferElements = " << value.maxTexelBufferElements << '\n';
s << "\tmaxUniformBufferRange = " << value.maxUniformBufferRange << '\n';
s << "\tmaxStorageBufferRange = " << value.maxStorageBufferRange << '\n';
s << "\tmaxPushConstantsSize = " << value.maxPushConstantsSize << '\n';
s << "\tmaxMemoryAllocationCount = " << value.maxMemoryAllocationCount << '\n';
s << "\tmaxSamplerAllocationCount = " << value.maxSamplerAllocationCount << '\n';
s << "\tbufferImageGranularity = " << value.bufferImageGranularity << '\n';
s << "\tsparseAddressSpaceSize = " << value.sparseAddressSpaceSize << '\n';
s << "\tmaxBoundDescriptorSets = " << value.maxBoundDescriptorSets << '\n';
s << "\tmaxPerStageDescriptorSamplers = " << value.maxPerStageDescriptorSamplers << '\n';
s << "\tmaxPerStageDescriptorUniformBuffers = " << value.maxPerStageDescriptorUniformBuffers << '\n';
s << "\tmaxPerStageDescriptorStorageBuffers = " << value.maxPerStageDescriptorStorageBuffers << '\n';
s << "\tmaxPerStageDescriptorSampledImages = " << value.maxPerStageDescriptorSampledImages << '\n';
s << "\tmaxPerStageDescriptorStorageImages = " << value.maxPerStageDescriptorStorageImages << '\n';
s << "\tmaxPerStageDescriptorInputAttachments = " << value.maxPerStageDescriptorInputAttachments << '\n';
s << "\tmaxPerStageResources = " << value.maxPerStageResources << '\n';
s << "\tmaxDescriptorSetSamplers = " << value.maxDescriptorSetSamplers << '\n';
s << "\tmaxDescriptorSetUniformBuffers = " << value.maxDescriptorSetUniformBuffers << '\n';
s << "\tmaxDescriptorSetUniformBuffersDynamic = " << value.maxDescriptorSetUniformBuffersDynamic << '\n';
s << "\tmaxDescriptorSetStorageBuffers = " << value.maxDescriptorSetStorageBuffers << '\n';
s << "\tmaxDescriptorSetStorageBuffersDynamic = " << value.maxDescriptorSetStorageBuffersDynamic << '\n';
s << "\tmaxDescriptorSetSampledImages = " << value.maxDescriptorSetSampledImages << '\n';
s << "\tmaxDescriptorSetStorageImages = " << value.maxDescriptorSetStorageImages << '\n';
s << "\tmaxDescriptorSetInputAttachments = " << value.maxDescriptorSetInputAttachments << '\n';
s << "\tmaxVertexInputAttributes = " << value.maxVertexInputAttributes << '\n';
s << "\tmaxVertexInputBindings = " << value.maxVertexInputBindings << '\n';
s << "\tmaxVertexInputAttributeOffset = " << value.maxVertexInputAttributeOffset << '\n';
s << "\tmaxVertexInputBindingStride = " << value.maxVertexInputBindingStride << '\n';
s << "\tmaxVertexOutputComponents = " << value.maxVertexOutputComponents << '\n';
s << "\tmaxTessellationGenerationLevel = " << value.maxTessellationGenerationLevel << '\n';
s << "\tmaxTessellationPatchSize = " << value.maxTessellationPatchSize << '\n';
s << "\tmaxTessellationControlPerVertexInputComponents = " << value.maxTessellationControlPerVertexInputComponents << '\n';
s << "\tmaxTessellationControlPerVertexOutputComponents = " << value.maxTessellationControlPerVertexOutputComponents << '\n';
s << "\tmaxTessellationControlPerPatchOutputComponents = " << value.maxTessellationControlPerPatchOutputComponents << '\n';
s << "\tmaxTessellationControlTotalOutputComponents = " << value.maxTessellationControlTotalOutputComponents << '\n';
s << "\tmaxTessellationEvaluationInputComponents = " << value.maxTessellationEvaluationInputComponents << '\n';
s << "\tmaxTessellationEvaluationOutputComponents = " << value.maxTessellationEvaluationOutputComponents << '\n';
s << "\tmaxGeometryShaderInvocations = " << value.maxGeometryShaderInvocations << '\n';
s << "\tmaxGeometryInputComponents = " << value.maxGeometryInputComponents << '\n';
s << "\tmaxGeometryOutputComponents = " << value.maxGeometryOutputComponents << '\n';
s << "\tmaxGeometryOutputVertices = " << value.maxGeometryOutputVertices << '\n';
s << "\tmaxGeometryTotalOutputComponents = " << value.maxGeometryTotalOutputComponents << '\n';
s << "\tmaxFragmentInputComponents = " << value.maxFragmentInputComponents << '\n';
s << "\tmaxFragmentOutputAttachments = " << value.maxFragmentOutputAttachments << '\n';
s << "\tmaxFragmentDualSrcAttachments = " << value.maxFragmentDualSrcAttachments << '\n';
s << "\tmaxFragmentCombinedOutputResources = " << value.maxFragmentCombinedOutputResources << '\n';
s << "\tmaxComputeSharedMemorySize = " << value.maxComputeSharedMemorySize << '\n';
s << "\tmaxComputeWorkGroupCount = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupCount), DE_ARRAY_END(value.maxComputeWorkGroupCount)) << '\n';
s << "\tmaxComputeWorkGroupInvocations = " << value.maxComputeWorkGroupInvocations << '\n';
s << "\tmaxComputeWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupSize), DE_ARRAY_END(value.maxComputeWorkGroupSize)) << '\n';
s << "\tsubPixelPrecisionBits = " << value.subPixelPrecisionBits << '\n';
s << "\tsubTexelPrecisionBits = " << value.subTexelPrecisionBits << '\n';
s << "\tmipmapPrecisionBits = " << value.mipmapPrecisionBits << '\n';
s << "\tmaxDrawIndexedIndexValue = " << value.maxDrawIndexedIndexValue << '\n';
s << "\tmaxDrawIndirectCount = " << value.maxDrawIndirectCount << '\n';
s << "\tmaxSamplerLodBias = " << value.maxSamplerLodBias << '\n';
s << "\tmaxSamplerAnisotropy = " << value.maxSamplerAnisotropy << '\n';
s << "\tmaxViewports = " << value.maxViewports << '\n';
s << "\tmaxViewportDimensions = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxViewportDimensions), DE_ARRAY_END(value.maxViewportDimensions)) << '\n';
s << "\tviewportBoundsRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewportBoundsRange), DE_ARRAY_END(value.viewportBoundsRange)) << '\n';
s << "\tviewportSubPixelBits = " << value.viewportSubPixelBits << '\n';
s << "\tminMemoryMapAlignment = " << value.minMemoryMapAlignment << '\n';
s << "\tminTexelBufferOffsetAlignment = " << value.minTexelBufferOffsetAlignment << '\n';
s << "\tminUniformBufferOffsetAlignment = " << value.minUniformBufferOffsetAlignment << '\n';
s << "\tminStorageBufferOffsetAlignment = " << value.minStorageBufferOffsetAlignment << '\n';
s << "\tminTexelOffset = " << value.minTexelOffset << '\n';
s << "\tmaxTexelOffset = " << value.maxTexelOffset << '\n';
s << "\tminTexelGatherOffset = " << value.minTexelGatherOffset << '\n';
s << "\tmaxTexelGatherOffset = " << value.maxTexelGatherOffset << '\n';
s << "\tminInterpolationOffset = " << value.minInterpolationOffset << '\n';
s << "\tmaxInterpolationOffset = " << value.maxInterpolationOffset << '\n';
s << "\tsubPixelInterpolationOffsetBits = " << value.subPixelInterpolationOffsetBits << '\n';
s << "\tmaxFramebufferWidth = " << value.maxFramebufferWidth << '\n';
s << "\tmaxFramebufferHeight = " << value.maxFramebufferHeight << '\n';
s << "\tmaxFramebufferLayers = " << value.maxFramebufferLayers << '\n';
s << "\tframebufferColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferColorSampleCounts) << '\n';
s << "\tframebufferDepthSampleCounts = " << getSampleCountFlagsStr(value.framebufferDepthSampleCounts) << '\n';
s << "\tframebufferStencilSampleCounts = " << getSampleCountFlagsStr(value.framebufferStencilSampleCounts) << '\n';
s << "\tframebufferNoAttachmentsSampleCounts = " << getSampleCountFlagsStr(value.framebufferNoAttachmentsSampleCounts) << '\n';
s << "\tmaxColorAttachments = " << value.maxColorAttachments << '\n';
s << "\tsampledImageColorSampleCounts = " << getSampleCountFlagsStr(value.sampledImageColorSampleCounts) << '\n';
s << "\tsampledImageIntegerSampleCounts = " << getSampleCountFlagsStr(value.sampledImageIntegerSampleCounts) << '\n';
s << "\tsampledImageDepthSampleCounts = " << getSampleCountFlagsStr(value.sampledImageDepthSampleCounts) << '\n';
s << "\tsampledImageStencilSampleCounts = " << getSampleCountFlagsStr(value.sampledImageStencilSampleCounts) << '\n';
s << "\tstorageImageSampleCounts = " << getSampleCountFlagsStr(value.storageImageSampleCounts) << '\n';
s << "\tmaxSampleMaskWords = " << value.maxSampleMaskWords << '\n';
s << "\ttimestampComputeAndGraphics = " << value.timestampComputeAndGraphics << '\n';
s << "\ttimestampPeriod = " << value.timestampPeriod << '\n';
s << "\tmaxClipDistances = " << value.maxClipDistances << '\n';
s << "\tmaxCullDistances = " << value.maxCullDistances << '\n';
s << "\tmaxCombinedClipAndCullDistances = " << value.maxCombinedClipAndCullDistances << '\n';
s << "\tdiscreteQueuePriorities = " << value.discreteQueuePriorities << '\n';
s << "\tpointSizeRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pointSizeRange), DE_ARRAY_END(value.pointSizeRange)) << '\n';
s << "\tlineWidthRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.lineWidthRange), DE_ARRAY_END(value.lineWidthRange)) << '\n';
s << "\tpointSizeGranularity = " << value.pointSizeGranularity << '\n';
s << "\tlineWidthGranularity = " << value.lineWidthGranularity << '\n';
s << "\tstrictLines = " << value.strictLines << '\n';
s << "\tstandardSampleLocations = " << value.standardSampleLocations << '\n';
s << "\toptimalBufferCopyOffsetAlignment = " << value.optimalBufferCopyOffsetAlignment << '\n';
s << "\toptimalBufferCopyRowPitchAlignment = " << value.optimalBufferCopyRowPitchAlignment << '\n';
s << "\tnonCoherentAtomSize = " << value.nonCoherentAtomSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value)
{
s << "VkPhysicalDeviceMemoryProperties = {\n";
s << "\tmemoryTypeCount = " << value.memoryTypeCount << '\n';
s << "\tmemoryTypes = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryTypes), DE_ARRAY_BEGIN(value.memoryTypes) + value.memoryTypeCount) << '\n';
s << "\tmemoryHeapCount = " << value.memoryHeapCount << '\n';
s << "\tmemoryHeaps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryHeaps), DE_ARRAY_BEGIN(value.memoryHeaps) + value.memoryHeapCount) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseProperties& value)
{
s << "VkPhysicalDeviceSparseProperties = {\n";
s << "\tresidencyStandard2DBlockShape = " << value.residencyStandard2DBlockShape << '\n';
s << "\tresidencyStandard2DMultisampleBlockShape = " << value.residencyStandard2DMultisampleBlockShape << '\n';
s << "\tresidencyStandard3DBlockShape = " << value.residencyStandard3DBlockShape << '\n';
s << "\tresidencyAlignedMipSize = " << value.residencyAlignedMipSize << '\n';
s << "\tresidencyNonResidentStrict = " << value.residencyNonResidentStrict << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties& value)
{
s << "VkPhysicalDeviceProperties = {\n";
s << "\tapiVersion = " << value.apiVersion << '\n';
s << "\tdriverVersion = " << value.driverVersion << '\n';
s << "\tvendorID = " << value.vendorID << '\n';
s << "\tdeviceID = " << value.deviceID << '\n';
s << "\tdeviceType = " << value.deviceType << '\n';
s << "\tdeviceName = " << (const char*)value.deviceName << '\n';
s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n';
s << "\tlimits = " << value.limits << '\n';
s << "\tsparseProperties = " << value.sparseProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties& value)
{
s << "VkQueueFamilyProperties = {\n";
s << "\tqueueFlags = " << getQueueFlagsStr(value.queueFlags) << '\n';
s << "\tqueueCount = " << value.queueCount << '\n';
s << "\ttimestampValidBits = " << value.timestampValidBits << '\n';
s << "\tminImageTransferGranularity = " << value.minImageTransferGranularity << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceQueueCreateInfo& value)
{
s << "VkDeviceQueueCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n';
s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n';
s << "\tqueueCount = " << value.queueCount << '\n';
s << "\tpQueuePriorities = " << value.pQueuePriorities << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceCreateInfo& value)
{
s << "VkDeviceCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDeviceCreateFlagsStr(value.flags) << '\n';
s << "\tqueueCreateInfoCount = " << value.queueCreateInfoCount << '\n';
s << "\tpQueueCreateInfos = " << value.pQueueCreateInfos << '\n';
s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n';
s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n';
s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n';
s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n';
s << "\tpEnabledFeatures = " << value.pEnabledFeatures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExtensionProperties& value)
{
s << "VkExtensionProperties = {\n";
s << "\textensionName = " << (const char*)value.extensionName << '\n';
s << "\tspecVersion = " << value.specVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkLayerProperties& value)
{
s << "VkLayerProperties = {\n";
s << "\tlayerName = " << (const char*)value.layerName << '\n';
s << "\tspecVersion = " << value.specVersion << '\n';
s << "\timplementationVersion = " << value.implementationVersion << '\n';
s << "\tdescription = " << (const char*)value.description << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubmitInfo& value)
{
s << "VkSubmitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n';
s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n';
s << "\tpWaitDstStageMask = " << value.pWaitDstStageMask << '\n';
s << "\tcommandBufferCount = " << value.commandBufferCount << '\n';
s << "\tpCommandBuffers = " << value.pCommandBuffers << '\n';
s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n';
s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value)
{
s << "VkMappedMemoryRange = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value)
{
s << "VkMemoryAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tallocationSize = " << value.allocationSize << '\n';
s << "\tmemoryTypeIndex = " << value.memoryTypeIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements& value)
{
s << "VkMemoryRequirements = {\n";
s << "\tsize = " << value.size << '\n';
s << "\talignment = " << value.alignment << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseMemoryBind& value)
{
s << "VkSparseMemoryBind = {\n";
s << "\tresourceOffset = " << value.resourceOffset << '\n';
s << "\tsize = " << value.size << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\tmemoryOffset = " << value.memoryOffset << '\n';
s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseBufferMemoryBindInfo& value)
{
s << "VkSparseBufferMemoryBindInfo = {\n";
s << "\tbuffer = " << value.buffer << '\n';
s << "\tbindCount = " << value.bindCount << '\n';
s << "\tpBinds = " << value.pBinds << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value)
{
s << "VkSparseImageOpaqueMemoryBindInfo = {\n";
s << "\timage = " << value.image << '\n';
s << "\tbindCount = " << value.bindCount << '\n';
s << "\tpBinds = " << value.pBinds << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageSubresource& value)
{
s << "VkImageSubresource = {\n";
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << "\tmipLevel = " << value.mipLevel << '\n';
s << "\tarrayLayer = " << value.arrayLayer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBind& value)
{
s << "VkSparseImageMemoryBind = {\n";
s << "\tsubresource = " << value.subresource << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\textent = " << value.extent << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\tmemoryOffset = " << value.memoryOffset << '\n';
s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBindInfo& value)
{
s << "VkSparseImageMemoryBindInfo = {\n";
s << "\timage = " << value.image << '\n';
s << "\tbindCount = " << value.bindCount << '\n';
s << "\tpBinds = " << value.pBinds << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindSparseInfo& value)
{
s << "VkBindSparseInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n';
s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n';
s << "\tbufferBindCount = " << value.bufferBindCount << '\n';
s << "\tpBufferBinds = " << value.pBufferBinds << '\n';
s << "\timageOpaqueBindCount = " << value.imageOpaqueBindCount << '\n';
s << "\tpImageOpaqueBinds = " << value.pImageOpaqueBinds << '\n';
s << "\timageBindCount = " << value.imageBindCount << '\n';
s << "\tpImageBinds = " << value.pImageBinds << '\n';
s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n';
s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value)
{
s << "VkSparseImageFormatProperties = {\n";
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << "\timageGranularity = " << value.imageGranularity << '\n';
s << "\tflags = " << getSparseImageFormatFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value)
{
s << "VkSparseImageMemoryRequirements = {\n";
s << "\tformatProperties = " << value.formatProperties << '\n';
s << "\timageMipTailFirstLod = " << value.imageMipTailFirstLod << '\n';
s << "\timageMipTailSize = " << value.imageMipTailSize << '\n';
s << "\timageMipTailOffset = " << value.imageMipTailOffset << '\n';
s << "\timageMipTailStride = " << value.imageMipTailStride << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFenceCreateInfo& value)
{
s << "VkFenceCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getFenceCreateFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreCreateInfo& value)
{
s << "VkSemaphoreCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getSemaphoreCreateFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkEventCreateInfo& value)
{
s << "VkEventCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getEventCreateFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueryPoolCreateInfo& value)
{
s << "VkQueryPoolCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getQueryPoolCreateFlagsStr(value.flags) << '\n';
s << "\tqueryType = " << value.queryType << '\n';
s << "\tqueryCount = " << value.queryCount << '\n';
s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCreateInfo& value)
{
s << "VkBufferCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n';
s << "\tsize = " << value.size << '\n';
s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n';
s << "\tsharingMode = " << value.sharingMode << '\n';
s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n';
s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferViewCreateInfo& value)
{
s << "VkBufferViewCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getBufferViewCreateFlagsStr(value.flags) << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << "\tformat = " << value.format << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\trange = " << value.range << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageCreateInfo& value)
{
s << "VkImageCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n';
s << "\timageType = " << value.imageType << '\n';
s << "\tformat = " << value.format << '\n';
s << "\textent = " << value.extent << '\n';
s << "\tmipLevels = " << value.mipLevels << '\n';
s << "\tarrayLayers = " << value.arrayLayers << '\n';
s << "\tsamples = " << value.samples << '\n';
s << "\ttiling = " << value.tiling << '\n';
s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n';
s << "\tsharingMode = " << value.sharingMode << '\n';
s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n';
s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n';
s << "\tinitialLayout = " << value.initialLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout& value)
{
s << "VkSubresourceLayout = {\n";
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << "\trowPitch = " << value.rowPitch << '\n';
s << "\tarrayPitch = " << value.arrayPitch << '\n';
s << "\tdepthPitch = " << value.depthPitch << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkComponentMapping& value)
{
s << "VkComponentMapping = {\n";
s << "\tr = " << value.r << '\n';
s << "\tg = " << value.g << '\n';
s << "\tb = " << value.b << '\n';
s << "\ta = " << value.a << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageViewCreateInfo& value)
{
s << "VkImageViewCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getImageViewCreateFlagsStr(value.flags) << '\n';
s << "\timage = " << value.image << '\n';
s << "\tviewType = " << value.viewType << '\n';
s << "\tformat = " << value.format << '\n';
s << "\tcomponents = " << value.components << '\n';
s << "\tsubresourceRange = " << value.subresourceRange << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkShaderModuleCreateInfo& value)
{
s << "VkShaderModuleCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getShaderModuleCreateFlagsStr(value.flags) << '\n';
s << "\tcodeSize = " << value.codeSize << '\n';
s << "\tpCode = " << value.pCode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCacheCreateInfo& value)
{
s << "VkPipelineCacheCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCacheCreateFlagsStr(value.flags) << '\n';
s << "\tinitialDataSize = " << value.initialDataSize << '\n';
s << "\tpInitialData = " << value.pInitialData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSpecializationMapEntry& value)
{
s << "VkSpecializationMapEntry = {\n";
s << "\tconstantID = " << value.constantID << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSpecializationInfo& value)
{
s << "VkSpecializationInfo = {\n";
s << "\tmapEntryCount = " << value.mapEntryCount << '\n';
s << "\tpMapEntries = " << value.pMapEntries << '\n';
s << "\tdataSize = " << value.dataSize << '\n';
s << "\tpData = " << value.pData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageCreateInfo& value)
{
s << "VkPipelineShaderStageCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineShaderStageCreateFlagsStr(value.flags) << '\n';
s << "\tstage = " << value.stage << '\n';
s << "\tmodule = " << value.module << '\n';
s << "\tpName = " << getCharPtrStr(value.pName) << '\n';
s << "\tpSpecializationInfo = " << value.pSpecializationInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value)
{
s << "VkComputePipelineCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n';
s << "\tstage = " << value.stage << '\n';
s << "\tlayout = " << value.layout << '\n';
s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n';
s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription& value)
{
s << "VkVertexInputBindingDescription = {\n";
s << "\tbinding = " << value.binding << '\n';
s << "\tstride = " << value.stride << '\n';
s << "\tinputRate = " << value.inputRate << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription& value)
{
s << "VkVertexInputAttributeDescription = {\n";
s << "\tlocation = " << value.location << '\n';
s << "\tbinding = " << value.binding << '\n';
s << "\tformat = " << value.format << '\n';
s << "\toffset = " << value.offset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value)
{
s << "VkPipelineVertexInputStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineVertexInputStateCreateFlagsStr(value.flags) << '\n';
s << "\tvertexBindingDescriptionCount = " << value.vertexBindingDescriptionCount << '\n';
s << "\tpVertexBindingDescriptions = " << value.pVertexBindingDescriptions << '\n';
s << "\tvertexAttributeDescriptionCount = " << value.vertexAttributeDescriptionCount << '\n';
s << "\tpVertexAttributeDescriptions = " << value.pVertexAttributeDescriptions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value)
{
s << "VkPipelineInputAssemblyStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineInputAssemblyStateCreateFlagsStr(value.flags) << '\n';
s << "\ttopology = " << value.topology << '\n';
s << "\tprimitiveRestartEnable = " << value.primitiveRestartEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationStateCreateInfo& value)
{
s << "VkPipelineTessellationStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineTessellationStateCreateFlagsStr(value.flags) << '\n';
s << "\tpatchControlPoints = " << value.patchControlPoints << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkViewport& value)
{
s << "VkViewport = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << "\twidth = " << value.width << '\n';
s << "\theight = " << value.height << '\n';
s << "\tminDepth = " << value.minDepth << '\n';
s << "\tmaxDepth = " << value.maxDepth << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportStateCreateInfo& value)
{
s << "VkPipelineViewportStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineViewportStateCreateFlagsStr(value.flags) << '\n';
s << "\tviewportCount = " << value.viewportCount << '\n';
s << "\tpViewports = " << value.pViewports << '\n';
s << "\tscissorCount = " << value.scissorCount << '\n';
s << "\tpScissors = " << value.pScissors << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value)
{
s << "VkPipelineRasterizationStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineRasterizationStateCreateFlagsStr(value.flags) << '\n';
s << "\tdepthClampEnable = " << value.depthClampEnable << '\n';
s << "\trasterizerDiscardEnable = " << value.rasterizerDiscardEnable << '\n';
s << "\tpolygonMode = " << value.polygonMode << '\n';
s << "\tcullMode = " << getCullModeFlagsStr(value.cullMode) << '\n';
s << "\tfrontFace = " << value.frontFace << '\n';
s << "\tdepthBiasEnable = " << value.depthBiasEnable << '\n';
s << "\tdepthBiasConstantFactor = " << value.depthBiasConstantFactor << '\n';
s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n';
s << "\tdepthBiasSlopeFactor = " << value.depthBiasSlopeFactor << '\n';
s << "\tlineWidth = " << value.lineWidth << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value)
{
s << "VkPipelineMultisampleStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineMultisampleStateCreateFlagsStr(value.flags) << '\n';
s << "\trasterizationSamples = " << value.rasterizationSamples << '\n';
s << "\tsampleShadingEnable = " << value.sampleShadingEnable << '\n';
s << "\tminSampleShading = " << value.minSampleShading << '\n';
s << "\tpSampleMask = " << value.pSampleMask << '\n';
s << "\talphaToCoverageEnable = " << value.alphaToCoverageEnable << '\n';
s << "\talphaToOneEnable = " << value.alphaToOneEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkStencilOpState& value)
{
s << "VkStencilOpState = {\n";
s << "\tfailOp = " << value.failOp << '\n';
s << "\tpassOp = " << value.passOp << '\n';
s << "\tdepthFailOp = " << value.depthFailOp << '\n';
s << "\tcompareOp = " << value.compareOp << '\n';
s << "\tcompareMask = " << value.compareMask << '\n';
s << "\twriteMask = " << value.writeMask << '\n';
s << "\treference = " << value.reference << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineDepthStencilStateCreateInfo& value)
{
s << "VkPipelineDepthStencilStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineDepthStencilStateCreateFlagsStr(value.flags) << '\n';
s << "\tdepthTestEnable = " << value.depthTestEnable << '\n';
s << "\tdepthWriteEnable = " << value.depthWriteEnable << '\n';
s << "\tdepthCompareOp = " << value.depthCompareOp << '\n';
s << "\tdepthBoundsTestEnable = " << value.depthBoundsTestEnable << '\n';
s << "\tstencilTestEnable = " << value.stencilTestEnable << '\n';
s << "\tfront = " << value.front << '\n';
s << "\tback = " << value.back << '\n';
s << "\tminDepthBounds = " << value.minDepthBounds << '\n';
s << "\tmaxDepthBounds = " << value.maxDepthBounds << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAttachmentState& value)
{
s << "VkPipelineColorBlendAttachmentState = {\n";
s << "\tblendEnable = " << value.blendEnable << '\n';
s << "\tsrcColorBlendFactor = " << value.srcColorBlendFactor << '\n';
s << "\tdstColorBlendFactor = " << value.dstColorBlendFactor << '\n';
s << "\tcolorBlendOp = " << value.colorBlendOp << '\n';
s << "\tsrcAlphaBlendFactor = " << value.srcAlphaBlendFactor << '\n';
s << "\tdstAlphaBlendFactor = " << value.dstAlphaBlendFactor << '\n';
s << "\talphaBlendOp = " << value.alphaBlendOp << '\n';
s << "\tcolorWriteMask = " << getColorComponentFlagsStr(value.colorWriteMask) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value)
{
s << "VkPipelineColorBlendStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineColorBlendStateCreateFlagsStr(value.flags) << '\n';
s << "\tlogicOpEnable = " << value.logicOpEnable << '\n';
s << "\tlogicOp = " << value.logicOp << '\n';
s << "\tattachmentCount = " << value.attachmentCount << '\n';
s << "\tpAttachments = " << value.pAttachments << '\n';
s << "\tblendConstants = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.blendConstants), DE_ARRAY_END(value.blendConstants)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineDynamicStateCreateInfo& value)
{
s << "VkPipelineDynamicStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineDynamicStateCreateFlagsStr(value.flags) << '\n';
s << "\tdynamicStateCount = " << value.dynamicStateCount << '\n';
s << "\tpDynamicStates = " << value.pDynamicStates << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineCreateInfo& value)
{
s << "VkGraphicsPipelineCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n';
s << "\tstageCount = " << value.stageCount << '\n';
s << "\tpStages = " << value.pStages << '\n';
s << "\tpVertexInputState = " << value.pVertexInputState << '\n';
s << "\tpInputAssemblyState = " << value.pInputAssemblyState << '\n';
s << "\tpTessellationState = " << value.pTessellationState << '\n';
s << "\tpViewportState = " << value.pViewportState << '\n';
s << "\tpRasterizationState = " << value.pRasterizationState << '\n';
s << "\tpMultisampleState = " << value.pMultisampleState << '\n';
s << "\tpDepthStencilState = " << value.pDepthStencilState << '\n';
s << "\tpColorBlendState = " << value.pColorBlendState << '\n';
s << "\tpDynamicState = " << value.pDynamicState << '\n';
s << "\tlayout = " << value.layout << '\n';
s << "\trenderPass = " << value.renderPass << '\n';
s << "\tsubpass = " << value.subpass << '\n';
s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n';
s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPushConstantRange& value)
{
s << "VkPushConstantRange = {\n";
s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineLayoutCreateInfo& value)
{
s << "VkPipelineLayoutCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineLayoutCreateFlagsStr(value.flags) << '\n';
s << "\tsetLayoutCount = " << value.setLayoutCount << '\n';
s << "\tpSetLayouts = " << value.pSetLayouts << '\n';
s << "\tpushConstantRangeCount = " << value.pushConstantRangeCount << '\n';
s << "\tpPushConstantRanges = " << value.pPushConstantRanges << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerCreateInfo& value)
{
s << "VkSamplerCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getSamplerCreateFlagsStr(value.flags) << '\n';
s << "\tmagFilter = " << value.magFilter << '\n';
s << "\tminFilter = " << value.minFilter << '\n';
s << "\tmipmapMode = " << value.mipmapMode << '\n';
s << "\taddressModeU = " << value.addressModeU << '\n';
s << "\taddressModeV = " << value.addressModeV << '\n';
s << "\taddressModeW = " << value.addressModeW << '\n';
s << "\tmipLodBias = " << value.mipLodBias << '\n';
s << "\tanisotropyEnable = " << value.anisotropyEnable << '\n';
s << "\tmaxAnisotropy = " << value.maxAnisotropy << '\n';
s << "\tcompareEnable = " << value.compareEnable << '\n';
s << "\tcompareOp = " << value.compareOp << '\n';
s << "\tminLod = " << value.minLod << '\n';
s << "\tmaxLod = " << value.maxLod << '\n';
s << "\tborderColor = " << value.borderColor << '\n';
s << "\tunnormalizedCoordinates = " << value.unnormalizedCoordinates << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value)
{
s << "VkCopyDescriptorSet = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcSet = " << value.srcSet << '\n';
s << "\tsrcBinding = " << value.srcBinding << '\n';
s << "\tsrcArrayElement = " << value.srcArrayElement << '\n';
s << "\tdstSet = " << value.dstSet << '\n';
s << "\tdstBinding = " << value.dstBinding << '\n';
s << "\tdstArrayElement = " << value.dstArrayElement << '\n';
s << "\tdescriptorCount = " << value.descriptorCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value)
{
s << "VkDescriptorBufferInfo = {\n";
s << "\tbuffer = " << value.buffer << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\trange = " << value.range << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value)
{
s << "VkDescriptorImageInfo = {\n";
s << "\tsampler = " << value.sampler << '\n';
s << "\timageView = " << value.imageView << '\n';
s << "\timageLayout = " << value.imageLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolSize& value)
{
s << "VkDescriptorPoolSize = {\n";
s << "\ttype = " << value.type << '\n';
s << "\tdescriptorCount = " << value.descriptorCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolCreateInfo& value)
{
s << "VkDescriptorPoolCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDescriptorPoolCreateFlagsStr(value.flags) << '\n';
s << "\tmaxSets = " << value.maxSets << '\n';
s << "\tpoolSizeCount = " << value.poolSizeCount << '\n';
s << "\tpPoolSizes = " << value.pPoolSizes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetAllocateInfo& value)
{
s << "VkDescriptorSetAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdescriptorPool = " << value.descriptorPool << '\n';
s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n';
s << "\tpSetLayouts = " << value.pSetLayouts << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value)
{
s << "VkDescriptorSetLayoutBinding = {\n";
s << "\tbinding = " << value.binding << '\n';
s << "\tdescriptorType = " << value.descriptorType << '\n';
s << "\tdescriptorCount = " << value.descriptorCount << '\n';
s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n';
s << "\tpImmutableSamplers = " << value.pImmutableSamplers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value)
{
s << "VkDescriptorSetLayoutCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDescriptorSetLayoutCreateFlagsStr(value.flags) << '\n';
s << "\tbindingCount = " << value.bindingCount << '\n';
s << "\tpBindings = " << value.pBindings << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSet& value)
{
s << "VkWriteDescriptorSet = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdstSet = " << value.dstSet << '\n';
s << "\tdstBinding = " << value.dstBinding << '\n';
s << "\tdstArrayElement = " << value.dstArrayElement << '\n';
s << "\tdescriptorCount = " << value.descriptorCount << '\n';
s << "\tdescriptorType = " << value.descriptorType << '\n';
s << "\tpImageInfo = " << value.pImageInfo << '\n';
s << "\tpBufferInfo = " << value.pBufferInfo << '\n';
s << "\tpTexelBufferView = " << value.pTexelBufferView << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription& value)
{
s << "VkAttachmentDescription = {\n";
s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n';
s << "\tformat = " << value.format << '\n';
s << "\tsamples = " << value.samples << '\n';
s << "\tloadOp = " << value.loadOp << '\n';
s << "\tstoreOp = " << value.storeOp << '\n';
s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n';
s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n';
s << "\tinitialLayout = " << value.initialLayout << '\n';
s << "\tfinalLayout = " << value.finalLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentReference& value)
{
s << "VkAttachmentReference = {\n";
s << "\tattachment = " << value.attachment << '\n';
s << "\tlayout = " << value.layout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value)
{
s << "VkFramebufferCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getFramebufferCreateFlagsStr(value.flags) << '\n';
s << "\trenderPass = " << value.renderPass << '\n';
s << "\tattachmentCount = " << value.attachmentCount << '\n';
s << "\tpAttachments = " << value.pAttachments << '\n';
s << "\twidth = " << value.width << '\n';
s << "\theight = " << value.height << '\n';
s << "\tlayers = " << value.layers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassDescription& value)
{
s << "VkSubpassDescription = {\n";
s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n';
s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n';
s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n';
s << "\tpInputAttachments = " << value.pInputAttachments << '\n';
s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
s << "\tpColorAttachments = " << value.pColorAttachments << '\n';
s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n';
s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n';
s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n';
s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassDependency& value)
{
s << "VkSubpassDependency = {\n";
s << "\tsrcSubpass = " << value.srcSubpass << '\n';
s << "\tdstSubpass = " << value.dstSubpass << '\n';
s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n';
s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n';
s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo& value)
{
s << "VkRenderPassCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n';
s << "\tattachmentCount = " << value.attachmentCount << '\n';
s << "\tpAttachments = " << value.pAttachments << '\n';
s << "\tsubpassCount = " << value.subpassCount << '\n';
s << "\tpSubpasses = " << value.pSubpasses << '\n';
s << "\tdependencyCount = " << value.dependencyCount << '\n';
s << "\tpDependencies = " << value.pDependencies << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandPoolCreateInfo& value)
{
s << "VkCommandPoolCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getCommandPoolCreateFlagsStr(value.flags) << '\n';
s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferAllocateInfo& value)
{
s << "VkCommandBufferAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcommandPool = " << value.commandPool << '\n';
s << "\tlevel = " << value.level << '\n';
s << "\tcommandBufferCount = " << value.commandBufferCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceInfo& value)
{
s << "VkCommandBufferInheritanceInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trenderPass = " << value.renderPass << '\n';
s << "\tsubpass = " << value.subpass << '\n';
s << "\tframebuffer = " << value.framebuffer << '\n';
s << "\tocclusionQueryEnable = " << value.occlusionQueryEnable << '\n';
s << "\tqueryFlags = " << getQueryControlFlagsStr(value.queryFlags) << '\n';
s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferBeginInfo& value)
{
s << "VkCommandBufferBeginInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getCommandBufferUsageFlagsStr(value.flags) << '\n';
s << "\tpInheritanceInfo = " << value.pInheritanceInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCopy& value)
{
s << "VkBufferCopy = {\n";
s << "\tsrcOffset = " << value.srcOffset << '\n';
s << "\tdstOffset = " << value.dstOffset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageSubresourceLayers& value)
{
s << "VkImageSubresourceLayers = {\n";
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << "\tmipLevel = " << value.mipLevel << '\n';
s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n';
s << "\tlayerCount = " << value.layerCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy& value)
{
s << "VkBufferImageCopy = {\n";
s << "\tbufferOffset = " << value.bufferOffset << '\n';
s << "\tbufferRowLength = " << value.bufferRowLength << '\n';
s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n';
s << "\timageSubresource = " << value.imageSubresource << '\n';
s << "\timageOffset = " << value.imageOffset << '\n';
s << "\timageExtent = " << value.imageExtent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkClearColorValue& value)
{
s << "VkClearColorValue = {\n";
s << "\tfloat32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.float32), DE_ARRAY_END(value.float32)) << '\n';
s << "\tint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.int32), DE_ARRAY_END(value.int32)) << '\n';
s << "\tuint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.uint32), DE_ARRAY_END(value.uint32)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkClearDepthStencilValue& value)
{
s << "VkClearDepthStencilValue = {\n";
s << "\tdepth = " << value.depth << '\n';
s << "\tstencil = " << value.stencil << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkClearValue& value)
{
s << "VkClearValue = {\n";
s << "\tcolor = " << value.color << '\n';
s << "\tdepthStencil = " << value.depthStencil << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkClearAttachment& value)
{
s << "VkClearAttachment = {\n";
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << "\tcolorAttachment = " << value.colorAttachment << '\n';
s << "\tclearValue = " << value.clearValue << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkClearRect& value)
{
s << "VkClearRect = {\n";
s << "\trect = " << value.rect << '\n';
s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n';
s << "\tlayerCount = " << value.layerCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageBlit& value)
{
s << "VkImageBlit = {\n";
s << "\tsrcSubresource = " << value.srcSubresource << '\n';
s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n';
s << "\tdstSubresource = " << value.dstSubresource << '\n';
s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageCopy& value)
{
s << "VkImageCopy = {\n";
s << "\tsrcSubresource = " << value.srcSubresource << '\n';
s << "\tsrcOffset = " << value.srcOffset << '\n';
s << "\tdstSubresource = " << value.dstSubresource << '\n';
s << "\tdstOffset = " << value.dstOffset << '\n';
s << "\textent = " << value.extent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageResolve& value)
{
s << "VkImageResolve = {\n";
s << "\tsrcSubresource = " << value.srcSubresource << '\n';
s << "\tsrcOffset = " << value.srcOffset << '\n';
s << "\tdstSubresource = " << value.dstSubresource << '\n';
s << "\tdstOffset = " << value.dstOffset << '\n';
s << "\textent = " << value.extent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassBeginInfo& value)
{
s << "VkRenderPassBeginInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trenderPass = " << value.renderPass << '\n';
s << "\tframebuffer = " << value.framebuffer << '\n';
s << "\trenderArea = " << value.renderArea << '\n';
s << "\tclearValueCount = " << value.clearValueCount << '\n';
s << "\tpClearValues = " << value.pClearValues << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value)
{
s << "VkPhysicalDeviceSubgroupProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsubgroupSize = " << value.subgroupSize << '\n';
s << "\tsupportedStages = " << getShaderStageFlagsStr(value.supportedStages) << '\n';
s << "\tsupportedOperations = " << getSubgroupFeatureFlagsStr(value.supportedOperations) << '\n';
s << "\tquadOperationsInAllStages = " << value.quadOperationsInAllStages << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryInfo& value)
{
s << "VkBindBufferMemoryInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\tmemoryOffset = " << value.memoryOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryInfo& value)
{
s << "VkBindImageMemoryInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timage = " << value.image << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\tmemoryOffset = " << value.memoryOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice16BitStorageFeatures& value)
{
s << "VkPhysicalDevice16BitStorageFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstorageBuffer16BitAccess = " << value.storageBuffer16BitAccess << '\n';
s << "\tuniformAndStorageBuffer16BitAccess = " << value.uniformAndStorageBuffer16BitAccess << '\n';
s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n';
s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedRequirements& value)
{
s << "VkMemoryDedicatedRequirements = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprefersDedicatedAllocation = " << value.prefersDedicatedAllocation << '\n';
s << "\trequiresDedicatedAllocation = " << value.requiresDedicatedAllocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedAllocateInfo& value)
{
s << "VkMemoryDedicatedAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timage = " << value.image << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateFlagsInfo& value)
{
s << "VkMemoryAllocateFlagsInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getMemoryAllocateFlagsStr(value.flags) << '\n';
s << "\tdeviceMask = " << value.deviceMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupRenderPassBeginInfo& value)
{
s << "VkDeviceGroupRenderPassBeginInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceMask = " << value.deviceMask << '\n';
s << "\tdeviceRenderAreaCount = " << value.deviceRenderAreaCount << '\n';
s << "\tpDeviceRenderAreas = " << value.pDeviceRenderAreas << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupCommandBufferBeginInfo& value)
{
s << "VkDeviceGroupCommandBufferBeginInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceMask = " << value.deviceMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSubmitInfo& value)
{
s << "VkDeviceGroupSubmitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n';
s << "\tpWaitSemaphoreDeviceIndices = " << value.pWaitSemaphoreDeviceIndices << '\n';
s << "\tcommandBufferCount = " << value.commandBufferCount << '\n';
s << "\tpCommandBufferDeviceMasks = " << value.pCommandBufferDeviceMasks << '\n';
s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n';
s << "\tpSignalSemaphoreDeviceIndices = " << value.pSignalSemaphoreDeviceIndices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupBindSparseInfo& value)
{
s << "VkDeviceGroupBindSparseInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tresourceDeviceIndex = " << value.resourceDeviceIndex << '\n';
s << "\tmemoryDeviceIndex = " << value.memoryDeviceIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryDeviceGroupInfo& value)
{
s << "VkBindBufferMemoryDeviceGroupInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n';
s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryDeviceGroupInfo& value)
{
s << "VkBindImageMemoryDeviceGroupInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n';
s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n';
s << "\tsplitInstanceBindRegionCount = " << value.splitInstanceBindRegionCount << '\n';
s << "\tpSplitInstanceBindRegions = " << value.pSplitInstanceBindRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGroupProperties& value)
{
s << "VkPhysicalDeviceGroupProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tphysicalDeviceCount = " << value.physicalDeviceCount << '\n';
s << "\tphysicalDevices = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.physicalDevices), DE_ARRAY_END(value.physicalDevices)) << '\n';
s << "\tsubsetAllocation = " << value.subsetAllocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupDeviceCreateInfo& value)
{
s << "VkDeviceGroupDeviceCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tphysicalDeviceCount = " << value.physicalDeviceCount << '\n';
s << "\tpPhysicalDevices = " << value.pPhysicalDevices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferMemoryRequirementsInfo2& value)
{
s << "VkBufferMemoryRequirementsInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageMemoryRequirementsInfo2& value)
{
s << "VkImageMemoryRequirementsInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timage = " << value.image << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageSparseMemoryRequirementsInfo2& value)
{
s << "VkImageSparseMemoryRequirementsInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timage = " << value.image << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements2& value)
{
s << "VkMemoryRequirements2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryRequirements = " << value.memoryRequirements << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements2& value)
{
s << "VkSparseImageMemoryRequirements2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryRequirements = " << value.memoryRequirements << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures2& value)
{
s << "VkPhysicalDeviceFeatures2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfeatures = " << value.features << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties2& value)
{
s << "VkPhysicalDeviceProperties2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tproperties = " << value.properties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFormatProperties2& value)
{
s << "VkFormatProperties2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformatProperties = " << value.formatProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties2& value)
{
s << "VkImageFormatProperties2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageFormatProperties = " << value.imageFormatProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageFormatInfo2& value)
{
s << "VkPhysicalDeviceImageFormatInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformat = " << value.format << '\n';
s << "\ttype = " << value.type << '\n';
s << "\ttiling = " << value.tiling << '\n';
s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n';
s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties2& value)
{
s << "VkQueueFamilyProperties2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tqueueFamilyProperties = " << value.queueFamilyProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties2& value)
{
s << "VkPhysicalDeviceMemoryProperties2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryProperties = " << value.memoryProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties2& value)
{
s << "VkSparseImageFormatProperties2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tproperties = " << value.properties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseImageFormatInfo2& value)
{
s << "VkPhysicalDeviceSparseImageFormatInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformat = " << value.format << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tsamples = " << value.samples << '\n';
s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n';
s << "\ttiling = " << value.tiling << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePointClippingProperties& value)
{
s << "VkPhysicalDevicePointClippingProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpointClippingBehavior = " << value.pointClippingBehavior << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkInputAttachmentAspectReference& value)
{
s << "VkInputAttachmentAspectReference = {\n";
s << "\tsubpass = " << value.subpass << '\n';
s << "\tinputAttachmentIndex = " << value.inputAttachmentIndex << '\n';
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassInputAttachmentAspectCreateInfo& value)
{
s << "VkRenderPassInputAttachmentAspectCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taspectReferenceCount = " << value.aspectReferenceCount << '\n';
s << "\tpAspectReferences = " << value.pAspectReferences << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageViewUsageCreateInfo& value)
{
s << "VkImageViewUsageCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationDomainOriginStateCreateInfo& value)
{
s << "VkPipelineTessellationDomainOriginStateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdomainOrigin = " << value.domainOrigin << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassMultiviewCreateInfo& value)
{
s << "VkRenderPassMultiviewCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsubpassCount = " << value.subpassCount << '\n';
s << "\tpViewMasks = " << value.pViewMasks << '\n';
s << "\tdependencyCount = " << value.dependencyCount << '\n';
s << "\tpViewOffsets = " << value.pViewOffsets << '\n';
s << "\tcorrelationMaskCount = " << value.correlationMaskCount << '\n';
s << "\tpCorrelationMasks = " << value.pCorrelationMasks << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewFeatures& value)
{
s << "VkPhysicalDeviceMultiviewFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmultiview = " << value.multiview << '\n';
s << "\tmultiviewGeometryShader = " << value.multiviewGeometryShader << '\n';
s << "\tmultiviewTessellationShader = " << value.multiviewTessellationShader << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewProperties& value)
{
s << "VkPhysicalDeviceMultiviewProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxMultiviewViewCount = " << value.maxMultiviewViewCount << '\n';
s << "\tmaxMultiviewInstanceIndex = " << value.maxMultiviewInstanceIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVariablePointersFeatures& value)
{
s << "VkPhysicalDeviceVariablePointersFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvariablePointersStorageBuffer = " << value.variablePointersStorageBuffer << '\n';
s << "\tvariablePointers = " << value.variablePointers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryFeatures& value)
{
s << "VkPhysicalDeviceProtectedMemoryFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprotectedMemory = " << value.protectedMemory << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryProperties& value)
{
s << "VkPhysicalDeviceProtectedMemoryProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprotectedNoFault = " << value.protectedNoFault << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceQueueInfo2& value)
{
s << "VkDeviceQueueInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n';
s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n';
s << "\tqueueIndex = " << value.queueIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkProtectedSubmitInfo& value)
{
s << "VkProtectedSubmitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprotectedSubmit = " << value.protectedSubmit << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionCreateInfo& value)
{
s << "VkSamplerYcbcrConversionCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformat = " << value.format << '\n';
s << "\tycbcrModel = " << value.ycbcrModel << '\n';
s << "\tycbcrRange = " << value.ycbcrRange << '\n';
s << "\tcomponents = " << value.components << '\n';
s << "\txChromaOffset = " << value.xChromaOffset << '\n';
s << "\tyChromaOffset = " << value.yChromaOffset << '\n';
s << "\tchromaFilter = " << value.chromaFilter << '\n';
s << "\tforceExplicitReconstruction = " << value.forceExplicitReconstruction << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionInfo& value)
{
s << "VkSamplerYcbcrConversionInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tconversion = " << value.conversion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindImagePlaneMemoryInfo& value)
{
s << "VkBindImagePlaneMemoryInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tplaneAspect = " << value.planeAspect << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImagePlaneMemoryRequirementsInfo& value)
{
s << "VkImagePlaneMemoryRequirementsInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tplaneAspect = " << value.planeAspect << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerYcbcrConversionFeatures& value)
{
s << "VkPhysicalDeviceSamplerYcbcrConversionFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsamplerYcbcrConversion = " << value.samplerYcbcrConversion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionImageFormatProperties& value)
{
s << "VkSamplerYcbcrConversionImageFormatProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcombinedImageSamplerDescriptorCount = " << value.combinedImageSamplerDescriptorCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateEntry& value)
{
s << "VkDescriptorUpdateTemplateEntry = {\n";
s << "\tdstBinding = " << value.dstBinding << '\n';
s << "\tdstArrayElement = " << value.dstArrayElement << '\n';
s << "\tdescriptorCount = " << value.descriptorCount << '\n';
s << "\tdescriptorType = " << value.descriptorType << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tstride = " << value.stride << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateCreateInfo& value)
{
s << "VkDescriptorUpdateTemplateCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDescriptorUpdateTemplateCreateFlagsStr(value.flags) << '\n';
s << "\tdescriptorUpdateEntryCount = " << value.descriptorUpdateEntryCount << '\n';
s << "\tpDescriptorUpdateEntries = " << value.pDescriptorUpdateEntries << '\n';
s << "\ttemplateType = " << value.templateType << '\n';
s << "\tdescriptorSetLayout = " << value.descriptorSetLayout << '\n';
s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n';
s << "\tpipelineLayout = " << value.pipelineLayout << '\n';
s << "\tset = " << value.set << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalMemoryProperties& value)
{
s << "VkExternalMemoryProperties = {\n";
s << "\texternalMemoryFeatures = " << getExternalMemoryFeatureFlagsStr(value.externalMemoryFeatures) << '\n';
s << "\texportFromImportedHandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n';
s << "\tcompatibleHandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalImageFormatInfo& value)
{
s << "VkPhysicalDeviceExternalImageFormatInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatProperties& value)
{
s << "VkExternalImageFormatProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texternalMemoryProperties = " << value.externalMemoryProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalBufferInfo& value)
{
s << "VkPhysicalDeviceExternalBufferInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n';
s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalBufferProperties& value)
{
s << "VkExternalBufferProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texternalMemoryProperties = " << value.externalMemoryProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIDProperties& value)
{
s << "VkPhysicalDeviceIDProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceUUID))) << '\n';
s << "\tdriverUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.driverUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.driverUUID))) << '\n';
s << "\tdeviceLUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceLUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceLUID))) << '\n';
s << "\tdeviceNodeMask = " << value.deviceNodeMask << '\n';
s << "\tdeviceLUIDValid = " << value.deviceLUIDValid << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfo& value)
{
s << "VkExternalMemoryImageCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalMemoryBufferCreateInfo& value)
{
s << "VkExternalMemoryBufferCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfo& value)
{
s << "VkExportMemoryAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalFenceInfo& value)
{
s << "VkPhysicalDeviceExternalFenceInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalFenceProperties& value)
{
s << "VkExternalFenceProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texportFromImportedHandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n';
s << "\tcompatibleHandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n';
s << "\texternalFenceFeatures = " << getExternalFenceFeatureFlagsStr(value.externalFenceFeatures) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportFenceCreateInfo& value)
{
s << "VkExportFenceCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreCreateInfo& value)
{
s << "VkExportSemaphoreCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalSemaphoreInfo& value)
{
s << "VkPhysicalDeviceExternalSemaphoreInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalSemaphoreProperties& value)
{
s << "VkExternalSemaphoreProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texportFromImportedHandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n';
s << "\tcompatibleHandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n';
s << "\texternalSemaphoreFeatures = " << getExternalSemaphoreFeatureFlagsStr(value.externalSemaphoreFeatures) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance3Properties& value)
{
s << "VkPhysicalDeviceMaintenance3Properties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxPerSetDescriptors = " << value.maxPerSetDescriptors << '\n';
s << "\tmaxMemoryAllocationSize = " << value.maxMemoryAllocationSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutSupport& value)
{
s << "VkDescriptorSetLayoutSupport = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsupported = " << value.supported << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDrawParametersFeatures& value)
{
s << "VkPhysicalDeviceShaderDrawParametersFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderDrawParameters = " << value.shaderDrawParameters << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Features& value)
{
s << "VkPhysicalDeviceVulkan11Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstorageBuffer16BitAccess = " << value.storageBuffer16BitAccess << '\n';
s << "\tuniformAndStorageBuffer16BitAccess = " << value.uniformAndStorageBuffer16BitAccess << '\n';
s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n';
s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\n';
s << "\tmultiview = " << value.multiview << '\n';
s << "\tmultiviewGeometryShader = " << value.multiviewGeometryShader << '\n';
s << "\tmultiviewTessellationShader = " << value.multiviewTessellationShader << '\n';
s << "\tvariablePointersStorageBuffer = " << value.variablePointersStorageBuffer << '\n';
s << "\tvariablePointers = " << value.variablePointers << '\n';
s << "\tprotectedMemory = " << value.protectedMemory << '\n';
s << "\tsamplerYcbcrConversion = " << value.samplerYcbcrConversion << '\n';
s << "\tshaderDrawParameters = " << value.shaderDrawParameters << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Properties& value)
{
s << "VkPhysicalDeviceVulkan11Properties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceUUID))) << '\n';
s << "\tdriverUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.driverUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.driverUUID))) << '\n';
s << "\tdeviceLUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceLUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceLUID))) << '\n';
s << "\tdeviceNodeMask = " << value.deviceNodeMask << '\n';
s << "\tdeviceLUIDValid = " << value.deviceLUIDValid << '\n';
s << "\tsubgroupSize = " << value.subgroupSize << '\n';
s << "\tsubgroupSupportedStages = " << getShaderStageFlagsStr(value.subgroupSupportedStages) << '\n';
s << "\tsubgroupSupportedOperations = " << getSubgroupFeatureFlagsStr(value.subgroupSupportedOperations) << '\n';
s << "\tsubgroupQuadOperationsInAllStages = " << value.subgroupQuadOperationsInAllStages << '\n';
s << "\tpointClippingBehavior = " << value.pointClippingBehavior << '\n';
s << "\tmaxMultiviewViewCount = " << value.maxMultiviewViewCount << '\n';
s << "\tmaxMultiviewInstanceIndex = " << value.maxMultiviewInstanceIndex << '\n';
s << "\tprotectedNoFault = " << value.protectedNoFault << '\n';
s << "\tmaxPerSetDescriptors = " << value.maxPerSetDescriptors << '\n';
s << "\tmaxMemoryAllocationSize = " << value.maxMemoryAllocationSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Features& value)
{
s << "VkPhysicalDeviceVulkan12Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsamplerMirrorClampToEdge = " << value.samplerMirrorClampToEdge << '\n';
s << "\tdrawIndirectCount = " << value.drawIndirectCount << '\n';
s << "\tstorageBuffer8BitAccess = " << value.storageBuffer8BitAccess << '\n';
s << "\tuniformAndStorageBuffer8BitAccess = " << value.uniformAndStorageBuffer8BitAccess << '\n';
s << "\tstoragePushConstant8 = " << value.storagePushConstant8 << '\n';
s << "\tshaderBufferInt64Atomics = " << value.shaderBufferInt64Atomics << '\n';
s << "\tshaderSharedInt64Atomics = " << value.shaderSharedInt64Atomics << '\n';
s << "\tshaderFloat16 = " << value.shaderFloat16 << '\n';
s << "\tshaderInt8 = " << value.shaderInt8 << '\n';
s << "\tdescriptorIndexing = " << value.descriptorIndexing << '\n';
s << "\tshaderInputAttachmentArrayDynamicIndexing = " << value.shaderInputAttachmentArrayDynamicIndexing << '\n';
s << "\tshaderUniformTexelBufferArrayDynamicIndexing = " << value.shaderUniformTexelBufferArrayDynamicIndexing << '\n';
s << "\tshaderStorageTexelBufferArrayDynamicIndexing = " << value.shaderStorageTexelBufferArrayDynamicIndexing << '\n';
s << "\tshaderUniformBufferArrayNonUniformIndexing = " << value.shaderUniformBufferArrayNonUniformIndexing << '\n';
s << "\tshaderSampledImageArrayNonUniformIndexing = " << value.shaderSampledImageArrayNonUniformIndexing << '\n';
s << "\tshaderStorageBufferArrayNonUniformIndexing = " << value.shaderStorageBufferArrayNonUniformIndexing << '\n';
s << "\tshaderStorageImageArrayNonUniformIndexing = " << value.shaderStorageImageArrayNonUniformIndexing << '\n';
s << "\tshaderInputAttachmentArrayNonUniformIndexing = " << value.shaderInputAttachmentArrayNonUniformIndexing << '\n';
s << "\tshaderUniformTexelBufferArrayNonUniformIndexing = " << value.shaderUniformTexelBufferArrayNonUniformIndexing << '\n';
s << "\tshaderStorageTexelBufferArrayNonUniformIndexing = " << value.shaderStorageTexelBufferArrayNonUniformIndexing << '\n';
s << "\tdescriptorBindingUniformBufferUpdateAfterBind = " << value.descriptorBindingUniformBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingSampledImageUpdateAfterBind = " << value.descriptorBindingSampledImageUpdateAfterBind << '\n';
s << "\tdescriptorBindingStorageImageUpdateAfterBind = " << value.descriptorBindingStorageImageUpdateAfterBind << '\n';
s << "\tdescriptorBindingStorageBufferUpdateAfterBind = " << value.descriptorBindingStorageBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingUniformTexelBufferUpdateAfterBind = " << value.descriptorBindingUniformTexelBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingStorageTexelBufferUpdateAfterBind = " << value.descriptorBindingStorageTexelBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingUpdateUnusedWhilePending = " << value.descriptorBindingUpdateUnusedWhilePending << '\n';
s << "\tdescriptorBindingPartiallyBound = " << value.descriptorBindingPartiallyBound << '\n';
s << "\tdescriptorBindingVariableDescriptorCount = " << value.descriptorBindingVariableDescriptorCount << '\n';
s << "\truntimeDescriptorArray = " << value.runtimeDescriptorArray << '\n';
s << "\tsamplerFilterMinmax = " << value.samplerFilterMinmax << '\n';
s << "\tscalarBlockLayout = " << value.scalarBlockLayout << '\n';
s << "\timagelessFramebuffer = " << value.imagelessFramebuffer << '\n';
s << "\tuniformBufferStandardLayout = " << value.uniformBufferStandardLayout << '\n';
s << "\tshaderSubgroupExtendedTypes = " << value.shaderSubgroupExtendedTypes << '\n';
s << "\tseparateDepthStencilLayouts = " << value.separateDepthStencilLayouts << '\n';
s << "\thostQueryReset = " << value.hostQueryReset << '\n';
s << "\ttimelineSemaphore = " << value.timelineSemaphore << '\n';
s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n';
s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n';
s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n';
s << "\tvulkanMemoryModel = " << value.vulkanMemoryModel << '\n';
s << "\tvulkanMemoryModelDeviceScope = " << value.vulkanMemoryModelDeviceScope << '\n';
s << "\tvulkanMemoryModelAvailabilityVisibilityChains = " << value.vulkanMemoryModelAvailabilityVisibilityChains << '\n';
s << "\tshaderOutputViewportIndex = " << value.shaderOutputViewportIndex << '\n';
s << "\tshaderOutputLayer = " << value.shaderOutputLayer << '\n';
s << "\tsubgroupBroadcastDynamicId = " << value.subgroupBroadcastDynamicId << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkConformanceVersion& value)
{
s << "VkConformanceVersion = {\n";
s << "\tmajor = " << value.major << '\n';
s << "\tminor = " << value.minor << '\n';
s << "\tsubminor = " << value.subminor << '\n';
s << "\tpatch = " << value.patch << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Properties& value)
{
s << "VkPhysicalDeviceVulkan12Properties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdriverID = " << value.driverID << '\n';
s << "\tdriverName = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverName)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverName))) << '\n';
s << "\tdriverInfo = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverInfo)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverInfo))) << '\n';
s << "\tconformanceVersion = " << value.conformanceVersion << '\n';
s << "\tdenormBehaviorIndependence = " << value.denormBehaviorIndependence << '\n';
s << "\troundingModeIndependence = " << value.roundingModeIndependence << '\n';
s << "\tshaderSignedZeroInfNanPreserveFloat16 = " << value.shaderSignedZeroInfNanPreserveFloat16 << '\n';
s << "\tshaderSignedZeroInfNanPreserveFloat32 = " << value.shaderSignedZeroInfNanPreserveFloat32 << '\n';
s << "\tshaderSignedZeroInfNanPreserveFloat64 = " << value.shaderSignedZeroInfNanPreserveFloat64 << '\n';
s << "\tshaderDenormPreserveFloat16 = " << value.shaderDenormPreserveFloat16 << '\n';
s << "\tshaderDenormPreserveFloat32 = " << value.shaderDenormPreserveFloat32 << '\n';
s << "\tshaderDenormPreserveFloat64 = " << value.shaderDenormPreserveFloat64 << '\n';
s << "\tshaderDenormFlushToZeroFloat16 = " << value.shaderDenormFlushToZeroFloat16 << '\n';
s << "\tshaderDenormFlushToZeroFloat32 = " << value.shaderDenormFlushToZeroFloat32 << '\n';
s << "\tshaderDenormFlushToZeroFloat64 = " << value.shaderDenormFlushToZeroFloat64 << '\n';
s << "\tshaderRoundingModeRTEFloat16 = " << value.shaderRoundingModeRTEFloat16 << '\n';
s << "\tshaderRoundingModeRTEFloat32 = " << value.shaderRoundingModeRTEFloat32 << '\n';
s << "\tshaderRoundingModeRTEFloat64 = " << value.shaderRoundingModeRTEFloat64 << '\n';
s << "\tshaderRoundingModeRTZFloat16 = " << value.shaderRoundingModeRTZFloat16 << '\n';
s << "\tshaderRoundingModeRTZFloat32 = " << value.shaderRoundingModeRTZFloat32 << '\n';
s << "\tshaderRoundingModeRTZFloat64 = " << value.shaderRoundingModeRTZFloat64 << '\n';
s << "\tmaxUpdateAfterBindDescriptorsInAllPools = " << value.maxUpdateAfterBindDescriptorsInAllPools << '\n';
s << "\tshaderUniformBufferArrayNonUniformIndexingNative = " << value.shaderUniformBufferArrayNonUniformIndexingNative << '\n';
s << "\tshaderSampledImageArrayNonUniformIndexingNative = " << value.shaderSampledImageArrayNonUniformIndexingNative << '\n';
s << "\tshaderStorageBufferArrayNonUniformIndexingNative = " << value.shaderStorageBufferArrayNonUniformIndexingNative << '\n';
s << "\tshaderStorageImageArrayNonUniformIndexingNative = " << value.shaderStorageImageArrayNonUniformIndexingNative << '\n';
s << "\tshaderInputAttachmentArrayNonUniformIndexingNative = " << value.shaderInputAttachmentArrayNonUniformIndexingNative << '\n';
s << "\trobustBufferAccessUpdateAfterBind = " << value.robustBufferAccessUpdateAfterBind << '\n';
s << "\tquadDivergentImplicitLod = " << value.quadDivergentImplicitLod << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindSamplers = " << value.maxPerStageDescriptorUpdateAfterBindSamplers << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindUniformBuffers = " << value.maxPerStageDescriptorUpdateAfterBindUniformBuffers << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindStorageBuffers = " << value.maxPerStageDescriptorUpdateAfterBindStorageBuffers << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindSampledImages = " << value.maxPerStageDescriptorUpdateAfterBindSampledImages << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindStorageImages = " << value.maxPerStageDescriptorUpdateAfterBindStorageImages << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindInputAttachments = " << value.maxPerStageDescriptorUpdateAfterBindInputAttachments << '\n';
s << "\tmaxPerStageUpdateAfterBindResources = " << value.maxPerStageUpdateAfterBindResources << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindSamplers = " << value.maxDescriptorSetUpdateAfterBindSamplers << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffers = " << value.maxDescriptorSetUpdateAfterBindUniformBuffers << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffers = " << value.maxDescriptorSetUpdateAfterBindStorageBuffers << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindSampledImages = " << value.maxDescriptorSetUpdateAfterBindSampledImages << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindStorageImages = " << value.maxDescriptorSetUpdateAfterBindStorageImages << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindInputAttachments = " << value.maxDescriptorSetUpdateAfterBindInputAttachments << '\n';
s << "\tsupportedDepthResolveModes = " << getResolveModeFlagsStr(value.supportedDepthResolveModes) << '\n';
s << "\tsupportedStencilResolveModes = " << getResolveModeFlagsStr(value.supportedStencilResolveModes) << '\n';
s << "\tindependentResolveNone = " << value.independentResolveNone << '\n';
s << "\tindependentResolve = " << value.independentResolve << '\n';
s << "\tfilterMinmaxSingleComponentFormats = " << value.filterMinmaxSingleComponentFormats << '\n';
s << "\tfilterMinmaxImageComponentMapping = " << value.filterMinmaxImageComponentMapping << '\n';
s << "\tmaxTimelineSemaphoreValueDifference = " << value.maxTimelineSemaphoreValueDifference << '\n';
s << "\tframebufferIntegerColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferIntegerColorSampleCounts) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageFormatListCreateInfo& value)
{
s << "VkImageFormatListCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tviewFormatCount = " << value.viewFormatCount << '\n';
s << "\tpViewFormats = " << value.pViewFormats << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription2& value)
{
s << "VkAttachmentDescription2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n';
s << "\tformat = " << value.format << '\n';
s << "\tsamples = " << value.samples << '\n';
s << "\tloadOp = " << value.loadOp << '\n';
s << "\tstoreOp = " << value.storeOp << '\n';
s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n';
s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n';
s << "\tinitialLayout = " << value.initialLayout << '\n';
s << "\tfinalLayout = " << value.finalLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentReference2& value)
{
s << "VkAttachmentReference2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tattachment = " << value.attachment << '\n';
s << "\tlayout = " << value.layout << '\n';
s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassDescription2& value)
{
s << "VkSubpassDescription2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n';
s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n';
s << "\tviewMask = " << value.viewMask << '\n';
s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n';
s << "\tpInputAttachments = " << value.pInputAttachments << '\n';
s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
s << "\tpColorAttachments = " << value.pColorAttachments << '\n';
s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n';
s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n';
s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n';
s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassDependency2& value)
{
s << "VkSubpassDependency2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcSubpass = " << value.srcSubpass << '\n';
s << "\tdstSubpass = " << value.dstSubpass << '\n';
s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n';
s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n';
s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n';
s << "\tviewOffset = " << value.viewOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo2& value)
{
s << "VkRenderPassCreateInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n';
s << "\tattachmentCount = " << value.attachmentCount << '\n';
s << "\tpAttachments = " << value.pAttachments << '\n';
s << "\tsubpassCount = " << value.subpassCount << '\n';
s << "\tpSubpasses = " << value.pSubpasses << '\n';
s << "\tdependencyCount = " << value.dependencyCount << '\n';
s << "\tpDependencies = " << value.pDependencies << '\n';
s << "\tcorrelatedViewMaskCount = " << value.correlatedViewMaskCount << '\n';
s << "\tpCorrelatedViewMasks = " << value.pCorrelatedViewMasks << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassBeginInfo& value)
{
s << "VkSubpassBeginInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcontents = " << value.contents << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassEndInfo& value)
{
s << "VkSubpassEndInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice8BitStorageFeatures& value)
{
s << "VkPhysicalDevice8BitStorageFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstorageBuffer8BitAccess = " << value.storageBuffer8BitAccess << '\n';
s << "\tuniformAndStorageBuffer8BitAccess = " << value.uniformAndStorageBuffer8BitAccess << '\n';
s << "\tstoragePushConstant8 = " << value.storagePushConstant8 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDriverProperties& value)
{
s << "VkPhysicalDeviceDriverProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdriverID = " << value.driverID << '\n';
s << "\tdriverName = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverName)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverName))) << '\n';
s << "\tdriverInfo = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverInfo)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverInfo))) << '\n';
s << "\tconformanceVersion = " << value.conformanceVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicInt64Features& value)
{
s << "VkPhysicalDeviceShaderAtomicInt64Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderBufferInt64Atomics = " << value.shaderBufferInt64Atomics << '\n';
s << "\tshaderSharedInt64Atomics = " << value.shaderSharedInt64Atomics << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderFloat16Int8Features& value)
{
s << "VkPhysicalDeviceShaderFloat16Int8Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderFloat16 = " << value.shaderFloat16 << '\n';
s << "\tshaderInt8 = " << value.shaderInt8 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFloatControlsProperties& value)
{
s << "VkPhysicalDeviceFloatControlsProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdenormBehaviorIndependence = " << value.denormBehaviorIndependence << '\n';
s << "\troundingModeIndependence = " << value.roundingModeIndependence << '\n';
s << "\tshaderSignedZeroInfNanPreserveFloat16 = " << value.shaderSignedZeroInfNanPreserveFloat16 << '\n';
s << "\tshaderSignedZeroInfNanPreserveFloat32 = " << value.shaderSignedZeroInfNanPreserveFloat32 << '\n';
s << "\tshaderSignedZeroInfNanPreserveFloat64 = " << value.shaderSignedZeroInfNanPreserveFloat64 << '\n';
s << "\tshaderDenormPreserveFloat16 = " << value.shaderDenormPreserveFloat16 << '\n';
s << "\tshaderDenormPreserveFloat32 = " << value.shaderDenormPreserveFloat32 << '\n';
s << "\tshaderDenormPreserveFloat64 = " << value.shaderDenormPreserveFloat64 << '\n';
s << "\tshaderDenormFlushToZeroFloat16 = " << value.shaderDenormFlushToZeroFloat16 << '\n';
s << "\tshaderDenormFlushToZeroFloat32 = " << value.shaderDenormFlushToZeroFloat32 << '\n';
s << "\tshaderDenormFlushToZeroFloat64 = " << value.shaderDenormFlushToZeroFloat64 << '\n';
s << "\tshaderRoundingModeRTEFloat16 = " << value.shaderRoundingModeRTEFloat16 << '\n';
s << "\tshaderRoundingModeRTEFloat32 = " << value.shaderRoundingModeRTEFloat32 << '\n';
s << "\tshaderRoundingModeRTEFloat64 = " << value.shaderRoundingModeRTEFloat64 << '\n';
s << "\tshaderRoundingModeRTZFloat16 = " << value.shaderRoundingModeRTZFloat16 << '\n';
s << "\tshaderRoundingModeRTZFloat32 = " << value.shaderRoundingModeRTZFloat32 << '\n';
s << "\tshaderRoundingModeRTZFloat64 = " << value.shaderRoundingModeRTZFloat64 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBindingFlagsCreateInfo& value)
{
s << "VkDescriptorSetLayoutBindingFlagsCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbindingCount = " << value.bindingCount << '\n';
s << "\tpBindingFlags = " << value.pBindingFlags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingFeatures& value)
{
s << "VkPhysicalDeviceDescriptorIndexingFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderInputAttachmentArrayDynamicIndexing = " << value.shaderInputAttachmentArrayDynamicIndexing << '\n';
s << "\tshaderUniformTexelBufferArrayDynamicIndexing = " << value.shaderUniformTexelBufferArrayDynamicIndexing << '\n';
s << "\tshaderStorageTexelBufferArrayDynamicIndexing = " << value.shaderStorageTexelBufferArrayDynamicIndexing << '\n';
s << "\tshaderUniformBufferArrayNonUniformIndexing = " << value.shaderUniformBufferArrayNonUniformIndexing << '\n';
s << "\tshaderSampledImageArrayNonUniformIndexing = " << value.shaderSampledImageArrayNonUniformIndexing << '\n';
s << "\tshaderStorageBufferArrayNonUniformIndexing = " << value.shaderStorageBufferArrayNonUniformIndexing << '\n';
s << "\tshaderStorageImageArrayNonUniformIndexing = " << value.shaderStorageImageArrayNonUniformIndexing << '\n';
s << "\tshaderInputAttachmentArrayNonUniformIndexing = " << value.shaderInputAttachmentArrayNonUniformIndexing << '\n';
s << "\tshaderUniformTexelBufferArrayNonUniformIndexing = " << value.shaderUniformTexelBufferArrayNonUniformIndexing << '\n';
s << "\tshaderStorageTexelBufferArrayNonUniformIndexing = " << value.shaderStorageTexelBufferArrayNonUniformIndexing << '\n';
s << "\tdescriptorBindingUniformBufferUpdateAfterBind = " << value.descriptorBindingUniformBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingSampledImageUpdateAfterBind = " << value.descriptorBindingSampledImageUpdateAfterBind << '\n';
s << "\tdescriptorBindingStorageImageUpdateAfterBind = " << value.descriptorBindingStorageImageUpdateAfterBind << '\n';
s << "\tdescriptorBindingStorageBufferUpdateAfterBind = " << value.descriptorBindingStorageBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingUniformTexelBufferUpdateAfterBind = " << value.descriptorBindingUniformTexelBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingStorageTexelBufferUpdateAfterBind = " << value.descriptorBindingStorageTexelBufferUpdateAfterBind << '\n';
s << "\tdescriptorBindingUpdateUnusedWhilePending = " << value.descriptorBindingUpdateUnusedWhilePending << '\n';
s << "\tdescriptorBindingPartiallyBound = " << value.descriptorBindingPartiallyBound << '\n';
s << "\tdescriptorBindingVariableDescriptorCount = " << value.descriptorBindingVariableDescriptorCount << '\n';
s << "\truntimeDescriptorArray = " << value.runtimeDescriptorArray << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingProperties& value)
{
s << "VkPhysicalDeviceDescriptorIndexingProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxUpdateAfterBindDescriptorsInAllPools = " << value.maxUpdateAfterBindDescriptorsInAllPools << '\n';
s << "\tshaderUniformBufferArrayNonUniformIndexingNative = " << value.shaderUniformBufferArrayNonUniformIndexingNative << '\n';
s << "\tshaderSampledImageArrayNonUniformIndexingNative = " << value.shaderSampledImageArrayNonUniformIndexingNative << '\n';
s << "\tshaderStorageBufferArrayNonUniformIndexingNative = " << value.shaderStorageBufferArrayNonUniformIndexingNative << '\n';
s << "\tshaderStorageImageArrayNonUniformIndexingNative = " << value.shaderStorageImageArrayNonUniformIndexingNative << '\n';
s << "\tshaderInputAttachmentArrayNonUniformIndexingNative = " << value.shaderInputAttachmentArrayNonUniformIndexingNative << '\n';
s << "\trobustBufferAccessUpdateAfterBind = " << value.robustBufferAccessUpdateAfterBind << '\n';
s << "\tquadDivergentImplicitLod = " << value.quadDivergentImplicitLod << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindSamplers = " << value.maxPerStageDescriptorUpdateAfterBindSamplers << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindUniformBuffers = " << value.maxPerStageDescriptorUpdateAfterBindUniformBuffers << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindStorageBuffers = " << value.maxPerStageDescriptorUpdateAfterBindStorageBuffers << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindSampledImages = " << value.maxPerStageDescriptorUpdateAfterBindSampledImages << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindStorageImages = " << value.maxPerStageDescriptorUpdateAfterBindStorageImages << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindInputAttachments = " << value.maxPerStageDescriptorUpdateAfterBindInputAttachments << '\n';
s << "\tmaxPerStageUpdateAfterBindResources = " << value.maxPerStageUpdateAfterBindResources << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindSamplers = " << value.maxDescriptorSetUpdateAfterBindSamplers << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffers = " << value.maxDescriptorSetUpdateAfterBindUniformBuffers << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffers = " << value.maxDescriptorSetUpdateAfterBindStorageBuffers << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindSampledImages = " << value.maxDescriptorSetUpdateAfterBindSampledImages << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindStorageImages = " << value.maxDescriptorSetUpdateAfterBindStorageImages << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindInputAttachments = " << value.maxDescriptorSetUpdateAfterBindInputAttachments << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountAllocateInfo& value)
{
s << "VkDescriptorSetVariableDescriptorCountAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n';
s << "\tpDescriptorCounts = " << value.pDescriptorCounts << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountLayoutSupport& value)
{
s << "VkDescriptorSetVariableDescriptorCountLayoutSupport = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxVariableDescriptorCount = " << value.maxVariableDescriptorCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassDescriptionDepthStencilResolve& value)
{
s << "VkSubpassDescriptionDepthStencilResolve = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdepthResolveMode = " << value.depthResolveMode << '\n';
s << "\tstencilResolveMode = " << value.stencilResolveMode << '\n';
s << "\tpDepthStencilResolveAttachment = " << value.pDepthStencilResolveAttachment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthStencilResolveProperties& value)
{
s << "VkPhysicalDeviceDepthStencilResolveProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsupportedDepthResolveModes = " << getResolveModeFlagsStr(value.supportedDepthResolveModes) << '\n';
s << "\tsupportedStencilResolveModes = " << getResolveModeFlagsStr(value.supportedStencilResolveModes) << '\n';
s << "\tindependentResolveNone = " << value.independentResolveNone << '\n';
s << "\tindependentResolve = " << value.independentResolve << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceScalarBlockLayoutFeatures& value)
{
s << "VkPhysicalDeviceScalarBlockLayoutFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tscalarBlockLayout = " << value.scalarBlockLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageStencilUsageCreateInfo& value)
{
s << "VkImageStencilUsageCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstencilUsage = " << getImageUsageFlagsStr(value.stencilUsage) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerReductionModeCreateInfo& value)
{
s << "VkSamplerReductionModeCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\treductionMode = " << value.reductionMode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerFilterMinmaxProperties& value)
{
s << "VkPhysicalDeviceSamplerFilterMinmaxProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfilterMinmaxSingleComponentFormats = " << value.filterMinmaxSingleComponentFormats << '\n';
s << "\tfilterMinmaxImageComponentMapping = " << value.filterMinmaxImageComponentMapping << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkanMemoryModelFeatures& value)
{
s << "VkPhysicalDeviceVulkanMemoryModelFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvulkanMemoryModel = " << value.vulkanMemoryModel << '\n';
s << "\tvulkanMemoryModelDeviceScope = " << value.vulkanMemoryModelDeviceScope << '\n';
s << "\tvulkanMemoryModelAvailabilityVisibilityChains = " << value.vulkanMemoryModelAvailabilityVisibilityChains << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImagelessFramebufferFeatures& value)
{
s << "VkPhysicalDeviceImagelessFramebufferFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timagelessFramebuffer = " << value.imagelessFramebuffer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentImageInfo& value)
{
s << "VkFramebufferAttachmentImageInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n';
s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n';
s << "\twidth = " << value.width << '\n';
s << "\theight = " << value.height << '\n';
s << "\tlayerCount = " << value.layerCount << '\n';
s << "\tviewFormatCount = " << value.viewFormatCount << '\n';
s << "\tpViewFormats = " << value.pViewFormats << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentsCreateInfo& value)
{
s << "VkFramebufferAttachmentsCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tattachmentImageInfoCount = " << value.attachmentImageInfoCount << '\n';
s << "\tpAttachmentImageInfos = " << value.pAttachmentImageInfos << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassAttachmentBeginInfo& value)
{
s << "VkRenderPassAttachmentBeginInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tattachmentCount = " << value.attachmentCount << '\n';
s << "\tpAttachments = " << value.pAttachments << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures& value)
{
s << "VkPhysicalDeviceUniformBufferStandardLayoutFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tuniformBufferStandardLayout = " << value.uniformBufferStandardLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& value)
{
s << "VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderSubgroupExtendedTypes = " << value.shaderSubgroupExtendedTypes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& value)
{
s << "VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tseparateDepthStencilLayouts = " << value.separateDepthStencilLayouts << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentReferenceStencilLayout& value)
{
s << "VkAttachmentReferenceStencilLayout = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstencilLayout = " << value.stencilLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentDescriptionStencilLayout& value)
{
s << "VkAttachmentDescriptionStencilLayout = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstencilInitialLayout = " << value.stencilInitialLayout << '\n';
s << "\tstencilFinalLayout = " << value.stencilFinalLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetFeatures& value)
{
s << "VkPhysicalDeviceHostQueryResetFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thostQueryReset = " << value.hostQueryReset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreFeatures& value)
{
s << "VkPhysicalDeviceTimelineSemaphoreFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttimelineSemaphore = " << value.timelineSemaphore << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreProperties& value)
{
s << "VkPhysicalDeviceTimelineSemaphoreProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxTimelineSemaphoreValueDifference = " << value.maxTimelineSemaphoreValueDifference << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreTypeCreateInfo& value)
{
s << "VkSemaphoreTypeCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphoreType = " << value.semaphoreType << '\n';
s << "\tinitialValue = " << value.initialValue << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkTimelineSemaphoreSubmitInfo& value)
{
s << "VkTimelineSemaphoreSubmitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\twaitSemaphoreValueCount = " << value.waitSemaphoreValueCount << '\n';
s << "\tpWaitSemaphoreValues = " << value.pWaitSemaphoreValues << '\n';
s << "\tsignalSemaphoreValueCount = " << value.signalSemaphoreValueCount << '\n';
s << "\tpSignalSemaphoreValues = " << value.pSignalSemaphoreValues << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreWaitInfo& value)
{
s << "VkSemaphoreWaitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getSemaphoreWaitFlagsStr(value.flags) << '\n';
s << "\tsemaphoreCount = " << value.semaphoreCount << '\n';
s << "\tpSemaphores = " << value.pSemaphores << '\n';
s << "\tpValues = " << value.pValues << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreSignalInfo& value)
{
s << "VkSemaphoreSignalInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\tvalue = " << value.value << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeatures& value)
{
s << "VkPhysicalDeviceBufferDeviceAddressFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n';
s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n';
s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressInfo& value)
{
s << "VkBufferDeviceAddressInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferOpaqueCaptureAddressCreateInfo& value)
{
s << "VkBufferOpaqueCaptureAddressCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\topaqueCaptureAddress = " << value.opaqueCaptureAddress << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryOpaqueCaptureAddressAllocateInfo& value)
{
s << "VkMemoryOpaqueCaptureAddressAllocateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\topaqueCaptureAddress = " << value.opaqueCaptureAddress << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOpaqueCaptureAddressInfo& value)
{
s << "VkDeviceMemoryOpaqueCaptureAddressInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Features& value)
{
s << "VkPhysicalDeviceVulkan13Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trobustImageAccess = " << value.robustImageAccess << '\n';
s << "\tinlineUniformBlock = " << value.inlineUniformBlock << '\n';
s << "\tdescriptorBindingInlineUniformBlockUpdateAfterBind = " << value.descriptorBindingInlineUniformBlockUpdateAfterBind << '\n';
s << "\tpipelineCreationCacheControl = " << value.pipelineCreationCacheControl << '\n';
s << "\tprivateData = " << value.privateData << '\n';
s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n';
s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n';
s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n';
s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n';
s << "\tsynchronization2 = " << value.synchronization2 << '\n';
s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n';
s << "\tshaderZeroInitializeWorkgroupMemory = " << value.shaderZeroInitializeWorkgroupMemory << '\n';
s << "\tdynamicRendering = " << value.dynamicRendering << '\n';
s << "\tshaderIntegerDotProduct = " << value.shaderIntegerDotProduct << '\n';
s << "\tmaintenance4 = " << value.maintenance4 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Properties& value)
{
s << "VkPhysicalDeviceVulkan13Properties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n';
s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n';
s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n';
s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n';
s << "\tmaxInlineUniformBlockSize = " << value.maxInlineUniformBlockSize << '\n';
s << "\tmaxPerStageDescriptorInlineUniformBlocks = " << value.maxPerStageDescriptorInlineUniformBlocks << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = " << value.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks << '\n';
s << "\tmaxDescriptorSetInlineUniformBlocks = " << value.maxDescriptorSetInlineUniformBlocks << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindInlineUniformBlocks = " << value.maxDescriptorSetUpdateAfterBindInlineUniformBlocks << '\n';
s << "\tmaxInlineUniformTotalSize = " << value.maxInlineUniformTotalSize << '\n';
s << "\tintegerDotProduct8BitUnsignedAccelerated = " << value.integerDotProduct8BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct8BitSignedAccelerated = " << value.integerDotProduct8BitSignedAccelerated << '\n';
s << "\tintegerDotProduct8BitMixedSignednessAccelerated = " << value.integerDotProduct8BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct4x8BitPackedUnsignedAccelerated = " << value.integerDotProduct4x8BitPackedUnsignedAccelerated << '\n';
s << "\tintegerDotProduct4x8BitPackedSignedAccelerated = " << value.integerDotProduct4x8BitPackedSignedAccelerated << '\n';
s << "\tintegerDotProduct4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProduct4x8BitPackedMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct16BitUnsignedAccelerated = " << value.integerDotProduct16BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct16BitSignedAccelerated = " << value.integerDotProduct16BitSignedAccelerated << '\n';
s << "\tintegerDotProduct16BitMixedSignednessAccelerated = " << value.integerDotProduct16BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct32BitUnsignedAccelerated = " << value.integerDotProduct32BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct32BitSignedAccelerated = " << value.integerDotProduct32BitSignedAccelerated << '\n';
s << "\tintegerDotProduct32BitMixedSignednessAccelerated = " << value.integerDotProduct32BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct64BitUnsignedAccelerated = " << value.integerDotProduct64BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct64BitSignedAccelerated = " << value.integerDotProduct64BitSignedAccelerated << '\n';
s << "\tintegerDotProduct64BitMixedSignednessAccelerated = " << value.integerDotProduct64BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating8BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating8BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating16BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating16BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating32BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating32BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating64BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating64BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated << '\n';
s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n';
s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n';
s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n';
s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n';
s << "\tmaxBufferSize = " << value.maxBufferSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedback& value)
{
s << "VkPipelineCreationFeedback = {\n";
s << "\tflags = " << getPipelineCreationFeedbackFlagsStr(value.flags) << '\n';
s << "\tduration = " << value.duration << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackCreateInfo& value)
{
s << "VkPipelineCreationFeedbackCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpPipelineCreationFeedback = " << value.pPipelineCreationFeedback << '\n';
s << "\tpipelineStageCreationFeedbackCount = " << value.pipelineStageCreationFeedbackCount << '\n';
s << "\tpPipelineStageCreationFeedbacks = " << value.pPipelineStageCreationFeedbacks << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderTerminateInvocationFeatures& value)
{
s << "VkPhysicalDeviceShaderTerminateInvocationFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceToolProperties& value)
{
s << "VkPhysicalDeviceToolProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.name))) << '\n';
s << "\tversion = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.version)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.version))) << '\n';
s << "\tpurposes = " << getToolPurposeFlagsStr(value.purposes) << '\n';
s << "\tdescription = " << (const char*)value.description << '\n';
s << "\tlayer = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.layer)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.layer))) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& value)
{
s << "VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrivateDataFeatures& value)
{
s << "VkPhysicalDevicePrivateDataFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprivateData = " << value.privateData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDevicePrivateDataCreateInfo& value)
{
s << "VkDevicePrivateDataCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprivateDataSlotRequestCount = " << value.privateDataSlotRequestCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPrivateDataSlotCreateInfo& value)
{
s << "VkPrivateDataSlotCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPrivateDataSlotCreateFlagsStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineCreationCacheControlFeatures& value)
{
s << "VkPhysicalDevicePipelineCreationCacheControlFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipelineCreationCacheControl = " << value.pipelineCreationCacheControl << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier2& value)
{
s << "VkMemoryBarrier2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcStageMask = " << value.srcStageMask << '\n';
s << "\tsrcAccessMask = " << value.srcAccessMask << '\n';
s << "\tdstStageMask = " << value.dstStageMask << '\n';
s << "\tdstAccessMask = " << value.dstAccessMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier2& value)
{
s << "VkBufferMemoryBarrier2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcStageMask = " << value.srcStageMask << '\n';
s << "\tsrcAccessMask = " << value.srcAccessMask << '\n';
s << "\tdstStageMask = " << value.dstStageMask << '\n';
s << "\tdstAccessMask = " << value.dstAccessMask << '\n';
s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier2& value)
{
s << "VkImageMemoryBarrier2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcStageMask = " << value.srcStageMask << '\n';
s << "\tsrcAccessMask = " << value.srcAccessMask << '\n';
s << "\tdstStageMask = " << value.dstStageMask << '\n';
s << "\tdstAccessMask = " << value.dstAccessMask << '\n';
s << "\toldLayout = " << value.oldLayout << '\n';
s << "\tnewLayout = " << value.newLayout << '\n';
s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
s << "\timage = " << value.image << '\n';
s << "\tsubresourceRange = " << value.subresourceRange << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDependencyInfo& value)
{
s << "VkDependencyInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n';
s << "\tmemoryBarrierCount = " << value.memoryBarrierCount << '\n';
s << "\tpMemoryBarriers = " << value.pMemoryBarriers << '\n';
s << "\tbufferMemoryBarrierCount = " << value.bufferMemoryBarrierCount << '\n';
s << "\tpBufferMemoryBarriers = " << value.pBufferMemoryBarriers << '\n';
s << "\timageMemoryBarrierCount = " << value.imageMemoryBarrierCount << '\n';
s << "\tpImageMemoryBarriers = " << value.pImageMemoryBarriers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreSubmitInfo& value)
{
s << "VkSemaphoreSubmitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\tvalue = " << value.value << '\n';
s << "\tstageMask = " << value.stageMask << '\n';
s << "\tdeviceIndex = " << value.deviceIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferSubmitInfo& value)
{
s << "VkCommandBufferSubmitInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcommandBuffer = " << value.commandBuffer << '\n';
s << "\tdeviceMask = " << value.deviceMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubmitInfo2& value)
{
s << "VkSubmitInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getSubmitFlagsStr(value.flags) << '\n';
s << "\twaitSemaphoreInfoCount = " << value.waitSemaphoreInfoCount << '\n';
s << "\tpWaitSemaphoreInfos = " << value.pWaitSemaphoreInfos << '\n';
s << "\tcommandBufferInfoCount = " << value.commandBufferInfoCount << '\n';
s << "\tpCommandBufferInfos = " << value.pCommandBufferInfos << '\n';
s << "\tsignalSemaphoreInfoCount = " << value.signalSemaphoreInfoCount << '\n';
s << "\tpSignalSemaphoreInfos = " << value.pSignalSemaphoreInfos << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSynchronization2Features& value)
{
s << "VkPhysicalDeviceSynchronization2Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsynchronization2 = " << value.synchronization2 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& value)
{
s << "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderZeroInitializeWorkgroupMemory = " << value.shaderZeroInitializeWorkgroupMemory << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageRobustnessFeatures& value)
{
s << "VkPhysicalDeviceImageRobustnessFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trobustImageAccess = " << value.robustImageAccess << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCopy2& value)
{
s << "VkBufferCopy2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcOffset = " << value.srcOffset << '\n';
s << "\tdstOffset = " << value.dstOffset << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyBufferInfo2& value)
{
s << "VkCopyBufferInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcBuffer = " << value.srcBuffer << '\n';
s << "\tdstBuffer = " << value.dstBuffer << '\n';
s << "\tregionCount = " << value.regionCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageCopy2& value)
{
s << "VkImageCopy2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcSubresource = " << value.srcSubresource << '\n';
s << "\tsrcOffset = " << value.srcOffset << '\n';
s << "\tdstSubresource = " << value.dstSubresource << '\n';
s << "\tdstOffset = " << value.dstOffset << '\n';
s << "\textent = " << value.extent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyImageInfo2& value)
{
s << "VkCopyImageInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcImage = " << value.srcImage << '\n';
s << "\tsrcImageLayout = " << value.srcImageLayout << '\n';
s << "\tdstImage = " << value.dstImage << '\n';
s << "\tdstImageLayout = " << value.dstImageLayout << '\n';
s << "\tregionCount = " << value.regionCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy2& value)
{
s << "VkBufferImageCopy2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbufferOffset = " << value.bufferOffset << '\n';
s << "\tbufferRowLength = " << value.bufferRowLength << '\n';
s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n';
s << "\timageSubresource = " << value.imageSubresource << '\n';
s << "\timageOffset = " << value.imageOffset << '\n';
s << "\timageExtent = " << value.imageExtent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyBufferToImageInfo2& value)
{
s << "VkCopyBufferToImageInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcBuffer = " << value.srcBuffer << '\n';
s << "\tdstImage = " << value.dstImage << '\n';
s << "\tdstImageLayout = " << value.dstImageLayout << '\n';
s << "\tregionCount = " << value.regionCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyImageToBufferInfo2& value)
{
s << "VkCopyImageToBufferInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcImage = " << value.srcImage << '\n';
s << "\tsrcImageLayout = " << value.srcImageLayout << '\n';
s << "\tdstBuffer = " << value.dstBuffer << '\n';
s << "\tregionCount = " << value.regionCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageBlit2& value)
{
s << "VkImageBlit2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcSubresource = " << value.srcSubresource << '\n';
s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n';
s << "\tdstSubresource = " << value.dstSubresource << '\n';
s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBlitImageInfo2& value)
{
s << "VkBlitImageInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcImage = " << value.srcImage << '\n';
s << "\tsrcImageLayout = " << value.srcImageLayout << '\n';
s << "\tdstImage = " << value.dstImage << '\n';
s << "\tdstImageLayout = " << value.dstImageLayout << '\n';
s << "\tregionCount = " << value.regionCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << "\tfilter = " << value.filter << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageResolve2& value)
{
s << "VkImageResolve2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcSubresource = " << value.srcSubresource << '\n';
s << "\tsrcOffset = " << value.srcOffset << '\n';
s << "\tdstSubresource = " << value.dstSubresource << '\n';
s << "\tdstOffset = " << value.dstOffset << '\n';
s << "\textent = " << value.extent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkResolveImageInfo2& value)
{
s << "VkResolveImageInfo2 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcImage = " << value.srcImage << '\n';
s << "\tsrcImageLayout = " << value.srcImageLayout << '\n';
s << "\tdstImage = " << value.dstImage << '\n';
s << "\tdstImageLayout = " << value.dstImageLayout << '\n';
s << "\tregionCount = " << value.regionCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlFeatures& value)
{
s << "VkPhysicalDeviceSubgroupSizeControlFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n';
s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlProperties& value)
{
s << "VkPhysicalDeviceSubgroupSizeControlProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n';
s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n';
s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n';
s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo& value)
{
s << "VkPipelineShaderStageRequiredSubgroupSizeCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trequiredSubgroupSize = " << value.requiredSubgroupSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeatures& value)
{
s << "VkPhysicalDeviceInlineUniformBlockFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tinlineUniformBlock = " << value.inlineUniformBlock << '\n';
s << "\tdescriptorBindingInlineUniformBlockUpdateAfterBind = " << value.descriptorBindingInlineUniformBlockUpdateAfterBind << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockProperties& value)
{
s << "VkPhysicalDeviceInlineUniformBlockProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxInlineUniformBlockSize = " << value.maxInlineUniformBlockSize << '\n';
s << "\tmaxPerStageDescriptorInlineUniformBlocks = " << value.maxPerStageDescriptorInlineUniformBlocks << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = " << value.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks << '\n';
s << "\tmaxDescriptorSetInlineUniformBlocks = " << value.maxDescriptorSetInlineUniformBlocks << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindInlineUniformBlocks = " << value.maxDescriptorSetUpdateAfterBindInlineUniformBlocks << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetInlineUniformBlock& value)
{
s << "VkWriteDescriptorSetInlineUniformBlock = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdataSize = " << value.dataSize << '\n';
s << "\tpData = " << value.pData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolInlineUniformBlockCreateInfo& value)
{
s << "VkDescriptorPoolInlineUniformBlockCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxInlineUniformBlockBindings = " << value.maxInlineUniformBlockBindings << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTextureCompressionASTCHDRFeatures& value)
{
s << "VkPhysicalDeviceTextureCompressionASTCHDRFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfo& value)
{
s << "VkRenderingAttachmentInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageView = " << value.imageView << '\n';
s << "\timageLayout = " << value.imageLayout << '\n';
s << "\tresolveMode = " << value.resolveMode << '\n';
s << "\tresolveImageView = " << value.resolveImageView << '\n';
s << "\tresolveImageLayout = " << value.resolveImageLayout << '\n';
s << "\tloadOp = " << value.loadOp << '\n';
s << "\tstoreOp = " << value.storeOp << '\n';
s << "\tclearValue = " << value.clearValue << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderingInfo& value)
{
s << "VkRenderingInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getRenderingFlagsStr(value.flags) << '\n';
s << "\trenderArea = " << value.renderArea << '\n';
s << "\tlayerCount = " << value.layerCount << '\n';
s << "\tviewMask = " << value.viewMask << '\n';
s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
s << "\tpColorAttachments = " << value.pColorAttachments << '\n';
s << "\tpDepthAttachment = " << value.pDepthAttachment << '\n';
s << "\tpStencilAttachment = " << value.pStencilAttachment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfo& value)
{
s << "VkPipelineRenderingCreateInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tviewMask = " << value.viewMask << '\n';
s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n';
s << "\tdepthAttachmentFormat = " << value.depthAttachmentFormat << '\n';
s << "\tstencilAttachmentFormat = " << value.stencilAttachmentFormat << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeatures& value)
{
s << "VkPhysicalDeviceDynamicRenderingFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdynamicRendering = " << value.dynamicRendering << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfo& value)
{
s << "VkCommandBufferInheritanceRenderingInfo = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getRenderingFlagsStr(value.flags) << '\n';
s << "\tviewMask = " << value.viewMask << '\n';
s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n';
s << "\tdepthAttachmentFormat = " << value.depthAttachmentFormat << '\n';
s << "\tstencilAttachmentFormat = " << value.stencilAttachmentFormat << '\n';
s << "\trasterizationSamples = " << value.rasterizationSamples << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductFeatures& value)
{
s << "VkPhysicalDeviceShaderIntegerDotProductFeatures = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderIntegerDotProduct = " << value.shaderIntegerDotProduct << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductProperties& value)
{
s << "VkPhysicalDeviceShaderIntegerDotProductProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tintegerDotProduct8BitUnsignedAccelerated = " << value.integerDotProduct8BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct8BitSignedAccelerated = " << value.integerDotProduct8BitSignedAccelerated << '\n';
s << "\tintegerDotProduct8BitMixedSignednessAccelerated = " << value.integerDotProduct8BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct4x8BitPackedUnsignedAccelerated = " << value.integerDotProduct4x8BitPackedUnsignedAccelerated << '\n';
s << "\tintegerDotProduct4x8BitPackedSignedAccelerated = " << value.integerDotProduct4x8BitPackedSignedAccelerated << '\n';
s << "\tintegerDotProduct4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProduct4x8BitPackedMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct16BitUnsignedAccelerated = " << value.integerDotProduct16BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct16BitSignedAccelerated = " << value.integerDotProduct16BitSignedAccelerated << '\n';
s << "\tintegerDotProduct16BitMixedSignednessAccelerated = " << value.integerDotProduct16BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct32BitUnsignedAccelerated = " << value.integerDotProduct32BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct32BitSignedAccelerated = " << value.integerDotProduct32BitSignedAccelerated << '\n';
s << "\tintegerDotProduct32BitMixedSignednessAccelerated = " << value.integerDotProduct32BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProduct64BitUnsignedAccelerated = " << value.integerDotProduct64BitUnsignedAccelerated << '\n';
s << "\tintegerDotProduct64BitSignedAccelerated = " << value.integerDotProduct64BitSignedAccelerated << '\n';
s << "\tintegerDotProduct64BitMixedSignednessAccelerated = " << value.integerDotProduct64BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating8BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating8BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating16BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating16BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating32BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating32BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating64BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating64BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitSignedAccelerated << '\n';
s << "\tintegerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentProperties& value)
{
s << "VkPhysicalDeviceTexelBufferAlignmentProperties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n';
s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n';
s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n';
s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFormatProperties3& value)
{
s << "VkFormatProperties3 = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlinearTilingFeatures = " << value.linearTilingFeatures << '\n';
s << "\toptimalTilingFeatures = " << value.optimalTilingFeatures << '\n';
s << "\tbufferFeatures = " << value.bufferFeatures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4Features& value)
{
s << "VkPhysicalDeviceMaintenance4Features = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaintenance4 = " << value.maintenance4 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4Properties& value)
{
s << "VkPhysicalDeviceMaintenance4Properties = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxBufferSize = " << value.maxBufferSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceBufferMemoryRequirements& value)
{
s << "VkDeviceBufferMemoryRequirements = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpCreateInfo = " << value.pCreateInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceImageMemoryRequirements& value)
{
s << "VkDeviceImageMemoryRequirements = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpCreateInfo = " << value.pCreateInfo << '\n';
s << "\tplaneAspect = " << value.planeAspect << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesKHR& value)
{
s << "VkSurfaceCapabilitiesKHR = {\n";
s << "\tminImageCount = " << value.minImageCount << '\n';
s << "\tmaxImageCount = " << value.maxImageCount << '\n';
s << "\tcurrentExtent = " << value.currentExtent << '\n';
s << "\tminImageExtent = " << value.minImageExtent << '\n';
s << "\tmaxImageExtent = " << value.maxImageExtent << '\n';
s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n';
s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n';
s << "\tcurrentTransform = " << value.currentTransform << '\n';
s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n';
s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceFormatKHR& value)
{
s << "VkSurfaceFormatKHR = {\n";
s << "\tformat = " << value.format << '\n';
s << "\tcolorSpace = " << value.colorSpace << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSwapchainCreateInfoKHR& value)
{
s << "VkSwapchainCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getSwapchainCreateFlagsKHRStr(value.flags) << '\n';
s << "\tsurface = " << value.surface << '\n';
s << "\tminImageCount = " << value.minImageCount << '\n';
s << "\timageFormat = " << value.imageFormat << '\n';
s << "\timageColorSpace = " << value.imageColorSpace << '\n';
s << "\timageExtent = " << value.imageExtent << '\n';
s << "\timageArrayLayers = " << value.imageArrayLayers << '\n';
s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n';
s << "\timageSharingMode = " << value.imageSharingMode << '\n';
s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n';
s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n';
s << "\tpreTransform = " << value.preTransform << '\n';
s << "\tcompositeAlpha = " << value.compositeAlpha << '\n';
s << "\tpresentMode = " << value.presentMode << '\n';
s << "\tclipped = " << value.clipped << '\n';
s << "\toldSwapchain = " << value.oldSwapchain << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentInfoKHR& value)
{
s << "VkPresentInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n';
s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n';
s << "\tswapchainCount = " << value.swapchainCount << '\n';
s << "\tpSwapchains = " << value.pSwapchains << '\n';
s << "\tpImageIndices = " << value.pImageIndices << '\n';
s << "\tpResults = " << value.pResults << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageSwapchainCreateInfoKHR& value)
{
s << "VkImageSwapchainCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchain = " << value.swapchain << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindImageMemorySwapchainInfoKHR& value)
{
s << "VkBindImageMemorySwapchainInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchain = " << value.swapchain << '\n';
s << "\timageIndex = " << value.imageIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAcquireNextImageInfoKHR& value)
{
s << "VkAcquireNextImageInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchain = " << value.swapchain << '\n';
s << "\ttimeout = " << value.timeout << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\tfence = " << value.fence << '\n';
s << "\tdeviceMask = " << value.deviceMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value)
{
s << "VkDeviceGroupPresentCapabilitiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpresentMask = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.presentMask), DE_ARRAY_END(value.presentMask)) << '\n';
s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentInfoKHR& value)
{
s << "VkDeviceGroupPresentInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchainCount = " << value.swapchainCount << '\n';
s << "\tpDeviceMasks = " << value.pDeviceMasks << '\n';
s << "\tmode = " << value.mode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value)
{
s << "VkDeviceGroupSwapchainCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value)
{
s << "VkDisplayModeParametersKHR = {\n";
s << "\tvisibleRegion = " << value.visibleRegion << '\n';
s << "\trefreshRate = " << value.refreshRate << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value)
{
s << "VkDisplayModeCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n';
s << "\tparameters = " << value.parameters << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value)
{
s << "VkDisplayModePropertiesKHR = {\n";
s << "\tdisplayMode = " << value.displayMode << '\n';
s << "\tparameters = " << value.parameters << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value)
{
s << "VkDisplayPlaneCapabilitiesKHR = {\n";
s << "\tsupportedAlpha = " << getDisplayPlaneAlphaFlagsKHRStr(value.supportedAlpha) << '\n';
s << "\tminSrcPosition = " << value.minSrcPosition << '\n';
s << "\tmaxSrcPosition = " << value.maxSrcPosition << '\n';
s << "\tminSrcExtent = " << value.minSrcExtent << '\n';
s << "\tmaxSrcExtent = " << value.maxSrcExtent << '\n';
s << "\tminDstPosition = " << value.minDstPosition << '\n';
s << "\tmaxDstPosition = " << value.maxDstPosition << '\n';
s << "\tminDstExtent = " << value.minDstExtent << '\n';
s << "\tmaxDstExtent = " << value.maxDstExtent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& value)
{
s << "VkDisplayPlanePropertiesKHR = {\n";
s << "\tcurrentDisplay = " << value.currentDisplay << '\n';
s << "\tcurrentStackIndex = " << value.currentStackIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value)
{
s << "VkDisplayPropertiesKHR = {\n";
s << "\tdisplay = " << value.display << '\n';
s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n';
s << "\tphysicalDimensions = " << value.physicalDimensions << '\n';
s << "\tphysicalResolution = " << value.physicalResolution << '\n';
s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n';
s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n';
s << "\tpersistentContent = " << value.persistentContent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value)
{
s << "VkDisplaySurfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDisplaySurfaceCreateFlagsKHRStr(value.flags) << '\n';
s << "\tdisplayMode = " << value.displayMode << '\n';
s << "\tplaneIndex = " << value.planeIndex << '\n';
s << "\tplaneStackIndex = " << value.planeStackIndex << '\n';
s << "\ttransform = " << value.transform << '\n';
s << "\tglobalAlpha = " << value.globalAlpha << '\n';
s << "\talphaMode = " << value.alphaMode << '\n';
s << "\timageExtent = " << value.imageExtent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value)
{
s << "VkDisplayPresentInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcRect = " << value.srcRect << '\n';
s << "\tdstRect = " << value.dstRect << '\n';
s << "\tpersistent = " << value.persistent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentShadingRateAttachmentInfoKHR& value)
{
s << "VkRenderingFragmentShadingRateAttachmentInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageView = " << value.imageView << '\n';
s << "\timageLayout = " << value.imageLayout << '\n';
s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentDensityMapAttachmentInfoEXT& value)
{
s << "VkRenderingFragmentDensityMapAttachmentInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageView = " << value.imageView << '\n';
s << "\timageLayout = " << value.imageLayout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleCountInfoAMD& value)
{
s << "VkAttachmentSampleCountInfoAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
s << "\tpColorAttachmentSamples = " << value.pColorAttachmentSamples << '\n';
s << "\tdepthStencilAttachmentSamples = " << value.depthStencilAttachmentSamples << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMultiviewPerViewAttributesInfoNVX& value)
{
s << "VkMultiviewPerViewAttributesInfoNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tperViewAttributes = " << value.perViewAttributes << '\n';
s << "\tperViewAttributesPositionXOnly = " << value.perViewAttributesPositionXOnly << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value)
{
s << "VkImportMemoryFdInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\tfd = " << value.fd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryFdPropertiesKHR& value)
{
s << "VkMemoryFdPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryGetFdInfoKHR& value)
{
s << "VkMemoryGetFdInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreFdInfoKHR& value)
{
s << "VkImportSemaphoreFdInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\tfd = " << value.fd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetFdInfoKHR& value)
{
s << "VkSemaphoreGetFdInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePushDescriptorPropertiesKHR& value)
{
s << "VkPhysicalDevicePushDescriptorPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxPushDescriptors = " << value.maxPushDescriptors << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRectLayerKHR& value)
{
s << "VkRectLayerKHR = {\n";
s << "\toffset = " << value.offset << '\n';
s << "\textent = " << value.extent << '\n';
s << "\tlayer = " << value.layer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentRegionKHR& value)
{
s << "VkPresentRegionKHR = {\n";
s << "\trectangleCount = " << value.rectangleCount << '\n';
s << "\tpRectangles = " << value.pRectangles << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentRegionsKHR& value)
{
s << "VkPresentRegionsKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchainCount = " << value.swapchainCount << '\n';
s << "\tpRegions = " << value.pRegions << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value)
{
s << "VkSharedPresentSurfaceCapabilitiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsharedPresentSupportedUsageFlags = " << getImageUsageFlagsStr(value.sharedPresentSupportedUsageFlags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportFenceFdInfoKHR& value)
{
s << "VkImportFenceFdInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfence = " << value.fence << '\n';
s << "\tflags = " << getFenceImportFlagsStr(value.flags) << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\tfd = " << value.fd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFenceGetFdInfoKHR& value)
{
s << "VkFenceGetFdInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfence = " << value.fence << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value)
{
s << "VkPhysicalDevicePerformanceQueryFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tperformanceCounterQueryPools = " << value.performanceCounterQueryPools << '\n';
s << "\tperformanceCounterMultipleQueryPools = " << value.performanceCounterMultipleQueryPools << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryPropertiesKHR& value)
{
s << "VkPhysicalDevicePerformanceQueryPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tallowCommandBufferQueryCopies = " << value.allowCommandBufferQueryCopies << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterKHR& value)
{
s << "VkPerformanceCounterKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tunit = " << value.unit << '\n';
s << "\tscope = " << value.scope << '\n';
s << "\tstorage = " << value.storage << '\n';
s << "\tuuid = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.uuid)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.uuid))) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterDescriptionKHR& value)
{
s << "VkPerformanceCounterDescriptionKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPerformanceCounterDescriptionFlagsKHRStr(value.flags) << '\n';
s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.name))) << '\n';
s << "\tcategory = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.category)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.category))) << '\n';
s << "\tdescription = " << (const char*)value.description << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceCreateInfoKHR& value)
{
s << "VkQueryPoolPerformanceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n';
s << "\tcounterIndexCount = " << value.counterIndexCount << '\n';
s << "\tpCounterIndices = " << value.pCounterIndices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterResultKHR& value)
{
s << "VkPerformanceCounterResultKHR = {\n";
s << "\tint32 = " << value.int32 << '\n';
s << "\tint64 = " << value.int64 << '\n';
s << "\tuint32 = " << value.uint32 << '\n';
s << "\tuint64 = " << value.uint64 << '\n';
s << "\tfloat32 = " << value.float32 << '\n';
s << "\tfloat64 = " << value.float64 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAcquireProfilingLockInfoKHR& value)
{
s << "VkAcquireProfilingLockInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getAcquireProfilingLockFlagsKHRStr(value.flags) << '\n';
s << "\ttimeout = " << value.timeout << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceQuerySubmitInfoKHR& value)
{
s << "VkPerformanceQuerySubmitInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcounterPassIndex = " << value.counterPassIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value)
{
s << "VkPhysicalDeviceSurfaceInfo2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsurface = " << value.surface << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2KHR& value)
{
s << "VkSurfaceCapabilities2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsurfaceCapabilities = " << value.surfaceCapabilities << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceFormat2KHR& value)
{
s << "VkSurfaceFormat2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsurfaceFormat = " << value.surfaceFormat << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayProperties2KHR& value)
{
s << "VkDisplayProperties2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdisplayProperties = " << value.displayProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneProperties2KHR& value)
{
s << "VkDisplayPlaneProperties2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdisplayPlaneProperties = " << value.displayPlaneProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayModeProperties2KHR& value)
{
s << "VkDisplayModeProperties2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdisplayModeProperties = " << value.displayModeProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneInfo2KHR& value)
{
s << "VkDisplayPlaneInfo2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmode = " << value.mode << '\n';
s << "\tplaneIndex = " << value.planeIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value)
{
s << "VkDisplayPlaneCapabilities2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcapabilities = " << value.capabilities << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderClockFeaturesKHR& value)
{
s << "VkPhysicalDeviceShaderClockFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderSubgroupClock = " << value.shaderSubgroupClock << '\n';
s << "\tshaderDeviceClock = " << value.shaderDeviceClock << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoKHR& value)
{
s << "VkDeviceQueueGlobalPriorityCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tglobalPriority = " << value.globalPriority << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR& value)
{
s << "VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tglobalPriorityQuery = " << value.globalPriorityQuery << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesKHR& value)
{
s << "VkQueueFamilyGlobalPriorityPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpriorityCount = " << value.priorityCount << '\n';
s << "\tpriorities = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.priorities), DE_ARRAY_END(value.priorities)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value)
{
s << "VkFragmentShadingRateAttachmentInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpFragmentShadingRateAttachment = " << value.pFragmentShadingRateAttachment << '\n';
s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateStateCreateInfoKHR& value)
{
s << "VkPipelineFragmentShadingRateStateCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentSize = " << value.fragmentSize << '\n';
s << "\tcombinerOps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.combinerOps), DE_ARRAY_END(value.combinerOps)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& value)
{
s << "VkPhysicalDeviceFragmentShadingRateFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipelineFragmentShadingRate = " << value.pipelineFragmentShadingRate << '\n';
s << "\tprimitiveFragmentShadingRate = " << value.primitiveFragmentShadingRate << '\n';
s << "\tattachmentFragmentShadingRate = " << value.attachmentFragmentShadingRate << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& value)
{
s << "VkPhysicalDeviceFragmentShadingRatePropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminFragmentShadingRateAttachmentTexelSize = " << value.minFragmentShadingRateAttachmentTexelSize << '\n';
s << "\tmaxFragmentShadingRateAttachmentTexelSize = " << value.maxFragmentShadingRateAttachmentTexelSize << '\n';
s << "\tmaxFragmentShadingRateAttachmentTexelSizeAspectRatio = " << value.maxFragmentShadingRateAttachmentTexelSizeAspectRatio << '\n';
s << "\tprimitiveFragmentShadingRateWithMultipleViewports = " << value.primitiveFragmentShadingRateWithMultipleViewports << '\n';
s << "\tlayeredShadingRateAttachments = " << value.layeredShadingRateAttachments << '\n';
s << "\tfragmentShadingRateNonTrivialCombinerOps = " << value.fragmentShadingRateNonTrivialCombinerOps << '\n';
s << "\tmaxFragmentSize = " << value.maxFragmentSize << '\n';
s << "\tmaxFragmentSizeAspectRatio = " << value.maxFragmentSizeAspectRatio << '\n';
s << "\tmaxFragmentShadingRateCoverageSamples = " << value.maxFragmentShadingRateCoverageSamples << '\n';
s << "\tmaxFragmentShadingRateRasterizationSamples = " << value.maxFragmentShadingRateRasterizationSamples << '\n';
s << "\tfragmentShadingRateWithShaderDepthStencilWrites = " << value.fragmentShadingRateWithShaderDepthStencilWrites << '\n';
s << "\tfragmentShadingRateWithSampleMask = " << value.fragmentShadingRateWithSampleMask << '\n';
s << "\tfragmentShadingRateWithShaderSampleMask = " << value.fragmentShadingRateWithShaderSampleMask << '\n';
s << "\tfragmentShadingRateWithConservativeRasterization = " << value.fragmentShadingRateWithConservativeRasterization << '\n';
s << "\tfragmentShadingRateWithFragmentShaderInterlock = " << value.fragmentShadingRateWithFragmentShaderInterlock << '\n';
s << "\tfragmentShadingRateWithCustomSampleLocations = " << value.fragmentShadingRateWithCustomSampleLocations << '\n';
s << "\tfragmentShadingRateStrictMultiplyCombiner = " << value.fragmentShadingRateStrictMultiplyCombiner << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateKHR& value)
{
s << "VkPhysicalDeviceFragmentShadingRateKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n';
s << "\tfragmentSize = " << value.fragmentSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceProtectedCapabilitiesKHR& value)
{
s << "VkSurfaceProtectedCapabilitiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsupportsProtected = " << value.supportsProtected << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentWaitFeaturesKHR& value)
{
s << "VkPhysicalDevicePresentWaitFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpresentWait = " << value.presentWait << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& value)
{
s << "VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipelineExecutableInfo = " << value.pipelineExecutableInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineInfoKHR& value)
{
s << "VkPipelineInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipeline = " << value.pipeline << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineExecutablePropertiesKHR& value)
{
s << "VkPipelineExecutablePropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstages = " << getShaderStageFlagsStr(value.stages) << '\n';
s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.name))) << '\n';
s << "\tdescription = " << (const char*)value.description << '\n';
s << "\tsubgroupSize = " << value.subgroupSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInfoKHR& value)
{
s << "VkPipelineExecutableInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipeline = " << value.pipeline << '\n';
s << "\texecutableIndex = " << value.executableIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticValueKHR& value)
{
s << "VkPipelineExecutableStatisticValueKHR = {\n";
s << "\tb32 = " << value.b32 << '\n';
s << "\ti64 = " << value.i64 << '\n';
s << "\tu64 = " << value.u64 << '\n';
s << "\tf64 = " << value.f64 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticKHR& value)
{
s << "VkPipelineExecutableStatisticKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.name))) << '\n';
s << "\tdescription = " << (const char*)value.description << '\n';
s << "\tformat = " << value.format << '\n';
s << "\tvalue = " << value.value << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInternalRepresentationKHR& value)
{
s << "VkPipelineExecutableInternalRepresentationKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.name))) << '\n';
s << "\tdescription = " << (const char*)value.description << '\n';
s << "\tisText = " << value.isText << '\n';
s << "\tdataSize = " << value.dataSize << '\n';
s << "\tpData = " << value.pData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineLibraryCreateInfoKHR& value)
{
s << "VkPipelineLibraryCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlibraryCount = " << value.libraryCount << '\n';
s << "\tpLibraries = " << value.pLibraries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentIdKHR& value)
{
s << "VkPresentIdKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchainCount = " << value.swapchainCount << '\n';
s << "\tpPresentIds = " << value.pPresentIds << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentIdFeaturesKHR& value)
{
s << "VkPhysicalDevicePresentIdFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpresentId = " << value.presentId << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value)
{
s << "VkQueueFamilyCheckpointProperties2NV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcheckpointExecutionStageMask = " << value.checkpointExecutionStageMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value)
{
s << "VkCheckpointData2NV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstage = " << value.stage << '\n';
s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value)
{
s << "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderSubgroupUniformControlFlow = " << value.shaderSubgroupUniformControlFlow << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value)
{
s << "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tworkgroupMemoryExplicitLayout = " << value.workgroupMemoryExplicitLayout << '\n';
s << "\tworkgroupMemoryExplicitLayoutScalarBlockLayout = " << value.workgroupMemoryExplicitLayoutScalarBlockLayout << '\n';
s << "\tworkgroupMemoryExplicitLayout8BitAccess = " << value.workgroupMemoryExplicitLayout8BitAccess << '\n';
s << "\tworkgroupMemoryExplicitLayout16BitAccess = " << value.workgroupMemoryExplicitLayout16BitAccess << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value)
{
s << "VkDebugReportCallbackCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDebugReportFlagsEXTStr(value.flags) << '\n';
s << "\tpfnCallback = " << value.pfnCallback << '\n';
s << "\tpUserData = " << value.pUserData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value)
{
s << "VkPipelineRasterizationStateRasterizationOrderAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trasterizationOrder = " << value.rasterizationOrder << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value)
{
s << "VkDebugMarkerObjectNameInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tobjectType = " << value.objectType << '\n';
s << "\tobject = " << value.object << '\n';
s << "\tpObjectName = " << getCharPtrStr(value.pObjectName) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectTagInfoEXT& value)
{
s << "VkDebugMarkerObjectTagInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tobjectType = " << value.objectType << '\n';
s << "\tobject = " << value.object << '\n';
s << "\ttagName = " << value.tagName << '\n';
s << "\ttagSize = " << value.tagSize << '\n';
s << "\tpTag = " << value.pTag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugMarkerMarkerInfoEXT& value)
{
s << "VkDebugMarkerMarkerInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpMarkerName = " << getCharPtrStr(value.pMarkerName) << '\n';
s << "\tcolor = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.color), DE_ARRAY_END(value.color)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationImageCreateInfoNV& value)
{
s << "VkDedicatedAllocationImageCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdedicatedAllocation = " << value.dedicatedAllocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationBufferCreateInfoNV& value)
{
s << "VkDedicatedAllocationBufferCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdedicatedAllocation = " << value.dedicatedAllocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationMemoryAllocateInfoNV& value)
{
s << "VkDedicatedAllocationMemoryAllocateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timage = " << value.image << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTransformFeedbackFeaturesEXT& value)
{
s << "VkPhysicalDeviceTransformFeedbackFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttransformFeedback = " << value.transformFeedback << '\n';
s << "\tgeometryStreams = " << value.geometryStreams << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTransformFeedbackPropertiesEXT& value)
{
s << "VkPhysicalDeviceTransformFeedbackPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxTransformFeedbackStreams = " << value.maxTransformFeedbackStreams << '\n';
s << "\tmaxTransformFeedbackBuffers = " << value.maxTransformFeedbackBuffers << '\n';
s << "\tmaxTransformFeedbackBufferSize = " << value.maxTransformFeedbackBufferSize << '\n';
s << "\tmaxTransformFeedbackStreamDataSize = " << value.maxTransformFeedbackStreamDataSize << '\n';
s << "\tmaxTransformFeedbackBufferDataSize = " << value.maxTransformFeedbackBufferDataSize << '\n';
s << "\tmaxTransformFeedbackBufferDataStride = " << value.maxTransformFeedbackBufferDataStride << '\n';
s << "\ttransformFeedbackQueries = " << value.transformFeedbackQueries << '\n';
s << "\ttransformFeedbackStreamsLinesTriangles = " << value.transformFeedbackStreamsLinesTriangles << '\n';
s << "\ttransformFeedbackRasterizationStreamSelect = " << value.transformFeedbackRasterizationStreamSelect << '\n';
s << "\ttransformFeedbackDraw = " << value.transformFeedbackDraw << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateStreamCreateInfoEXT& value)
{
s << "VkPipelineRasterizationStateStreamCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineRasterizationStateStreamCreateFlagsEXTStr(value.flags) << '\n';
s << "\trasterizationStream = " << value.rasterizationStream << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCuModuleCreateInfoNVX& value)
{
s << "VkCuModuleCreateInfoNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdataSize = " << value.dataSize << '\n';
s << "\tpData = " << value.pData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCuFunctionCreateInfoNVX& value)
{
s << "VkCuFunctionCreateInfoNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmodule = " << value.module << '\n';
s << "\tpName = " << getCharPtrStr(value.pName) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCuLaunchInfoNVX& value)
{
s << "VkCuLaunchInfoNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfunction = " << value.function << '\n';
s << "\tgridDimX = " << value.gridDimX << '\n';
s << "\tgridDimY = " << value.gridDimY << '\n';
s << "\tgridDimZ = " << value.gridDimZ << '\n';
s << "\tblockDimX = " << value.blockDimX << '\n';
s << "\tblockDimY = " << value.blockDimY << '\n';
s << "\tblockDimZ = " << value.blockDimZ << '\n';
s << "\tsharedMemBytes = " << value.sharedMemBytes << '\n';
s << "\tparamCount = " << value.paramCount << '\n';
s << "\tpParams = " << value.pParams << '\n';
s << "\textraCount = " << value.extraCount << '\n';
s << "\tpExtras = " << value.pExtras << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageViewHandleInfoNVX& value)
{
s << "VkImageViewHandleInfoNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageView = " << value.imageView << '\n';
s << "\tdescriptorType = " << value.descriptorType << '\n';
s << "\tsampler = " << value.sampler << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageViewAddressPropertiesNVX& value)
{
s << "VkImageViewAddressPropertiesNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceAddress = " << value.deviceAddress << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkTextureLODGatherFormatPropertiesAMD& value)
{
s << "VkTextureLODGatherFormatPropertiesAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsupportsTextureGatherLODBiasAMD = " << value.supportsTextureGatherLODBiasAMD << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkShaderResourceUsageAMD& value)
{
s << "VkShaderResourceUsageAMD = {\n";
s << "\tnumUsedVgprs = " << value.numUsedVgprs << '\n';
s << "\tnumUsedSgprs = " << value.numUsedSgprs << '\n';
s << "\tldsSizePerLocalWorkGroup = " << value.ldsSizePerLocalWorkGroup << '\n';
s << "\tldsUsageSizeInBytes = " << value.ldsUsageSizeInBytes << '\n';
s << "\tscratchMemUsageInBytes = " << value.scratchMemUsageInBytes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkShaderStatisticsInfoAMD& value)
{
s << "VkShaderStatisticsInfoAMD = {\n";
s << "\tshaderStageMask = " << getShaderStageFlagsStr(value.shaderStageMask) << '\n';
s << "\tresourceUsage = " << value.resourceUsage << '\n';
s << "\tnumPhysicalVgprs = " << value.numPhysicalVgprs << '\n';
s << "\tnumPhysicalSgprs = " << value.numPhysicalSgprs << '\n';
s << "\tnumAvailableVgprs = " << value.numAvailableVgprs << '\n';
s << "\tnumAvailableSgprs = " << value.numAvailableSgprs << '\n';
s << "\tcomputeWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.computeWorkGroupSize), DE_ARRAY_END(value.computeWorkGroupSize)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCornerSampledImageFeaturesNV& value)
{
s << "VkPhysicalDeviceCornerSampledImageFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcornerSampledImage = " << value.cornerSampledImage << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatPropertiesNV& value)
{
s << "VkExternalImageFormatPropertiesNV = {\n";
s << "\timageFormatProperties = " << value.imageFormatProperties << '\n';
s << "\texternalMemoryFeatures = " << getExternalMemoryFeatureFlagsNVStr(value.externalMemoryFeatures) << '\n';
s << "\texportFromImportedHandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.exportFromImportedHandleTypes) << '\n';
s << "\tcompatibleHandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.compatibleHandleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfoNV& value)
{
s << "VkExternalMemoryImageCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfoNV& value)
{
s << "VkExportMemoryAllocateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleTypes) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkValidationFlagsEXT& value)
{
s << "VkValidationFlagsEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdisabledValidationCheckCount = " << value.disabledValidationCheckCount << '\n';
s << "\tpDisabledValidationChecks = " << value.pDisabledValidationChecks << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageViewASTCDecodeModeEXT& value)
{
s << "VkImageViewASTCDecodeModeEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdecodeMode = " << value.decodeMode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceASTCDecodeFeaturesEXT& value)
{
s << "VkPhysicalDeviceASTCDecodeFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdecodeModeSharedExponent = " << value.decodeModeSharedExponent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkConditionalRenderingBeginInfoEXT& value)
{
s << "VkConditionalRenderingBeginInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tflags = " << getConditionalRenderingFlagsEXTStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConditionalRenderingFeaturesEXT& value)
{
s << "VkPhysicalDeviceConditionalRenderingFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tconditionalRendering = " << value.conditionalRendering << '\n';
s << "\tinheritedConditionalRendering = " << value.inheritedConditionalRendering << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceConditionalRenderingInfoEXT& value)
{
s << "VkCommandBufferInheritanceConditionalRenderingInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tconditionalRenderingEnable = " << value.conditionalRenderingEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkViewportWScalingNV& value)
{
s << "VkViewportWScalingNV = {\n";
s << "\txcoeff = " << value.xcoeff << '\n';
s << "\tycoeff = " << value.ycoeff << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportWScalingStateCreateInfoNV& value)
{
s << "VkPipelineViewportWScalingStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tviewportWScalingEnable = " << value.viewportWScalingEnable << '\n';
s << "\tviewportCount = " << value.viewportCount << '\n';
s << "\tpViewportWScalings = " << value.pViewportWScalings << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2EXT& value)
{
s << "VkSurfaceCapabilities2EXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminImageCount = " << value.minImageCount << '\n';
s << "\tmaxImageCount = " << value.maxImageCount << '\n';
s << "\tcurrentExtent = " << value.currentExtent << '\n';
s << "\tminImageExtent = " << value.minImageExtent << '\n';
s << "\tmaxImageExtent = " << value.maxImageExtent << '\n';
s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n';
s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n';
s << "\tcurrentTransform = " << value.currentTransform << '\n';
s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n';
s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n';
s << "\tsupportedSurfaceCounters = " << getSurfaceCounterFlagsEXTStr(value.supportedSurfaceCounters) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayPowerInfoEXT& value)
{
s << "VkDisplayPowerInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpowerState = " << value.powerState << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceEventInfoEXT& value)
{
s << "VkDeviceEventInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceEvent = " << value.deviceEvent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayEventInfoEXT& value)
{
s << "VkDisplayEventInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdisplayEvent = " << value.displayEvent << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSwapchainCounterCreateInfoEXT& value)
{
s << "VkSwapchainCounterCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsurfaceCounters = " << getSurfaceCounterFlagsEXTStr(value.surfaceCounters) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRefreshCycleDurationGOOGLE& value)
{
s << "VkRefreshCycleDurationGOOGLE = {\n";
s << "\trefreshDuration = " << value.refreshDuration << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPastPresentationTimingGOOGLE& value)
{
s << "VkPastPresentationTimingGOOGLE = {\n";
s << "\tpresentID = " << value.presentID << '\n';
s << "\tdesiredPresentTime = " << value.desiredPresentTime << '\n';
s << "\tactualPresentTime = " << value.actualPresentTime << '\n';
s << "\tearliestPresentTime = " << value.earliestPresentTime << '\n';
s << "\tpresentMargin = " << value.presentMargin << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentTimeGOOGLE& value)
{
s << "VkPresentTimeGOOGLE = {\n";
s << "\tpresentID = " << value.presentID << '\n';
s << "\tdesiredPresentTime = " << value.desiredPresentTime << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentTimesInfoGOOGLE& value)
{
s << "VkPresentTimesInfoGOOGLE = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tswapchainCount = " << value.swapchainCount << '\n';
s << "\tpTimes = " << value.pTimes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& value)
{
s << "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tperViewPositionAllComponents = " << value.perViewPositionAllComponents << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkViewportSwizzleNV& value)
{
s << "VkViewportSwizzleNV = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << "\tz = " << value.z << '\n';
s << "\tw = " << value.w << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportSwizzleStateCreateInfoNV& value)
{
s << "VkPipelineViewportSwizzleStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineViewportSwizzleStateCreateFlagsNVStr(value.flags) << '\n';
s << "\tviewportCount = " << value.viewportCount << '\n';
s << "\tpViewportSwizzles = " << value.pViewportSwizzles << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiscardRectanglePropertiesEXT& value)
{
s << "VkPhysicalDeviceDiscardRectanglePropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxDiscardRectangles = " << value.maxDiscardRectangles << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineDiscardRectangleStateCreateInfoEXT& value)
{
s << "VkPipelineDiscardRectangleStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineDiscardRectangleStateCreateFlagsEXTStr(value.flags) << '\n';
s << "\tdiscardRectangleMode = " << value.discardRectangleMode << '\n';
s << "\tdiscardRectangleCount = " << value.discardRectangleCount << '\n';
s << "\tpDiscardRectangles = " << value.pDiscardRectangles << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT& value)
{
s << "VkPhysicalDeviceConservativeRasterizationPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprimitiveOverestimationSize = " << value.primitiveOverestimationSize << '\n';
s << "\tmaxExtraPrimitiveOverestimationSize = " << value.maxExtraPrimitiveOverestimationSize << '\n';
s << "\textraPrimitiveOverestimationSizeGranularity = " << value.extraPrimitiveOverestimationSizeGranularity << '\n';
s << "\tprimitiveUnderestimation = " << value.primitiveUnderestimation << '\n';
s << "\tconservativePointAndLineRasterization = " << value.conservativePointAndLineRasterization << '\n';
s << "\tdegenerateTrianglesRasterized = " << value.degenerateTrianglesRasterized << '\n';
s << "\tdegenerateLinesRasterized = " << value.degenerateLinesRasterized << '\n';
s << "\tfullyCoveredFragmentShaderInputVariable = " << value.fullyCoveredFragmentShaderInputVariable << '\n';
s << "\tconservativeRasterizationPostDepthCoverage = " << value.conservativeRasterizationPostDepthCoverage << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationConservativeStateCreateInfoEXT& value)
{
s << "VkPipelineRasterizationConservativeStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineRasterizationConservativeStateCreateFlagsEXTStr(value.flags) << '\n';
s << "\tconservativeRasterizationMode = " << value.conservativeRasterizationMode << '\n';
s << "\textraPrimitiveOverestimationSize = " << value.extraPrimitiveOverestimationSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipEnableFeaturesEXT& value)
{
s << "VkPhysicalDeviceDepthClipEnableFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdepthClipEnable = " << value.depthClipEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationDepthClipStateCreateInfoEXT& value)
{
s << "VkPipelineRasterizationDepthClipStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineRasterizationDepthClipStateCreateFlagsEXTStr(value.flags) << '\n';
s << "\tdepthClipEnable = " << value.depthClipEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkXYColorEXT& value)
{
s << "VkXYColorEXT = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkHdrMetadataEXT& value)
{
s << "VkHdrMetadataEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdisplayPrimaryRed = " << value.displayPrimaryRed << '\n';
s << "\tdisplayPrimaryGreen = " << value.displayPrimaryGreen << '\n';
s << "\tdisplayPrimaryBlue = " << value.displayPrimaryBlue << '\n';
s << "\twhitePoint = " << value.whitePoint << '\n';
s << "\tmaxLuminance = " << value.maxLuminance << '\n';
s << "\tminLuminance = " << value.minLuminance << '\n';
s << "\tmaxContentLightLevel = " << value.maxContentLightLevel << '\n';
s << "\tmaxFrameAverageLightLevel = " << value.maxFrameAverageLightLevel << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugUtilsLabelEXT& value)
{
s << "VkDebugUtilsLabelEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpLabelName = " << getCharPtrStr(value.pLabelName) << '\n';
s << "\tcolor = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.color), DE_ARRAY_END(value.color)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectNameInfoEXT& value)
{
s << "VkDebugUtilsObjectNameInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tobjectType = " << value.objectType << '\n';
s << "\tobjectHandle = " << value.objectHandle << '\n';
s << "\tpObjectName = " << getCharPtrStr(value.pObjectName) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCallbackDataEXT& value)
{
s << "VkDebugUtilsMessengerCallbackDataEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDebugUtilsMessengerCallbackDataFlagsEXTStr(value.flags) << '\n';
s << "\tpMessageIdName = " << getCharPtrStr(value.pMessageIdName) << '\n';
s << "\tmessageIdNumber = " << value.messageIdNumber << '\n';
s << "\tpMessage = " << getCharPtrStr(value.pMessage) << '\n';
s << "\tqueueLabelCount = " << value.queueLabelCount << '\n';
s << "\tpQueueLabels = " << value.pQueueLabels << '\n';
s << "\tcmdBufLabelCount = " << value.cmdBufLabelCount << '\n';
s << "\tpCmdBufLabels = " << value.pCmdBufLabels << '\n';
s << "\tobjectCount = " << value.objectCount << '\n';
s << "\tpObjects = " << value.pObjects << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCreateInfoEXT& value)
{
s << "VkDebugUtilsMessengerCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDebugUtilsMessengerCreateFlagsEXTStr(value.flags) << '\n';
s << "\tmessageSeverity = " << getDebugUtilsMessageSeverityFlagsEXTStr(value.messageSeverity) << '\n';
s << "\tmessageType = " << getDebugUtilsMessageTypeFlagsEXTStr(value.messageType) << '\n';
s << "\tpfnUserCallback = " << value.pfnUserCallback << '\n';
s << "\tpUserData = " << value.pUserData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value)
{
s << "VkDebugUtilsObjectTagInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tobjectType = " << value.objectType << '\n';
s << "\tobjectHandle = " << value.objectHandle << '\n';
s << "\ttagName = " << value.tagName << '\n';
s << "\ttagSize = " << value.tagSize << '\n';
s << "\tpTag = " << value.pTag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSampleLocationEXT& value)
{
s << "VkSampleLocationEXT = {\n";
s << "\tx = " << value.x << '\n';
s << "\ty = " << value.y << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSampleLocationsInfoEXT& value)
{
s << "VkSampleLocationsInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsampleLocationsPerPixel = " << value.sampleLocationsPerPixel << '\n';
s << "\tsampleLocationGridSize = " << value.sampleLocationGridSize << '\n';
s << "\tsampleLocationsCount = " << value.sampleLocationsCount << '\n';
s << "\tpSampleLocations = " << value.pSampleLocations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleLocationsEXT& value)
{
s << "VkAttachmentSampleLocationsEXT = {\n";
s << "\tattachmentIndex = " << value.attachmentIndex << '\n';
s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassSampleLocationsEXT& value)
{
s << "VkSubpassSampleLocationsEXT = {\n";
s << "\tsubpassIndex = " << value.subpassIndex << '\n';
s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassSampleLocationsBeginInfoEXT& value)
{
s << "VkRenderPassSampleLocationsBeginInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tattachmentInitialSampleLocationsCount = " << value.attachmentInitialSampleLocationsCount << '\n';
s << "\tpAttachmentInitialSampleLocations = " << value.pAttachmentInitialSampleLocations << '\n';
s << "\tpostSubpassSampleLocationsCount = " << value.postSubpassSampleLocationsCount << '\n';
s << "\tpPostSubpassSampleLocations = " << value.pPostSubpassSampleLocations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineSampleLocationsStateCreateInfoEXT& value)
{
s << "VkPipelineSampleLocationsStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsampleLocationsEnable = " << value.sampleLocationsEnable << '\n';
s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSampleLocationsPropertiesEXT& value)
{
s << "VkPhysicalDeviceSampleLocationsPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsampleLocationSampleCounts = " << getSampleCountFlagsStr(value.sampleLocationSampleCounts) << '\n';
s << "\tmaxSampleLocationGridSize = " << value.maxSampleLocationGridSize << '\n';
s << "\tsampleLocationCoordinateRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.sampleLocationCoordinateRange), DE_ARRAY_END(value.sampleLocationCoordinateRange)) << '\n';
s << "\tsampleLocationSubPixelBits = " << value.sampleLocationSubPixelBits << '\n';
s << "\tvariableSampleLocations = " << value.variableSampleLocations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMultisamplePropertiesEXT& value)
{
s << "VkMultisamplePropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxSampleLocationGridSize = " << value.maxSampleLocationGridSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& value)
{
s << "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tadvancedBlendCoherentOperations = " << value.advancedBlendCoherentOperations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& value)
{
s << "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tadvancedBlendMaxColorAttachments = " << value.advancedBlendMaxColorAttachments << '\n';
s << "\tadvancedBlendIndependentBlend = " << value.advancedBlendIndependentBlend << '\n';
s << "\tadvancedBlendNonPremultipliedSrcColor = " << value.advancedBlendNonPremultipliedSrcColor << '\n';
s << "\tadvancedBlendNonPremultipliedDstColor = " << value.advancedBlendNonPremultipliedDstColor << '\n';
s << "\tadvancedBlendCorrelatedOverlap = " << value.advancedBlendCorrelatedOverlap << '\n';
s << "\tadvancedBlendAllOperations = " << value.advancedBlendAllOperations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAdvancedStateCreateInfoEXT& value)
{
s << "VkPipelineColorBlendAdvancedStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrcPremultiplied = " << value.srcPremultiplied << '\n';
s << "\tdstPremultiplied = " << value.dstPremultiplied << '\n';
s << "\tblendOverlap = " << value.blendOverlap << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageToColorStateCreateInfoNV& value)
{
s << "VkPipelineCoverageToColorStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCoverageToColorStateCreateFlagsNVStr(value.flags) << '\n';
s << "\tcoverageToColorEnable = " << value.coverageToColorEnable << '\n';
s << "\tcoverageToColorLocation = " << value.coverageToColorLocation << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageModulationStateCreateInfoNV& value)
{
s << "VkPipelineCoverageModulationStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCoverageModulationStateCreateFlagsNVStr(value.flags) << '\n';
s << "\tcoverageModulationMode = " << value.coverageModulationMode << '\n';
s << "\tcoverageModulationTableEnable = " << value.coverageModulationTableEnable << '\n';
s << "\tcoverageModulationTableCount = " << value.coverageModulationTableCount << '\n';
s << "\tpCoverageModulationTable = " << value.pCoverageModulationTable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& value)
{
s << "VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderSMCount = " << value.shaderSMCount << '\n';
s << "\tshaderWarpsPerSM = " << value.shaderWarpsPerSM << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& value)
{
s << "VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderSMBuiltins = " << value.shaderSMBuiltins << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesEXT& value)
{
s << "VkDrmFormatModifierPropertiesEXT = {\n";
s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n';
s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n';
s << "\tdrmFormatModifierTilingFeatures = " << getFormatFeatureFlagsStr(value.drmFormatModifierTilingFeatures) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesListEXT& value)
{
s << "VkDrmFormatModifierPropertiesListEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n';
s << "\tpDrmFormatModifierProperties = " << value.pDrmFormatModifierProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT& value)
{
s << "VkPhysicalDeviceImageDrmFormatModifierInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n';
s << "\tsharingMode = " << value.sharingMode << '\n';
s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n';
s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierListCreateInfoEXT& value)
{
s << "VkImageDrmFormatModifierListCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n';
s << "\tpDrmFormatModifiers = " << value.pDrmFormatModifiers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierExplicitCreateInfoEXT& value)
{
s << "VkImageDrmFormatModifierExplicitCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n';
s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n';
s << "\tpPlaneLayouts = " << value.pPlaneLayouts << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierPropertiesEXT& value)
{
s << "VkImageDrmFormatModifierPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierProperties2EXT& value)
{
s << "VkDrmFormatModifierProperties2EXT = {\n";
s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n';
s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n';
s << "\tdrmFormatModifierTilingFeatures = " << value.drmFormatModifierTilingFeatures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesList2EXT& value)
{
s << "VkDrmFormatModifierPropertiesList2EXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n';
s << "\tpDrmFormatModifierProperties = " << value.pDrmFormatModifierProperties << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkValidationCacheCreateInfoEXT& value)
{
s << "VkValidationCacheCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getValidationCacheCreateFlagsEXTStr(value.flags) << '\n';
s << "\tinitialDataSize = " << value.initialDataSize << '\n';
s << "\tpInitialData = " << value.pInitialData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkShaderModuleValidationCacheCreateInfoEXT& value)
{
s << "VkShaderModuleValidationCacheCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvalidationCache = " << value.validationCache << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkShadingRatePaletteNV& value)
{
s << "VkShadingRatePaletteNV = {\n";
s << "\tshadingRatePaletteEntryCount = " << value.shadingRatePaletteEntryCount << '\n';
s << "\tpShadingRatePaletteEntries = " << value.pShadingRatePaletteEntries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportShadingRateImageStateCreateInfoNV& value)
{
s << "VkPipelineViewportShadingRateImageStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshadingRateImageEnable = " << value.shadingRateImageEnable << '\n';
s << "\tviewportCount = " << value.viewportCount << '\n';
s << "\tpShadingRatePalettes = " << value.pShadingRatePalettes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShadingRateImageFeaturesNV& value)
{
s << "VkPhysicalDeviceShadingRateImageFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshadingRateImage = " << value.shadingRateImage << '\n';
s << "\tshadingRateCoarseSampleOrder = " << value.shadingRateCoarseSampleOrder << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShadingRateImagePropertiesNV& value)
{
s << "VkPhysicalDeviceShadingRateImagePropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshadingRateTexelSize = " << value.shadingRateTexelSize << '\n';
s << "\tshadingRatePaletteSize = " << value.shadingRatePaletteSize << '\n';
s << "\tshadingRateMaxCoarseSamples = " << value.shadingRateMaxCoarseSamples << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCoarseSampleLocationNV& value)
{
s << "VkCoarseSampleLocationNV = {\n";
s << "\tpixelX = " << value.pixelX << '\n';
s << "\tpixelY = " << value.pixelY << '\n';
s << "\tsample = " << value.sample << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCoarseSampleOrderCustomNV& value)
{
s << "VkCoarseSampleOrderCustomNV = {\n";
s << "\tshadingRate = " << value.shadingRate << '\n';
s << "\tsampleCount = " << value.sampleCount << '\n';
s << "\tsampleLocationCount = " << value.sampleLocationCount << '\n';
s << "\tpSampleLocations = " << value.pSampleLocations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& value)
{
s << "VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsampleOrderType = " << value.sampleOrderType << '\n';
s << "\tcustomSampleOrderCount = " << value.customSampleOrderCount << '\n';
s << "\tpCustomSampleOrders = " << value.pCustomSampleOrders << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRayTracingShaderGroupCreateInfoNV& value)
{
s << "VkRayTracingShaderGroupCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tgeneralShader = " << value.generalShader << '\n';
s << "\tclosestHitShader = " << value.closestHitShader << '\n';
s << "\tanyHitShader = " << value.anyHitShader << '\n';
s << "\tintersectionShader = " << value.intersectionShader << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineCreateInfoNV& value)
{
s << "VkRayTracingPipelineCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n';
s << "\tstageCount = " << value.stageCount << '\n';
s << "\tpStages = " << value.pStages << '\n';
s << "\tgroupCount = " << value.groupCount << '\n';
s << "\tpGroups = " << value.pGroups << '\n';
s << "\tmaxRecursionDepth = " << value.maxRecursionDepth << '\n';
s << "\tlayout = " << value.layout << '\n';
s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n';
s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGeometryTrianglesNV& value)
{
s << "VkGeometryTrianglesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvertexData = " << value.vertexData << '\n';
s << "\tvertexOffset = " << value.vertexOffset << '\n';
s << "\tvertexCount = " << value.vertexCount << '\n';
s << "\tvertexStride = " << value.vertexStride << '\n';
s << "\tvertexFormat = " << value.vertexFormat << '\n';
s << "\tindexData = " << value.indexData << '\n';
s << "\tindexOffset = " << value.indexOffset << '\n';
s << "\tindexCount = " << value.indexCount << '\n';
s << "\tindexType = " << value.indexType << '\n';
s << "\ttransformData = " << value.transformData << '\n';
s << "\ttransformOffset = " << value.transformOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGeometryAABBNV& value)
{
s << "VkGeometryAABBNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taabbData = " << value.aabbData << '\n';
s << "\tnumAABBs = " << value.numAABBs << '\n';
s << "\tstride = " << value.stride << '\n';
s << "\toffset = " << value.offset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGeometryDataNV& value)
{
s << "VkGeometryDataNV = {\n";
s << "\ttriangles = " << value.triangles << '\n';
s << "\taabbs = " << value.aabbs << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGeometryNV& value)
{
s << "VkGeometryNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tgeometryType = " << value.geometryType << '\n';
s << "\tgeometry = " << value.geometry << '\n';
s << "\tflags = " << getGeometryFlagsKHRStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureInfoNV& value)
{
s << "VkAccelerationStructureInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tflags = " << getBuildAccelerationStructureFlagsNVStr(value.flags) << '\n';
s << "\tinstanceCount = " << value.instanceCount << '\n';
s << "\tgeometryCount = " << value.geometryCount << '\n';
s << "\tpGeometries = " << value.pGeometries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCreateInfoNV& value)
{
s << "VkAccelerationStructureCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcompactedSize = " << value.compactedSize << '\n';
s << "\tinfo = " << value.info << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindAccelerationStructureMemoryInfoNV& value)
{
s << "VkBindAccelerationStructureMemoryInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taccelerationStructure = " << value.accelerationStructure << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\tmemoryOffset = " << value.memoryOffset << '\n';
s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n';
s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetAccelerationStructureNV& value)
{
s << "VkWriteDescriptorSetAccelerationStructureNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taccelerationStructureCount = " << value.accelerationStructureCount << '\n';
s << "\tpAccelerationStructures = " << value.pAccelerationStructures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMemoryRequirementsInfoNV& value)
{
s << "VkAccelerationStructureMemoryRequirementsInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << "\taccelerationStructure = " << value.accelerationStructure << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPropertiesNV& value)
{
s << "VkPhysicalDeviceRayTracingPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderGroupHandleSize = " << value.shaderGroupHandleSize << '\n';
s << "\tmaxRecursionDepth = " << value.maxRecursionDepth << '\n';
s << "\tmaxShaderGroupStride = " << value.maxShaderGroupStride << '\n';
s << "\tshaderGroupBaseAlignment = " << value.shaderGroupBaseAlignment << '\n';
s << "\tmaxGeometryCount = " << value.maxGeometryCount << '\n';
s << "\tmaxInstanceCount = " << value.maxInstanceCount << '\n';
s << "\tmaxTriangleCount = " << value.maxTriangleCount << '\n';
s << "\tmaxDescriptorSetAccelerationStructures = " << value.maxDescriptorSetAccelerationStructures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkTransformMatrixKHR& value)
{
s << "VkTransformMatrixKHR = {\n";
s << "\tmatrix = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.matrix), DE_ARRAY_END(value.matrix)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAabbPositionsKHR& value)
{
s << "VkAabbPositionsKHR = {\n";
s << "\tminX = " << value.minX << '\n';
s << "\tminY = " << value.minY << '\n';
s << "\tminZ = " << value.minZ << '\n';
s << "\tmaxX = " << value.maxX << '\n';
s << "\tmaxY = " << value.maxY << '\n';
s << "\tmaxZ = " << value.maxZ << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureInstanceKHR& value)
{
s << "VkAccelerationStructureInstanceKHR = {\n";
s << "\ttransform = " << value.transform << '\n';
s << "\tinstanceCustomIndex = " << value.instanceCustomIndex << '\n';
s << "\tmask = " << value.mask << '\n';
s << "\tinstanceShaderBindingTableRecordOffset = " << value.instanceShaderBindingTableRecordOffset << '\n';
s << "\tflags = " << getGeometryInstanceFlagsKHRStr(value.flags) << '\n';
s << "\taccelerationStructureReference = " << value.accelerationStructureReference << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& value)
{
s << "VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trepresentativeFragmentTest = " << value.representativeFragmentTest << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRepresentativeFragmentTestStateCreateInfoNV& value)
{
s << "VkPipelineRepresentativeFragmentTestStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trepresentativeFragmentTestEnable = " << value.representativeFragmentTestEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewImageFormatInfoEXT& value)
{
s << "VkPhysicalDeviceImageViewImageFormatInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageViewType = " << value.imageViewType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFilterCubicImageViewImageFormatPropertiesEXT& value)
{
s << "VkFilterCubicImageViewImageFormatPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfilterCubic = " << value.filterCubic << '\n';
s << "\tfilterCubicMinmax = " << value.filterCubicMinmax << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value)
{
s << "VkImportMemoryHostPointerInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\tpHostPointer = " << value.pHostPointer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryHostPointerPropertiesEXT& value)
{
s << "VkMemoryHostPointerPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& value)
{
s << "VkPhysicalDeviceExternalMemoryHostPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminImportedHostPointerAlignment = " << value.minImportedHostPointerAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCompilerControlCreateInfoAMD& value)
{
s << "VkPipelineCompilerControlCreateInfoAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcompilerControlFlags = " << getPipelineCompilerControlFlagsAMDStr(value.compilerControlFlags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCalibratedTimestampInfoEXT& value)
{
s << "VkCalibratedTimestampInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttimeDomain = " << value.timeDomain << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCorePropertiesAMD& value)
{
s << "VkPhysicalDeviceShaderCorePropertiesAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderEngineCount = " << value.shaderEngineCount << '\n';
s << "\tshaderArraysPerEngineCount = " << value.shaderArraysPerEngineCount << '\n';
s << "\tcomputeUnitsPerShaderArray = " << value.computeUnitsPerShaderArray << '\n';
s << "\tsimdPerComputeUnit = " << value.simdPerComputeUnit << '\n';
s << "\twavefrontsPerSimd = " << value.wavefrontsPerSimd << '\n';
s << "\twavefrontSize = " << value.wavefrontSize << '\n';
s << "\tsgprsPerSimd = " << value.sgprsPerSimd << '\n';
s << "\tminSgprAllocation = " << value.minSgprAllocation << '\n';
s << "\tmaxSgprAllocation = " << value.maxSgprAllocation << '\n';
s << "\tsgprAllocationGranularity = " << value.sgprAllocationGranularity << '\n';
s << "\tvgprsPerSimd = " << value.vgprsPerSimd << '\n';
s << "\tminVgprAllocation = " << value.minVgprAllocation << '\n';
s << "\tmaxVgprAllocation = " << value.maxVgprAllocation << '\n';
s << "\tvgprAllocationGranularity = " << value.vgprAllocationGranularity << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOverallocationCreateInfoAMD& value)
{
s << "VkDeviceMemoryOverallocationCreateInfoAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\toverallocationBehavior = " << value.overallocationBehavior << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& value)
{
s << "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxVertexAttribDivisor = " << value.maxVertexAttribDivisor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDivisorDescriptionEXT& value)
{
s << "VkVertexInputBindingDivisorDescriptionEXT = {\n";
s << "\tbinding = " << value.binding << '\n';
s << "\tdivisor = " << value.divisor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputDivisorStateCreateInfoEXT& value)
{
s << "VkPipelineVertexInputDivisorStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvertexBindingDivisorCount = " << value.vertexBindingDivisorCount << '\n';
s << "\tpVertexBindingDivisors = " << value.pVertexBindingDivisors << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& value)
{
s << "VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvertexAttributeInstanceRateDivisor = " << value.vertexAttributeInstanceRateDivisor << '\n';
s << "\tvertexAttributeInstanceRateZeroDivisor = " << value.vertexAttributeInstanceRateZeroDivisor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& value)
{
s << "VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcomputeDerivativeGroupQuads = " << value.computeDerivativeGroupQuads << '\n';
s << "\tcomputeDerivativeGroupLinear = " << value.computeDerivativeGroupLinear << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderFeaturesNV& value)
{
s << "VkPhysicalDeviceMeshShaderFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttaskShader = " << value.taskShader << '\n';
s << "\tmeshShader = " << value.meshShader << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderPropertiesNV& value)
{
s << "VkPhysicalDeviceMeshShaderPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxDrawMeshTasksCount = " << value.maxDrawMeshTasksCount << '\n';
s << "\tmaxTaskWorkGroupInvocations = " << value.maxTaskWorkGroupInvocations << '\n';
s << "\tmaxTaskWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxTaskWorkGroupSize), DE_ARRAY_END(value.maxTaskWorkGroupSize)) << '\n';
s << "\tmaxTaskTotalMemorySize = " << value.maxTaskTotalMemorySize << '\n';
s << "\tmaxTaskOutputCount = " << value.maxTaskOutputCount << '\n';
s << "\tmaxMeshWorkGroupInvocations = " << value.maxMeshWorkGroupInvocations << '\n';
s << "\tmaxMeshWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxMeshWorkGroupSize), DE_ARRAY_END(value.maxMeshWorkGroupSize)) << '\n';
s << "\tmaxMeshTotalMemorySize = " << value.maxMeshTotalMemorySize << '\n';
s << "\tmaxMeshOutputVertices = " << value.maxMeshOutputVertices << '\n';
s << "\tmaxMeshOutputPrimitives = " << value.maxMeshOutputPrimitives << '\n';
s << "\tmaxMeshMultiviewViewCount = " << value.maxMeshMultiviewViewCount << '\n';
s << "\tmeshOutputPerVertexGranularity = " << value.meshOutputPerVertexGranularity << '\n';
s << "\tmeshOutputPerPrimitiveGranularity = " << value.meshOutputPerPrimitiveGranularity << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDrawMeshTasksIndirectCommandNV& value)
{
s << "VkDrawMeshTasksIndirectCommandNV = {\n";
s << "\ttaskCount = " << value.taskCount << '\n';
s << "\tfirstTask = " << value.firstTask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value)
{
s << "VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentShaderBarycentric = " << value.fragmentShaderBarycentric << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value)
{
s << "VkPhysicalDeviceShaderImageFootprintFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageFootprint = " << value.imageFootprint << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportExclusiveScissorStateCreateInfoNV& value)
{
s << "VkPipelineViewportExclusiveScissorStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texclusiveScissorCount = " << value.exclusiveScissorCount << '\n';
s << "\tpExclusiveScissors = " << value.pExclusiveScissors << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExclusiveScissorFeaturesNV& value)
{
s << "VkPhysicalDeviceExclusiveScissorFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texclusiveScissor = " << value.exclusiveScissor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointPropertiesNV& value)
{
s << "VkQueueFamilyCheckpointPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcheckpointExecutionStageMask = " << getPipelineStageFlagsStr(value.checkpointExecutionStageMask) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCheckpointDataNV& value)
{
s << "VkCheckpointDataNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstage = " << value.stage << '\n';
s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& value)
{
s << "VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderIntegerFunctions2 = " << value.shaderIntegerFunctions2 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceValueDataINTEL& value)
{
s << "VkPerformanceValueDataINTEL = {\n";
s << "\tvalue32 = " << value.value32 << '\n';
s << "\tvalue64 = " << value.value64 << '\n';
s << "\tvalueFloat = " << value.valueFloat << '\n';
s << "\tvalueBool = " << value.valueBool << '\n';
s << "\tvalueString = " << getCharPtrStr(value.valueString) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceValueINTEL& value)
{
s << "VkPerformanceValueINTEL = {\n";
s << "\ttype = " << value.type << '\n';
s << "\tdata = " << value.data << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkInitializePerformanceApiInfoINTEL& value)
{
s << "VkInitializePerformanceApiInfoINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpUserData = " << value.pUserData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceQueryCreateInfoINTEL& value)
{
s << "VkQueryPoolPerformanceQueryCreateInfoINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tperformanceCountersSampling = " << value.performanceCountersSampling << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceMarkerInfoINTEL& value)
{
s << "VkPerformanceMarkerInfoINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmarker = " << value.marker << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceStreamMarkerInfoINTEL& value)
{
s << "VkPerformanceStreamMarkerInfoINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmarker = " << value.marker << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceOverrideInfoINTEL& value)
{
s << "VkPerformanceOverrideInfoINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tenable = " << value.enable << '\n';
s << "\tparameter = " << value.parameter << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPerformanceConfigurationAcquireInfoINTEL& value)
{
s << "VkPerformanceConfigurationAcquireInfoINTEL = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePCIBusInfoPropertiesEXT& value)
{
s << "VkPhysicalDevicePCIBusInfoPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpciDomain = " << value.pciDomain << '\n';
s << "\tpciBus = " << value.pciBus << '\n';
s << "\tpciDevice = " << value.pciDevice << '\n';
s << "\tpciFunction = " << value.pciFunction << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDisplayNativeHdrSurfaceCapabilitiesAMD& value)
{
s << "VkDisplayNativeHdrSurfaceCapabilitiesAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlocalDimmingSupport = " << value.localDimmingSupport << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSwapchainDisplayNativeHdrCreateInfoAMD& value)
{
s << "VkSwapchainDisplayNativeHdrCreateInfoAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlocalDimmingEnable = " << value.localDimmingEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& value)
{
s << "VkPhysicalDeviceFragmentDensityMapFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentDensityMap = " << value.fragmentDensityMap << '\n';
s << "\tfragmentDensityMapDynamic = " << value.fragmentDensityMapDynamic << '\n';
s << "\tfragmentDensityMapNonSubsampledImages = " << value.fragmentDensityMapNonSubsampledImages << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& value)
{
s << "VkPhysicalDeviceFragmentDensityMapPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminFragmentDensityTexelSize = " << value.minFragmentDensityTexelSize << '\n';
s << "\tmaxFragmentDensityTexelSize = " << value.maxFragmentDensityTexelSize << '\n';
s << "\tfragmentDensityInvocations = " << value.fragmentDensityInvocations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassFragmentDensityMapCreateInfoEXT& value)
{
s << "VkRenderPassFragmentDensityMapCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentDensityMapAttachment = " << value.fragmentDensityMapAttachment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCoreProperties2AMD& value)
{
s << "VkPhysicalDeviceShaderCoreProperties2AMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderCoreFeatures = " << getShaderCorePropertiesFlagsAMDStr(value.shaderCoreFeatures) << '\n';
s << "\tactiveComputeUnitCount = " << value.activeComputeUnitCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoherentMemoryFeaturesAMD& value)
{
s << "VkPhysicalDeviceCoherentMemoryFeaturesAMD = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceCoherentMemory = " << value.deviceCoherentMemory << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& value)
{
s << "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderImageInt64Atomics = " << value.shaderImageInt64Atomics << '\n';
s << "\tsparseImageInt64Atomics = " << value.sparseImageInt64Atomics << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryBudgetPropertiesEXT& value)
{
s << "VkPhysicalDeviceMemoryBudgetPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\theapBudget = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.heapBudget), DE_ARRAY_END(value.heapBudget)) << '\n';
s << "\theapUsage = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.heapUsage), DE_ARRAY_END(value.heapUsage)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryPriorityFeaturesEXT& value)
{
s << "VkPhysicalDeviceMemoryPriorityFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryPriority = " << value.memoryPriority << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryPriorityAllocateInfoEXT& value)
{
s << "VkMemoryPriorityAllocateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpriority = " << value.priority << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& value)
{
s << "VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdedicatedAllocationImageAliasing = " << value.dedicatedAllocationImageAliasing << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& value)
{
s << "VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n';
s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n';
s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressCreateInfoEXT& value)
{
s << "VkBufferDeviceAddressCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceAddress = " << value.deviceAddress << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkValidationFeaturesEXT& value)
{
s << "VkValidationFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tenabledValidationFeatureCount = " << value.enabledValidationFeatureCount << '\n';
s << "\tpEnabledValidationFeatures = " << value.pEnabledValidationFeatures << '\n';
s << "\tdisabledValidationFeatureCount = " << value.disabledValidationFeatureCount << '\n';
s << "\tpDisabledValidationFeatures = " << value.pDisabledValidationFeatures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCooperativeMatrixPropertiesNV& value)
{
s << "VkCooperativeMatrixPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tMSize = " << value.MSize << '\n';
s << "\tNSize = " << value.NSize << '\n';
s << "\tKSize = " << value.KSize << '\n';
s << "\tAType = " << value.AType << '\n';
s << "\tBType = " << value.BType << '\n';
s << "\tCType = " << value.CType << '\n';
s << "\tDType = " << value.DType << '\n';
s << "\tscope = " << value.scope << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatrixFeaturesNV& value)
{
s << "VkPhysicalDeviceCooperativeMatrixFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcooperativeMatrix = " << value.cooperativeMatrix << '\n';
s << "\tcooperativeMatrixRobustBufferAccess = " << value.cooperativeMatrixRobustBufferAccess << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatrixPropertiesNV& value)
{
s << "VkPhysicalDeviceCooperativeMatrixPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcooperativeMatrixSupportedStages = " << getShaderStageFlagsStr(value.cooperativeMatrixSupportedStages) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoverageReductionModeFeaturesNV& value)
{
s << "VkPhysicalDeviceCoverageReductionModeFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcoverageReductionMode = " << value.coverageReductionMode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageReductionStateCreateInfoNV& value)
{
s << "VkPipelineCoverageReductionStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCoverageReductionStateCreateFlagsNVStr(value.flags) << '\n';
s << "\tcoverageReductionMode = " << value.coverageReductionMode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFramebufferMixedSamplesCombinationNV& value)
{
s << "VkFramebufferMixedSamplesCombinationNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcoverageReductionMode = " << value.coverageReductionMode << '\n';
s << "\trasterizationSamples = " << value.rasterizationSamples << '\n';
s << "\tdepthStencilSamples = " << getSampleCountFlagsStr(value.depthStencilSamples) << '\n';
s << "\tcolorSamples = " << getSampleCountFlagsStr(value.colorSamples) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& value)
{
s << "VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentShaderSampleInterlock = " << value.fragmentShaderSampleInterlock << '\n';
s << "\tfragmentShaderPixelInterlock = " << value.fragmentShaderPixelInterlock << '\n';
s << "\tfragmentShaderShadingRateInterlock = " << value.fragmentShaderShadingRateInterlock << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value)
{
s << "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tycbcrImageArrays = " << value.ycbcrImageArrays << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProvokingVertexFeaturesEXT& value)
{
s << "VkPhysicalDeviceProvokingVertexFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprovokingVertexLast = " << value.provokingVertexLast << '\n';
s << "\ttransformFeedbackPreservesProvokingVertex = " << value.transformFeedbackPreservesProvokingVertex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProvokingVertexPropertiesEXT& value)
{
s << "VkPhysicalDeviceProvokingVertexPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprovokingVertexModePerPipeline = " << value.provokingVertexModePerPipeline << '\n';
s << "\ttransformFeedbackPreservesTriangleFanProvokingVertex = " << value.transformFeedbackPreservesTriangleFanProvokingVertex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT& value)
{
s << "VkPipelineRasterizationProvokingVertexStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprovokingVertexMode = " << value.provokingVertexMode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkHeadlessSurfaceCreateInfoEXT& value)
{
s << "VkHeadlessSurfaceCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getHeadlessSurfaceCreateFlagsEXTStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationFeaturesEXT& value)
{
s << "VkPhysicalDeviceLineRasterizationFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trectangularLines = " << value.rectangularLines << '\n';
s << "\tbresenhamLines = " << value.bresenhamLines << '\n';
s << "\tsmoothLines = " << value.smoothLines << '\n';
s << "\tstippledRectangularLines = " << value.stippledRectangularLines << '\n';
s << "\tstippledBresenhamLines = " << value.stippledBresenhamLines << '\n';
s << "\tstippledSmoothLines = " << value.stippledSmoothLines << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationPropertiesEXT& value)
{
s << "VkPhysicalDeviceLineRasterizationPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlineSubPixelPrecisionBits = " << value.lineSubPixelPrecisionBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationLineStateCreateInfoEXT& value)
{
s << "VkPipelineRasterizationLineStateCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlineRasterizationMode = " << value.lineRasterizationMode << '\n';
s << "\tstippledLineEnable = " << value.stippledLineEnable << '\n';
s << "\tlineStippleFactor = " << value.lineStippleFactor << '\n';
s << "\tlineStipplePattern = " << value.lineStipplePattern << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& value)
{
s << "VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderBufferFloat32Atomics = " << value.shaderBufferFloat32Atomics << '\n';
s << "\tshaderBufferFloat32AtomicAdd = " << value.shaderBufferFloat32AtomicAdd << '\n';
s << "\tshaderBufferFloat64Atomics = " << value.shaderBufferFloat64Atomics << '\n';
s << "\tshaderBufferFloat64AtomicAdd = " << value.shaderBufferFloat64AtomicAdd << '\n';
s << "\tshaderSharedFloat32Atomics = " << value.shaderSharedFloat32Atomics << '\n';
s << "\tshaderSharedFloat32AtomicAdd = " << value.shaderSharedFloat32AtomicAdd << '\n';
s << "\tshaderSharedFloat64Atomics = " << value.shaderSharedFloat64Atomics << '\n';
s << "\tshaderSharedFloat64AtomicAdd = " << value.shaderSharedFloat64AtomicAdd << '\n';
s << "\tshaderImageFloat32Atomics = " << value.shaderImageFloat32Atomics << '\n';
s << "\tshaderImageFloat32AtomicAdd = " << value.shaderImageFloat32AtomicAdd << '\n';
s << "\tsparseImageFloat32Atomics = " << value.sparseImageFloat32Atomics << '\n';
s << "\tsparseImageFloat32AtomicAdd = " << value.sparseImageFloat32AtomicAdd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& value)
{
s << "VkPhysicalDeviceIndexTypeUint8FeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tindexTypeUint8 = " << value.indexTypeUint8 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& value)
{
s << "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\textendedDynamicState = " << value.extendedDynamicState << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& value)
{
s << "VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderBufferFloat16Atomics = " << value.shaderBufferFloat16Atomics << '\n';
s << "\tshaderBufferFloat16AtomicAdd = " << value.shaderBufferFloat16AtomicAdd << '\n';
s << "\tshaderBufferFloat16AtomicMinMax = " << value.shaderBufferFloat16AtomicMinMax << '\n';
s << "\tshaderBufferFloat32AtomicMinMax = " << value.shaderBufferFloat32AtomicMinMax << '\n';
s << "\tshaderBufferFloat64AtomicMinMax = " << value.shaderBufferFloat64AtomicMinMax << '\n';
s << "\tshaderSharedFloat16Atomics = " << value.shaderSharedFloat16Atomics << '\n';
s << "\tshaderSharedFloat16AtomicAdd = " << value.shaderSharedFloat16AtomicAdd << '\n';
s << "\tshaderSharedFloat16AtomicMinMax = " << value.shaderSharedFloat16AtomicMinMax << '\n';
s << "\tshaderSharedFloat32AtomicMinMax = " << value.shaderSharedFloat32AtomicMinMax << '\n';
s << "\tshaderSharedFloat64AtomicMinMax = " << value.shaderSharedFloat64AtomicMinMax << '\n';
s << "\tshaderImageFloat32AtomicMinMax = " << value.shaderImageFloat32AtomicMinMax << '\n';
s << "\tsparseImageFloat32AtomicMinMax = " << value.sparseImageFloat32AtomicMinMax << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV& value)
{
s << "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxGraphicsShaderGroupCount = " << value.maxGraphicsShaderGroupCount << '\n';
s << "\tmaxIndirectSequenceCount = " << value.maxIndirectSequenceCount << '\n';
s << "\tmaxIndirectCommandsTokenCount = " << value.maxIndirectCommandsTokenCount << '\n';
s << "\tmaxIndirectCommandsStreamCount = " << value.maxIndirectCommandsStreamCount << '\n';
s << "\tmaxIndirectCommandsTokenOffset = " << value.maxIndirectCommandsTokenOffset << '\n';
s << "\tmaxIndirectCommandsStreamStride = " << value.maxIndirectCommandsStreamStride << '\n';
s << "\tminSequencesCountBufferOffsetAlignment = " << value.minSequencesCountBufferOffsetAlignment << '\n';
s << "\tminSequencesIndexBufferOffsetAlignment = " << value.minSequencesIndexBufferOffsetAlignment << '\n';
s << "\tminIndirectCommandsBufferOffsetAlignment = " << value.minIndirectCommandsBufferOffsetAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& value)
{
s << "VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceGeneratedCommands = " << value.deviceGeneratedCommands << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGraphicsShaderGroupCreateInfoNV& value)
{
s << "VkGraphicsShaderGroupCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstageCount = " << value.stageCount << '\n';
s << "\tpStages = " << value.pStages << '\n';
s << "\tpVertexInputState = " << value.pVertexInputState << '\n';
s << "\tpTessellationState = " << value.pTessellationState << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineShaderGroupsCreateInfoNV& value)
{
s << "VkGraphicsPipelineShaderGroupsCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tgroupCount = " << value.groupCount << '\n';
s << "\tpGroups = " << value.pGroups << '\n';
s << "\tpipelineCount = " << value.pipelineCount << '\n';
s << "\tpPipelines = " << value.pPipelines << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindShaderGroupIndirectCommandNV& value)
{
s << "VkBindShaderGroupIndirectCommandNV = {\n";
s << "\tgroupIndex = " << value.groupIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindIndexBufferIndirectCommandNV& value)
{
s << "VkBindIndexBufferIndirectCommandNV = {\n";
s << "\tbufferAddress = " << value.bufferAddress << '\n';
s << "\tsize = " << value.size << '\n';
s << "\tindexType = " << value.indexType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBindVertexBufferIndirectCommandNV& value)
{
s << "VkBindVertexBufferIndirectCommandNV = {\n";
s << "\tbufferAddress = " << value.bufferAddress << '\n';
s << "\tsize = " << value.size << '\n';
s << "\tstride = " << value.stride << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSetStateFlagsIndirectCommandNV& value)
{
s << "VkSetStateFlagsIndirectCommandNV = {\n";
s << "\tdata = " << value.data << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsStreamNV& value)
{
s << "VkIndirectCommandsStreamNV = {\n";
s << "\tbuffer = " << value.buffer << '\n';
s << "\toffset = " << value.offset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutTokenNV& value)
{
s << "VkIndirectCommandsLayoutTokenNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttokenType = " << value.tokenType << '\n';
s << "\tstream = " << value.stream << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tvertexBindingUnit = " << value.vertexBindingUnit << '\n';
s << "\tvertexDynamicStride = " << value.vertexDynamicStride << '\n';
s << "\tpushconstantPipelineLayout = " << value.pushconstantPipelineLayout << '\n';
s << "\tpushconstantShaderStageFlags = " << getShaderStageFlagsStr(value.pushconstantShaderStageFlags) << '\n';
s << "\tpushconstantOffset = " << value.pushconstantOffset << '\n';
s << "\tpushconstantSize = " << value.pushconstantSize << '\n';
s << "\tindirectStateFlags = " << getIndirectStateFlagsNVStr(value.indirectStateFlags) << '\n';
s << "\tindexTypeCount = " << value.indexTypeCount << '\n';
s << "\tpIndexTypes = " << value.pIndexTypes << '\n';
s << "\tpIndexTypeValues = " << value.pIndexTypeValues << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutCreateInfoNV& value)
{
s << "VkIndirectCommandsLayoutCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getIndirectCommandsLayoutUsageFlagsNVStr(value.flags) << '\n';
s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n';
s << "\ttokenCount = " << value.tokenCount << '\n';
s << "\tpTokens = " << value.pTokens << '\n';
s << "\tstreamCount = " << value.streamCount << '\n';
s << "\tpStreamStrides = " << value.pStreamStrides << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsInfoNV& value)
{
s << "VkGeneratedCommandsInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n';
s << "\tpipeline = " << value.pipeline << '\n';
s << "\tindirectCommandsLayout = " << value.indirectCommandsLayout << '\n';
s << "\tstreamCount = " << value.streamCount << '\n';
s << "\tpStreams = " << value.pStreams << '\n';
s << "\tsequencesCount = " << value.sequencesCount << '\n';
s << "\tpreprocessBuffer = " << value.preprocessBuffer << '\n';
s << "\tpreprocessOffset = " << value.preprocessOffset << '\n';
s << "\tpreprocessSize = " << value.preprocessSize << '\n';
s << "\tsequencesCountBuffer = " << value.sequencesCountBuffer << '\n';
s << "\tsequencesCountOffset = " << value.sequencesCountOffset << '\n';
s << "\tsequencesIndexBuffer = " << value.sequencesIndexBuffer << '\n';
s << "\tsequencesIndexOffset = " << value.sequencesIndexOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsMemoryRequirementsInfoNV& value)
{
s << "VkGeneratedCommandsMemoryRequirementsInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n';
s << "\tpipeline = " << value.pipeline << '\n';
s << "\tindirectCommandsLayout = " << value.indirectCommandsLayout << '\n';
s << "\tmaxSequencesCount = " << value.maxSequencesCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& value)
{
s << "VkPhysicalDeviceInheritedViewportScissorFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tinheritedViewportScissor2D = " << value.inheritedViewportScissor2D << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceViewportScissorInfoNV& value)
{
s << "VkCommandBufferInheritanceViewportScissorInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tviewportScissor2D = " << value.viewportScissor2D << '\n';
s << "\tviewportDepthCount = " << value.viewportDepthCount << '\n';
s << "\tpViewportDepths = " << value.pViewportDepths << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& value)
{
s << "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttexelBufferAlignment = " << value.texelBufferAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRenderPassTransformBeginInfoQCOM& value)
{
s << "VkRenderPassTransformBeginInfoQCOM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttransform = " << value.transform << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderPassTransformInfoQCOM& value)
{
s << "VkCommandBufferInheritanceRenderPassTransformInfoQCOM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttransform = " << value.transform << '\n';
s << "\trenderArea = " << value.renderArea << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& value)
{
s << "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdeviceMemoryReport = " << value.deviceMemoryReport << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryReportCallbackDataEXT& value)
{
s << "VkDeviceMemoryReportCallbackDataEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDeviceMemoryReportFlagsEXTStr(value.flags) << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tmemoryObjectId = " << value.memoryObjectId << '\n';
s << "\tsize = " << value.size << '\n';
s << "\tobjectType = " << value.objectType << '\n';
s << "\tobjectHandle = " << value.objectHandle << '\n';
s << "\theapIndex = " << value.heapIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceDeviceMemoryReportCreateInfoEXT& value)
{
s << "VkDeviceDeviceMemoryReportCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDeviceMemoryReportFlagsEXTStr(value.flags) << '\n';
s << "\tpfnUserCallback = " << value.pfnUserCallback << '\n';
s << "\tpUserData = " << value.pUserData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2FeaturesEXT& value)
{
s << "VkPhysicalDeviceRobustness2FeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trobustBufferAccess2 = " << value.robustBufferAccess2 << '\n';
s << "\trobustImageAccess2 = " << value.robustImageAccess2 << '\n';
s << "\tnullDescriptor = " << value.nullDescriptor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2PropertiesEXT& value)
{
s << "VkPhysicalDeviceRobustness2PropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trobustStorageBufferAccessSizeAlignment = " << value.robustStorageBufferAccessSizeAlignment << '\n';
s << "\trobustUniformBufferAccessSizeAlignment = " << value.robustUniformBufferAccessSizeAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerCustomBorderColorCreateInfoEXT& value)
{
s << "VkSamplerCustomBorderColorCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcustomBorderColor = " << value.customBorderColor << '\n';
s << "\tformat = " << value.format << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorPropertiesEXT& value)
{
s << "VkPhysicalDeviceCustomBorderColorPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxCustomBorderColorSamplers = " << value.maxCustomBorderColorSamplers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorFeaturesEXT& value)
{
s << "VkPhysicalDeviceCustomBorderColorFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcustomBorderColors = " << value.customBorderColors << '\n';
s << "\tcustomBorderColorWithoutFormat = " << value.customBorderColorWithoutFormat << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& value)
{
s << "VkPhysicalDeviceDiagnosticsConfigFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdiagnosticsConfig = " << value.diagnosticsConfig << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceDiagnosticsConfigCreateInfoNV& value)
{
s << "VkDeviceDiagnosticsConfigCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getDeviceDiagnosticsConfigFlagsNVStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value)
{
s << "VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentShadingRateEnums = " << value.fragmentShadingRateEnums << '\n';
s << "\tsupersampleFragmentShadingRates = " << value.supersampleFragmentShadingRates << '\n';
s << "\tnoInvocationFragmentShadingRates = " << value.noInvocationFragmentShadingRates << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value)
{
s << "VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxFragmentShadingRateInvocationCount = " << value.maxFragmentShadingRateInvocationCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value)
{
s << "VkPipelineFragmentShadingRateEnumStateCreateInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshadingRateType = " << value.shadingRateType << '\n';
s << "\tshadingRate = " << value.shadingRate << '\n';
s << "\tcombinerOps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.combinerOps), DE_ARRAY_END(value.combinerOps)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressConstKHR& value)
{
s << "VkDeviceOrHostAddressConstKHR = {\n";
s << "\tdeviceAddress = " << value.deviceAddress << '\n';
s << "\thostAddress = " << value.hostAddress << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryMotionTrianglesDataNV& value)
{
s << "VkAccelerationStructureGeometryMotionTrianglesDataNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvertexData = " << value.vertexData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInfoNV& value)
{
s << "VkAccelerationStructureMotionInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxInstances = " << value.maxInstances << '\n';
s << "\tflags = " << getAccelerationStructureMotionInfoFlagsNVStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMatrixMotionInstanceNV& value)
{
s << "VkAccelerationStructureMatrixMotionInstanceNV = {\n";
s << "\ttransformT0 = " << value.transformT0 << '\n';
s << "\ttransformT1 = " << value.transformT1 << '\n';
s << "\tinstanceCustomIndex = " << value.instanceCustomIndex << '\n';
s << "\tmask = " << value.mask << '\n';
s << "\tinstanceShaderBindingTableRecordOffset = " << value.instanceShaderBindingTableRecordOffset << '\n';
s << "\tflags = " << getGeometryInstanceFlagsKHRStr(value.flags) << '\n';
s << "\taccelerationStructureReference = " << value.accelerationStructureReference << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSRTDataNV& value)
{
s << "VkSRTDataNV = {\n";
s << "\tsx = " << value.sx << '\n';
s << "\ta = " << value.a << '\n';
s << "\tb = " << value.b << '\n';
s << "\tpvx = " << value.pvx << '\n';
s << "\tsy = " << value.sy << '\n';
s << "\tc = " << value.c << '\n';
s << "\tpvy = " << value.pvy << '\n';
s << "\tsz = " << value.sz << '\n';
s << "\tpvz = " << value.pvz << '\n';
s << "\tqx = " << value.qx << '\n';
s << "\tqy = " << value.qy << '\n';
s << "\tqz = " << value.qz << '\n';
s << "\tqw = " << value.qw << '\n';
s << "\ttx = " << value.tx << '\n';
s << "\tty = " << value.ty << '\n';
s << "\ttz = " << value.tz << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureSRTMotionInstanceNV& value)
{
s << "VkAccelerationStructureSRTMotionInstanceNV = {\n";
s << "\ttransformT0 = " << value.transformT0 << '\n';
s << "\ttransformT1 = " << value.transformT1 << '\n';
s << "\tinstanceCustomIndex = " << value.instanceCustomIndex << '\n';
s << "\tmask = " << value.mask << '\n';
s << "\tinstanceShaderBindingTableRecordOffset = " << value.instanceShaderBindingTableRecordOffset << '\n';
s << "\tflags = " << getGeometryInstanceFlagsKHRStr(value.flags) << '\n';
s << "\taccelerationStructureReference = " << value.accelerationStructureReference << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInstanceDataNV& value)
{
s << "VkAccelerationStructureMotionInstanceDataNV = {\n";
s << "\tstaticInstance = " << value.staticInstance << '\n';
s << "\tmatrixMotionInstance = " << value.matrixMotionInstance << '\n';
s << "\tsrtMotionInstance = " << value.srtMotionInstance << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInstanceNV& value)
{
s << "VkAccelerationStructureMotionInstanceNV = {\n";
s << "\ttype = " << value.type << '\n';
s << "\tflags = " << getAccelerationStructureMotionInstanceFlagsNVStr(value.flags) << '\n';
s << "\tdata = " << value.data << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& value)
{
s << "VkPhysicalDeviceRayTracingMotionBlurFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trayTracingMotionBlur = " << value.rayTracingMotionBlur << '\n';
s << "\trayTracingMotionBlurPipelineTraceRaysIndirect = " << value.rayTracingMotionBlurPipelineTraceRaysIndirect << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& value)
{
s << "VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tycbcr2plane444Formats = " << value.ycbcr2plane444Formats << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value)
{
s << "VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentDensityMapDeferred = " << value.fragmentDensityMapDeferred << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& value)
{
s << "VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsubsampledLoads = " << value.subsampledLoads << '\n';
s << "\tsubsampledCoarseReconstructionEarlyAccess = " << value.subsampledCoarseReconstructionEarlyAccess << '\n';
s << "\tmaxSubsampledArrayLayers = " << value.maxSubsampledArrayLayers << '\n';
s << "\tmaxDescriptorSetSubsampledSamplers = " << value.maxDescriptorSetSubsampledSamplers << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value)
{
s << "VkCopyCommandTransformInfoQCOM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttransform = " << value.transform << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value)
{
s << "VkPhysicalDevice4444FormatsFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformatA4R4G4B4 = " << value.formatA4R4G4B4 << '\n';
s << "\tformatA4B4G4R4 = " << value.formatA4B4G4R4 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM& value)
{
s << "VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trasterizationOrderColorAttachmentAccess = " << value.rasterizationOrderColorAttachmentAccess << '\n';
s << "\trasterizationOrderDepthAttachmentAccess = " << value.rasterizationOrderDepthAttachmentAccess << '\n';
s << "\trasterizationOrderStencilAttachmentAccess = " << value.rasterizationOrderStencilAttachmentAccess << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& value)
{
s << "VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformatRgba10x6WithoutYCbCrSampler = " << value.formatRgba10x6WithoutYCbCrSampler << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& value)
{
s << "VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmutableDescriptorType = " << value.mutableDescriptorType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeListVALVE& value)
{
s << "VkMutableDescriptorTypeListVALVE = {\n";
s << "\tdescriptorTypeCount = " << value.descriptorTypeCount << '\n';
s << "\tpDescriptorTypes = " << value.pDescriptorTypes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeCreateInfoVALVE& value)
{
s << "VkMutableDescriptorTypeCreateInfoVALVE = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmutableDescriptorTypeListCount = " << value.mutableDescriptorTypeListCount << '\n';
s << "\tpMutableDescriptorTypeLists = " << value.pMutableDescriptorTypeLists << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value)
{
s << "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvertexInputDynamicState = " << value.vertexInputDynamicState << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription2EXT& value)
{
s << "VkVertexInputBindingDescription2EXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbinding = " << value.binding << '\n';
s << "\tstride = " << value.stride << '\n';
s << "\tinputRate = " << value.inputRate << '\n';
s << "\tdivisor = " << value.divisor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription2EXT& value)
{
s << "VkVertexInputAttributeDescription2EXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlocation = " << value.location << '\n';
s << "\tbinding = " << value.binding << '\n';
s << "\tformat = " << value.format << '\n';
s << "\toffset = " << value.offset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDrmPropertiesEXT& value)
{
s << "VkPhysicalDeviceDrmPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thasPrimary = " << value.hasPrimary << '\n';
s << "\thasRender = " << value.hasRender << '\n';
s << "\tprimaryMajor = " << value.primaryMajor << '\n';
s << "\tprimaryMinor = " << value.primaryMinor << '\n';
s << "\trenderMajor = " << value.renderMajor << '\n';
s << "\trenderMinor = " << value.renderMinor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipControlFeaturesEXT& value)
{
s << "VkPhysicalDeviceDepthClipControlFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdepthClipControl = " << value.depthClipControl << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportDepthClipControlCreateInfoEXT& value)
{
s << "VkPipelineViewportDepthClipControlCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tnegativeOneToOne = " << value.negativeOneToOne << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& value)
{
s << "VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprimitiveTopologyListRestart = " << value.primitiveTopologyListRestart << '\n';
s << "\tprimitiveTopologyPatchListRestart = " << value.primitiveTopologyPatchListRestart << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassShadingPipelineCreateInfoHUAWEI& value)
{
s << "VkSubpassShadingPipelineCreateInfoHUAWEI = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trenderPass = " << value.renderPass << '\n';
s << "\tsubpass = " << value.subpass << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& value)
{
s << "VkPhysicalDeviceSubpassShadingFeaturesHUAWEI = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsubpassShading = " << value.subpassShading << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI& value)
{
s << "VkPhysicalDeviceSubpassShadingPropertiesHUAWEI = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxSubpassShadingWorkgroupSizeAspectRatio = " << value.maxSubpassShadingWorkgroupSizeAspectRatio << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& value)
{
s << "VkPhysicalDeviceInvocationMaskFeaturesHUAWEI = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tinvocationMask = " << value.invocationMask << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryGetRemoteAddressInfoNV& value)
{
s << "VkMemoryGetRemoteAddressInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& value)
{
s << "VkPhysicalDeviceExternalMemoryRDMAFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texternalMemoryRDMA = " << value.externalMemoryRDMA << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value)
{
s << "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\textendedDynamicState2 = " << value.extendedDynamicState2 << '\n';
s << "\textendedDynamicState2LogicOp = " << value.extendedDynamicState2LogicOp << '\n';
s << "\textendedDynamicState2PatchControlPoints = " << value.extendedDynamicState2PatchControlPoints << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value)
{
s << "VkPhysicalDeviceColorWriteEnableFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcolorWriteEnable = " << value.colorWriteEnable << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value)
{
s << "VkPipelineColorWriteCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tattachmentCount = " << value.attachmentCount << '\n';
s << "\tpColorWriteEnables = " << value.pColorWriteEnables << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value)
{
s << "VkPhysicalDeviceImageViewMinLodFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminLod = " << value.minLod << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageViewMinLodCreateInfoEXT& value)
{
s << "VkImageViewMinLodCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminLod = " << value.minLod << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawFeaturesEXT& value)
{
s << "VkPhysicalDeviceMultiDrawFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmultiDraw = " << value.multiDraw << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawPropertiesEXT& value)
{
s << "VkPhysicalDeviceMultiDrawPropertiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxMultiDrawCount = " << value.maxMultiDrawCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMultiDrawInfoEXT& value)
{
s << "VkMultiDrawInfoEXT = {\n";
s << "\tfirstVertex = " << value.firstVertex << '\n';
s << "\tvertexCount = " << value.vertexCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMultiDrawIndexedInfoEXT& value)
{
s << "VkMultiDrawIndexedInfoEXT = {\n";
s << "\tfirstIndex = " << value.firstIndex << '\n';
s << "\tindexCount = " << value.indexCount << '\n';
s << "\tvertexOffset = " << value.vertexOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value)
{
s << "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tborderColorSwizzle = " << value.borderColorSwizzle << '\n';
s << "\tborderColorSwizzleFromImage = " << value.borderColorSwizzleFromImage << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSamplerBorderColorComponentMappingCreateInfoEXT& value)
{
s << "VkSamplerBorderColorComponentMappingCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcomponents = " << value.components << '\n';
s << "\tsrgb = " << value.srgb << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& value)
{
s << "VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpageableDeviceLocalMemory = " << value.pageableDeviceLocalMemory << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value)
{
s << "VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentDensityMapOffset = " << value.fragmentDensityMapOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value)
{
s << "VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentDensityOffsetGranularity = " << value.fragmentDensityOffsetGranularity << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value)
{
s << "VkSubpassFragmentDensityMapOffsetEndInfoQCOM = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfragmentDensityOffsetCount = " << value.fragmentDensityOffsetCount << '\n';
s << "\tpFragmentDensityOffsets = " << value.pFragmentDensityOffsets << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLinearColorAttachmentFeaturesNV& value)
{
s << "VkPhysicalDeviceLinearColorAttachmentFeaturesNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tlinearColorAttachment = " << value.linearColorAttachment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value)
{
s << "VkDeviceOrHostAddressKHR = {\n";
s << "\tdeviceAddress = " << value.deviceAddress << '\n';
s << "\thostAddress = " << value.hostAddress << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value)
{
s << "VkAccelerationStructureBuildRangeInfoKHR = {\n";
s << "\tprimitiveCount = " << value.primitiveCount << '\n';
s << "\tprimitiveOffset = " << value.primitiveOffset << '\n';
s << "\tfirstVertex = " << value.firstVertex << '\n';
s << "\ttransformOffset = " << value.transformOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryTrianglesDataKHR& value)
{
s << "VkAccelerationStructureGeometryTrianglesDataKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvertexFormat = " << value.vertexFormat << '\n';
s << "\tvertexData = " << value.vertexData << '\n';
s << "\tvertexStride = " << value.vertexStride << '\n';
s << "\tmaxVertex = " << value.maxVertex << '\n';
s << "\tindexType = " << value.indexType << '\n';
s << "\tindexData = " << value.indexData << '\n';
s << "\ttransformData = " << value.transformData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryAabbsDataKHR& value)
{
s << "VkAccelerationStructureGeometryAabbsDataKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tdata = " << value.data << '\n';
s << "\tstride = " << value.stride << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryInstancesDataKHR& value)
{
s << "VkAccelerationStructureGeometryInstancesDataKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tarrayOfPointers = " << value.arrayOfPointers << '\n';
s << "\tdata = " << value.data << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryDataKHR& value)
{
s << "VkAccelerationStructureGeometryDataKHR = {\n";
s << "\ttriangles = " << value.triangles << '\n';
s << "\taabbs = " << value.aabbs << '\n';
s << "\tinstances = " << value.instances << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryKHR& value)
{
s << "VkAccelerationStructureGeometryKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tgeometryType = " << value.geometryType << '\n';
s << "\tgeometry = " << value.geometry << '\n';
s << "\tflags = " << getGeometryFlagsKHRStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildGeometryInfoKHR& value)
{
s << "VkAccelerationStructureBuildGeometryInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tflags = " << getBuildAccelerationStructureFlagsKHRStr(value.flags) << '\n';
s << "\tmode = " << value.mode << '\n';
s << "\tsrcAccelerationStructure = " << value.srcAccelerationStructure << '\n';
s << "\tdstAccelerationStructure = " << value.dstAccelerationStructure << '\n';
s << "\tgeometryCount = " << value.geometryCount << '\n';
s << "\tpGeometries = " << value.pGeometries << '\n';
s << "\tppGeometries = " << value.ppGeometries << '\n';
s << "\tscratchData = " << value.scratchData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCreateInfoKHR& value)
{
s << "VkAccelerationStructureCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcreateFlags = " << getAccelerationStructureCreateFlagsKHRStr(value.createFlags) << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << "\toffset = " << value.offset << '\n';
s << "\tsize = " << value.size << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tdeviceAddress = " << value.deviceAddress << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetAccelerationStructureKHR& value)
{
s << "VkWriteDescriptorSetAccelerationStructureKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taccelerationStructureCount = " << value.accelerationStructureCount << '\n';
s << "\tpAccelerationStructures = " << value.pAccelerationStructures << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAccelerationStructureFeaturesKHR& value)
{
s << "VkPhysicalDeviceAccelerationStructureFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taccelerationStructure = " << value.accelerationStructure << '\n';
s << "\taccelerationStructureCaptureReplay = " << value.accelerationStructureCaptureReplay << '\n';
s << "\taccelerationStructureIndirectBuild = " << value.accelerationStructureIndirectBuild << '\n';
s << "\taccelerationStructureHostCommands = " << value.accelerationStructureHostCommands << '\n';
s << "\tdescriptorBindingAccelerationStructureUpdateAfterBind = " << value.descriptorBindingAccelerationStructureUpdateAfterBind << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAccelerationStructurePropertiesKHR& value)
{
s << "VkPhysicalDeviceAccelerationStructurePropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxGeometryCount = " << value.maxGeometryCount << '\n';
s << "\tmaxInstanceCount = " << value.maxInstanceCount << '\n';
s << "\tmaxPrimitiveCount = " << value.maxPrimitiveCount << '\n';
s << "\tmaxPerStageDescriptorAccelerationStructures = " << value.maxPerStageDescriptorAccelerationStructures << '\n';
s << "\tmaxPerStageDescriptorUpdateAfterBindAccelerationStructures = " << value.maxPerStageDescriptorUpdateAfterBindAccelerationStructures << '\n';
s << "\tmaxDescriptorSetAccelerationStructures = " << value.maxDescriptorSetAccelerationStructures << '\n';
s << "\tmaxDescriptorSetUpdateAfterBindAccelerationStructures = " << value.maxDescriptorSetUpdateAfterBindAccelerationStructures << '\n';
s << "\tminAccelerationStructureScratchOffsetAlignment = " << value.minAccelerationStructureScratchOffsetAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureDeviceAddressInfoKHR& value)
{
s << "VkAccelerationStructureDeviceAddressInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taccelerationStructure = " << value.accelerationStructure << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureVersionInfoKHR& value)
{
s << "VkAccelerationStructureVersionInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpVersionData = " << value.pVersionData << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyAccelerationStructureToMemoryInfoKHR& value)
{
s << "VkCopyAccelerationStructureToMemoryInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrc = " << value.src << '\n';
s << "\tdst = " << value.dst << '\n';
s << "\tmode = " << value.mode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyMemoryToAccelerationStructureInfoKHR& value)
{
s << "VkCopyMemoryToAccelerationStructureInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrc = " << value.src << '\n';
s << "\tdst = " << value.dst << '\n';
s << "\tmode = " << value.mode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkCopyAccelerationStructureInfoKHR& value)
{
s << "VkCopyAccelerationStructureInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsrc = " << value.src << '\n';
s << "\tdst = " << value.dst << '\n';
s << "\tmode = " << value.mode << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildSizesInfoKHR& value)
{
s << "VkAccelerationStructureBuildSizesInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taccelerationStructureSize = " << value.accelerationStructureSize << '\n';
s << "\tupdateScratchSize = " << value.updateScratchSize << '\n';
s << "\tbuildScratchSize = " << value.buildScratchSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRayTracingShaderGroupCreateInfoKHR& value)
{
s << "VkRayTracingShaderGroupCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttype = " << value.type << '\n';
s << "\tgeneralShader = " << value.generalShader << '\n';
s << "\tclosestHitShader = " << value.closestHitShader << '\n';
s << "\tanyHitShader = " << value.anyHitShader << '\n';
s << "\tintersectionShader = " << value.intersectionShader << '\n';
s << "\tpShaderGroupCaptureReplayHandle = " << value.pShaderGroupCaptureReplayHandle << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineInterfaceCreateInfoKHR& value)
{
s << "VkRayTracingPipelineInterfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxPipelineRayPayloadSize = " << value.maxPipelineRayPayloadSize << '\n';
s << "\tmaxPipelineRayHitAttributeSize = " << value.maxPipelineRayHitAttributeSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineCreateInfoKHR& value)
{
s << "VkRayTracingPipelineCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n';
s << "\tstageCount = " << value.stageCount << '\n';
s << "\tpStages = " << value.pStages << '\n';
s << "\tgroupCount = " << value.groupCount << '\n';
s << "\tpGroups = " << value.pGroups << '\n';
s << "\tmaxPipelineRayRecursionDepth = " << value.maxPipelineRayRecursionDepth << '\n';
s << "\tpLibraryInfo = " << value.pLibraryInfo << '\n';
s << "\tpLibraryInterface = " << value.pLibraryInterface << '\n';
s << "\tpDynamicState = " << value.pDynamicState << '\n';
s << "\tlayout = " << value.layout << '\n';
s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n';
s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPipelineFeaturesKHR& value)
{
s << "VkPhysicalDeviceRayTracingPipelineFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trayTracingPipeline = " << value.rayTracingPipeline << '\n';
s << "\trayTracingPipelineShaderGroupHandleCaptureReplay = " << value.rayTracingPipelineShaderGroupHandleCaptureReplay << '\n';
s << "\trayTracingPipelineShaderGroupHandleCaptureReplayMixed = " << value.rayTracingPipelineShaderGroupHandleCaptureReplayMixed << '\n';
s << "\trayTracingPipelineTraceRaysIndirect = " << value.rayTracingPipelineTraceRaysIndirect << '\n';
s << "\trayTraversalPrimitiveCulling = " << value.rayTraversalPrimitiveCulling << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPipelinePropertiesKHR& value)
{
s << "VkPhysicalDeviceRayTracingPipelinePropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tshaderGroupHandleSize = " << value.shaderGroupHandleSize << '\n';
s << "\tmaxRayRecursionDepth = " << value.maxRayRecursionDepth << '\n';
s << "\tmaxShaderGroupStride = " << value.maxShaderGroupStride << '\n';
s << "\tshaderGroupBaseAlignment = " << value.shaderGroupBaseAlignment << '\n';
s << "\tshaderGroupHandleCaptureReplaySize = " << value.shaderGroupHandleCaptureReplaySize << '\n';
s << "\tmaxRayDispatchInvocationCount = " << value.maxRayDispatchInvocationCount << '\n';
s << "\tshaderGroupHandleAlignment = " << value.shaderGroupHandleAlignment << '\n';
s << "\tmaxRayHitAttributeSize = " << value.maxRayHitAttributeSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkStridedDeviceAddressRegionKHR& value)
{
s << "VkStridedDeviceAddressRegionKHR = {\n";
s << "\tdeviceAddress = " << value.deviceAddress << '\n';
s << "\tstride = " << value.stride << '\n';
s << "\tsize = " << value.size << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkTraceRaysIndirectCommandKHR& value)
{
s << "VkTraceRaysIndirectCommandKHR = {\n";
s << "\twidth = " << value.width << '\n';
s << "\theight = " << value.height << '\n';
s << "\tdepth = " << value.depth << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayQueryFeaturesKHR& value)
{
s << "VkPhysicalDeviceRayQueryFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trayQuery = " << value.rayQuery << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value)
{
s << "VkAndroidSurfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getAndroidSurfaceCreateFlagsKHRStr(value.flags) << '\n';
s << "\twindow = " << value.window << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value)
{
s << "VkAndroidHardwareBufferUsageANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tandroidHardwareBufferUsage = " << value.androidHardwareBufferUsage << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value)
{
s << "VkAndroidHardwareBufferPropertiesANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tallocationSize = " << value.allocationSize << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatPropertiesANDROID& value)
{
s << "VkAndroidHardwareBufferFormatPropertiesANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformat = " << value.format << '\n';
s << "\texternalFormat = " << value.externalFormat << '\n';
s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n';
s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n';
s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n';
s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n';
s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n';
s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportAndroidHardwareBufferInfoANDROID& value)
{
s << "VkImportAndroidHardwareBufferInfoANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tbuffer = " << value.buffer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryGetAndroidHardwareBufferInfoANDROID& value)
{
s << "VkMemoryGetAndroidHardwareBufferInfoANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExternalFormatANDROID& value)
{
s << "VkExternalFormatANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\texternalFormat = " << value.externalFormat << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatProperties2ANDROID& value)
{
s << "VkAndroidHardwareBufferFormatProperties2ANDROID = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformat = " << value.format << '\n';
s << "\texternalFormat = " << value.externalFormat << '\n';
s << "\tformatFeatures = " << value.formatFeatures << '\n';
s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n';
s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n';
s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n';
s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n';
s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyQueryResultStatusProperties2KHR& value)
{
s << "VkQueueFamilyQueryResultStatusProperties2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsupported = " << value.supported << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoQueueFamilyProperties2KHR& value)
{
s << "VkVideoQueueFamilyProperties2KHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvideoCodecOperations = " << getVideoCodecOperationFlagsKHRStr(value.videoCodecOperations) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoProfileKHR& value)
{
s << "VkVideoProfileKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvideoCodecOperation = " << value.videoCodecOperation << '\n';
s << "\tchromaSubsampling = " << getVideoChromaSubsamplingFlagsKHRStr(value.chromaSubsampling) << '\n';
s << "\tlumaBitDepth = " << getVideoComponentBitDepthFlagsKHRStr(value.lumaBitDepth) << '\n';
s << "\tchromaBitDepth = " << getVideoComponentBitDepthFlagsKHRStr(value.chromaBitDepth) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoProfilesKHR& value)
{
s << "VkVideoProfilesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tprofileCount = " << value.profileCount << '\n';
s << "\tpProfiles = " << value.pProfiles << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoCapabilitiesKHR& value)
{
s << "VkVideoCapabilitiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcapabilityFlags = " << getVideoCapabilityFlagsKHRStr(value.capabilityFlags) << '\n';
s << "\tminBitstreamBufferOffsetAlignment = " << value.minBitstreamBufferOffsetAlignment << '\n';
s << "\tminBitstreamBufferSizeAlignment = " << value.minBitstreamBufferSizeAlignment << '\n';
s << "\tvideoPictureExtentGranularity = " << value.videoPictureExtentGranularity << '\n';
s << "\tminExtent = " << value.minExtent << '\n';
s << "\tmaxExtent = " << value.maxExtent << '\n';
s << "\tmaxReferencePicturesSlotsCount = " << value.maxReferencePicturesSlotsCount << '\n';
s << "\tmaxReferencePicturesActiveCount = " << value.maxReferencePicturesActiveCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVideoFormatInfoKHR& value)
{
s << "VkPhysicalDeviceVideoFormatInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n';
s << "\tpVideoProfiles = " << value.pVideoProfiles << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoFormatPropertiesKHR& value)
{
s << "VkVideoFormatPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformat = " << value.format << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoPictureResourceKHR& value)
{
s << "VkVideoPictureResourceKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcodedOffset = " << value.codedOffset << '\n';
s << "\tcodedExtent = " << value.codedExtent << '\n';
s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n';
s << "\timageViewBinding = " << value.imageViewBinding << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoReferenceSlotKHR& value)
{
s << "VkVideoReferenceSlotKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tslotIndex = " << value.slotIndex << '\n';
s << "\tpPictureResource = " << value.pPictureResource << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoGetMemoryPropertiesKHR& value)
{
s << "VkVideoGetMemoryPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryBindIndex = " << value.memoryBindIndex << '\n';
s << "\tpMemoryRequirements = " << value.pMemoryRequirements << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoBindMemoryKHR& value)
{
s << "VkVideoBindMemoryKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryBindIndex = " << value.memoryBindIndex << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\tmemoryOffset = " << value.memoryOffset << '\n';
s << "\tmemorySize = " << value.memorySize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoSessionCreateInfoKHR& value)
{
s << "VkVideoSessionCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n';
s << "\tflags = " << getVideoSessionCreateFlagsKHRStr(value.flags) << '\n';
s << "\tpVideoProfile = " << value.pVideoProfile << '\n';
s << "\tpictureFormat = " << value.pictureFormat << '\n';
s << "\tmaxCodedExtent = " << value.maxCodedExtent << '\n';
s << "\treferencePicturesFormat = " << value.referencePicturesFormat << '\n';
s << "\tmaxReferencePicturesSlotsCount = " << value.maxReferencePicturesSlotsCount << '\n';
s << "\tmaxReferencePicturesActiveCount = " << value.maxReferencePicturesActiveCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoSessionParametersCreateInfoKHR& value)
{
s << "VkVideoSessionParametersCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvideoSessionParametersTemplate = " << value.videoSessionParametersTemplate << '\n';
s << "\tvideoSession = " << value.videoSession << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoSessionParametersUpdateInfoKHR& value)
{
s << "VkVideoSessionParametersUpdateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tupdateSequenceCount = " << value.updateSequenceCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoBeginCodingInfoKHR& value)
{
s << "VkVideoBeginCodingInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoBeginCodingFlagsKHRStr(value.flags) << '\n';
s << "\tcodecQualityPreset = " << getVideoCodingQualityPresetFlagsKHRStr(value.codecQualityPreset) << '\n';
s << "\tvideoSession = " << value.videoSession << '\n';
s << "\tvideoSessionParameters = " << value.videoSessionParameters << '\n';
s << "\treferenceSlotCount = " << value.referenceSlotCount << '\n';
s << "\tpReferenceSlots = " << value.pReferenceSlots << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEndCodingInfoKHR& value)
{
s << "VkVideoEndCodingInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEndCodingFlagsKHRStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoCodingControlInfoKHR& value)
{
s << "VkVideoCodingControlInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoCodingControlFlagsKHRStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeInfoKHR& value)
{
s << "VkVideoDecodeInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoDecodeFlagsKHRStr(value.flags) << '\n';
s << "\tcodedOffset = " << value.codedOffset << '\n';
s << "\tcodedExtent = " << value.codedExtent << '\n';
s << "\tsrcBuffer = " << value.srcBuffer << '\n';
s << "\tsrcBufferOffset = " << value.srcBufferOffset << '\n';
s << "\tsrcBufferRange = " << value.srcBufferRange << '\n';
s << "\tdstPictureResource = " << value.dstPictureResource << '\n';
s << "\tpSetupReferenceSlot = " << value.pSetupReferenceSlot << '\n';
s << "\treferenceSlotCount = " << value.referenceSlotCount << '\n';
s << "\tpReferenceSlots = " << value.pReferenceSlots << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePortabilitySubsetFeaturesKHR& value)
{
s << "VkPhysicalDevicePortabilitySubsetFeaturesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tconstantAlphaColorBlendFactors = " << value.constantAlphaColorBlendFactors << '\n';
s << "\tevents = " << value.events << '\n';
s << "\timageViewFormatReinterpretation = " << value.imageViewFormatReinterpretation << '\n';
s << "\timageViewFormatSwizzle = " << value.imageViewFormatSwizzle << '\n';
s << "\timageView2DOn3DImage = " << value.imageView2DOn3DImage << '\n';
s << "\tmultisampleArrayImage = " << value.multisampleArrayImage << '\n';
s << "\tmutableComparisonSamplers = " << value.mutableComparisonSamplers << '\n';
s << "\tpointPolygons = " << value.pointPolygons << '\n';
s << "\tsamplerMipLodBias = " << value.samplerMipLodBias << '\n';
s << "\tseparateStencilMaskRef = " << value.separateStencilMaskRef << '\n';
s << "\tshaderSampleRateInterpolationFunctions = " << value.shaderSampleRateInterpolationFunctions << '\n';
s << "\ttessellationIsolines = " << value.tessellationIsolines << '\n';
s << "\ttessellationPointMode = " << value.tessellationPointMode << '\n';
s << "\ttriangleFans = " << value.triangleFans << '\n';
s << "\tvertexAttributeAccessBeyondStride = " << value.vertexAttributeAccessBeyondStride << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePortabilitySubsetPropertiesKHR& value)
{
s << "VkPhysicalDevicePortabilitySubsetPropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminVertexInputBindingStrideAlignment = " << value.minVertexInputBindingStrideAlignment << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeInfoKHR& value)
{
s << "VkVideoEncodeInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEncodeFlagsKHRStr(value.flags) << '\n';
s << "\tqualityLevel = " << value.qualityLevel << '\n';
s << "\tcodedExtent = " << value.codedExtent << '\n';
s << "\tdstBitstreamBuffer = " << value.dstBitstreamBuffer << '\n';
s << "\tdstBitstreamBufferOffset = " << value.dstBitstreamBufferOffset << '\n';
s << "\tdstBitstreamBufferMaxRange = " << value.dstBitstreamBufferMaxRange << '\n';
s << "\tsrcPictureResource = " << value.srcPictureResource << '\n';
s << "\tpSetupReferenceSlot = " << value.pSetupReferenceSlot << '\n';
s << "\treferenceSlotCount = " << value.referenceSlotCount << '\n';
s << "\tpReferenceSlots = " << value.pReferenceSlots << '\n';
s << "\tprecedingExternallyEncodedBytes = " << value.precedingExternallyEncodedBytes << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlLayerInfoKHR& value)
{
s << "VkVideoEncodeRateControlLayerInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\taverageBitrate = " << value.averageBitrate << '\n';
s << "\tmaxBitrate = " << value.maxBitrate << '\n';
s << "\tframeRateNumerator = " << value.frameRateNumerator << '\n';
s << "\tframeRateDenominator = " << value.frameRateDenominator << '\n';
s << "\tvirtualBufferSizeInMs = " << value.virtualBufferSizeInMs << '\n';
s << "\tinitialVirtualBufferSizeInMs = " << value.initialVirtualBufferSizeInMs << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlInfoKHR& value)
{
s << "VkVideoEncodeRateControlInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEncodeRateControlFlagsKHRStr(value.flags) << '\n';
s << "\trateControlMode = " << value.rateControlMode << '\n';
s << "\tlayerCount = " << value.layerCount << '\n';
s << "\tpLayerConfigs = " << value.pLayerConfigs << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsVuiFlags& value)
{
s << "StdVideoH264SpsVuiFlags = {\n";
s << "\taspect_ratio_info_present_flag = " << value.aspect_ratio_info_present_flag << '\n';
s << "\toverscan_info_present_flag = " << value.overscan_info_present_flag << '\n';
s << "\toverscan_appropriate_flag = " << value.overscan_appropriate_flag << '\n';
s << "\tvideo_signal_type_present_flag = " << value.video_signal_type_present_flag << '\n';
s << "\tvideo_full_range_flag = " << value.video_full_range_flag << '\n';
s << "\tcolor_description_present_flag = " << value.color_description_present_flag << '\n';
s << "\tchroma_loc_info_present_flag = " << value.chroma_loc_info_present_flag << '\n';
s << "\ttiming_info_present_flag = " << value.timing_info_present_flag << '\n';
s << "\tfixed_frame_rate_flag = " << value.fixed_frame_rate_flag << '\n';
s << "\tbitstream_restriction_flag = " << value.bitstream_restriction_flag << '\n';
s << "\tnal_hrd_parameters_present_flag = " << value.nal_hrd_parameters_present_flag << '\n';
s << "\tvcl_hrd_parameters_present_flag = " << value.vcl_hrd_parameters_present_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264HrdParameters& value)
{
s << "StdVideoH264HrdParameters = {\n";
s << "\tcpb_cnt_minus1 = " << value.cpb_cnt_minus1 << '\n';
s << "\tbit_rate_scale = " << value.bit_rate_scale << '\n';
s << "\tcpb_size_scale = " << value.cpb_size_scale << '\n';
s << "\tbit_rate_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_value_minus1), DE_ARRAY_END(value.bit_rate_value_minus1)) << '\n';
s << "\tcpb_size_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_value_minus1), DE_ARRAY_END(value.cpb_size_value_minus1)) << '\n';
s << "\tcbr_flag = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.cbr_flag)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.cbr_flag))) << '\n';
s << "\tinitial_cpb_removal_delay_length_minus1 = " << value.initial_cpb_removal_delay_length_minus1 << '\n';
s << "\tcpb_removal_delay_length_minus1 = " << value.cpb_removal_delay_length_minus1 << '\n';
s << "\tdpb_output_delay_length_minus1 = " << value.dpb_output_delay_length_minus1 << '\n';
s << "\ttime_offset_length = " << value.time_offset_length << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSetVui& value)
{
s << "StdVideoH264SequenceParameterSetVui = {\n";
s << "\taspect_ratio_idc = " << value.aspect_ratio_idc << '\n';
s << "\tsar_width = " << value.sar_width << '\n';
s << "\tsar_height = " << value.sar_height << '\n';
s << "\tvideo_format = " << value.video_format << '\n';
s << "\tcolor_primaries = " << value.color_primaries << '\n';
s << "\ttransfer_characteristics = " << value.transfer_characteristics << '\n';
s << "\tmatrix_coefficients = " << value.matrix_coefficients << '\n';
s << "\tnum_units_in_tick = " << value.num_units_in_tick << '\n';
s << "\ttime_scale = " << value.time_scale << '\n';
s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
s << "\tmax_num_reorder_frames = " << value.max_num_reorder_frames << '\n';
s << "\tmax_dec_frame_buffering = " << value.max_dec_frame_buffering << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsFlags& value)
{
s << "StdVideoH264SpsFlags = {\n";
s << "\tconstraint_set0_flag = " << value.constraint_set0_flag << '\n';
s << "\tconstraint_set1_flag = " << value.constraint_set1_flag << '\n';
s << "\tconstraint_set2_flag = " << value.constraint_set2_flag << '\n';
s << "\tconstraint_set3_flag = " << value.constraint_set3_flag << '\n';
s << "\tconstraint_set4_flag = " << value.constraint_set4_flag << '\n';
s << "\tconstraint_set5_flag = " << value.constraint_set5_flag << '\n';
s << "\tdirect_8x8_inference_flag = " << value.direct_8x8_inference_flag << '\n';
s << "\tmb_adaptive_frame_field_flag = " << value.mb_adaptive_frame_field_flag << '\n';
s << "\tframe_mbs_only_flag = " << value.frame_mbs_only_flag << '\n';
s << "\tdelta_pic_order_always_zero_flag = " << value.delta_pic_order_always_zero_flag << '\n';
s << "\tseparate_colour_plane_flag = " << value.separate_colour_plane_flag << '\n';
s << "\tgaps_in_frame_num_value_allowed_flag = " << value.gaps_in_frame_num_value_allowed_flag << '\n';
s << "\tqpprime_y_zero_transform_bypass_flag = " << value.qpprime_y_zero_transform_bypass_flag << '\n';
s << "\tframe_cropping_flag = " << value.frame_cropping_flag << '\n';
s << "\tseq_scaling_matrix_present_flag = " << value.seq_scaling_matrix_present_flag << '\n';
s << "\tvui_parameters_present_flag = " << value.vui_parameters_present_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264ScalingLists& value)
{
s << "StdVideoH264ScalingLists = {\n";
s << "\tscaling_list_present_mask = " << value.scaling_list_present_mask << '\n';
s << "\tuse_default_scaling_matrix_mask = " << value.use_default_scaling_matrix_mask << '\n';
s << "\tScalingList4x4 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList4x4), DE_ARRAY_END(value.ScalingList4x4)) << '\n';
s << "\tScalingList8x8 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList8x8), DE_ARRAY_END(value.ScalingList8x8)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSet& value)
{
s << "StdVideoH264SequenceParameterSet = {\n";
s << "\tprofile_idc = " << value.profile_idc << '\n';
s << "\tlevel_idc = " << value.level_idc << '\n';
s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n';
s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n';
s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n';
s << "\tlog2_max_frame_num_minus4 = " << value.log2_max_frame_num_minus4 << '\n';
s << "\tpic_order_cnt_type = " << value.pic_order_cnt_type << '\n';
s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n';
s << "\toffset_for_non_ref_pic = " << value.offset_for_non_ref_pic << '\n';
s << "\toffset_for_top_to_bottom_field = " << value.offset_for_top_to_bottom_field << '\n';
s << "\tnum_ref_frames_in_pic_order_cnt_cycle = " << value.num_ref_frames_in_pic_order_cnt_cycle << '\n';
s << "\tmax_num_ref_frames = " << value.max_num_ref_frames << '\n';
s << "\tpic_width_in_mbs_minus1 = " << value.pic_width_in_mbs_minus1 << '\n';
s << "\tpic_height_in_map_units_minus1 = " << value.pic_height_in_map_units_minus1 << '\n';
s << "\tframe_crop_left_offset = " << value.frame_crop_left_offset << '\n';
s << "\tframe_crop_right_offset = " << value.frame_crop_right_offset << '\n';
s << "\tframe_crop_top_offset = " << value.frame_crop_top_offset << '\n';
s << "\tframe_crop_bottom_offset = " << value.frame_crop_bottom_offset << '\n';
s << "\tflags = " << value.flags << '\n';
s << "\tpOffsetForRefFrame = " << value.pOffsetForRefFrame << '\n';
s << "\tpScalingLists = " << value.pScalingLists << '\n';
s << "\tpSequenceParameterSetVui = " << value.pSequenceParameterSetVui << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264PpsFlags& value)
{
s << "StdVideoH264PpsFlags = {\n";
s << "\ttransform_8x8_mode_flag = " << value.transform_8x8_mode_flag << '\n';
s << "\tredundant_pic_cnt_present_flag = " << value.redundant_pic_cnt_present_flag << '\n';
s << "\tconstrained_intra_pred_flag = " << value.constrained_intra_pred_flag << '\n';
s << "\tdeblocking_filter_control_present_flag = " << value.deblocking_filter_control_present_flag << '\n';
s << "\tweighted_bipred_idc_flag = " << value.weighted_bipred_idc_flag << '\n';
s << "\tweighted_pred_flag = " << value.weighted_pred_flag << '\n';
s << "\tpic_order_present_flag = " << value.pic_order_present_flag << '\n';
s << "\tentropy_coding_mode_flag = " << value.entropy_coding_mode_flag << '\n';
s << "\tpic_scaling_matrix_present_flag = " << value.pic_scaling_matrix_present_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH264PictureParameterSet& value)
{
s << "StdVideoH264PictureParameterSet = {\n";
s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n';
s << "\tnum_ref_idx_l0_default_active_minus1 = " << value.num_ref_idx_l0_default_active_minus1 << '\n';
s << "\tnum_ref_idx_l1_default_active_minus1 = " << value.num_ref_idx_l1_default_active_minus1 << '\n';
s << "\tweighted_bipred_idc = " << value.weighted_bipred_idc << '\n';
s << "\tpic_init_qp_minus26 = " << value.pic_init_qp_minus26 << '\n';
s << "\tpic_init_qs_minus26 = " << value.pic_init_qs_minus26 << '\n';
s << "\tchroma_qp_index_offset = " << value.chroma_qp_index_offset << '\n';
s << "\tsecond_chroma_qp_index_offset = " << value.second_chroma_qp_index_offset << '\n';
s << "\tflags = " << value.flags << '\n';
s << "\tpScalingLists = " << value.pScalingLists << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeaderFlags& value)
{
s << "StdVideoEncodeH264SliceHeaderFlags = {\n";
s << "\tidr_flag = " << value.idr_flag << '\n';
s << "\tis_reference_flag = " << value.is_reference_flag << '\n';
s << "\tnum_ref_idx_active_override_flag = " << value.num_ref_idx_active_override_flag << '\n';
s << "\tno_output_of_prior_pics_flag = " << value.no_output_of_prior_pics_flag << '\n';
s << "\tlong_term_reference_flag = " << value.long_term_reference_flag << '\n';
s << "\tadaptive_ref_pic_marking_mode_flag = " << value.adaptive_ref_pic_marking_mode_flag << '\n';
s << "\tno_prior_references_available_flag = " << value.no_prior_references_available_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfoFlags& value)
{
s << "StdVideoEncodeH264PictureInfoFlags = {\n";
s << "\tidr_flag = " << value.idr_flag << '\n';
s << "\tis_reference_flag = " << value.is_reference_flag << '\n';
s << "\tlong_term_reference_flag = " << value.long_term_reference_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMgmtFlags& value)
{
s << "StdVideoEncodeH264RefMgmtFlags = {\n";
s << "\tref_pic_list_modification_l0_flag = " << value.ref_pic_list_modification_l0_flag << '\n';
s << "\tref_pic_list_modification_l1_flag = " << value.ref_pic_list_modification_l1_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefListModEntry& value)
{
s << "StdVideoEncodeH264RefListModEntry = {\n";
s << "\tmodification_of_pic_nums_idc = " << value.modification_of_pic_nums_idc << '\n';
s << "\tabs_diff_pic_num_minus1 = " << value.abs_diff_pic_num_minus1 << '\n';
s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefPicMarkingEntry& value)
{
s << "StdVideoEncodeH264RefPicMarkingEntry = {\n";
s << "\toperation = " << value.operation << '\n';
s << "\tdifference_of_pic_nums_minus1 = " << value.difference_of_pic_nums_minus1 << '\n';
s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n';
s << "\tlong_term_frame_idx = " << value.long_term_frame_idx << '\n';
s << "\tmax_long_term_frame_idx_plus1 = " << value.max_long_term_frame_idx_plus1 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMemMgmtCtrlOperations& value)
{
s << "StdVideoEncodeH264RefMemMgmtCtrlOperations = {\n";
s << "\tflags = " << value.flags << '\n';
s << "\trefList0ModOpCount = " << value.refList0ModOpCount << '\n';
s << "\tpRefList0ModOperations = " << value.pRefList0ModOperations << '\n';
s << "\trefList1ModOpCount = " << value.refList1ModOpCount << '\n';
s << "\tpRefList1ModOperations = " << value.pRefList1ModOperations << '\n';
s << "\trefPicMarkingOpCount = " << value.refPicMarkingOpCount << '\n';
s << "\tpRefPicMarkingOperations = " << value.pRefPicMarkingOperations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfo& value)
{
s << "StdVideoEncodeH264PictureInfo = {\n";
s << "\tflags = " << value.flags << '\n';
s << "\tpictureType = " << value.pictureType << '\n';
s << "\tframeNum = " << value.frameNum << '\n';
s << "\tpictureOrderCount = " << value.pictureOrderCount << '\n';
s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n';
s << "\tlong_term_frame_idx = " << value.long_term_frame_idx << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeader& value)
{
s << "StdVideoEncodeH264SliceHeader = {\n";
s << "\tflags = " << value.flags << '\n';
s << "\tslice_type = " << value.slice_type << '\n';
s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n';
s << "\tidr_pic_id = " << value.idr_pic_id << '\n';
s << "\tnum_ref_idx_l0_active_minus1 = " << value.num_ref_idx_l0_active_minus1 << '\n';
s << "\tnum_ref_idx_l1_active_minus1 = " << value.num_ref_idx_l1_active_minus1 << '\n';
s << "\tcabac_init_idc = " << value.cabac_init_idc << '\n';
s << "\tdisable_deblocking_filter_idc = " << value.disable_deblocking_filter_idc << '\n';
s << "\tslice_alpha_c0_offset_div2 = " << value.slice_alpha_c0_offset_div2 << '\n';
s << "\tslice_beta_offset_div2 = " << value.slice_beta_offset_div2 << '\n';
s << "\tpMemMgmtCtrlOperations = " << value.pMemMgmtCtrlOperations << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264CapabilitiesEXT& value)
{
s << "VkVideoEncodeH264CapabilitiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEncodeH264CapabilityFlagsEXTStr(value.flags) << '\n';
s << "\tinputModeFlags = " << getVideoEncodeH264InputModeFlagsEXTStr(value.inputModeFlags) << '\n';
s << "\toutputModeFlags = " << getVideoEncodeH264OutputModeFlagsEXTStr(value.outputModeFlags) << '\n';
s << "\tminPictureSizeInMbs = " << value.minPictureSizeInMbs << '\n';
s << "\tmaxPictureSizeInMbs = " << value.maxPictureSizeInMbs << '\n';
s << "\tinputImageDataAlignment = " << value.inputImageDataAlignment << '\n';
s << "\tmaxNumL0ReferenceForP = " << value.maxNumL0ReferenceForP << '\n';
s << "\tmaxNumL0ReferenceForB = " << value.maxNumL0ReferenceForB << '\n';
s << "\tmaxNumL1Reference = " << value.maxNumL1Reference << '\n';
s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n';
s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionCreateInfoEXT& value)
{
s << "VkVideoEncodeH264SessionCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEncodeH264CreateFlagsEXTStr(value.flags) << '\n';
s << "\tmaxPictureSizeInMbs = " << value.maxPictureSizeInMbs << '\n';
s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParametersAddInfoEXT& value)
{
s << "VkVideoEncodeH264SessionParametersAddInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tspsStdCount = " << value.spsStdCount << '\n';
s << "\tpSpsStd = " << value.pSpsStd << '\n';
s << "\tppsStdCount = " << value.ppsStdCount << '\n';
s << "\tpPpsStd = " << value.pPpsStd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParametersCreateInfoEXT& value)
{
s << "VkVideoEncodeH264SessionParametersCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264DpbSlotInfoEXT& value)
{
s << "VkVideoEncodeH264DpbSlotInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tslotIndex = " << value.slotIndex << '\n';
s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264NaluSliceEXT& value)
{
s << "VkVideoEncodeH264NaluSliceEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n';
s << "\tmbCount = " << value.mbCount << '\n';
s << "\trefFinalList0EntryCount = " << value.refFinalList0EntryCount << '\n';
s << "\tpRefFinalList0Entries = " << value.pRefFinalList0Entries << '\n';
s << "\trefFinalList1EntryCount = " << value.refFinalList1EntryCount << '\n';
s << "\tpRefFinalList1Entries = " << value.pRefFinalList1Entries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264VclFrameInfoEXT& value)
{
s << "VkVideoEncodeH264VclFrameInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\trefDefaultFinalList0EntryCount = " << value.refDefaultFinalList0EntryCount << '\n';
s << "\tpRefDefaultFinalList0Entries = " << value.pRefDefaultFinalList0Entries << '\n';
s << "\trefDefaultFinalList1EntryCount = " << value.refDefaultFinalList1EntryCount << '\n';
s << "\tpRefDefaultFinalList1Entries = " << value.pRefDefaultFinalList1Entries << '\n';
s << "\tnaluSliceEntryCount = " << value.naluSliceEntryCount << '\n';
s << "\tpNaluSliceEntries = " << value.pNaluSliceEntries << '\n';
s << "\tpCurrentPictureInfo = " << value.pCurrentPictureInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264EmitPictureParametersEXT& value)
{
s << "VkVideoEncodeH264EmitPictureParametersEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tspsId = " << value.spsId << '\n';
s << "\temitSpsEnable = " << value.emitSpsEnable << '\n';
s << "\tppsIdEntryCount = " << value.ppsIdEntryCount << '\n';
s << "\tppsIdEntries = " << value.ppsIdEntries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264ProfileEXT& value)
{
s << "VkVideoEncodeH264ProfileEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264RateControlInfoEXT& value)
{
s << "VkVideoEncodeH264RateControlInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tgopFrameCount = " << value.gopFrameCount << '\n';
s << "\tidrPeriod = " << value.idrPeriod << '\n';
s << "\tconsecutiveBFrameCount = " << value.consecutiveBFrameCount << '\n';
s << "\trateControlStructure = " << value.rateControlStructure << '\n';
s << "\ttemporalLayerCount = " << value.temporalLayerCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264QpEXT& value)
{
s << "VkVideoEncodeH264QpEXT = {\n";
s << "\tqpI = " << value.qpI << '\n';
s << "\tqpP = " << value.qpP << '\n';
s << "\tqpB = " << value.qpB << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264FrameSizeEXT& value)
{
s << "VkVideoEncodeH264FrameSizeEXT = {\n";
s << "\tframeISize = " << value.frameISize << '\n';
s << "\tframePSize = " << value.framePSize << '\n';
s << "\tframeBSize = " << value.frameBSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264RateControlLayerInfoEXT& value)
{
s << "VkVideoEncodeH264RateControlLayerInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttemporalLayerId = " << value.temporalLayerId << '\n';
s << "\tuseInitialRcQp = " << value.useInitialRcQp << '\n';
s << "\tinitialRcQp = " << value.initialRcQp << '\n';
s << "\tuseMinQp = " << value.useMinQp << '\n';
s << "\tminQp = " << value.minQp << '\n';
s << "\tuseMaxQp = " << value.useMaxQp << '\n';
s << "\tmaxQp = " << value.maxQp << '\n';
s << "\tuseMaxFrameSize = " << value.useMaxFrameSize << '\n';
s << "\tmaxFrameSize = " << value.maxFrameSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265DecPicBufMgr& value)
{
s << "StdVideoH265DecPicBufMgr = {\n";
s << "\tmax_latency_increase_plus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.max_latency_increase_plus1), DE_ARRAY_END(value.max_latency_increase_plus1)) << '\n';
s << "\tmax_dec_pic_buffering_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.max_dec_pic_buffering_minus1)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.max_dec_pic_buffering_minus1))) << '\n';
s << "\tmax_num_reorder_pics = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.max_num_reorder_pics)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.max_num_reorder_pics))) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265SubLayerHrdParameters& value)
{
s << "StdVideoH265SubLayerHrdParameters = {\n";
s << "\tbit_rate_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_value_minus1), DE_ARRAY_END(value.bit_rate_value_minus1)) << '\n';
s << "\tcpb_size_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_value_minus1), DE_ARRAY_END(value.cpb_size_value_minus1)) << '\n';
s << "\tcpb_size_du_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_du_value_minus1), DE_ARRAY_END(value.cpb_size_du_value_minus1)) << '\n';
s << "\tbit_rate_du_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_du_value_minus1), DE_ARRAY_END(value.bit_rate_du_value_minus1)) << '\n';
s << "\tcbr_flag = " << value.cbr_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdFlags& value)
{
s << "StdVideoH265HrdFlags = {\n";
s << "\tnal_hrd_parameters_present_flag = " << value.nal_hrd_parameters_present_flag << '\n';
s << "\tvcl_hrd_parameters_present_flag = " << value.vcl_hrd_parameters_present_flag << '\n';
s << "\tsub_pic_hrd_params_present_flag = " << value.sub_pic_hrd_params_present_flag << '\n';
s << "\tsub_pic_cpb_params_in_pic_timing_sei_flag = " << value.sub_pic_cpb_params_in_pic_timing_sei_flag << '\n';
s << "\tfixed_pic_rate_general_flag = " << value.fixed_pic_rate_general_flag << '\n';
s << "\tfixed_pic_rate_within_cvs_flag = " << value.fixed_pic_rate_within_cvs_flag << '\n';
s << "\tlow_delay_hrd_flag = " << value.low_delay_hrd_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdParameters& value)
{
s << "StdVideoH265HrdParameters = {\n";
s << "\ttick_divisor_minus2 = " << value.tick_divisor_minus2 << '\n';
s << "\tdu_cpb_removal_delay_increment_length_minus1 = " << value.du_cpb_removal_delay_increment_length_minus1 << '\n';
s << "\tdpb_output_delay_du_length_minus1 = " << value.dpb_output_delay_du_length_minus1 << '\n';
s << "\tbit_rate_scale = " << value.bit_rate_scale << '\n';
s << "\tcpb_size_scale = " << value.cpb_size_scale << '\n';
s << "\tcpb_size_du_scale = " << value.cpb_size_du_scale << '\n';
s << "\tinitial_cpb_removal_delay_length_minus1 = " << value.initial_cpb_removal_delay_length_minus1 << '\n';
s << "\tau_cpb_removal_delay_length_minus1 = " << value.au_cpb_removal_delay_length_minus1 << '\n';
s << "\tdpb_output_delay_length_minus1 = " << value.dpb_output_delay_length_minus1 << '\n';
s << "\tcpb_cnt_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.cpb_cnt_minus1)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.cpb_cnt_minus1))) << '\n';
s << "\telemental_duration_in_tc_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.elemental_duration_in_tc_minus1), DE_ARRAY_END(value.elemental_duration_in_tc_minus1)) << '\n';
s << "\tpSubLayerHrdParametersNal = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pSubLayerHrdParametersNal), DE_ARRAY_END(value.pSubLayerHrdParametersNal)) << '\n';
s << "\tpSubLayerHrdParametersVcl = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pSubLayerHrdParametersVcl), DE_ARRAY_END(value.pSubLayerHrdParametersVcl)) << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265VpsFlags& value)
{
s << "StdVideoH265VpsFlags = {\n";
s << "\tvps_temporal_id_nesting_flag = " << value.vps_temporal_id_nesting_flag << '\n';
s << "\tvps_sub_layer_ordering_info_present_flag = " << value.vps_sub_layer_ordering_info_present_flag << '\n';
s << "\tvps_timing_info_present_flag = " << value.vps_timing_info_present_flag << '\n';
s << "\tvps_poc_proportional_to_timing_flag = " << value.vps_poc_proportional_to_timing_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265VideoParameterSet& value)
{
s << "StdVideoH265VideoParameterSet = {\n";
s << "\tvps_video_parameter_set_id = " << value.vps_video_parameter_set_id << '\n';
s << "\tvps_max_sub_layers_minus1 = " << value.vps_max_sub_layers_minus1 << '\n';
s << "\tvps_num_units_in_tick = " << value.vps_num_units_in_tick << '\n';
s << "\tvps_time_scale = " << value.vps_time_scale << '\n';
s << "\tvps_num_ticks_poc_diff_one_minus1 = " << value.vps_num_ticks_poc_diff_one_minus1 << '\n';
s << "\tpDecPicBufMgr = " << value.pDecPicBufMgr << '\n';
s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265ScalingLists& value)
{
s << "StdVideoH265ScalingLists = {\n";
s << "\tScalingList4x4 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList4x4), DE_ARRAY_END(value.ScalingList4x4)) << '\n';
s << "\tScalingList8x8 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList8x8), DE_ARRAY_END(value.ScalingList8x8)) << '\n';
s << "\tScalingList16x16 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList16x16), DE_ARRAY_END(value.ScalingList16x16)) << '\n';
s << "\tScalingList32x32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList32x32), DE_ARRAY_END(value.ScalingList32x32)) << '\n';
s << "\tScalingListDCCoef16x16 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.ScalingListDCCoef16x16)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.ScalingListDCCoef16x16))) << '\n';
s << "\tScalingListDCCoef32x32 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.ScalingListDCCoef32x32)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.ScalingListDCCoef32x32))) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsVuiFlags& value)
{
s << "StdVideoH265SpsVuiFlags = {\n";
s << "\taspect_ratio_info_present_flag = " << value.aspect_ratio_info_present_flag << '\n';
s << "\toverscan_info_present_flag = " << value.overscan_info_present_flag << '\n';
s << "\toverscan_appropriate_flag = " << value.overscan_appropriate_flag << '\n';
s << "\tvideo_signal_type_present_flag = " << value.video_signal_type_present_flag << '\n';
s << "\tvideo_full_range_flag = " << value.video_full_range_flag << '\n';
s << "\tcolour_description_present_flag = " << value.colour_description_present_flag << '\n';
s << "\tchroma_loc_info_present_flag = " << value.chroma_loc_info_present_flag << '\n';
s << "\tneutral_chroma_indication_flag = " << value.neutral_chroma_indication_flag << '\n';
s << "\tfield_seq_flag = " << value.field_seq_flag << '\n';
s << "\tframe_field_info_present_flag = " << value.frame_field_info_present_flag << '\n';
s << "\tdefault_display_window_flag = " << value.default_display_window_flag << '\n';
s << "\tvui_timing_info_present_flag = " << value.vui_timing_info_present_flag << '\n';
s << "\tvui_poc_proportional_to_timing_flag = " << value.vui_poc_proportional_to_timing_flag << '\n';
s << "\tvui_hrd_parameters_present_flag = " << value.vui_hrd_parameters_present_flag << '\n';
s << "\tbitstream_restriction_flag = " << value.bitstream_restriction_flag << '\n';
s << "\ttiles_fixed_structure_flag = " << value.tiles_fixed_structure_flag << '\n';
s << "\tmotion_vectors_over_pic_boundaries_flag = " << value.motion_vectors_over_pic_boundaries_flag << '\n';
s << "\trestricted_ref_pic_lists_flag = " << value.restricted_ref_pic_lists_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSetVui& value)
{
s << "StdVideoH265SequenceParameterSetVui = {\n";
s << "\taspect_ratio_idc = " << value.aspect_ratio_idc << '\n';
s << "\tsar_width = " << value.sar_width << '\n';
s << "\tsar_height = " << value.sar_height << '\n';
s << "\tvideo_format = " << value.video_format << '\n';
s << "\tcolour_primaries = " << value.colour_primaries << '\n';
s << "\ttransfer_characteristics = " << value.transfer_characteristics << '\n';
s << "\tmatrix_coeffs = " << value.matrix_coeffs << '\n';
s << "\tchroma_sample_loc_type_top_field = " << value.chroma_sample_loc_type_top_field << '\n';
s << "\tchroma_sample_loc_type_bottom_field = " << value.chroma_sample_loc_type_bottom_field << '\n';
s << "\tdef_disp_win_left_offset = " << value.def_disp_win_left_offset << '\n';
s << "\tdef_disp_win_right_offset = " << value.def_disp_win_right_offset << '\n';
s << "\tdef_disp_win_top_offset = " << value.def_disp_win_top_offset << '\n';
s << "\tdef_disp_win_bottom_offset = " << value.def_disp_win_bottom_offset << '\n';
s << "\tvui_num_units_in_tick = " << value.vui_num_units_in_tick << '\n';
s << "\tvui_time_scale = " << value.vui_time_scale << '\n';
s << "\tvui_num_ticks_poc_diff_one_minus1 = " << value.vui_num_ticks_poc_diff_one_minus1 << '\n';
s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
s << "\tmin_spatial_segmentation_idc = " << value.min_spatial_segmentation_idc << '\n';
s << "\tmax_bytes_per_pic_denom = " << value.max_bytes_per_pic_denom << '\n';
s << "\tmax_bits_per_min_cu_denom = " << value.max_bits_per_min_cu_denom << '\n';
s << "\tlog2_max_mv_length_horizontal = " << value.log2_max_mv_length_horizontal << '\n';
s << "\tlog2_max_mv_length_vertical = " << value.log2_max_mv_length_vertical << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265PredictorPaletteEntries& value)
{
s << "StdVideoH265PredictorPaletteEntries = {\n";
s << "\tPredictorPaletteEntries = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PredictorPaletteEntries), DE_ARRAY_END(value.PredictorPaletteEntries)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsFlags& value)
{
s << "StdVideoH265SpsFlags = {\n";
s << "\tsps_temporal_id_nesting_flag = " << value.sps_temporal_id_nesting_flag << '\n';
s << "\tseparate_colour_plane_flag = " << value.separate_colour_plane_flag << '\n';
s << "\tscaling_list_enabled_flag = " << value.scaling_list_enabled_flag << '\n';
s << "\tsps_scaling_list_data_present_flag = " << value.sps_scaling_list_data_present_flag << '\n';
s << "\tamp_enabled_flag = " << value.amp_enabled_flag << '\n';
s << "\tsample_adaptive_offset_enabled_flag = " << value.sample_adaptive_offset_enabled_flag << '\n';
s << "\tpcm_enabled_flag = " << value.pcm_enabled_flag << '\n';
s << "\tpcm_loop_filter_disabled_flag = " << value.pcm_loop_filter_disabled_flag << '\n';
s << "\tlong_term_ref_pics_present_flag = " << value.long_term_ref_pics_present_flag << '\n';
s << "\tsps_temporal_mvp_enabled_flag = " << value.sps_temporal_mvp_enabled_flag << '\n';
s << "\tstrong_intra_smoothing_enabled_flag = " << value.strong_intra_smoothing_enabled_flag << '\n';
s << "\tvui_parameters_present_flag = " << value.vui_parameters_present_flag << '\n';
s << "\tsps_extension_present_flag = " << value.sps_extension_present_flag << '\n';
s << "\tsps_range_extension_flag = " << value.sps_range_extension_flag << '\n';
s << "\ttransform_skip_rotation_enabled_flag = " << value.transform_skip_rotation_enabled_flag << '\n';
s << "\ttransform_skip_context_enabled_flag = " << value.transform_skip_context_enabled_flag << '\n';
s << "\timplicit_rdpcm_enabled_flag = " << value.implicit_rdpcm_enabled_flag << '\n';
s << "\texplicit_rdpcm_enabled_flag = " << value.explicit_rdpcm_enabled_flag << '\n';
s << "\textended_precision_processing_flag = " << value.extended_precision_processing_flag << '\n';
s << "\tintra_smoothing_disabled_flag = " << value.intra_smoothing_disabled_flag << '\n';
s << "\thigh_precision_offsets_enabled_flag = " << value.high_precision_offsets_enabled_flag << '\n';
s << "\tpersistent_rice_adaptation_enabled_flag = " << value.persistent_rice_adaptation_enabled_flag << '\n';
s << "\tcabac_bypass_alignment_enabled_flag = " << value.cabac_bypass_alignment_enabled_flag << '\n';
s << "\tsps_curr_pic_ref_enabled_flag = " << value.sps_curr_pic_ref_enabled_flag << '\n';
s << "\tpalette_mode_enabled_flag = " << value.palette_mode_enabled_flag << '\n';
s << "\tsps_palette_predictor_initializer_present_flag = " << value.sps_palette_predictor_initializer_present_flag << '\n';
s << "\tintra_boundary_filtering_disabled_flag = " << value.intra_boundary_filtering_disabled_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSet& value)
{
s << "StdVideoH265SequenceParameterSet = {\n";
s << "\tprofile_idc = " << value.profile_idc << '\n';
s << "\tlevel_idc = " << value.level_idc << '\n';
s << "\tpic_width_in_luma_samples = " << value.pic_width_in_luma_samples << '\n';
s << "\tpic_height_in_luma_samples = " << value.pic_height_in_luma_samples << '\n';
s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n';
s << "\tsps_max_sub_layers_minus1 = " << value.sps_max_sub_layers_minus1 << '\n';
s << "\tsps_seq_parameter_set_id = " << value.sps_seq_parameter_set_id << '\n';
s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n';
s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n';
s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n';
s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n';
s << "\tsps_max_dec_pic_buffering_minus1 = " << value.sps_max_dec_pic_buffering_minus1 << '\n';
s << "\tlog2_min_luma_coding_block_size_minus3 = " << value.log2_min_luma_coding_block_size_minus3 << '\n';
s << "\tlog2_diff_max_min_luma_coding_block_size = " << value.log2_diff_max_min_luma_coding_block_size << '\n';
s << "\tlog2_min_luma_transform_block_size_minus2 = " << value.log2_min_luma_transform_block_size_minus2 << '\n';
s << "\tlog2_diff_max_min_luma_transform_block_size = " << value.log2_diff_max_min_luma_transform_block_size << '\n';
s << "\tmax_transform_hierarchy_depth_inter = " << value.max_transform_hierarchy_depth_inter << '\n';
s << "\tmax_transform_hierarchy_depth_intra = " << value.max_transform_hierarchy_depth_intra << '\n';
s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n';
s << "\tnum_long_term_ref_pics_sps = " << value.num_long_term_ref_pics_sps << '\n';
s << "\tpcm_sample_bit_depth_luma_minus1 = " << value.pcm_sample_bit_depth_luma_minus1 << '\n';
s << "\tpcm_sample_bit_depth_chroma_minus1 = " << value.pcm_sample_bit_depth_chroma_minus1 << '\n';
s << "\tlog2_min_pcm_luma_coding_block_size_minus3 = " << value.log2_min_pcm_luma_coding_block_size_minus3 << '\n';
s << "\tlog2_diff_max_min_pcm_luma_coding_block_size = " << value.log2_diff_max_min_pcm_luma_coding_block_size << '\n';
s << "\tconf_win_left_offset = " << value.conf_win_left_offset << '\n';
s << "\tconf_win_right_offset = " << value.conf_win_right_offset << '\n';
s << "\tconf_win_top_offset = " << value.conf_win_top_offset << '\n';
s << "\tconf_win_bottom_offset = " << value.conf_win_bottom_offset << '\n';
s << "\tpDecPicBufMgr = " << value.pDecPicBufMgr << '\n';
s << "\tflags = " << value.flags << '\n';
s << "\tpScalingLists = " << value.pScalingLists << '\n';
s << "\tpSequenceParameterSetVui = " << value.pSequenceParameterSetVui << '\n';
s << "\tpalette_max_size = " << value.palette_max_size << '\n';
s << "\tdelta_palette_max_predictor_size = " << value.delta_palette_max_predictor_size << '\n';
s << "\tmotion_vector_resolution_control_idc = " << value.motion_vector_resolution_control_idc << '\n';
s << "\tsps_num_palette_predictor_initializer_minus1 = " << value.sps_num_palette_predictor_initializer_minus1 << '\n';
s << "\tpPredictorPaletteEntries = " << value.pPredictorPaletteEntries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265PpsFlags& value)
{
s << "StdVideoH265PpsFlags = {\n";
s << "\tdependent_slice_segments_enabled_flag = " << value.dependent_slice_segments_enabled_flag << '\n';
s << "\toutput_flag_present_flag = " << value.output_flag_present_flag << '\n';
s << "\tsign_data_hiding_enabled_flag = " << value.sign_data_hiding_enabled_flag << '\n';
s << "\tcabac_init_present_flag = " << value.cabac_init_present_flag << '\n';
s << "\tconstrained_intra_pred_flag = " << value.constrained_intra_pred_flag << '\n';
s << "\ttransform_skip_enabled_flag = " << value.transform_skip_enabled_flag << '\n';
s << "\tcu_qp_delta_enabled_flag = " << value.cu_qp_delta_enabled_flag << '\n';
s << "\tpps_slice_chroma_qp_offsets_present_flag = " << value.pps_slice_chroma_qp_offsets_present_flag << '\n';
s << "\tweighted_pred_flag = " << value.weighted_pred_flag << '\n';
s << "\tweighted_bipred_flag = " << value.weighted_bipred_flag << '\n';
s << "\ttransquant_bypass_enabled_flag = " << value.transquant_bypass_enabled_flag << '\n';
s << "\ttiles_enabled_flag = " << value.tiles_enabled_flag << '\n';
s << "\tentropy_coding_sync_enabled_flag = " << value.entropy_coding_sync_enabled_flag << '\n';
s << "\tuniform_spacing_flag = " << value.uniform_spacing_flag << '\n';
s << "\tloop_filter_across_tiles_enabled_flag = " << value.loop_filter_across_tiles_enabled_flag << '\n';
s << "\tpps_loop_filter_across_slices_enabled_flag = " << value.pps_loop_filter_across_slices_enabled_flag << '\n';
s << "\tdeblocking_filter_control_present_flag = " << value.deblocking_filter_control_present_flag << '\n';
s << "\tdeblocking_filter_override_enabled_flag = " << value.deblocking_filter_override_enabled_flag << '\n';
s << "\tpps_deblocking_filter_disabled_flag = " << value.pps_deblocking_filter_disabled_flag << '\n';
s << "\tpps_scaling_list_data_present_flag = " << value.pps_scaling_list_data_present_flag << '\n';
s << "\tlists_modification_present_flag = " << value.lists_modification_present_flag << '\n';
s << "\tslice_segment_header_extension_present_flag = " << value.slice_segment_header_extension_present_flag << '\n';
s << "\tpps_extension_present_flag = " << value.pps_extension_present_flag << '\n';
s << "\tcross_component_prediction_enabled_flag = " << value.cross_component_prediction_enabled_flag << '\n';
s << "\tchroma_qp_offset_list_enabled_flag = " << value.chroma_qp_offset_list_enabled_flag << '\n';
s << "\tpps_curr_pic_ref_enabled_flag = " << value.pps_curr_pic_ref_enabled_flag << '\n';
s << "\tresidual_adaptive_colour_transform_enabled_flag = " << value.residual_adaptive_colour_transform_enabled_flag << '\n';
s << "\tpps_slice_act_qp_offsets_present_flag = " << value.pps_slice_act_qp_offsets_present_flag << '\n';
s << "\tpps_palette_predictor_initializer_present_flag = " << value.pps_palette_predictor_initializer_present_flag << '\n';
s << "\tmonochrome_palette_flag = " << value.monochrome_palette_flag << '\n';
s << "\tpps_range_extension_flag = " << value.pps_range_extension_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet& value)
{
s << "StdVideoH265PictureParameterSet = {\n";
s << "\tpps_pic_parameter_set_id = " << value.pps_pic_parameter_set_id << '\n';
s << "\tpps_seq_parameter_set_id = " << value.pps_seq_parameter_set_id << '\n';
s << "\tnum_extra_slice_header_bits = " << value.num_extra_slice_header_bits << '\n';
s << "\tnum_ref_idx_l0_default_active_minus1 = " << value.num_ref_idx_l0_default_active_minus1 << '\n';
s << "\tnum_ref_idx_l1_default_active_minus1 = " << value.num_ref_idx_l1_default_active_minus1 << '\n';
s << "\tinit_qp_minus26 = " << value.init_qp_minus26 << '\n';
s << "\tdiff_cu_qp_delta_depth = " << value.diff_cu_qp_delta_depth << '\n';
s << "\tpps_cb_qp_offset = " << value.pps_cb_qp_offset << '\n';
s << "\tpps_cr_qp_offset = " << value.pps_cr_qp_offset << '\n';
s << "\tnum_tile_columns_minus1 = " << value.num_tile_columns_minus1 << '\n';
s << "\tnum_tile_rows_minus1 = " << value.num_tile_rows_minus1 << '\n';
s << "\tcolumn_width_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.column_width_minus1), DE_ARRAY_END(value.column_width_minus1)) << '\n';
s << "\trow_height_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.row_height_minus1), DE_ARRAY_END(value.row_height_minus1)) << '\n';
s << "\tpps_beta_offset_div2 = " << value.pps_beta_offset_div2 << '\n';
s << "\tpps_tc_offset_div2 = " << value.pps_tc_offset_div2 << '\n';
s << "\tlog2_parallel_merge_level_minus2 = " << value.log2_parallel_merge_level_minus2 << '\n';
s << "\tflags = " << value.flags << '\n';
s << "\tpScalingLists = " << value.pScalingLists << '\n';
s << "\tlog2_max_transform_skip_block_size_minus2 = " << value.log2_max_transform_skip_block_size_minus2 << '\n';
s << "\tdiff_cu_chroma_qp_offset_depth = " << value.diff_cu_chroma_qp_offset_depth << '\n';
s << "\tchroma_qp_offset_list_len_minus1 = " << value.chroma_qp_offset_list_len_minus1 << '\n';
s << "\tcb_qp_offset_list = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cb_qp_offset_list), DE_ARRAY_END(value.cb_qp_offset_list)) << '\n';
s << "\tcr_qp_offset_list = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cr_qp_offset_list), DE_ARRAY_END(value.cr_qp_offset_list)) << '\n';
s << "\tlog2_sao_offset_scale_luma = " << value.log2_sao_offset_scale_luma << '\n';
s << "\tlog2_sao_offset_scale_chroma = " << value.log2_sao_offset_scale_chroma << '\n';
s << "\tpps_act_y_qp_offset_plus5 = " << value.pps_act_y_qp_offset_plus5 << '\n';
s << "\tpps_act_cb_qp_offset_plus5 = " << value.pps_act_cb_qp_offset_plus5 << '\n';
s << "\tpps_act_cr_qp_offset_plus5 = " << value.pps_act_cr_qp_offset_plus5 << '\n';
s << "\tpps_num_palette_predictor_initializer = " << value.pps_num_palette_predictor_initializer << '\n';
s << "\tluma_bit_depth_entry_minus8 = " << value.luma_bit_depth_entry_minus8 << '\n';
s << "\tchroma_bit_depth_entry_minus8 = " << value.chroma_bit_depth_entry_minus8 << '\n';
s << "\tpPredictorPaletteEntries = " << value.pPredictorPaletteEntries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeaderFlags& value)
{
s << "StdVideoEncodeH265SliceHeaderFlags = {\n";
s << "\tfirst_slice_segment_in_pic_flag = " << value.first_slice_segment_in_pic_flag << '\n';
s << "\tno_output_of_prior_pics_flag = " << value.no_output_of_prior_pics_flag << '\n';
s << "\tdependent_slice_segment_flag = " << value.dependent_slice_segment_flag << '\n';
s << "\tshort_term_ref_pic_set_sps_flag = " << value.short_term_ref_pic_set_sps_flag << '\n';
s << "\tslice_temporal_mvp_enable_flag = " << value.slice_temporal_mvp_enable_flag << '\n';
s << "\tslice_sao_luma_flag = " << value.slice_sao_luma_flag << '\n';
s << "\tslice_sao_chroma_flag = " << value.slice_sao_chroma_flag << '\n';
s << "\tnum_ref_idx_active_override_flag = " << value.num_ref_idx_active_override_flag << '\n';
s << "\tmvd_l1_zero_flag = " << value.mvd_l1_zero_flag << '\n';
s << "\tcabac_init_flag = " << value.cabac_init_flag << '\n';
s << "\tslice_deblocking_filter_disable_flag = " << value.slice_deblocking_filter_disable_flag << '\n';
s << "\tcollocated_from_l0_flag = " << value.collocated_from_l0_flag << '\n';
s << "\tslice_loop_filter_across_slices_enabled_flag = " << value.slice_loop_filter_across_slices_enabled_flag << '\n';
s << "\tbLastSliceInPic = " << value.bLastSliceInPic << '\n';
s << "\treservedBits = " << value.reservedBits << '\n';
s << "\tluma_weight_l0_flag = " << value.luma_weight_l0_flag << '\n';
s << "\tchroma_weight_l0_flag = " << value.chroma_weight_l0_flag << '\n';
s << "\tluma_weight_l1_flag = " << value.luma_weight_l1_flag << '\n';
s << "\tchroma_weight_l1_flag = " << value.chroma_weight_l1_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeader& value)
{
s << "StdVideoEncodeH265SliceHeader = {\n";
s << "\tslice_type = " << value.slice_type << '\n';
s << "\tslice_pic_parameter_set_id = " << value.slice_pic_parameter_set_id << '\n';
s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n';
s << "\tslice_segment_address = " << value.slice_segment_address << '\n';
s << "\tshort_term_ref_pic_set_idx = " << value.short_term_ref_pic_set_idx << '\n';
s << "\tnum_long_term_sps = " << value.num_long_term_sps << '\n';
s << "\tnum_long_term_pics = " << value.num_long_term_pics << '\n';
s << "\tcollocated_ref_idx = " << value.collocated_ref_idx << '\n';
s << "\tnum_ref_idx_l0_active_minus1 = " << value.num_ref_idx_l0_active_minus1 << '\n';
s << "\tnum_ref_idx_l1_active_minus1 = " << value.num_ref_idx_l1_active_minus1 << '\n';
s << "\tluma_log2_weight_denom = " << value.luma_log2_weight_denom << '\n';
s << "\tdelta_chroma_log2_weight_denom = " << value.delta_chroma_log2_weight_denom << '\n';
s << "\tdelta_luma_weight_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_luma_weight_l0), DE_ARRAY_END(value.delta_luma_weight_l0)) << '\n';
s << "\tluma_offset_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.luma_offset_l0), DE_ARRAY_END(value.luma_offset_l0)) << '\n';
s << "\tdelta_chroma_weight_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_weight_l0), DE_ARRAY_END(value.delta_chroma_weight_l0)) << '\n';
s << "\tdelta_chroma_offset_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_offset_l0), DE_ARRAY_END(value.delta_chroma_offset_l0)) << '\n';
s << "\tdelta_luma_weight_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_luma_weight_l1), DE_ARRAY_END(value.delta_luma_weight_l1)) << '\n';
s << "\tluma_offset_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.luma_offset_l1), DE_ARRAY_END(value.luma_offset_l1)) << '\n';
s << "\tdelta_chroma_weight_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_weight_l1), DE_ARRAY_END(value.delta_chroma_weight_l1)) << '\n';
s << "\tdelta_chroma_offset_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_offset_l1), DE_ARRAY_END(value.delta_chroma_offset_l1)) << '\n';
s << "\tMaxNumMergeCand = " << value.MaxNumMergeCand << '\n';
s << "\tslice_qp_delta = " << value.slice_qp_delta << '\n';
s << "\tslice_cb_qp_offset = " << value.slice_cb_qp_offset << '\n';
s << "\tslice_cr_qp_offset = " << value.slice_cr_qp_offset << '\n';
s << "\tslice_beta_offset_div2 = " << value.slice_beta_offset_div2 << '\n';
s << "\tslice_tc_offset_div2 = " << value.slice_tc_offset_div2 << '\n';
s << "\tslice_act_y_qp_offset = " << value.slice_act_y_qp_offset << '\n';
s << "\tslice_act_cb_qp_offset = " << value.slice_act_cb_qp_offset << '\n';
s << "\tslice_act_cr_qp_offset = " << value.slice_act_cr_qp_offset << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceModificationFlags& value)
{
s << "StdVideoEncodeH265ReferenceModificationFlags = {\n";
s << "\tref_pic_list_modification_flag_l0 = " << value.ref_pic_list_modification_flag_l0 << '\n';
s << "\tref_pic_list_modification_flag_l1 = " << value.ref_pic_list_modification_flag_l1 << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceModifications& value)
{
s << "StdVideoEncodeH265ReferenceModifications = {\n";
s << "\tflags = " << value.flags << '\n';
s << "\treferenceList0ModificationsCount = " << value.referenceList0ModificationsCount << '\n';
s << "\tpReferenceList0Modifications = " << value.pReferenceList0Modifications << '\n';
s << "\treferenceList1ModificationsCount = " << value.referenceList1ModificationsCount << '\n';
s << "\tpReferenceList1Modifications = " << value.pReferenceList1Modifications << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265PictureInfoFlags& value)
{
s << "StdVideoEncodeH265PictureInfoFlags = {\n";
s << "\tis_reference_flag = " << value.is_reference_flag << '\n';
s << "\tIrapPicFlag = " << value.IrapPicFlag << '\n';
s << "\tlong_term_flag = " << value.long_term_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265PictureInfo& value)
{
s << "StdVideoEncodeH265PictureInfo = {\n";
s << "\tPictureType = " << value.PictureType << '\n';
s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n';
s << "\tpps_seq_parameter_set_id = " << value.pps_seq_parameter_set_id << '\n';
s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n';
s << "\tTemporalId = " << value.TemporalId << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceInfoFlags& value)
{
s << "StdVideoEncodeH265ReferenceInfoFlags = {\n";
s << "\tis_long_term = " << value.is_long_term << '\n';
s << "\tisUsedFlag = " << value.isUsedFlag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceInfo& value)
{
s << "StdVideoEncodeH265ReferenceInfo = {\n";
s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n';
s << "\tTemporalId = " << value.TemporalId << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265CapabilitiesEXT& value)
{
s << "VkVideoEncodeH265CapabilitiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEncodeH265CapabilityFlagsEXTStr(value.flags) << '\n';
s << "\tinputModeFlags = " << getVideoEncodeH265InputModeFlagsEXTStr(value.inputModeFlags) << '\n';
s << "\toutputModeFlags = " << getVideoEncodeH265OutputModeFlagsEXTStr(value.outputModeFlags) << '\n';
s << "\tctbSizes = " << getVideoEncodeH265CtbSizeFlagsEXTStr(value.ctbSizes) << '\n';
s << "\tinputImageDataAlignment = " << value.inputImageDataAlignment << '\n';
s << "\tmaxNumL0ReferenceForP = " << value.maxNumL0ReferenceForP << '\n';
s << "\tmaxNumL0ReferenceForB = " << value.maxNumL0ReferenceForB << '\n';
s << "\tmaxNumL1Reference = " << value.maxNumL1Reference << '\n';
s << "\tmaxNumSubLayers = " << value.maxNumSubLayers << '\n';
s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n';
s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionCreateInfoEXT& value)
{
s << "VkVideoEncodeH265SessionCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoEncodeH265CreateFlagsEXTStr(value.flags) << '\n';
s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParametersAddInfoEXT& value)
{
s << "VkVideoEncodeH265SessionParametersAddInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvpsStdCount = " << value.vpsStdCount << '\n';
s << "\tpVpsStd = " << value.pVpsStd << '\n';
s << "\tspsStdCount = " << value.spsStdCount << '\n';
s << "\tpSpsStd = " << value.pSpsStd << '\n';
s << "\tppsStdCount = " << value.ppsStdCount << '\n';
s << "\tpPpsStd = " << value.pPpsStd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParametersCreateInfoEXT& value)
{
s << "VkVideoEncodeH265SessionParametersCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxVpsStdCount = " << value.maxVpsStdCount << '\n';
s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265DpbSlotInfoEXT& value)
{
s << "VkVideoEncodeH265DpbSlotInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tslotIndex = " << value.slotIndex << '\n';
s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ReferenceListsEXT& value)
{
s << "VkVideoEncodeH265ReferenceListsEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\treferenceList0EntryCount = " << value.referenceList0EntryCount << '\n';
s << "\tpReferenceList0Entries = " << value.pReferenceList0Entries << '\n';
s << "\treferenceList1EntryCount = " << value.referenceList1EntryCount << '\n';
s << "\tpReferenceList1Entries = " << value.pReferenceList1Entries << '\n';
s << "\tpReferenceModifications = " << value.pReferenceModifications << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265NaluSliceEXT& value)
{
s << "VkVideoEncodeH265NaluSliceEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tctbCount = " << value.ctbCount << '\n';
s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n';
s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265VclFrameInfoEXT& value)
{
s << "VkVideoEncodeH265VclFrameInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n';
s << "\tnaluSliceEntryCount = " << value.naluSliceEntryCount << '\n';
s << "\tpNaluSliceEntries = " << value.pNaluSliceEntries << '\n';
s << "\tpCurrentPictureInfo = " << value.pCurrentPictureInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265EmitPictureParametersEXT& value)
{
s << "VkVideoEncodeH265EmitPictureParametersEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tvpsId = " << value.vpsId << '\n';
s << "\tspsId = " << value.spsId << '\n';
s << "\temitVpsEnable = " << value.emitVpsEnable << '\n';
s << "\temitSpsEnable = " << value.emitSpsEnable << '\n';
s << "\tppsIdEntryCount = " << value.ppsIdEntryCount << '\n';
s << "\tppsIdEntries = " << value.ppsIdEntries << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ProfileEXT& value)
{
s << "VkVideoEncodeH265ProfileEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265RateControlInfoEXT& value)
{
s << "VkVideoEncodeH265RateControlInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tgopFrameCount = " << value.gopFrameCount << '\n';
s << "\tidrPeriod = " << value.idrPeriod << '\n';
s << "\tconsecutiveBFrameCount = " << value.consecutiveBFrameCount << '\n';
s << "\trateControlStructure = " << value.rateControlStructure << '\n';
s << "\tsubLayerCount = " << value.subLayerCount << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265QpEXT& value)
{
s << "VkVideoEncodeH265QpEXT = {\n";
s << "\tqpI = " << value.qpI << '\n';
s << "\tqpP = " << value.qpP << '\n';
s << "\tqpB = " << value.qpB << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265FrameSizeEXT& value)
{
s << "VkVideoEncodeH265FrameSizeEXT = {\n";
s << "\tframeISize = " << value.frameISize << '\n';
s << "\tframePSize = " << value.framePSize << '\n';
s << "\tframeBSize = " << value.frameBSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265RateControlLayerInfoEXT& value)
{
s << "VkVideoEncodeH265RateControlLayerInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\ttemporalId = " << value.temporalId << '\n';
s << "\tuseInitialRcQp = " << value.useInitialRcQp << '\n';
s << "\tinitialRcQp = " << value.initialRcQp << '\n';
s << "\tuseMinQp = " << value.useMinQp << '\n';
s << "\tminQp = " << value.minQp << '\n';
s << "\tuseMaxQp = " << value.useMaxQp << '\n';
s << "\tmaxQp = " << value.maxQp << '\n';
s << "\tuseMaxFrameSize = " << value.useMaxFrameSize << '\n';
s << "\tmaxFrameSize = " << value.maxFrameSize << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfoFlags& value)
{
s << "StdVideoDecodeH264PictureInfoFlags = {\n";
s << "\tfield_pic_flag = " << value.field_pic_flag << '\n';
s << "\tis_intra = " << value.is_intra << '\n';
s << "\tIdrPicFlag = " << value.IdrPicFlag << '\n';
s << "\tbottom_field_flag = " << value.bottom_field_flag << '\n';
s << "\tis_reference = " << value.is_reference << '\n';
s << "\tcomplementary_field_pair = " << value.complementary_field_pair << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfo& value)
{
s << "StdVideoDecodeH264PictureInfo = {\n";
s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n';
s << "\treserved = " << value.reserved << '\n';
s << "\tframe_num = " << value.frame_num << '\n';
s << "\tidr_pic_id = " << value.idr_pic_id << '\n';
s << "\tPicOrderCnt = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PicOrderCnt), DE_ARRAY_END(value.PicOrderCnt)) << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfoFlags& value)
{
s << "StdVideoDecodeH264ReferenceInfoFlags = {\n";
s << "\ttop_field_flag = " << value.top_field_flag << '\n';
s << "\tbottom_field_flag = " << value.bottom_field_flag << '\n';
s << "\tis_long_term = " << value.is_long_term << '\n';
s << "\tis_non_existing = " << value.is_non_existing << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfo& value)
{
s << "StdVideoDecodeH264ReferenceInfo = {\n";
s << "\tFrameNum = " << value.FrameNum << '\n';
s << "\treserved = " << value.reserved << '\n';
s << "\tPicOrderCnt = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PicOrderCnt), DE_ARRAY_END(value.PicOrderCnt)) << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElementFlags& value)
{
s << "StdVideoDecodeH264MvcElementFlags = {\n";
s << "\tnon_idr = " << value.non_idr << '\n';
s << "\tanchor_pic = " << value.anchor_pic << '\n';
s << "\tinter_view = " << value.inter_view << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElement& value)
{
s << "StdVideoDecodeH264MvcElement = {\n";
s << "\tflags = " << value.flags << '\n';
s << "\tviewOrderIndex = " << value.viewOrderIndex << '\n';
s << "\tviewId = " << value.viewId << '\n';
s << "\ttemporalId = " << value.temporalId << '\n';
s << "\tpriorityId = " << value.priorityId << '\n';
s << "\tnumOfAnchorRefsInL0 = " << value.numOfAnchorRefsInL0 << '\n';
s << "\tviewIdOfAnchorRefsInL0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfAnchorRefsInL0), DE_ARRAY_END(value.viewIdOfAnchorRefsInL0)) << '\n';
s << "\tnumOfAnchorRefsInL1 = " << value.numOfAnchorRefsInL1 << '\n';
s << "\tviewIdOfAnchorRefsInL1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfAnchorRefsInL1), DE_ARRAY_END(value.viewIdOfAnchorRefsInL1)) << '\n';
s << "\tnumOfNonAnchorRefsInL0 = " << value.numOfNonAnchorRefsInL0 << '\n';
s << "\tviewIdOfNonAnchorRefsInL0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfNonAnchorRefsInL0), DE_ARRAY_END(value.viewIdOfNonAnchorRefsInL0)) << '\n';
s << "\tnumOfNonAnchorRefsInL1 = " << value.numOfNonAnchorRefsInL1 << '\n';
s << "\tviewIdOfNonAnchorRefsInL1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfNonAnchorRefsInL1), DE_ARRAY_END(value.viewIdOfNonAnchorRefsInL1)) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264Mvc& value)
{
s << "StdVideoDecodeH264Mvc = {\n";
s << "\tviewId0 = " << value.viewId0 << '\n';
s << "\tmvcElementCount = " << value.mvcElementCount << '\n';
s << "\tpMvcElements = " << value.pMvcElements << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264ProfileEXT& value)
{
s << "VkVideoDecodeH264ProfileEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n';
s << "\tpictureLayout = " << getVideoDecodeH264PictureLayoutFlagsEXTStr(value.pictureLayout) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264CapabilitiesEXT& value)
{
s << "VkVideoDecodeH264CapabilitiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxLevel = " << value.maxLevel << '\n';
s << "\tfieldOffsetGranularity = " << value.fieldOffsetGranularity << '\n';
s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionCreateInfoEXT& value)
{
s << "VkVideoDecodeH264SessionCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoDecodeH264CreateFlagsEXTStr(value.flags) << '\n';
s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParametersAddInfoEXT& value)
{
s << "VkVideoDecodeH264SessionParametersAddInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tspsStdCount = " << value.spsStdCount << '\n';
s << "\tpSpsStd = " << value.pSpsStd << '\n';
s << "\tppsStdCount = " << value.ppsStdCount << '\n';
s << "\tpPpsStd = " << value.pPpsStd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParametersCreateInfoEXT& value)
{
s << "VkVideoDecodeH264SessionParametersCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264PictureInfoEXT& value)
{
s << "VkVideoDecodeH264PictureInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n';
s << "\tslicesCount = " << value.slicesCount << '\n';
s << "\tpSlicesDataOffsets = " << value.pSlicesDataOffsets << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264MvcEXT& value)
{
s << "VkVideoDecodeH264MvcEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpStdMvc = " << value.pStdMvc << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264DpbSlotInfoEXT& value)
{
s << "VkVideoDecodeH264DpbSlotInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfoFlags& value)
{
s << "StdVideoDecodeH265PictureInfoFlags = {\n";
s << "\tIrapPicFlag = " << value.IrapPicFlag << '\n';
s << "\tIdrPicFlag = " << value.IdrPicFlag << '\n';
s << "\tIsReference = " << value.IsReference << '\n';
s << "\tshort_term_ref_pic_set_sps_flag = " << value.short_term_ref_pic_set_sps_flag << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfo& value)
{
s << "StdVideoDecodeH265PictureInfo = {\n";
s << "\tvps_video_parameter_set_id = " << value.vps_video_parameter_set_id << '\n';
s << "\tsps_seq_parameter_set_id = " << value.sps_seq_parameter_set_id << '\n';
s << "\tpps_pic_parameter_set_id = " << value.pps_pic_parameter_set_id << '\n';
s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n';
s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n';
s << "\tNumBitsForSTRefPicSetInSlice = " << value.NumBitsForSTRefPicSetInSlice << '\n';
s << "\tNumDeltaPocsOfRefRpsIdx = " << value.NumDeltaPocsOfRefRpsIdx << '\n';
s << "\tRefPicSetStCurrBefore = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.RefPicSetStCurrBefore)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.RefPicSetStCurrBefore))) << '\n';
s << "\tRefPicSetStCurrAfter = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.RefPicSetStCurrAfter)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.RefPicSetStCurrAfter))) << '\n';
s << "\tRefPicSetLtCurr = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.RefPicSetLtCurr)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.RefPicSetLtCurr))) << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfoFlags& value)
{
s << "StdVideoDecodeH265ReferenceInfoFlags = {\n";
s << "\tis_long_term = " << value.is_long_term << '\n';
s << "\tis_non_existing = " << value.is_non_existing << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfo& value)
{
s << "StdVideoDecodeH265ReferenceInfo = {\n";
s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n';
s << "\tflags = " << value.flags << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265ProfileEXT& value)
{
s << "VkVideoDecodeH265ProfileEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265CapabilitiesEXT& value)
{
s << "VkVideoDecodeH265CapabilitiesEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxLevel = " << value.maxLevel << '\n';
s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionCreateInfoEXT& value)
{
s << "VkVideoDecodeH265SessionCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getVideoDecodeH265CreateFlagsEXTStr(value.flags) << '\n';
s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParametersAddInfoEXT& value)
{
s << "VkVideoDecodeH265SessionParametersAddInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tspsStdCount = " << value.spsStdCount << '\n';
s << "\tpSpsStd = " << value.pSpsStd << '\n';
s << "\tppsStdCount = " << value.ppsStdCount << '\n';
s << "\tpPpsStd = " << value.pPpsStd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParametersCreateInfoEXT& value)
{
s << "VkVideoDecodeH265SessionParametersCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265PictureInfoEXT& value)
{
s << "VkVideoDecodeH265PictureInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n';
s << "\tslicesCount = " << value.slicesCount << '\n';
s << "\tpSlicesDataOffsets = " << value.pSlicesDataOffsets << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265DpbSlotInfoEXT& value)
{
s << "VkVideoDecodeH265DpbSlotInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImagePipeSurfaceCreateInfoFUCHSIA& value)
{
s << "VkImagePipeSurfaceCreateInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getImagePipeSurfaceCreateFlagsFUCHSIAStr(value.flags) << '\n';
s << "\timagePipeHandle = " << value.imagePipeHandle << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportMemoryZirconHandleInfoFUCHSIA& value)
{
s << "VkImportMemoryZirconHandleInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\thandle = " << value.handle << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryZirconHandlePropertiesFUCHSIA& value)
{
s << "VkMemoryZirconHandlePropertiesFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryGetZirconHandleInfoFUCHSIA& value)
{
s << "VkMemoryGetZirconHandleInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreZirconHandleInfoFUCHSIA& value)
{
s << "VkImportSemaphoreZirconHandleInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\tzirconHandle = " << value.zirconHandle << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetZirconHandleInfoFUCHSIA& value)
{
s << "VkSemaphoreGetZirconHandleInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCollectionCreateInfoFUCHSIA& value)
{
s << "VkBufferCollectionCreateInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcollectionToken = " << value.collectionToken << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportMemoryBufferCollectionFUCHSIA& value)
{
s << "VkImportMemoryBufferCollectionFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcollection = " << value.collection << '\n';
s << "\tindex = " << value.index << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCollectionImageCreateInfoFUCHSIA& value)
{
s << "VkBufferCollectionImageCreateInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcollection = " << value.collection << '\n';
s << "\tindex = " << value.index << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCollectionConstraintsInfoFUCHSIA& value)
{
s << "VkBufferCollectionConstraintsInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tminBufferCount = " << value.minBufferCount << '\n';
s << "\tmaxBufferCount = " << value.maxBufferCount << '\n';
s << "\tminBufferCountForCamping = " << value.minBufferCountForCamping << '\n';
s << "\tminBufferCountForDedicatedSlack = " << value.minBufferCountForDedicatedSlack << '\n';
s << "\tminBufferCountForSharedSlack = " << value.minBufferCountForSharedSlack << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferConstraintsInfoFUCHSIA& value)
{
s << "VkBufferConstraintsInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcreateInfo = " << value.createInfo << '\n';
s << "\trequiredFormatFeatures = " << getFormatFeatureFlagsStr(value.requiredFormatFeatures) << '\n';
s << "\tbufferCollectionConstraints = " << value.bufferCollectionConstraints << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCollectionBufferCreateInfoFUCHSIA& value)
{
s << "VkBufferCollectionBufferCreateInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcollection = " << value.collection << '\n';
s << "\tindex = " << value.index << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSysmemColorSpaceFUCHSIA& value)
{
s << "VkSysmemColorSpaceFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tcolorSpace = " << value.colorSpace << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkBufferCollectionPropertiesFUCHSIA& value)
{
s << "VkBufferCollectionPropertiesFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << "\tbufferCount = " << value.bufferCount << '\n';
s << "\tcreateInfoIndex = " << value.createInfoIndex << '\n';
s << "\tsysmemPixelFormat = " << value.sysmemPixelFormat << '\n';
s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n';
s << "\tsysmemColorSpaceIndex = " << value.sysmemColorSpaceIndex << '\n';
s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n';
s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n';
s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n';
s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n';
s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageFormatConstraintsInfoFUCHSIA& value)
{
s << "VkImageFormatConstraintsInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\timageCreateInfo = " << value.imageCreateInfo << '\n';
s << "\trequiredFormatFeatures = " << getFormatFeatureFlagsStr(value.requiredFormatFeatures) << '\n';
s << "\tflags = " << getImageFormatConstraintsFlagsFUCHSIAStr(value.flags) << '\n';
s << "\tsysmemPixelFormat = " << value.sysmemPixelFormat << '\n';
s << "\tcolorSpaceCount = " << value.colorSpaceCount << '\n';
s << "\tpColorSpaces = " << value.pColorSpaces << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImageConstraintsInfoFUCHSIA& value)
{
s << "VkImageConstraintsInfoFUCHSIA = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tformatConstraintsCount = " << value.formatConstraintsCount << '\n';
s << "\tpFormatConstraints = " << value.pFormatConstraints << '\n';
s << "\tbufferCollectionConstraints = " << value.bufferCollectionConstraints << '\n';
s << "\tflags = " << getImageConstraintsInfoFlagsFUCHSIAStr(value.flags) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkStreamDescriptorSurfaceCreateInfoGGP& value)
{
s << "VkStreamDescriptorSurfaceCreateInfoGGP = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getStreamDescriptorSurfaceCreateFlagsGGPStr(value.flags) << '\n';
s << "\tstreamDescriptor = " << value.streamDescriptor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkPresentFrameTokenGGP& value)
{
s << "VkPresentFrameTokenGGP = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tframeToken = " << value.frameToken << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkIOSSurfaceCreateInfoMVK& value)
{
s << "VkIOSSurfaceCreateInfoMVK = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getIOSSurfaceCreateFlagsMVKStr(value.flags) << '\n';
s << "\tpView = " << value.pView << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMacOSSurfaceCreateInfoMVK& value)
{
s << "VkMacOSSurfaceCreateInfoMVK = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getMacOSSurfaceCreateFlagsMVKStr(value.flags) << '\n';
s << "\tpView = " << value.pView << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMetalSurfaceCreateInfoEXT& value)
{
s << "VkMetalSurfaceCreateInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getMetalSurfaceCreateFlagsEXTStr(value.flags) << '\n';
s << "\tpLayer = " << value.pLayer << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkViSurfaceCreateInfoNN& value)
{
s << "VkViSurfaceCreateInfoNN = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getViSurfaceCreateFlagsNNStr(value.flags) << '\n';
s << "\twindow = " << value.window << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWaylandSurfaceCreateInfoKHR& value)
{
s << "VkWaylandSurfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getWaylandSurfaceCreateFlagsKHRStr(value.flags) << '\n';
s << "\tdisplay = " << value.display << '\n';
s << "\tsurface = " << value.surface << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWin32SurfaceCreateInfoKHR& value)
{
s << "VkWin32SurfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getWin32SurfaceCreateFlagsKHRStr(value.flags) << '\n';
s << "\thinstance = " << value.hinstance << '\n';
s << "\thwnd = " << value.hwnd << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoKHR& value)
{
s << "VkImportMemoryWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\thandle = " << value.handle << '\n';
s << "\tname = " << getWStr(value.name) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoKHR& value)
{
s << "VkExportMemoryWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpAttributes = " << value.pAttributes << '\n';
s << "\tdwAccess = " << value.dwAccess << '\n';
s << "\tname = " << getWStr(value.name) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryWin32HandlePropertiesKHR& value)
{
s << "VkMemoryWin32HandlePropertiesKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkMemoryGetWin32HandleInfoKHR& value)
{
s << "VkMemoryGetWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tmemory = " << value.memory << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoKHR& value)
{
s << "VkWin32KeyedMutexAcquireReleaseInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tacquireCount = " << value.acquireCount << '\n';
s << "\tpAcquireSyncs = " << value.pAcquireSyncs << '\n';
s << "\tpAcquireKeys = " << value.pAcquireKeys << '\n';
s << "\tpAcquireTimeouts = " << value.pAcquireTimeouts << '\n';
s << "\treleaseCount = " << value.releaseCount << '\n';
s << "\tpReleaseSyncs = " << value.pReleaseSyncs << '\n';
s << "\tpReleaseKeys = " << value.pReleaseKeys << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreWin32HandleInfoKHR& value)
{
s << "VkImportSemaphoreWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\thandle = " << value.handle << '\n';
s << "\tname = " << getWStr(value.name) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreWin32HandleInfoKHR& value)
{
s << "VkExportSemaphoreWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpAttributes = " << value.pAttributes << '\n';
s << "\tdwAccess = " << value.dwAccess << '\n';
s << "\tname = " << getWStr(value.name) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkD3D12FenceSubmitInfoKHR& value)
{
s << "VkD3D12FenceSubmitInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\twaitSemaphoreValuesCount = " << value.waitSemaphoreValuesCount << '\n';
s << "\tpWaitSemaphoreValues = " << value.pWaitSemaphoreValues << '\n';
s << "\tsignalSemaphoreValuesCount = " << value.signalSemaphoreValuesCount << '\n';
s << "\tpSignalSemaphoreValues = " << value.pSignalSemaphoreValues << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetWin32HandleInfoKHR& value)
{
s << "VkSemaphoreGetWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tsemaphore = " << value.semaphore << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportFenceWin32HandleInfoKHR& value)
{
s << "VkImportFenceWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfence = " << value.fence << '\n';
s << "\tflags = " << getFenceImportFlagsStr(value.flags) << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << "\thandle = " << value.handle << '\n';
s << "\tname = " << getWStr(value.name) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportFenceWin32HandleInfoKHR& value)
{
s << "VkExportFenceWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpAttributes = " << value.pAttributes << '\n';
s << "\tdwAccess = " << value.dwAccess << '\n';
s << "\tname = " << getWStr(value.name) << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkFenceGetWin32HandleInfoKHR& value)
{
s << "VkFenceGetWin32HandleInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfence = " << value.fence << '\n';
s << "\thandleType = " << value.handleType << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoNV& value)
{
s << "VkImportMemoryWin32HandleInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thandleType = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleType) << '\n';
s << "\thandle = " << value.handle << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoNV& value)
{
s << "VkExportMemoryWin32HandleInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tpAttributes = " << value.pAttributes << '\n';
s << "\tdwAccess = " << value.dwAccess << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoNV& value)
{
s << "VkWin32KeyedMutexAcquireReleaseInfoNV = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tacquireCount = " << value.acquireCount << '\n';
s << "\tpAcquireSyncs = " << value.pAcquireSyncs << '\n';
s << "\tpAcquireKeys = " << value.pAcquireKeys << '\n';
s << "\tpAcquireTimeoutMilliseconds = " << value.pAcquireTimeoutMilliseconds << '\n';
s << "\treleaseCount = " << value.releaseCount << '\n';
s << "\tpReleaseSyncs = " << value.pReleaseSyncs << '\n';
s << "\tpReleaseKeys = " << value.pReleaseKeys << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceFullScreenExclusiveInfoEXT& value)
{
s << "VkSurfaceFullScreenExclusiveInfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfullScreenExclusive = " << value.fullScreenExclusive << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesFullScreenExclusiveEXT& value)
{
s << "VkSurfaceCapabilitiesFullScreenExclusiveEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tfullScreenExclusiveSupported = " << value.fullScreenExclusiveSupported << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkSurfaceFullScreenExclusiveWin32InfoEXT& value)
{
s << "VkSurfaceFullScreenExclusiveWin32InfoEXT = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\thmonitor = " << value.hmonitor << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkXcbSurfaceCreateInfoKHR& value)
{
s << "VkXcbSurfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getXcbSurfaceCreateFlagsKHRStr(value.flags) << '\n';
s << "\tconnection = " << value.connection << '\n';
s << "\twindow = " << value.window << '\n';
s << '}';
return s;
}
std::ostream& operator<< (std::ostream& s, const VkXlibSurfaceCreateInfoKHR& value)
{
s << "VkXlibSurfaceCreateInfoKHR = {\n";
s << "\tsType = " << value.sType << '\n';
s << "\tpNext = " << value.pNext << '\n';
s << "\tflags = " << getXlibSurfaceCreateFlagsKHRStr(value.flags) << '\n';
s << "\tdpy = " << value.dpy << '\n';
s << "\twindow = " << value.window << '\n';
s << '}';
return s;
}