/* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. */ template<> const char* getTypeName (void) { return "VkInstance"; } template<> const char* getTypeName (void) { return "VkPhysicalDevice"; } template<> const char* getTypeName (void) { return "VkDevice"; } template<> const char* getTypeName (void) { return "VkQueue"; } template<> const char* getTypeName (void) { return "VkSemaphore"; } template<> const char* getTypeName (void) { return "VkCommandBuffer"; } template<> const char* getTypeName (void) { return "VkFence"; } template<> const char* getTypeName (void) { return "VkDeviceMemory"; } template<> const char* getTypeName (void) { return "VkBuffer"; } template<> const char* getTypeName (void) { return "VkImage"; } template<> const char* getTypeName (void) { return "VkEvent"; } template<> const char* getTypeName (void) { return "VkQueryPool"; } template<> const char* getTypeName (void) { return "VkBufferView"; } template<> const char* getTypeName (void) { return "VkImageView"; } template<> const char* getTypeName (void) { return "VkShaderModule"; } template<> const char* getTypeName (void) { return "VkPipelineCache"; } template<> const char* getTypeName (void) { return "VkPipelineLayout"; } template<> const char* getTypeName (void) { return "VkRenderPass"; } template<> const char* getTypeName (void) { return "VkPipeline"; } template<> const char* getTypeName (void) { return "VkDescriptorSetLayout"; } template<> const char* getTypeName (void) { return "VkSampler"; } template<> const char* getTypeName (void) { return "VkDescriptorPool"; } template<> const char* getTypeName (void) { return "VkDescriptorSet"; } template<> const char* getTypeName (void) { return "VkFramebuffer"; } template<> const char* getTypeName (void) { return "VkCommandPool"; } template<> const char* getTypeName (void) { return "VkSurfaceKHR"; } template<> const char* getTypeName (void) { return "VkSwapchainKHR"; } template<> const char* getTypeName (void) { return "VkDisplayKHR"; } template<> const char* getTypeName (void) { return "VkDisplayModeKHR"; } template<> const char* getTypeName (void) { return "VkDescriptorUpdateTemplateKHR"; } template<> const char* getTypeName (void) { return "VkDebugReportCallbackEXT"; } 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); } } const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value) { switch (value) { case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"; default: return DE_NULL; } } 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_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_OUT_OF_POOL_MEMORY_KHR: return "VK_ERROR_OUT_OF_POOL_MEMORY_KHR"; 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_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_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_MIR_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_MIR_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_PHYSICAL_DEVICE_FEATURES_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR"; case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR"; case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR"; case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR"; case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_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_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR"; case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"; case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR"; case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"; case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR"; case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR"; case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR"; case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR: return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR"; case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR"; 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"; default: return DE_NULL; } } const char* getInternalAllocationTypeName (VkInternalAllocationType value) { switch (value) { case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"; 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"; 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"; 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"; 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"; 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"; 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"; 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_PRESENT_SRC_KHR: return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"; case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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"; 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_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_DESCRIPTOR_UPDATE_TEMPLATE_KHR: return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR"; case VK_OBJECT_TYPE_OBJECT_TABLE_NVX: return "VK_OBJECT_TYPE_OBJECT_TABLE_NVX"; case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX: return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX"; 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_DCI_P3_LINEAR_EXT: return "VK_COLOR_SPACE_DCI_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"; 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"; default: return DE_NULL; } } const char* getDescriptorUpdateTemplateTypeKHRName (VkDescriptorUpdateTemplateTypeKHR value) { switch (value) { case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR"; case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_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_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_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_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT"; default: return DE_NULL; } } const char* getDebugReportErrorEXTName (VkDebugReportErrorEXT value) { switch (value) { case VK_DEBUG_REPORT_ERROR_NONE_EXT: return "VK_DEBUG_REPORT_ERROR_NONE_EXT"; case VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT: return "VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT"; default: return DE_NULL; } } 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_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"), }; 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"), }; 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_2D_ARRAY_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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_PUSH_DESCRIPTOR_BIT_KHR, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"), }; 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"), }; 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"), }; return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); } tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFlags value) { return tcu::Format::Bitfield<32>(value, DE_NULL, 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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"), }; 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_FRONT_AND_BACK, "VK_STENCIL_FRONT_AND_BACK"), }; 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"), }; 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"), }; return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); } tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } 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"), }; 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"), }; 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> getDeviceQueueCreateFlagsStr (VkDeviceQueueCreateFlags 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> getEventCreateFlagsStr (VkEventCreateFlags 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> getImageViewCreateFlagsStr (VkImageViewCreateFlags 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> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateFlags value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } tcu::Format::Bitfield<32> getPipelineShaderStageCreateFlagsStr (VkPipelineShaderStageCreateFlags 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> getPipelineDepthStencilStateCreateFlagsStr (VkPipelineDepthStencilStateCreateFlags value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } tcu::Format::Bitfield<32> getPipelineColorBlendStateCreateFlagsStr (VkPipelineColorBlendStateCreateFlags 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> getSamplerCreateFlagsStr (VkSamplerCreateFlags 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> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags 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> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR 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> getWaylandSurfaceCreateFlagsKHRStr (VkWaylandSurfaceCreateFlagsKHR value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } tcu::Format::Bitfield<32> getMirSurfaceCreateFlagsKHRStr (VkMirSurfaceCreateFlagsKHR 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> getWin32SurfaceCreateFlagsKHRStr (VkWin32SurfaceCreateFlagsKHR value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } tcu::Format::Bitfield<32> getCommandPoolTrimFlagsKHRStr (VkCommandPoolTrimFlagsKHR value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsKHRStr (VkDescriptorUpdateTemplateCreateFlagsKHR value) { return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); } 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 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 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 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 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 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 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 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 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(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator(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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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; } 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 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 VkMirSurfaceCreateInfoKHR& value) { s << "VkMirSurfaceCreateInfoKHR = {\n"; s << "\tsType = " << value.sType << '\n'; s << "\tpNext = " << value.pNext << '\n'; s << "\tflags = " << getMirSurfaceCreateFlagsKHRStr(value.flags) << '\n'; s << "\tconnection = " << value.connection << '\n'; s << "\tmirSurface = " << value.mirSurface << '\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 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 VkPhysicalDeviceFeatures2KHR& value) { s << "VkPhysicalDeviceFeatures2KHR = {\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 VkPhysicalDeviceProperties2KHR& value) { s << "VkPhysicalDeviceProperties2KHR = {\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 VkFormatProperties2KHR& value) { s << "VkFormatProperties2KHR = {\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 VkImageFormatProperties2KHR& value) { s << "VkImageFormatProperties2KHR = {\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 VkPhysicalDeviceImageFormatInfo2KHR& value) { s << "VkPhysicalDeviceImageFormatInfo2KHR = {\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 VkQueueFamilyProperties2KHR& value) { s << "VkQueueFamilyProperties2KHR = {\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 VkPhysicalDeviceMemoryProperties2KHR& value) { s << "VkPhysicalDeviceMemoryProperties2KHR = {\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 VkSparseImageFormatProperties2KHR& value) { s << "VkSparseImageFormatProperties2KHR = {\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 VkPhysicalDeviceSparseImageFormatInfo2KHR& value) { s << "VkPhysicalDeviceSparseImageFormatInfo2KHR = {\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 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 VkPhysicalDevice16BitStorageFeaturesKHR& value) { s << "VkPhysicalDevice16BitStorageFeaturesKHR = {\n"; s << "\tsType = " << value.sType << '\n'; s << "\tpNext = " << value.pNext << '\n'; s << "\tstorageUniformBufferBlock16 = " << value.storageUniformBufferBlock16 << '\n'; s << "\tstorageUniform16 = " << value.storageUniform16 << '\n'; s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n'; s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\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 VkDescriptorUpdateTemplateEntryKHR& value) { s << "VkDescriptorUpdateTemplateEntryKHR = {\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 VkDescriptorUpdateTemplateCreateInfoKHR& value) { s << "VkDescriptorUpdateTemplateCreateInfoKHR = {\n"; s << "\tsType = " << value.sType << '\n'; s << "\tpNext = " << value.pNext << '\n'; s << "\tflags = " << getDescriptorUpdateTemplateCreateFlagsKHRStr(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 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 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 VkBufferMemoryRequirementsInfo2KHR& value) { s << "VkBufferMemoryRequirementsInfo2KHR = {\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 VkImageMemoryRequirementsInfo2KHR& value) { s << "VkImageMemoryRequirementsInfo2KHR = {\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 VkImageSparseMemoryRequirementsInfo2KHR& value) { s << "VkImageSparseMemoryRequirementsInfo2KHR = {\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 VkMemoryRequirements2KHR& value) { s << "VkMemoryRequirements2KHR = {\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 VkSparseImageMemoryRequirements2KHR& value) { s << "VkSparseImageMemoryRequirements2KHR = {\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 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 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; }