1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 */ 4template<> const char* getTypeName<VkInstance> (void) { return "VkInstance"; } 5template<> const char* getTypeName<VkPhysicalDevice> (void) { return "VkPhysicalDevice"; } 6template<> const char* getTypeName<VkDevice> (void) { return "VkDevice"; } 7template<> const char* getTypeName<VkQueue> (void) { return "VkQueue"; } 8template<> const char* getTypeName<VkSemaphore> (void) { return "VkSemaphore"; } 9template<> const char* getTypeName<VkCommandBuffer> (void) { return "VkCommandBuffer"; } 10template<> const char* getTypeName<VkFence> (void) { return "VkFence"; } 11template<> const char* getTypeName<VkDeviceMemory> (void) { return "VkDeviceMemory"; } 12template<> const char* getTypeName<VkBuffer> (void) { return "VkBuffer"; } 13template<> const char* getTypeName<VkImage> (void) { return "VkImage"; } 14template<> const char* getTypeName<VkEvent> (void) { return "VkEvent"; } 15template<> const char* getTypeName<VkQueryPool> (void) { return "VkQueryPool"; } 16template<> const char* getTypeName<VkBufferView> (void) { return "VkBufferView"; } 17template<> const char* getTypeName<VkImageView> (void) { return "VkImageView"; } 18template<> const char* getTypeName<VkShaderModule> (void) { return "VkShaderModule"; } 19template<> const char* getTypeName<VkPipelineCache> (void) { return "VkPipelineCache"; } 20template<> const char* getTypeName<VkPipelineLayout> (void) { return "VkPipelineLayout"; } 21template<> const char* getTypeName<VkRenderPass> (void) { return "VkRenderPass"; } 22template<> const char* getTypeName<VkPipeline> (void) { return "VkPipeline"; } 23template<> const char* getTypeName<VkDescriptorSetLayout> (void) { return "VkDescriptorSetLayout"; } 24template<> const char* getTypeName<VkSampler> (void) { return "VkSampler"; } 25template<> const char* getTypeName<VkDescriptorPool> (void) { return "VkDescriptorPool"; } 26template<> const char* getTypeName<VkDescriptorSet> (void) { return "VkDescriptorSet"; } 27template<> const char* getTypeName<VkFramebuffer> (void) { return "VkFramebuffer"; } 28template<> const char* getTypeName<VkCommandPool> (void) { return "VkCommandPool"; } 29template<> const char* getTypeName<VkSurfaceKHR> (void) { return "VkSurfaceKHR"; } 30template<> const char* getTypeName<VkSwapchainKHR> (void) { return "VkSwapchainKHR"; } 31template<> const char* getTypeName<VkDisplayKHR> (void) { return "VkDisplayKHR"; } 32template<> const char* getTypeName<VkDisplayModeKHR> (void) { return "VkDisplayModeKHR"; } 33template<> const char* getTypeName<VkDebugReportCallbackEXT> (void) { return "VkDebugReportCallbackEXT"; } 34template<> const char* getTypeName<VkObjectTableNVX> (void) { return "VkObjectTableNVX"; } 35template<> const char* getTypeName<VkIndirectCommandsLayoutNVX> (void) { return "VkIndirectCommandsLayoutNVX"; } 36template<> const char* getTypeName<VkDescriptorUpdateTemplateKHR> (void) { return "VkDescriptorUpdateTemplateKHR"; } 37 38namespace pt 39{ 40std::ostream& operator<< (std::ostream& s, XlibDisplayPtr v) { return s << tcu::toHex(v.internal); } 41std::ostream& operator<< (std::ostream& s, XlibWindow v) { return s << tcu::toHex(v.internal); } 42std::ostream& operator<< (std::ostream& s, XlibVisualID v) { return s << tcu::toHex(v.internal); } 43std::ostream& operator<< (std::ostream& s, XcbConnectionPtr v) { return s << tcu::toHex(v.internal); } 44std::ostream& operator<< (std::ostream& s, XcbWindow v) { return s << tcu::toHex(v.internal); } 45std::ostream& operator<< (std::ostream& s, XcbVisualid v) { return s << tcu::toHex(v.internal); } 46std::ostream& operator<< (std::ostream& s, WaylandDisplayPtr v) { return s << tcu::toHex(v.internal); } 47std::ostream& operator<< (std::ostream& s, WaylandSurfacePtr v) { return s << tcu::toHex(v.internal); } 48std::ostream& operator<< (std::ostream& s, MirConnectionPtr v) { return s << tcu::toHex(v.internal); } 49std::ostream& operator<< (std::ostream& s, MirSurfacePtr v) { return s << tcu::toHex(v.internal); } 50std::ostream& operator<< (std::ostream& s, AndroidNativeWindowPtr v) { return s << tcu::toHex(v.internal); } 51std::ostream& operator<< (std::ostream& s, Win32InstanceHandle v) { return s << tcu::toHex(v.internal); } 52std::ostream& operator<< (std::ostream& s, Win32WindowHandle v) { return s << tcu::toHex(v.internal); } 53std::ostream& operator<< (std::ostream& s, Win32Handle v) { return s << tcu::toHex(v.internal); } 54std::ostream& operator<< (std::ostream& s, Win32SecurityAttributesPtr v) { return s << tcu::toHex(v.internal); } 55} 56 57const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value) 58{ 59 switch (value) 60 { 61 case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"; 62 default: return DE_NULL; 63 } 64} 65 66const char* getResultName (VkResult value) 67{ 68 switch (value) 69 { 70 case VK_SUCCESS: return "VK_SUCCESS"; 71 case VK_NOT_READY: return "VK_NOT_READY"; 72 case VK_TIMEOUT: return "VK_TIMEOUT"; 73 case VK_EVENT_SET: return "VK_EVENT_SET"; 74 case VK_EVENT_RESET: return "VK_EVENT_RESET"; 75 case VK_INCOMPLETE: return "VK_INCOMPLETE"; 76 case VK_ERROR_OUT_OF_HOST_MEMORY: return "VK_ERROR_OUT_OF_HOST_MEMORY"; 77 case VK_ERROR_OUT_OF_DEVICE_MEMORY: return "VK_ERROR_OUT_OF_DEVICE_MEMORY"; 78 case VK_ERROR_INITIALIZATION_FAILED: return "VK_ERROR_INITIALIZATION_FAILED"; 79 case VK_ERROR_DEVICE_LOST: return "VK_ERROR_DEVICE_LOST"; 80 case VK_ERROR_MEMORY_MAP_FAILED: return "VK_ERROR_MEMORY_MAP_FAILED"; 81 case VK_ERROR_LAYER_NOT_PRESENT: return "VK_ERROR_LAYER_NOT_PRESENT"; 82 case VK_ERROR_EXTENSION_NOT_PRESENT: return "VK_ERROR_EXTENSION_NOT_PRESENT"; 83 case VK_ERROR_FEATURE_NOT_PRESENT: return "VK_ERROR_FEATURE_NOT_PRESENT"; 84 case VK_ERROR_INCOMPATIBLE_DRIVER: return "VK_ERROR_INCOMPATIBLE_DRIVER"; 85 case VK_ERROR_TOO_MANY_OBJECTS: return "VK_ERROR_TOO_MANY_OBJECTS"; 86 case VK_ERROR_FORMAT_NOT_SUPPORTED: return "VK_ERROR_FORMAT_NOT_SUPPORTED"; 87 case VK_ERROR_FRAGMENTED_POOL: return "VK_ERROR_FRAGMENTED_POOL"; 88 case VK_ERROR_SURFACE_LOST_KHR: return "VK_ERROR_SURFACE_LOST_KHR"; 89 case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"; 90 case VK_SUBOPTIMAL_KHR: return "VK_SUBOPTIMAL_KHR"; 91 case VK_ERROR_OUT_OF_DATE_KHR: return "VK_ERROR_OUT_OF_DATE_KHR"; 92 case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"; 93 case VK_ERROR_VALIDATION_FAILED_EXT: return "VK_ERROR_VALIDATION_FAILED_EXT"; 94 case VK_ERROR_INVALID_SHADER_NV: return "VK_ERROR_INVALID_SHADER_NV"; 95 case VK_ERROR_OUT_OF_POOL_MEMORY_KHR: return "VK_ERROR_OUT_OF_POOL_MEMORY_KHR"; 96 default: return DE_NULL; 97 } 98} 99 100const char* getStructureTypeName (VkStructureType value) 101{ 102 switch (value) 103 { 104 case VK_STRUCTURE_TYPE_APPLICATION_INFO: return "VK_STRUCTURE_TYPE_APPLICATION_INFO"; 105 case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"; 106 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"; 107 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"; 108 case VK_STRUCTURE_TYPE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_SUBMIT_INFO"; 109 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"; 110 case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"; 111 case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"; 112 case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"; 113 case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"; 114 case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"; 115 case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"; 116 case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"; 117 case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"; 118 case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"; 119 case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"; 120 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"; 121 case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"; 122 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"; 123 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"; 124 case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"; 125 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"; 126 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"; 127 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"; 128 case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"; 129 case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"; 130 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"; 131 case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"; 132 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"; 133 case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"; 134 case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"; 135 case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"; 136 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"; 137 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"; 138 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"; 139 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"; 140 case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"; 141 case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"; 142 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"; 143 case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"; 144 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"; 145 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"; 146 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"; 147 case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"; 148 case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"; 149 case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"; 150 case VK_STRUCTURE_TYPE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER"; 151 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"; 152 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"; 153 case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"; 154 case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"; 155 case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"; 156 case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"; 157 case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"; 158 case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR"; 159 case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR"; 160 case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR"; 161 case VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR"; 162 case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR"; 163 case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR"; 164 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"; 165 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD"; 166 case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT"; 167 case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT"; 168 case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT"; 169 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV"; 170 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV"; 171 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV"; 172 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV"; 173 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV"; 174 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"; 175 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV"; 176 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"; 177 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"; 178 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR"; 179 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR"; 180 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR"; 181 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR"; 182 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR"; 183 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR"; 184 case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR"; 185 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR"; 186 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT"; 187 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR"; 188 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"; 189 case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR"; 190 case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR"; 191 case VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX: return "VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX"; 192 case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX: return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX"; 193 case VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX: return "VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX"; 194 case VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX: return "VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX"; 195 case VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX: return "VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX"; 196 case VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX: return "VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX"; 197 case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"; 198 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"; 199 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"; 200 case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR"; 201 default: return DE_NULL; 202 } 203} 204 205const char* getSystemAllocationScopeName (VkSystemAllocationScope value) 206{ 207 switch (value) 208 { 209 case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"; 210 case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"; 211 case VK_SYSTEM_ALLOCATION_SCOPE_CACHE: return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"; 212 case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"; 213 case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"; 214 default: return DE_NULL; 215 } 216} 217 218const char* getInternalAllocationTypeName (VkInternalAllocationType value) 219{ 220 switch (value) 221 { 222 case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"; 223 default: return DE_NULL; 224 } 225} 226 227const char* getFormatName (VkFormat value) 228{ 229 switch (value) 230 { 231 case VK_FORMAT_UNDEFINED: return "VK_FORMAT_UNDEFINED"; 232 case VK_FORMAT_R4G4_UNORM_PACK8: return "VK_FORMAT_R4G4_UNORM_PACK8"; 233 case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return "VK_FORMAT_R4G4B4A4_UNORM_PACK16"; 234 case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return "VK_FORMAT_B4G4R4A4_UNORM_PACK16"; 235 case VK_FORMAT_R5G6B5_UNORM_PACK16: return "VK_FORMAT_R5G6B5_UNORM_PACK16"; 236 case VK_FORMAT_B5G6R5_UNORM_PACK16: return "VK_FORMAT_B5G6R5_UNORM_PACK16"; 237 case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return "VK_FORMAT_R5G5B5A1_UNORM_PACK16"; 238 case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return "VK_FORMAT_B5G5R5A1_UNORM_PACK16"; 239 case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return "VK_FORMAT_A1R5G5B5_UNORM_PACK16"; 240 case VK_FORMAT_R8_UNORM: return "VK_FORMAT_R8_UNORM"; 241 case VK_FORMAT_R8_SNORM: return "VK_FORMAT_R8_SNORM"; 242 case VK_FORMAT_R8_USCALED: return "VK_FORMAT_R8_USCALED"; 243 case VK_FORMAT_R8_SSCALED: return "VK_FORMAT_R8_SSCALED"; 244 case VK_FORMAT_R8_UINT: return "VK_FORMAT_R8_UINT"; 245 case VK_FORMAT_R8_SINT: return "VK_FORMAT_R8_SINT"; 246 case VK_FORMAT_R8_SRGB: return "VK_FORMAT_R8_SRGB"; 247 case VK_FORMAT_R8G8_UNORM: return "VK_FORMAT_R8G8_UNORM"; 248 case VK_FORMAT_R8G8_SNORM: return "VK_FORMAT_R8G8_SNORM"; 249 case VK_FORMAT_R8G8_USCALED: return "VK_FORMAT_R8G8_USCALED"; 250 case VK_FORMAT_R8G8_SSCALED: return "VK_FORMAT_R8G8_SSCALED"; 251 case VK_FORMAT_R8G8_UINT: return "VK_FORMAT_R8G8_UINT"; 252 case VK_FORMAT_R8G8_SINT: return "VK_FORMAT_R8G8_SINT"; 253 case VK_FORMAT_R8G8_SRGB: return "VK_FORMAT_R8G8_SRGB"; 254 case VK_FORMAT_R8G8B8_UNORM: return "VK_FORMAT_R8G8B8_UNORM"; 255 case VK_FORMAT_R8G8B8_SNORM: return "VK_FORMAT_R8G8B8_SNORM"; 256 case VK_FORMAT_R8G8B8_USCALED: return "VK_FORMAT_R8G8B8_USCALED"; 257 case VK_FORMAT_R8G8B8_SSCALED: return "VK_FORMAT_R8G8B8_SSCALED"; 258 case VK_FORMAT_R8G8B8_UINT: return "VK_FORMAT_R8G8B8_UINT"; 259 case VK_FORMAT_R8G8B8_SINT: return "VK_FORMAT_R8G8B8_SINT"; 260 case VK_FORMAT_R8G8B8_SRGB: return "VK_FORMAT_R8G8B8_SRGB"; 261 case VK_FORMAT_B8G8R8_UNORM: return "VK_FORMAT_B8G8R8_UNORM"; 262 case VK_FORMAT_B8G8R8_SNORM: return "VK_FORMAT_B8G8R8_SNORM"; 263 case VK_FORMAT_B8G8R8_USCALED: return "VK_FORMAT_B8G8R8_USCALED"; 264 case VK_FORMAT_B8G8R8_SSCALED: return "VK_FORMAT_B8G8R8_SSCALED"; 265 case VK_FORMAT_B8G8R8_UINT: return "VK_FORMAT_B8G8R8_UINT"; 266 case VK_FORMAT_B8G8R8_SINT: return "VK_FORMAT_B8G8R8_SINT"; 267 case VK_FORMAT_B8G8R8_SRGB: return "VK_FORMAT_B8G8R8_SRGB"; 268 case VK_FORMAT_R8G8B8A8_UNORM: return "VK_FORMAT_R8G8B8A8_UNORM"; 269 case VK_FORMAT_R8G8B8A8_SNORM: return "VK_FORMAT_R8G8B8A8_SNORM"; 270 case VK_FORMAT_R8G8B8A8_USCALED: return "VK_FORMAT_R8G8B8A8_USCALED"; 271 case VK_FORMAT_R8G8B8A8_SSCALED: return "VK_FORMAT_R8G8B8A8_SSCALED"; 272 case VK_FORMAT_R8G8B8A8_UINT: return "VK_FORMAT_R8G8B8A8_UINT"; 273 case VK_FORMAT_R8G8B8A8_SINT: return "VK_FORMAT_R8G8B8A8_SINT"; 274 case VK_FORMAT_R8G8B8A8_SRGB: return "VK_FORMAT_R8G8B8A8_SRGB"; 275 case VK_FORMAT_B8G8R8A8_UNORM: return "VK_FORMAT_B8G8R8A8_UNORM"; 276 case VK_FORMAT_B8G8R8A8_SNORM: return "VK_FORMAT_B8G8R8A8_SNORM"; 277 case VK_FORMAT_B8G8R8A8_USCALED: return "VK_FORMAT_B8G8R8A8_USCALED"; 278 case VK_FORMAT_B8G8R8A8_SSCALED: return "VK_FORMAT_B8G8R8A8_SSCALED"; 279 case VK_FORMAT_B8G8R8A8_UINT: return "VK_FORMAT_B8G8R8A8_UINT"; 280 case VK_FORMAT_B8G8R8A8_SINT: return "VK_FORMAT_B8G8R8A8_SINT"; 281 case VK_FORMAT_B8G8R8A8_SRGB: return "VK_FORMAT_B8G8R8A8_SRGB"; 282 case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return "VK_FORMAT_A8B8G8R8_UNORM_PACK32"; 283 case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return "VK_FORMAT_A8B8G8R8_SNORM_PACK32"; 284 case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return "VK_FORMAT_A8B8G8R8_USCALED_PACK32"; 285 case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"; 286 case VK_FORMAT_A8B8G8R8_UINT_PACK32: return "VK_FORMAT_A8B8G8R8_UINT_PACK32"; 287 case VK_FORMAT_A8B8G8R8_SINT_PACK32: return "VK_FORMAT_A8B8G8R8_SINT_PACK32"; 288 case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return "VK_FORMAT_A8B8G8R8_SRGB_PACK32"; 289 case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return "VK_FORMAT_A2R10G10B10_UNORM_PACK32"; 290 case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return "VK_FORMAT_A2R10G10B10_SNORM_PACK32"; 291 case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return "VK_FORMAT_A2R10G10B10_USCALED_PACK32"; 292 case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"; 293 case VK_FORMAT_A2R10G10B10_UINT_PACK32: return "VK_FORMAT_A2R10G10B10_UINT_PACK32"; 294 case VK_FORMAT_A2R10G10B10_SINT_PACK32: return "VK_FORMAT_A2R10G10B10_SINT_PACK32"; 295 case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return "VK_FORMAT_A2B10G10R10_UNORM_PACK32"; 296 case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return "VK_FORMAT_A2B10G10R10_SNORM_PACK32"; 297 case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return "VK_FORMAT_A2B10G10R10_USCALED_PACK32"; 298 case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"; 299 case VK_FORMAT_A2B10G10R10_UINT_PACK32: return "VK_FORMAT_A2B10G10R10_UINT_PACK32"; 300 case VK_FORMAT_A2B10G10R10_SINT_PACK32: return "VK_FORMAT_A2B10G10R10_SINT_PACK32"; 301 case VK_FORMAT_R16_UNORM: return "VK_FORMAT_R16_UNORM"; 302 case VK_FORMAT_R16_SNORM: return "VK_FORMAT_R16_SNORM"; 303 case VK_FORMAT_R16_USCALED: return "VK_FORMAT_R16_USCALED"; 304 case VK_FORMAT_R16_SSCALED: return "VK_FORMAT_R16_SSCALED"; 305 case VK_FORMAT_R16_UINT: return "VK_FORMAT_R16_UINT"; 306 case VK_FORMAT_R16_SINT: return "VK_FORMAT_R16_SINT"; 307 case VK_FORMAT_R16_SFLOAT: return "VK_FORMAT_R16_SFLOAT"; 308 case VK_FORMAT_R16G16_UNORM: return "VK_FORMAT_R16G16_UNORM"; 309 case VK_FORMAT_R16G16_SNORM: return "VK_FORMAT_R16G16_SNORM"; 310 case VK_FORMAT_R16G16_USCALED: return "VK_FORMAT_R16G16_USCALED"; 311 case VK_FORMAT_R16G16_SSCALED: return "VK_FORMAT_R16G16_SSCALED"; 312 case VK_FORMAT_R16G16_UINT: return "VK_FORMAT_R16G16_UINT"; 313 case VK_FORMAT_R16G16_SINT: return "VK_FORMAT_R16G16_SINT"; 314 case VK_FORMAT_R16G16_SFLOAT: return "VK_FORMAT_R16G16_SFLOAT"; 315 case VK_FORMAT_R16G16B16_UNORM: return "VK_FORMAT_R16G16B16_UNORM"; 316 case VK_FORMAT_R16G16B16_SNORM: return "VK_FORMAT_R16G16B16_SNORM"; 317 case VK_FORMAT_R16G16B16_USCALED: return "VK_FORMAT_R16G16B16_USCALED"; 318 case VK_FORMAT_R16G16B16_SSCALED: return "VK_FORMAT_R16G16B16_SSCALED"; 319 case VK_FORMAT_R16G16B16_UINT: return "VK_FORMAT_R16G16B16_UINT"; 320 case VK_FORMAT_R16G16B16_SINT: return "VK_FORMAT_R16G16B16_SINT"; 321 case VK_FORMAT_R16G16B16_SFLOAT: return "VK_FORMAT_R16G16B16_SFLOAT"; 322 case VK_FORMAT_R16G16B16A16_UNORM: return "VK_FORMAT_R16G16B16A16_UNORM"; 323 case VK_FORMAT_R16G16B16A16_SNORM: return "VK_FORMAT_R16G16B16A16_SNORM"; 324 case VK_FORMAT_R16G16B16A16_USCALED: return "VK_FORMAT_R16G16B16A16_USCALED"; 325 case VK_FORMAT_R16G16B16A16_SSCALED: return "VK_FORMAT_R16G16B16A16_SSCALED"; 326 case VK_FORMAT_R16G16B16A16_UINT: return "VK_FORMAT_R16G16B16A16_UINT"; 327 case VK_FORMAT_R16G16B16A16_SINT: return "VK_FORMAT_R16G16B16A16_SINT"; 328 case VK_FORMAT_R16G16B16A16_SFLOAT: return "VK_FORMAT_R16G16B16A16_SFLOAT"; 329 case VK_FORMAT_R32_UINT: return "VK_FORMAT_R32_UINT"; 330 case VK_FORMAT_R32_SINT: return "VK_FORMAT_R32_SINT"; 331 case VK_FORMAT_R32_SFLOAT: return "VK_FORMAT_R32_SFLOAT"; 332 case VK_FORMAT_R32G32_UINT: return "VK_FORMAT_R32G32_UINT"; 333 case VK_FORMAT_R32G32_SINT: return "VK_FORMAT_R32G32_SINT"; 334 case VK_FORMAT_R32G32_SFLOAT: return "VK_FORMAT_R32G32_SFLOAT"; 335 case VK_FORMAT_R32G32B32_UINT: return "VK_FORMAT_R32G32B32_UINT"; 336 case VK_FORMAT_R32G32B32_SINT: return "VK_FORMAT_R32G32B32_SINT"; 337 case VK_FORMAT_R32G32B32_SFLOAT: return "VK_FORMAT_R32G32B32_SFLOAT"; 338 case VK_FORMAT_R32G32B32A32_UINT: return "VK_FORMAT_R32G32B32A32_UINT"; 339 case VK_FORMAT_R32G32B32A32_SINT: return "VK_FORMAT_R32G32B32A32_SINT"; 340 case VK_FORMAT_R32G32B32A32_SFLOAT: return "VK_FORMAT_R32G32B32A32_SFLOAT"; 341 case VK_FORMAT_R64_UINT: return "VK_FORMAT_R64_UINT"; 342 case VK_FORMAT_R64_SINT: return "VK_FORMAT_R64_SINT"; 343 case VK_FORMAT_R64_SFLOAT: return "VK_FORMAT_R64_SFLOAT"; 344 case VK_FORMAT_R64G64_UINT: return "VK_FORMAT_R64G64_UINT"; 345 case VK_FORMAT_R64G64_SINT: return "VK_FORMAT_R64G64_SINT"; 346 case VK_FORMAT_R64G64_SFLOAT: return "VK_FORMAT_R64G64_SFLOAT"; 347 case VK_FORMAT_R64G64B64_UINT: return "VK_FORMAT_R64G64B64_UINT"; 348 case VK_FORMAT_R64G64B64_SINT: return "VK_FORMAT_R64G64B64_SINT"; 349 case VK_FORMAT_R64G64B64_SFLOAT: return "VK_FORMAT_R64G64B64_SFLOAT"; 350 case VK_FORMAT_R64G64B64A64_UINT: return "VK_FORMAT_R64G64B64A64_UINT"; 351 case VK_FORMAT_R64G64B64A64_SINT: return "VK_FORMAT_R64G64B64A64_SINT"; 352 case VK_FORMAT_R64G64B64A64_SFLOAT: return "VK_FORMAT_R64G64B64A64_SFLOAT"; 353 case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return "VK_FORMAT_B10G11R11_UFLOAT_PACK32"; 354 case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"; 355 case VK_FORMAT_D16_UNORM: return "VK_FORMAT_D16_UNORM"; 356 case VK_FORMAT_X8_D24_UNORM_PACK32: return "VK_FORMAT_X8_D24_UNORM_PACK32"; 357 case VK_FORMAT_D32_SFLOAT: return "VK_FORMAT_D32_SFLOAT"; 358 case VK_FORMAT_S8_UINT: return "VK_FORMAT_S8_UINT"; 359 case VK_FORMAT_D16_UNORM_S8_UINT: return "VK_FORMAT_D16_UNORM_S8_UINT"; 360 case VK_FORMAT_D24_UNORM_S8_UINT: return "VK_FORMAT_D24_UNORM_S8_UINT"; 361 case VK_FORMAT_D32_SFLOAT_S8_UINT: return "VK_FORMAT_D32_SFLOAT_S8_UINT"; 362 case VK_FORMAT_BC1_RGB_UNORM_BLOCK: return "VK_FORMAT_BC1_RGB_UNORM_BLOCK"; 363 case VK_FORMAT_BC1_RGB_SRGB_BLOCK: return "VK_FORMAT_BC1_RGB_SRGB_BLOCK"; 364 case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"; 365 case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"; 366 case VK_FORMAT_BC2_UNORM_BLOCK: return "VK_FORMAT_BC2_UNORM_BLOCK"; 367 case VK_FORMAT_BC2_SRGB_BLOCK: return "VK_FORMAT_BC2_SRGB_BLOCK"; 368 case VK_FORMAT_BC3_UNORM_BLOCK: return "VK_FORMAT_BC3_UNORM_BLOCK"; 369 case VK_FORMAT_BC3_SRGB_BLOCK: return "VK_FORMAT_BC3_SRGB_BLOCK"; 370 case VK_FORMAT_BC4_UNORM_BLOCK: return "VK_FORMAT_BC4_UNORM_BLOCK"; 371 case VK_FORMAT_BC4_SNORM_BLOCK: return "VK_FORMAT_BC4_SNORM_BLOCK"; 372 case VK_FORMAT_BC5_UNORM_BLOCK: return "VK_FORMAT_BC5_UNORM_BLOCK"; 373 case VK_FORMAT_BC5_SNORM_BLOCK: return "VK_FORMAT_BC5_SNORM_BLOCK"; 374 case VK_FORMAT_BC6H_UFLOAT_BLOCK: return "VK_FORMAT_BC6H_UFLOAT_BLOCK"; 375 case VK_FORMAT_BC6H_SFLOAT_BLOCK: return "VK_FORMAT_BC6H_SFLOAT_BLOCK"; 376 case VK_FORMAT_BC7_UNORM_BLOCK: return "VK_FORMAT_BC7_UNORM_BLOCK"; 377 case VK_FORMAT_BC7_SRGB_BLOCK: return "VK_FORMAT_BC7_SRGB_BLOCK"; 378 case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"; 379 case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"; 380 case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"; 381 case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"; 382 case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"; 383 case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"; 384 case VK_FORMAT_EAC_R11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11_UNORM_BLOCK"; 385 case VK_FORMAT_EAC_R11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11_SNORM_BLOCK"; 386 case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"; 387 case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"; 388 case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"; 389 case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"; 390 case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"; 391 case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"; 392 case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"; 393 case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"; 394 case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"; 395 case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"; 396 case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"; 397 case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"; 398 case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"; 399 case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"; 400 case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"; 401 case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"; 402 case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"; 403 case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"; 404 case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"; 405 case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"; 406 case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"; 407 case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"; 408 case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"; 409 case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"; 410 case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"; 411 case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"; 412 case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"; 413 case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"; 414 case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"; 415 case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"; 416 case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG"; 417 case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG"; 418 case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG"; 419 case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG"; 420 case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG"; 421 case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG"; 422 case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG"; 423 case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG"; 424 default: return DE_NULL; 425 } 426} 427 428const char* getImageTypeName (VkImageType value) 429{ 430 switch (value) 431 { 432 case VK_IMAGE_TYPE_1D: return "VK_IMAGE_TYPE_1D"; 433 case VK_IMAGE_TYPE_2D: return "VK_IMAGE_TYPE_2D"; 434 case VK_IMAGE_TYPE_3D: return "VK_IMAGE_TYPE_3D"; 435 default: return DE_NULL; 436 } 437} 438 439const char* getImageTilingName (VkImageTiling value) 440{ 441 switch (value) 442 { 443 case VK_IMAGE_TILING_OPTIMAL: return "VK_IMAGE_TILING_OPTIMAL"; 444 case VK_IMAGE_TILING_LINEAR: return "VK_IMAGE_TILING_LINEAR"; 445 default: return DE_NULL; 446 } 447} 448 449const char* getPhysicalDeviceTypeName (VkPhysicalDeviceType value) 450{ 451 switch (value) 452 { 453 case VK_PHYSICAL_DEVICE_TYPE_OTHER: return "VK_PHYSICAL_DEVICE_TYPE_OTHER"; 454 case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"; 455 case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"; 456 case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"; 457 case VK_PHYSICAL_DEVICE_TYPE_CPU: return "VK_PHYSICAL_DEVICE_TYPE_CPU"; 458 default: return DE_NULL; 459 } 460} 461 462const char* getQueryTypeName (VkQueryType value) 463{ 464 switch (value) 465 { 466 case VK_QUERY_TYPE_OCCLUSION: return "VK_QUERY_TYPE_OCCLUSION"; 467 case VK_QUERY_TYPE_PIPELINE_STATISTICS: return "VK_QUERY_TYPE_PIPELINE_STATISTICS"; 468 case VK_QUERY_TYPE_TIMESTAMP: return "VK_QUERY_TYPE_TIMESTAMP"; 469 default: return DE_NULL; 470 } 471} 472 473const char* getSharingModeName (VkSharingMode value) 474{ 475 switch (value) 476 { 477 case VK_SHARING_MODE_EXCLUSIVE: return "VK_SHARING_MODE_EXCLUSIVE"; 478 case VK_SHARING_MODE_CONCURRENT: return "VK_SHARING_MODE_CONCURRENT"; 479 default: return DE_NULL; 480 } 481} 482 483const char* getImageLayoutName (VkImageLayout value) 484{ 485 switch (value) 486 { 487 case VK_IMAGE_LAYOUT_UNDEFINED: return "VK_IMAGE_LAYOUT_UNDEFINED"; 488 case VK_IMAGE_LAYOUT_GENERAL: return "VK_IMAGE_LAYOUT_GENERAL"; 489 case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"; 490 case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"; 491 case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"; 492 case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"; 493 case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"; 494 case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"; 495 case VK_IMAGE_LAYOUT_PREINITIALIZED: return "VK_IMAGE_LAYOUT_PREINITIALIZED"; 496 case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"; 497 case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"; 498 default: return DE_NULL; 499 } 500} 501 502const char* getImageViewTypeName (VkImageViewType value) 503{ 504 switch (value) 505 { 506 case VK_IMAGE_VIEW_TYPE_1D: return "VK_IMAGE_VIEW_TYPE_1D"; 507 case VK_IMAGE_VIEW_TYPE_2D: return "VK_IMAGE_VIEW_TYPE_2D"; 508 case VK_IMAGE_VIEW_TYPE_3D: return "VK_IMAGE_VIEW_TYPE_3D"; 509 case VK_IMAGE_VIEW_TYPE_CUBE: return "VK_IMAGE_VIEW_TYPE_CUBE"; 510 case VK_IMAGE_VIEW_TYPE_1D_ARRAY: return "VK_IMAGE_VIEW_TYPE_1D_ARRAY"; 511 case VK_IMAGE_VIEW_TYPE_2D_ARRAY: return "VK_IMAGE_VIEW_TYPE_2D_ARRAY"; 512 case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"; 513 default: return DE_NULL; 514 } 515} 516 517const char* getComponentSwizzleName (VkComponentSwizzle value) 518{ 519 switch (value) 520 { 521 case VK_COMPONENT_SWIZZLE_IDENTITY: return "VK_COMPONENT_SWIZZLE_IDENTITY"; 522 case VK_COMPONENT_SWIZZLE_ZERO: return "VK_COMPONENT_SWIZZLE_ZERO"; 523 case VK_COMPONENT_SWIZZLE_ONE: return "VK_COMPONENT_SWIZZLE_ONE"; 524 case VK_COMPONENT_SWIZZLE_R: return "VK_COMPONENT_SWIZZLE_R"; 525 case VK_COMPONENT_SWIZZLE_G: return "VK_COMPONENT_SWIZZLE_G"; 526 case VK_COMPONENT_SWIZZLE_B: return "VK_COMPONENT_SWIZZLE_B"; 527 case VK_COMPONENT_SWIZZLE_A: return "VK_COMPONENT_SWIZZLE_A"; 528 default: return DE_NULL; 529 } 530} 531 532const char* getVertexInputRateName (VkVertexInputRate value) 533{ 534 switch (value) 535 { 536 case VK_VERTEX_INPUT_RATE_VERTEX: return "VK_VERTEX_INPUT_RATE_VERTEX"; 537 case VK_VERTEX_INPUT_RATE_INSTANCE: return "VK_VERTEX_INPUT_RATE_INSTANCE"; 538 default: return DE_NULL; 539 } 540} 541 542const char* getPrimitiveTopologyName (VkPrimitiveTopology value) 543{ 544 switch (value) 545 { 546 case VK_PRIMITIVE_TOPOLOGY_POINT_LIST: return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"; 547 case VK_PRIMITIVE_TOPOLOGY_LINE_LIST: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"; 548 case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"; 549 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"; 550 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"; 551 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"; 552 case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"; 553 case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"; 554 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"; 555 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"; 556 case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"; 557 default: return DE_NULL; 558 } 559} 560 561const char* getPolygonModeName (VkPolygonMode value) 562{ 563 switch (value) 564 { 565 case VK_POLYGON_MODE_FILL: return "VK_POLYGON_MODE_FILL"; 566 case VK_POLYGON_MODE_LINE: return "VK_POLYGON_MODE_LINE"; 567 case VK_POLYGON_MODE_POINT: return "VK_POLYGON_MODE_POINT"; 568 default: return DE_NULL; 569 } 570} 571 572const char* getFrontFaceName (VkFrontFace value) 573{ 574 switch (value) 575 { 576 case VK_FRONT_FACE_COUNTER_CLOCKWISE: return "VK_FRONT_FACE_COUNTER_CLOCKWISE"; 577 case VK_FRONT_FACE_CLOCKWISE: return "VK_FRONT_FACE_CLOCKWISE"; 578 default: return DE_NULL; 579 } 580} 581 582const char* getCompareOpName (VkCompareOp value) 583{ 584 switch (value) 585 { 586 case VK_COMPARE_OP_NEVER: return "VK_COMPARE_OP_NEVER"; 587 case VK_COMPARE_OP_LESS: return "VK_COMPARE_OP_LESS"; 588 case VK_COMPARE_OP_EQUAL: return "VK_COMPARE_OP_EQUAL"; 589 case VK_COMPARE_OP_LESS_OR_EQUAL: return "VK_COMPARE_OP_LESS_OR_EQUAL"; 590 case VK_COMPARE_OP_GREATER: return "VK_COMPARE_OP_GREATER"; 591 case VK_COMPARE_OP_NOT_EQUAL: return "VK_COMPARE_OP_NOT_EQUAL"; 592 case VK_COMPARE_OP_GREATER_OR_EQUAL: return "VK_COMPARE_OP_GREATER_OR_EQUAL"; 593 case VK_COMPARE_OP_ALWAYS: return "VK_COMPARE_OP_ALWAYS"; 594 default: return DE_NULL; 595 } 596} 597 598const char* getStencilOpName (VkStencilOp value) 599{ 600 switch (value) 601 { 602 case VK_STENCIL_OP_KEEP: return "VK_STENCIL_OP_KEEP"; 603 case VK_STENCIL_OP_ZERO: return "VK_STENCIL_OP_ZERO"; 604 case VK_STENCIL_OP_REPLACE: return "VK_STENCIL_OP_REPLACE"; 605 case VK_STENCIL_OP_INCREMENT_AND_CLAMP: return "VK_STENCIL_OP_INCREMENT_AND_CLAMP"; 606 case VK_STENCIL_OP_DECREMENT_AND_CLAMP: return "VK_STENCIL_OP_DECREMENT_AND_CLAMP"; 607 case VK_STENCIL_OP_INVERT: return "VK_STENCIL_OP_INVERT"; 608 case VK_STENCIL_OP_INCREMENT_AND_WRAP: return "VK_STENCIL_OP_INCREMENT_AND_WRAP"; 609 case VK_STENCIL_OP_DECREMENT_AND_WRAP: return "VK_STENCIL_OP_DECREMENT_AND_WRAP"; 610 default: return DE_NULL; 611 } 612} 613 614const char* getLogicOpName (VkLogicOp value) 615{ 616 switch (value) 617 { 618 case VK_LOGIC_OP_CLEAR: return "VK_LOGIC_OP_CLEAR"; 619 case VK_LOGIC_OP_AND: return "VK_LOGIC_OP_AND"; 620 case VK_LOGIC_OP_AND_REVERSE: return "VK_LOGIC_OP_AND_REVERSE"; 621 case VK_LOGIC_OP_COPY: return "VK_LOGIC_OP_COPY"; 622 case VK_LOGIC_OP_AND_INVERTED: return "VK_LOGIC_OP_AND_INVERTED"; 623 case VK_LOGIC_OP_NO_OP: return "VK_LOGIC_OP_NO_OP"; 624 case VK_LOGIC_OP_XOR: return "VK_LOGIC_OP_XOR"; 625 case VK_LOGIC_OP_OR: return "VK_LOGIC_OP_OR"; 626 case VK_LOGIC_OP_NOR: return "VK_LOGIC_OP_NOR"; 627 case VK_LOGIC_OP_EQUIVALENT: return "VK_LOGIC_OP_EQUIVALENT"; 628 case VK_LOGIC_OP_INVERT: return "VK_LOGIC_OP_INVERT"; 629 case VK_LOGIC_OP_OR_REVERSE: return "VK_LOGIC_OP_OR_REVERSE"; 630 case VK_LOGIC_OP_COPY_INVERTED: return "VK_LOGIC_OP_COPY_INVERTED"; 631 case VK_LOGIC_OP_OR_INVERTED: return "VK_LOGIC_OP_OR_INVERTED"; 632 case VK_LOGIC_OP_NAND: return "VK_LOGIC_OP_NAND"; 633 case VK_LOGIC_OP_SET: return "VK_LOGIC_OP_SET"; 634 default: return DE_NULL; 635 } 636} 637 638const char* getBlendFactorName (VkBlendFactor value) 639{ 640 switch (value) 641 { 642 case VK_BLEND_FACTOR_ZERO: return "VK_BLEND_FACTOR_ZERO"; 643 case VK_BLEND_FACTOR_ONE: return "VK_BLEND_FACTOR_ONE"; 644 case VK_BLEND_FACTOR_SRC_COLOR: return "VK_BLEND_FACTOR_SRC_COLOR"; 645 case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"; 646 case VK_BLEND_FACTOR_DST_COLOR: return "VK_BLEND_FACTOR_DST_COLOR"; 647 case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"; 648 case VK_BLEND_FACTOR_SRC_ALPHA: return "VK_BLEND_FACTOR_SRC_ALPHA"; 649 case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"; 650 case VK_BLEND_FACTOR_DST_ALPHA: return "VK_BLEND_FACTOR_DST_ALPHA"; 651 case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"; 652 case VK_BLEND_FACTOR_CONSTANT_COLOR: return "VK_BLEND_FACTOR_CONSTANT_COLOR"; 653 case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"; 654 case VK_BLEND_FACTOR_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_CONSTANT_ALPHA"; 655 case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"; 656 case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"; 657 case VK_BLEND_FACTOR_SRC1_COLOR: return "VK_BLEND_FACTOR_SRC1_COLOR"; 658 case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"; 659 case VK_BLEND_FACTOR_SRC1_ALPHA: return "VK_BLEND_FACTOR_SRC1_ALPHA"; 660 case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"; 661 default: return DE_NULL; 662 } 663} 664 665const char* getBlendOpName (VkBlendOp value) 666{ 667 switch (value) 668 { 669 case VK_BLEND_OP_ADD: return "VK_BLEND_OP_ADD"; 670 case VK_BLEND_OP_SUBTRACT: return "VK_BLEND_OP_SUBTRACT"; 671 case VK_BLEND_OP_REVERSE_SUBTRACT: return "VK_BLEND_OP_REVERSE_SUBTRACT"; 672 case VK_BLEND_OP_MIN: return "VK_BLEND_OP_MIN"; 673 case VK_BLEND_OP_MAX: return "VK_BLEND_OP_MAX"; 674 default: return DE_NULL; 675 } 676} 677 678const char* getDynamicStateName (VkDynamicState value) 679{ 680 switch (value) 681 { 682 case VK_DYNAMIC_STATE_VIEWPORT: return "VK_DYNAMIC_STATE_VIEWPORT"; 683 case VK_DYNAMIC_STATE_SCISSOR: return "VK_DYNAMIC_STATE_SCISSOR"; 684 case VK_DYNAMIC_STATE_LINE_WIDTH: return "VK_DYNAMIC_STATE_LINE_WIDTH"; 685 case VK_DYNAMIC_STATE_DEPTH_BIAS: return "VK_DYNAMIC_STATE_DEPTH_BIAS"; 686 case VK_DYNAMIC_STATE_BLEND_CONSTANTS: return "VK_DYNAMIC_STATE_BLEND_CONSTANTS"; 687 case VK_DYNAMIC_STATE_DEPTH_BOUNDS: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS"; 688 case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"; 689 case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"; 690 case VK_DYNAMIC_STATE_STENCIL_REFERENCE: return "VK_DYNAMIC_STATE_STENCIL_REFERENCE"; 691 default: return DE_NULL; 692 } 693} 694 695const char* getFilterName (VkFilter value) 696{ 697 switch (value) 698 { 699 case VK_FILTER_NEAREST: return "VK_FILTER_NEAREST"; 700 case VK_FILTER_LINEAR: return "VK_FILTER_LINEAR"; 701 case VK_FILTER_CUBIC_IMG: return "VK_FILTER_CUBIC_IMG"; 702 default: return DE_NULL; 703 } 704} 705 706const char* getSamplerMipmapModeName (VkSamplerMipmapMode value) 707{ 708 switch (value) 709 { 710 case VK_SAMPLER_MIPMAP_MODE_NEAREST: return "VK_SAMPLER_MIPMAP_MODE_NEAREST"; 711 case VK_SAMPLER_MIPMAP_MODE_LINEAR: return "VK_SAMPLER_MIPMAP_MODE_LINEAR"; 712 default: return DE_NULL; 713 } 714} 715 716const char* getSamplerAddressModeName (VkSamplerAddressMode value) 717{ 718 switch (value) 719 { 720 case VK_SAMPLER_ADDRESS_MODE_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_REPEAT"; 721 case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"; 722 case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"; 723 case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"; 724 case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"; 725 default: return DE_NULL; 726 } 727} 728 729const char* getBorderColorName (VkBorderColor value) 730{ 731 switch (value) 732 { 733 case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"; 734 case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"; 735 case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"; 736 case VK_BORDER_COLOR_INT_OPAQUE_BLACK: return "VK_BORDER_COLOR_INT_OPAQUE_BLACK"; 737 case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"; 738 case VK_BORDER_COLOR_INT_OPAQUE_WHITE: return "VK_BORDER_COLOR_INT_OPAQUE_WHITE"; 739 default: return DE_NULL; 740 } 741} 742 743const char* getDescriptorTypeName (VkDescriptorType value) 744{ 745 switch (value) 746 { 747 case VK_DESCRIPTOR_TYPE_SAMPLER: return "VK_DESCRIPTOR_TYPE_SAMPLER"; 748 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"; 749 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"; 750 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"; 751 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"; 752 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"; 753 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"; 754 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"; 755 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"; 756 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"; 757 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"; 758 default: return DE_NULL; 759 } 760} 761 762const char* getAttachmentLoadOpName (VkAttachmentLoadOp value) 763{ 764 switch (value) 765 { 766 case VK_ATTACHMENT_LOAD_OP_LOAD: return "VK_ATTACHMENT_LOAD_OP_LOAD"; 767 case VK_ATTACHMENT_LOAD_OP_CLEAR: return "VK_ATTACHMENT_LOAD_OP_CLEAR"; 768 case VK_ATTACHMENT_LOAD_OP_DONT_CARE: return "VK_ATTACHMENT_LOAD_OP_DONT_CARE"; 769 default: return DE_NULL; 770 } 771} 772 773const char* getAttachmentStoreOpName (VkAttachmentStoreOp value) 774{ 775 switch (value) 776 { 777 case VK_ATTACHMENT_STORE_OP_STORE: return "VK_ATTACHMENT_STORE_OP_STORE"; 778 case VK_ATTACHMENT_STORE_OP_DONT_CARE: return "VK_ATTACHMENT_STORE_OP_DONT_CARE"; 779 default: return DE_NULL; 780 } 781} 782 783const char* getPipelineBindPointName (VkPipelineBindPoint value) 784{ 785 switch (value) 786 { 787 case VK_PIPELINE_BIND_POINT_GRAPHICS: return "VK_PIPELINE_BIND_POINT_GRAPHICS"; 788 case VK_PIPELINE_BIND_POINT_COMPUTE: return "VK_PIPELINE_BIND_POINT_COMPUTE"; 789 default: return DE_NULL; 790 } 791} 792 793const char* getCommandBufferLevelName (VkCommandBufferLevel value) 794{ 795 switch (value) 796 { 797 case VK_COMMAND_BUFFER_LEVEL_PRIMARY: return "VK_COMMAND_BUFFER_LEVEL_PRIMARY"; 798 case VK_COMMAND_BUFFER_LEVEL_SECONDARY: return "VK_COMMAND_BUFFER_LEVEL_SECONDARY"; 799 default: return DE_NULL; 800 } 801} 802 803const char* getIndexTypeName (VkIndexType value) 804{ 805 switch (value) 806 { 807 case VK_INDEX_TYPE_UINT16: return "VK_INDEX_TYPE_UINT16"; 808 case VK_INDEX_TYPE_UINT32: return "VK_INDEX_TYPE_UINT32"; 809 default: return DE_NULL; 810 } 811} 812 813const char* getSubpassContentsName (VkSubpassContents value) 814{ 815 switch (value) 816 { 817 case VK_SUBPASS_CONTENTS_INLINE: return "VK_SUBPASS_CONTENTS_INLINE"; 818 case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"; 819 default: return DE_NULL; 820 } 821} 822 823const char* getColorSpaceKHRName (VkColorSpaceKHR value) 824{ 825 switch (value) 826 { 827 case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"; 828 case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT"; 829 case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT"; 830 case VK_COLOR_SPACE_DCI_P3_LINEAR_EXT: return "VK_COLOR_SPACE_DCI_P3_LINEAR_EXT"; 831 case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT"; 832 case VK_COLOR_SPACE_BT709_LINEAR_EXT: return "VK_COLOR_SPACE_BT709_LINEAR_EXT"; 833 case VK_COLOR_SPACE_BT709_NONLINEAR_EXT: return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT"; 834 case VK_COLOR_SPACE_BT2020_LINEAR_EXT: return "VK_COLOR_SPACE_BT2020_LINEAR_EXT"; 835 case VK_COLOR_SPACE_HDR10_ST2084_EXT: return "VK_COLOR_SPACE_HDR10_ST2084_EXT"; 836 case VK_COLOR_SPACE_DOLBYVISION_EXT: return "VK_COLOR_SPACE_DOLBYVISION_EXT"; 837 case VK_COLOR_SPACE_HDR10_HLG_EXT: return "VK_COLOR_SPACE_HDR10_HLG_EXT"; 838 case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT"; 839 case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT"; 840 case VK_COLOR_SPACE_PASS_THROUGH_EXT: return "VK_COLOR_SPACE_PASS_THROUGH_EXT"; 841 default: return DE_NULL; 842 } 843} 844 845const char* getPresentModeKHRName (VkPresentModeKHR value) 846{ 847 switch (value) 848 { 849 case VK_PRESENT_MODE_IMMEDIATE_KHR: return "VK_PRESENT_MODE_IMMEDIATE_KHR"; 850 case VK_PRESENT_MODE_MAILBOX_KHR: return "VK_PRESENT_MODE_MAILBOX_KHR"; 851 case VK_PRESENT_MODE_FIFO_KHR: return "VK_PRESENT_MODE_FIFO_KHR"; 852 case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return "VK_PRESENT_MODE_FIFO_RELAXED_KHR"; 853 case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR"; 854 case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR"; 855 default: return DE_NULL; 856 } 857} 858 859const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value) 860{ 861 switch (value) 862 { 863 case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"; 864 case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"; 865 case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"; 866 case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"; 867 case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"; 868 case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"; 869 case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"; 870 case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"; 871 case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"; 872 case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"; 873 case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"; 874 case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"; 875 case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"; 876 case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"; 877 case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"; 878 case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"; 879 case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"; 880 case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"; 881 case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"; 882 case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"; 883 case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"; 884 case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"; 885 case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"; 886 case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"; 887 case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"; 888 case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"; 889 case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"; 890 case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"; 891 case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT"; 892 default: return DE_NULL; 893 } 894} 895 896const char* getDebugReportErrorEXTName (VkDebugReportErrorEXT value) 897{ 898 switch (value) 899 { 900 case VK_DEBUG_REPORT_ERROR_NONE_EXT: return "VK_DEBUG_REPORT_ERROR_NONE_EXT"; 901 case VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT: return "VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT"; 902 default: return DE_NULL; 903 } 904} 905 906const char* getRasterizationOrderAMDName (VkRasterizationOrderAMD value) 907{ 908 switch (value) 909 { 910 case VK_RASTERIZATION_ORDER_STRICT_AMD: return "VK_RASTERIZATION_ORDER_STRICT_AMD"; 911 case VK_RASTERIZATION_ORDER_RELAXED_AMD: return "VK_RASTERIZATION_ORDER_RELAXED_AMD"; 912 default: return DE_NULL; 913 } 914} 915 916const char* getValidationCheckEXTName (VkValidationCheckEXT value) 917{ 918 switch (value) 919 { 920 case VK_VALIDATION_CHECK_ALL_EXT: return "VK_VALIDATION_CHECK_ALL_EXT"; 921 default: return DE_NULL; 922 } 923} 924 925const char* getIndirectCommandsTokenTypeNVXName (VkIndirectCommandsTokenTypeNVX value) 926{ 927 switch (value) 928 { 929 case VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX"; 930 case VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX"; 931 case VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX"; 932 case VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX"; 933 case VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX"; 934 case VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX"; 935 case VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX"; 936 case VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX: return "VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX"; 937 default: return DE_NULL; 938 } 939} 940 941const char* getObjectEntryTypeNVXName (VkObjectEntryTypeNVX value) 942{ 943 switch (value) 944 { 945 case VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX: return "VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX"; 946 case VK_OBJECT_ENTRY_PIPELINE_NVX: return "VK_OBJECT_ENTRY_PIPELINE_NVX"; 947 case VK_OBJECT_ENTRY_INDEX_BUFFER_NVX: return "VK_OBJECT_ENTRY_INDEX_BUFFER_NVX"; 948 case VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX: return "VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX"; 949 case VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX: return "VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX"; 950 default: return DE_NULL; 951 } 952} 953 954const char* getDescriptorUpdateTemplateTypeKHRName (VkDescriptorUpdateTemplateTypeKHR value) 955{ 956 switch (value) 957 { 958 case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR"; 959 case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR"; 960 default: return DE_NULL; 961 } 962} 963 964tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value) 965{ 966 static const tcu::Format::BitDesc s_desc[] = 967 { 968 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"), 969 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"), 970 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"), 971 tcu::Format::BitDesc(VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"), 972 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"), 973 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"), 974 tcu::Format::BitDesc(VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"), 975 tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"), 976 tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"), 977 tcu::Format::BitDesc(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"), 978 tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_SRC_BIT, "VK_FORMAT_FEATURE_BLIT_SRC_BIT"), 979 tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_DST_BIT, "VK_FORMAT_FEATURE_BLIT_DST_BIT"), 980 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"), 981 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG"), 982 tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR"), 983 tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR"), 984 }; 985 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 986} 987 988tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value) 989{ 990 static const tcu::Format::BitDesc s_desc[] = 991 { 992 tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_SRC_BIT, "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"), 993 tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_DST_BIT, "VK_IMAGE_USAGE_TRANSFER_DST_BIT"), 994 tcu::Format::BitDesc(VK_IMAGE_USAGE_SAMPLED_BIT, "VK_IMAGE_USAGE_SAMPLED_BIT"), 995 tcu::Format::BitDesc(VK_IMAGE_USAGE_STORAGE_BIT, "VK_IMAGE_USAGE_STORAGE_BIT"), 996 tcu::Format::BitDesc(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"), 997 tcu::Format::BitDesc(VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"), 998 tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"), 999 tcu::Format::BitDesc(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"), 1000 }; 1001 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1002} 1003 1004tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value) 1005{ 1006 static const tcu::Format::BitDesc s_desc[] = 1007 { 1008 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_BINDING_BIT, "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"), 1009 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"), 1010 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"), 1011 tcu::Format::BitDesc(VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"), 1012 tcu::Format::BitDesc(VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"), 1013 tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR"), 1014 }; 1015 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1016} 1017 1018tcu::Format::Bitfield<32> getSampleCountFlagsStr (VkSampleCountFlags value) 1019{ 1020 static const tcu::Format::BitDesc s_desc[] = 1021 { 1022 tcu::Format::BitDesc(VK_SAMPLE_COUNT_1_BIT, "VK_SAMPLE_COUNT_1_BIT"), 1023 tcu::Format::BitDesc(VK_SAMPLE_COUNT_2_BIT, "VK_SAMPLE_COUNT_2_BIT"), 1024 tcu::Format::BitDesc(VK_SAMPLE_COUNT_4_BIT, "VK_SAMPLE_COUNT_4_BIT"), 1025 tcu::Format::BitDesc(VK_SAMPLE_COUNT_8_BIT, "VK_SAMPLE_COUNT_8_BIT"), 1026 tcu::Format::BitDesc(VK_SAMPLE_COUNT_16_BIT, "VK_SAMPLE_COUNT_16_BIT"), 1027 tcu::Format::BitDesc(VK_SAMPLE_COUNT_32_BIT, "VK_SAMPLE_COUNT_32_BIT"), 1028 tcu::Format::BitDesc(VK_SAMPLE_COUNT_64_BIT, "VK_SAMPLE_COUNT_64_BIT"), 1029 }; 1030 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1031} 1032 1033tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value) 1034{ 1035 static const tcu::Format::BitDesc s_desc[] = 1036 { 1037 tcu::Format::BitDesc(VK_QUEUE_GRAPHICS_BIT, "VK_QUEUE_GRAPHICS_BIT"), 1038 tcu::Format::BitDesc(VK_QUEUE_COMPUTE_BIT, "VK_QUEUE_COMPUTE_BIT"), 1039 tcu::Format::BitDesc(VK_QUEUE_TRANSFER_BIT, "VK_QUEUE_TRANSFER_BIT"), 1040 tcu::Format::BitDesc(VK_QUEUE_SPARSE_BINDING_BIT, "VK_QUEUE_SPARSE_BINDING_BIT"), 1041 }; 1042 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1043} 1044 1045tcu::Format::Bitfield<32> getMemoryPropertyFlagsStr (VkMemoryPropertyFlags value) 1046{ 1047 static const tcu::Format::BitDesc s_desc[] = 1048 { 1049 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"), 1050 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"), 1051 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"), 1052 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_CACHED_BIT, "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"), 1053 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"), 1054 }; 1055 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1056} 1057 1058tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value) 1059{ 1060 static const tcu::Format::BitDesc s_desc[] = 1061 { 1062 tcu::Format::BitDesc(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"), 1063 }; 1064 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1065} 1066 1067tcu::Format::Bitfield<32> getPipelineStageFlagsStr (VkPipelineStageFlags value) 1068{ 1069 static const tcu::Format::BitDesc s_desc[] = 1070 { 1071 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"), 1072 tcu::Format::BitDesc(VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"), 1073 tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"), 1074 tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"), 1075 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"), 1076 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"), 1077 tcu::Format::BitDesc(VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"), 1078 tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"), 1079 tcu::Format::BitDesc(VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"), 1080 tcu::Format::BitDesc(VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"), 1081 tcu::Format::BitDesc(VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"), 1082 tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"), 1083 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TRANSFER_BIT, "VK_PIPELINE_STAGE_TRANSFER_BIT"), 1084 tcu::Format::BitDesc(VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"), 1085 tcu::Format::BitDesc(VK_PIPELINE_STAGE_HOST_BIT, "VK_PIPELINE_STAGE_HOST_BIT"), 1086 tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"), 1087 tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"), 1088 tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX, "VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX"), 1089 }; 1090 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1091} 1092 1093tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value) 1094{ 1095 static const tcu::Format::BitDesc s_desc[] = 1096 { 1097 tcu::Format::BitDesc(VK_IMAGE_ASPECT_COLOR_BIT, "VK_IMAGE_ASPECT_COLOR_BIT"), 1098 tcu::Format::BitDesc(VK_IMAGE_ASPECT_DEPTH_BIT, "VK_IMAGE_ASPECT_DEPTH_BIT"), 1099 tcu::Format::BitDesc(VK_IMAGE_ASPECT_STENCIL_BIT, "VK_IMAGE_ASPECT_STENCIL_BIT"), 1100 tcu::Format::BitDesc(VK_IMAGE_ASPECT_METADATA_BIT, "VK_IMAGE_ASPECT_METADATA_BIT"), 1101 }; 1102 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1103} 1104 1105tcu::Format::Bitfield<32> getSparseImageFormatFlagsStr (VkSparseImageFormatFlags value) 1106{ 1107 static const tcu::Format::BitDesc s_desc[] = 1108 { 1109 tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"), 1110 tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"), 1111 tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"), 1112 }; 1113 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1114} 1115 1116tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value) 1117{ 1118 static const tcu::Format::BitDesc s_desc[] = 1119 { 1120 tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_METADATA_BIT, "VK_SPARSE_MEMORY_BIND_METADATA_BIT"), 1121 }; 1122 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1123} 1124 1125tcu::Format::Bitfield<32> getFenceCreateFlagsStr (VkFenceCreateFlags value) 1126{ 1127 static const tcu::Format::BitDesc s_desc[] = 1128 { 1129 tcu::Format::BitDesc(VK_FENCE_CREATE_SIGNALED_BIT, "VK_FENCE_CREATE_SIGNALED_BIT"), 1130 }; 1131 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1132} 1133 1134tcu::Format::Bitfield<32> getQueryPipelineStatisticFlagsStr (VkQueryPipelineStatisticFlags value) 1135{ 1136 static const tcu::Format::BitDesc s_desc[] = 1137 { 1138 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"), 1139 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"), 1140 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"), 1141 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"), 1142 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"), 1143 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"), 1144 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"), 1145 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"), 1146 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"), 1147 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"), 1148 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"), 1149 }; 1150 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1151} 1152 1153tcu::Format::Bitfield<32> getQueryResultFlagsStr (VkQueryResultFlags value) 1154{ 1155 static const tcu::Format::BitDesc s_desc[] = 1156 { 1157 tcu::Format::BitDesc(VK_QUERY_RESULT_64_BIT, "VK_QUERY_RESULT_64_BIT"), 1158 tcu::Format::BitDesc(VK_QUERY_RESULT_WAIT_BIT, "VK_QUERY_RESULT_WAIT_BIT"), 1159 tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"), 1160 tcu::Format::BitDesc(VK_QUERY_RESULT_PARTIAL_BIT, "VK_QUERY_RESULT_PARTIAL_BIT"), 1161 }; 1162 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1163} 1164 1165tcu::Format::Bitfield<32> getBufferCreateFlagsStr (VkBufferCreateFlags value) 1166{ 1167 static const tcu::Format::BitDesc s_desc[] = 1168 { 1169 tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_BINDING_BIT, "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"), 1170 tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"), 1171 tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"), 1172 }; 1173 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1174} 1175 1176tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value) 1177{ 1178 static const tcu::Format::BitDesc s_desc[] = 1179 { 1180 tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"), 1181 tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_DST_BIT, "VK_BUFFER_USAGE_TRANSFER_DST_BIT"), 1182 tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"), 1183 tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"), 1184 tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"), 1185 tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"), 1186 tcu::Format::BitDesc(VK_BUFFER_USAGE_INDEX_BUFFER_BIT, "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"), 1187 tcu::Format::BitDesc(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"), 1188 tcu::Format::BitDesc(VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"), 1189 }; 1190 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1191} 1192 1193tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value) 1194{ 1195 static const tcu::Format::BitDesc s_desc[] = 1196 { 1197 tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"), 1198 tcu::Format::BitDesc(VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"), 1199 tcu::Format::BitDesc(VK_PIPELINE_CREATE_DERIVATIVE_BIT, "VK_PIPELINE_CREATE_DERIVATIVE_BIT"), 1200 }; 1201 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1202} 1203 1204tcu::Format::Bitfield<32> getShaderStageFlagsStr (VkShaderStageFlags value) 1205{ 1206 static const tcu::Format::BitDesc s_desc[] = 1207 { 1208 tcu::Format::BitDesc(VK_SHADER_STAGE_VERTEX_BIT, "VK_SHADER_STAGE_VERTEX_BIT"), 1209 tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"), 1210 tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"), 1211 tcu::Format::BitDesc(VK_SHADER_STAGE_GEOMETRY_BIT, "VK_SHADER_STAGE_GEOMETRY_BIT"), 1212 tcu::Format::BitDesc(VK_SHADER_STAGE_FRAGMENT_BIT, "VK_SHADER_STAGE_FRAGMENT_BIT"), 1213 tcu::Format::BitDesc(VK_SHADER_STAGE_COMPUTE_BIT, "VK_SHADER_STAGE_COMPUTE_BIT"), 1214 tcu::Format::BitDesc(VK_SHADER_STAGE_ALL_GRAPHICS, "VK_SHADER_STAGE_ALL_GRAPHICS"), 1215 tcu::Format::BitDesc(VK_SHADER_STAGE_ALL, "VK_SHADER_STAGE_ALL"), 1216 }; 1217 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1218} 1219 1220tcu::Format::Bitfield<32> getCullModeFlagsStr (VkCullModeFlags value) 1221{ 1222 static const tcu::Format::BitDesc s_desc[] = 1223 { 1224 tcu::Format::BitDesc(VK_CULL_MODE_NONE, "VK_CULL_MODE_NONE"), 1225 tcu::Format::BitDesc(VK_CULL_MODE_FRONT_BIT, "VK_CULL_MODE_FRONT_BIT"), 1226 tcu::Format::BitDesc(VK_CULL_MODE_BACK_BIT, "VK_CULL_MODE_BACK_BIT"), 1227 tcu::Format::BitDesc(VK_CULL_MODE_FRONT_AND_BACK, "VK_CULL_MODE_FRONT_AND_BACK"), 1228 }; 1229 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1230} 1231 1232tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value) 1233{ 1234 static const tcu::Format::BitDesc s_desc[] = 1235 { 1236 tcu::Format::BitDesc(VK_COLOR_COMPONENT_R_BIT, "VK_COLOR_COMPONENT_R_BIT"), 1237 tcu::Format::BitDesc(VK_COLOR_COMPONENT_G_BIT, "VK_COLOR_COMPONENT_G_BIT"), 1238 tcu::Format::BitDesc(VK_COLOR_COMPONENT_B_BIT, "VK_COLOR_COMPONENT_B_BIT"), 1239 tcu::Format::BitDesc(VK_COLOR_COMPONENT_A_BIT, "VK_COLOR_COMPONENT_A_BIT"), 1240 }; 1241 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1242} 1243 1244tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetLayoutCreateFlags value) 1245{ 1246 static const tcu::Format::BitDesc s_desc[] = 1247 { 1248 tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"), 1249 }; 1250 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1251} 1252 1253tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value) 1254{ 1255 static const tcu::Format::BitDesc s_desc[] = 1256 { 1257 tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"), 1258 }; 1259 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1260} 1261 1262tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value) 1263{ 1264 static const tcu::Format::BitDesc s_desc[] = 1265 { 1266 tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"), 1267 }; 1268 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1269} 1270 1271tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value) 1272{ 1273 static const tcu::Format::BitDesc s_desc[] = 1274 { 1275 tcu::Format::BitDesc(VK_ACCESS_INDIRECT_COMMAND_READ_BIT, "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"), 1276 tcu::Format::BitDesc(VK_ACCESS_INDEX_READ_BIT, "VK_ACCESS_INDEX_READ_BIT"), 1277 tcu::Format::BitDesc(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"), 1278 tcu::Format::BitDesc(VK_ACCESS_UNIFORM_READ_BIT, "VK_ACCESS_UNIFORM_READ_BIT"), 1279 tcu::Format::BitDesc(VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"), 1280 tcu::Format::BitDesc(VK_ACCESS_SHADER_READ_BIT, "VK_ACCESS_SHADER_READ_BIT"), 1281 tcu::Format::BitDesc(VK_ACCESS_SHADER_WRITE_BIT, "VK_ACCESS_SHADER_WRITE_BIT"), 1282 tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"), 1283 tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"), 1284 tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"), 1285 tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"), 1286 tcu::Format::BitDesc(VK_ACCESS_TRANSFER_READ_BIT, "VK_ACCESS_TRANSFER_READ_BIT"), 1287 tcu::Format::BitDesc(VK_ACCESS_TRANSFER_WRITE_BIT, "VK_ACCESS_TRANSFER_WRITE_BIT"), 1288 tcu::Format::BitDesc(VK_ACCESS_HOST_READ_BIT, "VK_ACCESS_HOST_READ_BIT"), 1289 tcu::Format::BitDesc(VK_ACCESS_HOST_WRITE_BIT, "VK_ACCESS_HOST_WRITE_BIT"), 1290 tcu::Format::BitDesc(VK_ACCESS_MEMORY_READ_BIT, "VK_ACCESS_MEMORY_READ_BIT"), 1291 tcu::Format::BitDesc(VK_ACCESS_MEMORY_WRITE_BIT, "VK_ACCESS_MEMORY_WRITE_BIT"), 1292 }; 1293 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1294} 1295 1296tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value) 1297{ 1298 static const tcu::Format::BitDesc s_desc[] = 1299 { 1300 tcu::Format::BitDesc(VK_DEPENDENCY_BY_REGION_BIT, "VK_DEPENDENCY_BY_REGION_BIT"), 1301 }; 1302 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1303} 1304 1305tcu::Format::Bitfield<32> getCommandPoolCreateFlagsStr (VkCommandPoolCreateFlags value) 1306{ 1307 static const tcu::Format::BitDesc s_desc[] = 1308 { 1309 tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"), 1310 tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"), 1311 }; 1312 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1313} 1314 1315tcu::Format::Bitfield<32> getCommandPoolResetFlagsStr (VkCommandPoolResetFlags value) 1316{ 1317 static const tcu::Format::BitDesc s_desc[] = 1318 { 1319 tcu::Format::BitDesc(VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"), 1320 }; 1321 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1322} 1323 1324tcu::Format::Bitfield<32> getCommandBufferUsageFlagsStr (VkCommandBufferUsageFlags value) 1325{ 1326 static const tcu::Format::BitDesc s_desc[] = 1327 { 1328 tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"), 1329 tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"), 1330 tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"), 1331 }; 1332 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1333} 1334 1335tcu::Format::Bitfield<32> getQueryControlFlagsStr (VkQueryControlFlags value) 1336{ 1337 static const tcu::Format::BitDesc s_desc[] = 1338 { 1339 tcu::Format::BitDesc(VK_QUERY_CONTROL_PRECISE_BIT, "VK_QUERY_CONTROL_PRECISE_BIT"), 1340 }; 1341 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1342} 1343 1344tcu::Format::Bitfield<32> getCommandBufferResetFlagsStr (VkCommandBufferResetFlags value) 1345{ 1346 static const tcu::Format::BitDesc s_desc[] = 1347 { 1348 tcu::Format::BitDesc(VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"), 1349 }; 1350 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1351} 1352 1353tcu::Format::Bitfield<32> getStencilFaceFlagsStr (VkStencilFaceFlags value) 1354{ 1355 static const tcu::Format::BitDesc s_desc[] = 1356 { 1357 tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_BIT, "VK_STENCIL_FACE_FRONT_BIT"), 1358 tcu::Format::BitDesc(VK_STENCIL_FACE_BACK_BIT, "VK_STENCIL_FACE_BACK_BIT"), 1359 tcu::Format::BitDesc(VK_STENCIL_FRONT_AND_BACK, "VK_STENCIL_FRONT_AND_BACK"), 1360 }; 1361 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1362} 1363 1364tcu::Format::Bitfield<32> getSurfaceTransformFlagsKHRStr (VkSurfaceTransformFlagsKHR value) 1365{ 1366 static const tcu::Format::BitDesc s_desc[] = 1367 { 1368 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"), 1369 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"), 1370 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"), 1371 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"), 1372 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"), 1373 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"), 1374 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"), 1375 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"), 1376 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR, "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"), 1377 }; 1378 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1379} 1380 1381tcu::Format::Bitfield<32> getCompositeAlphaFlagsKHRStr (VkCompositeAlphaFlagsKHR value) 1382{ 1383 static const tcu::Format::BitDesc s_desc[] = 1384 { 1385 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"), 1386 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"), 1387 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"), 1388 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"), 1389 }; 1390 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1391} 1392 1393tcu::Format::Bitfield<32> getDisplayPlaneAlphaFlagsKHRStr (VkDisplayPlaneAlphaFlagsKHR value) 1394{ 1395 static const tcu::Format::BitDesc s_desc[] = 1396 { 1397 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"), 1398 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"), 1399 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"), 1400 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"), 1401 }; 1402 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1403} 1404 1405tcu::Format::Bitfield<32> getDebugReportFlagsEXTStr (VkDebugReportFlagsEXT value) 1406{ 1407 static const tcu::Format::BitDesc s_desc[] = 1408 { 1409 tcu::Format::BitDesc(VK_DEBUG_REPORT_INFORMATION_BIT_EXT, "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"), 1410 tcu::Format::BitDesc(VK_DEBUG_REPORT_WARNING_BIT_EXT, "VK_DEBUG_REPORT_WARNING_BIT_EXT"), 1411 tcu::Format::BitDesc(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"), 1412 tcu::Format::BitDesc(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VK_DEBUG_REPORT_ERROR_BIT_EXT"), 1413 tcu::Format::BitDesc(VK_DEBUG_REPORT_DEBUG_BIT_EXT, "VK_DEBUG_REPORT_DEBUG_BIT_EXT"), 1414 }; 1415 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1416} 1417 1418tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsNVStr (VkExternalMemoryHandleTypeFlagsNV value) 1419{ 1420 static const tcu::Format::BitDesc s_desc[] = 1421 { 1422 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"), 1423 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"), 1424 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"), 1425 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"), 1426 }; 1427 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1428} 1429 1430tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsNVStr (VkExternalMemoryFeatureFlagsNV value) 1431{ 1432 static const tcu::Format::BitDesc s_desc[] = 1433 { 1434 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"), 1435 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"), 1436 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"), 1437 }; 1438 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1439} 1440 1441tcu::Format::Bitfield<32> getIndirectCommandsLayoutUsageFlagsNVXStr (VkIndirectCommandsLayoutUsageFlagsNVX value) 1442{ 1443 static const tcu::Format::BitDesc s_desc[] = 1444 { 1445 tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX"), 1446 tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX"), 1447 tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX"), 1448 tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX"), 1449 }; 1450 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1451} 1452 1453tcu::Format::Bitfield<32> getObjectEntryUsageFlagsNVXStr (VkObjectEntryUsageFlagsNVX value) 1454{ 1455 static const tcu::Format::BitDesc s_desc[] = 1456 { 1457 tcu::Format::BitDesc(VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX, "VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"), 1458 tcu::Format::BitDesc(VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX, "VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"), 1459 }; 1460 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1461} 1462 1463tcu::Format::Bitfield<32> getInstanceCreateFlagsStr (VkInstanceCreateFlags value) 1464{ 1465 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1466} 1467 1468tcu::Format::Bitfield<32> getDeviceCreateFlagsStr (VkDeviceCreateFlags value) 1469{ 1470 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1471} 1472 1473tcu::Format::Bitfield<32> getDeviceQueueCreateFlagsStr (VkDeviceQueueCreateFlags value) 1474{ 1475 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1476} 1477 1478tcu::Format::Bitfield<32> getMemoryMapFlagsStr (VkMemoryMapFlags value) 1479{ 1480 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1481} 1482 1483tcu::Format::Bitfield<32> getSemaphoreCreateFlagsStr (VkSemaphoreCreateFlags value) 1484{ 1485 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1486} 1487 1488tcu::Format::Bitfield<32> getEventCreateFlagsStr (VkEventCreateFlags value) 1489{ 1490 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1491} 1492 1493tcu::Format::Bitfield<32> getQueryPoolCreateFlagsStr (VkQueryPoolCreateFlags value) 1494{ 1495 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1496} 1497 1498tcu::Format::Bitfield<32> getBufferViewCreateFlagsStr (VkBufferViewCreateFlags value) 1499{ 1500 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1501} 1502 1503tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags value) 1504{ 1505 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1506} 1507 1508tcu::Format::Bitfield<32> getShaderModuleCreateFlagsStr (VkShaderModuleCreateFlags value) 1509{ 1510 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1511} 1512 1513tcu::Format::Bitfield<32> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateFlags value) 1514{ 1515 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1516} 1517 1518tcu::Format::Bitfield<32> getPipelineShaderStageCreateFlagsStr (VkPipelineShaderStageCreateFlags value) 1519{ 1520 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1521} 1522 1523tcu::Format::Bitfield<32> getPipelineVertexInputStateCreateFlagsStr (VkPipelineVertexInputStateCreateFlags value) 1524{ 1525 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1526} 1527 1528tcu::Format::Bitfield<32> getPipelineInputAssemblyStateCreateFlagsStr (VkPipelineInputAssemblyStateCreateFlags value) 1529{ 1530 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1531} 1532 1533tcu::Format::Bitfield<32> getPipelineTessellationStateCreateFlagsStr (VkPipelineTessellationStateCreateFlags value) 1534{ 1535 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1536} 1537 1538tcu::Format::Bitfield<32> getPipelineViewportStateCreateFlagsStr (VkPipelineViewportStateCreateFlags value) 1539{ 1540 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1541} 1542 1543tcu::Format::Bitfield<32> getPipelineRasterizationStateCreateFlagsStr (VkPipelineRasterizationStateCreateFlags value) 1544{ 1545 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1546} 1547 1548tcu::Format::Bitfield<32> getPipelineMultisampleStateCreateFlagsStr (VkPipelineMultisampleStateCreateFlags value) 1549{ 1550 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1551} 1552 1553tcu::Format::Bitfield<32> getPipelineDepthStencilStateCreateFlagsStr (VkPipelineDepthStencilStateCreateFlags value) 1554{ 1555 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1556} 1557 1558tcu::Format::Bitfield<32> getPipelineColorBlendStateCreateFlagsStr (VkPipelineColorBlendStateCreateFlags value) 1559{ 1560 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1561} 1562 1563tcu::Format::Bitfield<32> getPipelineDynamicStateCreateFlagsStr (VkPipelineDynamicStateCreateFlags value) 1564{ 1565 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1566} 1567 1568tcu::Format::Bitfield<32> getPipelineLayoutCreateFlagsStr (VkPipelineLayoutCreateFlags value) 1569{ 1570 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1571} 1572 1573tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value) 1574{ 1575 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1576} 1577 1578tcu::Format::Bitfield<32> getDescriptorPoolResetFlagsStr (VkDescriptorPoolResetFlags value) 1579{ 1580 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1581} 1582 1583tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value) 1584{ 1585 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1586} 1587 1588tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value) 1589{ 1590 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1591} 1592 1593tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFlags value) 1594{ 1595 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1596} 1597 1598tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value) 1599{ 1600 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1601} 1602 1603tcu::Format::Bitfield<32> getDisplayModeCreateFlagsKHRStr (VkDisplayModeCreateFlagsKHR value) 1604{ 1605 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1606} 1607 1608tcu::Format::Bitfield<32> getDisplaySurfaceCreateFlagsKHRStr (VkDisplaySurfaceCreateFlagsKHR value) 1609{ 1610 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1611} 1612 1613tcu::Format::Bitfield<32> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR value) 1614{ 1615 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1616} 1617 1618tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr (VkXcbSurfaceCreateFlagsKHR value) 1619{ 1620 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1621} 1622 1623tcu::Format::Bitfield<32> getWaylandSurfaceCreateFlagsKHRStr (VkWaylandSurfaceCreateFlagsKHR value) 1624{ 1625 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1626} 1627 1628tcu::Format::Bitfield<32> getMirSurfaceCreateFlagsKHRStr (VkMirSurfaceCreateFlagsKHR value) 1629{ 1630 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1631} 1632 1633tcu::Format::Bitfield<32> getAndroidSurfaceCreateFlagsKHRStr (VkAndroidSurfaceCreateFlagsKHR value) 1634{ 1635 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1636} 1637 1638tcu::Format::Bitfield<32> getWin32SurfaceCreateFlagsKHRStr (VkWin32SurfaceCreateFlagsKHR value) 1639{ 1640 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1641} 1642 1643tcu::Format::Bitfield<32> getCommandPoolTrimFlagsKHRStr (VkCommandPoolTrimFlagsKHR value) 1644{ 1645 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1646} 1647 1648tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsKHRStr (VkDescriptorUpdateTemplateCreateFlagsKHR value) 1649{ 1650 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 1651} 1652 1653std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value) 1654{ 1655 s << "VkApplicationInfo = {\n"; 1656 s << "\tsType = " << value.sType << '\n'; 1657 s << "\tpNext = " << value.pNext << '\n'; 1658 s << "\tpApplicationName = " << getCharPtrStr(value.pApplicationName) << '\n'; 1659 s << "\tapplicationVersion = " << value.applicationVersion << '\n'; 1660 s << "\tpEngineName = " << getCharPtrStr(value.pEngineName) << '\n'; 1661 s << "\tengineVersion = " << value.engineVersion << '\n'; 1662 s << "\tapiVersion = " << value.apiVersion << '\n'; 1663 s << '}'; 1664 return s; 1665} 1666 1667std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value) 1668{ 1669 s << "VkInstanceCreateInfo = {\n"; 1670 s << "\tsType = " << value.sType << '\n'; 1671 s << "\tpNext = " << value.pNext << '\n'; 1672 s << "\tflags = " << getInstanceCreateFlagsStr(value.flags) << '\n'; 1673 s << "\tpApplicationInfo = " << value.pApplicationInfo << '\n'; 1674 s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n'; 1675 s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n'; 1676 s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n'; 1677 s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n'; 1678 s << '}'; 1679 return s; 1680} 1681 1682std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value) 1683{ 1684 s << "VkAllocationCallbacks = {\n"; 1685 s << "\tpUserData = " << value.pUserData << '\n'; 1686 s << "\tpfnAllocation = " << value.pfnAllocation << '\n'; 1687 s << "\tpfnReallocation = " << value.pfnReallocation << '\n'; 1688 s << "\tpfnFree = " << value.pfnFree << '\n'; 1689 s << "\tpfnInternalAllocation = " << value.pfnInternalAllocation << '\n'; 1690 s << "\tpfnInternalFree = " << value.pfnInternalFree << '\n'; 1691 s << '}'; 1692 return s; 1693} 1694 1695std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures& value) 1696{ 1697 s << "VkPhysicalDeviceFeatures = {\n"; 1698 s << "\trobustBufferAccess = " << value.robustBufferAccess << '\n'; 1699 s << "\tfullDrawIndexUint32 = " << value.fullDrawIndexUint32 << '\n'; 1700 s << "\timageCubeArray = " << value.imageCubeArray << '\n'; 1701 s << "\tindependentBlend = " << value.independentBlend << '\n'; 1702 s << "\tgeometryShader = " << value.geometryShader << '\n'; 1703 s << "\ttessellationShader = " << value.tessellationShader << '\n'; 1704 s << "\tsampleRateShading = " << value.sampleRateShading << '\n'; 1705 s << "\tdualSrcBlend = " << value.dualSrcBlend << '\n'; 1706 s << "\tlogicOp = " << value.logicOp << '\n'; 1707 s << "\tmultiDrawIndirect = " << value.multiDrawIndirect << '\n'; 1708 s << "\tdrawIndirectFirstInstance = " << value.drawIndirectFirstInstance << '\n'; 1709 s << "\tdepthClamp = " << value.depthClamp << '\n'; 1710 s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n'; 1711 s << "\tfillModeNonSolid = " << value.fillModeNonSolid << '\n'; 1712 s << "\tdepthBounds = " << value.depthBounds << '\n'; 1713 s << "\twideLines = " << value.wideLines << '\n'; 1714 s << "\tlargePoints = " << value.largePoints << '\n'; 1715 s << "\talphaToOne = " << value.alphaToOne << '\n'; 1716 s << "\tmultiViewport = " << value.multiViewport << '\n'; 1717 s << "\tsamplerAnisotropy = " << value.samplerAnisotropy << '\n'; 1718 s << "\ttextureCompressionETC2 = " << value.textureCompressionETC2 << '\n'; 1719 s << "\ttextureCompressionASTC_LDR = " << value.textureCompressionASTC_LDR << '\n'; 1720 s << "\ttextureCompressionBC = " << value.textureCompressionBC << '\n'; 1721 s << "\tocclusionQueryPrecise = " << value.occlusionQueryPrecise << '\n'; 1722 s << "\tpipelineStatisticsQuery = " << value.pipelineStatisticsQuery << '\n'; 1723 s << "\tvertexPipelineStoresAndAtomics = " << value.vertexPipelineStoresAndAtomics << '\n'; 1724 s << "\tfragmentStoresAndAtomics = " << value.fragmentStoresAndAtomics << '\n'; 1725 s << "\tshaderTessellationAndGeometryPointSize = " << value.shaderTessellationAndGeometryPointSize << '\n'; 1726 s << "\tshaderImageGatherExtended = " << value.shaderImageGatherExtended << '\n'; 1727 s << "\tshaderStorageImageExtendedFormats = " << value.shaderStorageImageExtendedFormats << '\n'; 1728 s << "\tshaderStorageImageMultisample = " << value.shaderStorageImageMultisample << '\n'; 1729 s << "\tshaderStorageImageReadWithoutFormat = " << value.shaderStorageImageReadWithoutFormat << '\n'; 1730 s << "\tshaderStorageImageWriteWithoutFormat = " << value.shaderStorageImageWriteWithoutFormat << '\n'; 1731 s << "\tshaderUniformBufferArrayDynamicIndexing = " << value.shaderUniformBufferArrayDynamicIndexing << '\n'; 1732 s << "\tshaderSampledImageArrayDynamicIndexing = " << value.shaderSampledImageArrayDynamicIndexing << '\n'; 1733 s << "\tshaderStorageBufferArrayDynamicIndexing = " << value.shaderStorageBufferArrayDynamicIndexing << '\n'; 1734 s << "\tshaderStorageImageArrayDynamicIndexing = " << value.shaderStorageImageArrayDynamicIndexing << '\n'; 1735 s << "\tshaderClipDistance = " << value.shaderClipDistance << '\n'; 1736 s << "\tshaderCullDistance = " << value.shaderCullDistance << '\n'; 1737 s << "\tshaderFloat64 = " << value.shaderFloat64 << '\n'; 1738 s << "\tshaderInt64 = " << value.shaderInt64 << '\n'; 1739 s << "\tshaderInt16 = " << value.shaderInt16 << '\n'; 1740 s << "\tshaderResourceResidency = " << value.shaderResourceResidency << '\n'; 1741 s << "\tshaderResourceMinLod = " << value.shaderResourceMinLod << '\n'; 1742 s << "\tsparseBinding = " << value.sparseBinding << '\n'; 1743 s << "\tsparseResidencyBuffer = " << value.sparseResidencyBuffer << '\n'; 1744 s << "\tsparseResidencyImage2D = " << value.sparseResidencyImage2D << '\n'; 1745 s << "\tsparseResidencyImage3D = " << value.sparseResidencyImage3D << '\n'; 1746 s << "\tsparseResidency2Samples = " << value.sparseResidency2Samples << '\n'; 1747 s << "\tsparseResidency4Samples = " << value.sparseResidency4Samples << '\n'; 1748 s << "\tsparseResidency8Samples = " << value.sparseResidency8Samples << '\n'; 1749 s << "\tsparseResidency16Samples = " << value.sparseResidency16Samples << '\n'; 1750 s << "\tsparseResidencyAliased = " << value.sparseResidencyAliased << '\n'; 1751 s << "\tvariableMultisampleRate = " << value.variableMultisampleRate << '\n'; 1752 s << "\tinheritedQueries = " << value.inheritedQueries << '\n'; 1753 s << '}'; 1754 return s; 1755} 1756 1757std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value) 1758{ 1759 s << "VkFormatProperties = {\n"; 1760 s << "\tlinearTilingFeatures = " << getFormatFeatureFlagsStr(value.linearTilingFeatures) << '\n'; 1761 s << "\toptimalTilingFeatures = " << getFormatFeatureFlagsStr(value.optimalTilingFeatures) << '\n'; 1762 s << "\tbufferFeatures = " << getFormatFeatureFlagsStr(value.bufferFeatures) << '\n'; 1763 s << '}'; 1764 return s; 1765} 1766 1767std::ostream& operator<< (std::ostream& s, const VkExtent3D& value) 1768{ 1769 s << "VkExtent3D = {\n"; 1770 s << "\twidth = " << value.width << '\n'; 1771 s << "\theight = " << value.height << '\n'; 1772 s << "\tdepth = " << value.depth << '\n'; 1773 s << '}'; 1774 return s; 1775} 1776 1777std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value) 1778{ 1779 s << "VkImageFormatProperties = {\n"; 1780 s << "\tmaxExtent = " << value.maxExtent << '\n'; 1781 s << "\tmaxMipLevels = " << value.maxMipLevels << '\n'; 1782 s << "\tmaxArrayLayers = " << value.maxArrayLayers << '\n'; 1783 s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n'; 1784 s << "\tmaxResourceSize = " << value.maxResourceSize << '\n'; 1785 s << '}'; 1786 return s; 1787} 1788 1789std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLimits& value) 1790{ 1791 s << "VkPhysicalDeviceLimits = {\n"; 1792 s << "\tmaxImageDimension1D = " << value.maxImageDimension1D << '\n'; 1793 s << "\tmaxImageDimension2D = " << value.maxImageDimension2D << '\n'; 1794 s << "\tmaxImageDimension3D = " << value.maxImageDimension3D << '\n'; 1795 s << "\tmaxImageDimensionCube = " << value.maxImageDimensionCube << '\n'; 1796 s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; 1797 s << "\tmaxTexelBufferElements = " << value.maxTexelBufferElements << '\n'; 1798 s << "\tmaxUniformBufferRange = " << value.maxUniformBufferRange << '\n'; 1799 s << "\tmaxStorageBufferRange = " << value.maxStorageBufferRange << '\n'; 1800 s << "\tmaxPushConstantsSize = " << value.maxPushConstantsSize << '\n'; 1801 s << "\tmaxMemoryAllocationCount = " << value.maxMemoryAllocationCount << '\n'; 1802 s << "\tmaxSamplerAllocationCount = " << value.maxSamplerAllocationCount << '\n'; 1803 s << "\tbufferImageGranularity = " << value.bufferImageGranularity << '\n'; 1804 s << "\tsparseAddressSpaceSize = " << value.sparseAddressSpaceSize << '\n'; 1805 s << "\tmaxBoundDescriptorSets = " << value.maxBoundDescriptorSets << '\n'; 1806 s << "\tmaxPerStageDescriptorSamplers = " << value.maxPerStageDescriptorSamplers << '\n'; 1807 s << "\tmaxPerStageDescriptorUniformBuffers = " << value.maxPerStageDescriptorUniformBuffers << '\n'; 1808 s << "\tmaxPerStageDescriptorStorageBuffers = " << value.maxPerStageDescriptorStorageBuffers << '\n'; 1809 s << "\tmaxPerStageDescriptorSampledImages = " << value.maxPerStageDescriptorSampledImages << '\n'; 1810 s << "\tmaxPerStageDescriptorStorageImages = " << value.maxPerStageDescriptorStorageImages << '\n'; 1811 s << "\tmaxPerStageDescriptorInputAttachments = " << value.maxPerStageDescriptorInputAttachments << '\n'; 1812 s << "\tmaxPerStageResources = " << value.maxPerStageResources << '\n'; 1813 s << "\tmaxDescriptorSetSamplers = " << value.maxDescriptorSetSamplers << '\n'; 1814 s << "\tmaxDescriptorSetUniformBuffers = " << value.maxDescriptorSetUniformBuffers << '\n'; 1815 s << "\tmaxDescriptorSetUniformBuffersDynamic = " << value.maxDescriptorSetUniformBuffersDynamic << '\n'; 1816 s << "\tmaxDescriptorSetStorageBuffers = " << value.maxDescriptorSetStorageBuffers << '\n'; 1817 s << "\tmaxDescriptorSetStorageBuffersDynamic = " << value.maxDescriptorSetStorageBuffersDynamic << '\n'; 1818 s << "\tmaxDescriptorSetSampledImages = " << value.maxDescriptorSetSampledImages << '\n'; 1819 s << "\tmaxDescriptorSetStorageImages = " << value.maxDescriptorSetStorageImages << '\n'; 1820 s << "\tmaxDescriptorSetInputAttachments = " << value.maxDescriptorSetInputAttachments << '\n'; 1821 s << "\tmaxVertexInputAttributes = " << value.maxVertexInputAttributes << '\n'; 1822 s << "\tmaxVertexInputBindings = " << value.maxVertexInputBindings << '\n'; 1823 s << "\tmaxVertexInputAttributeOffset = " << value.maxVertexInputAttributeOffset << '\n'; 1824 s << "\tmaxVertexInputBindingStride = " << value.maxVertexInputBindingStride << '\n'; 1825 s << "\tmaxVertexOutputComponents = " << value.maxVertexOutputComponents << '\n'; 1826 s << "\tmaxTessellationGenerationLevel = " << value.maxTessellationGenerationLevel << '\n'; 1827 s << "\tmaxTessellationPatchSize = " << value.maxTessellationPatchSize << '\n'; 1828 s << "\tmaxTessellationControlPerVertexInputComponents = " << value.maxTessellationControlPerVertexInputComponents << '\n'; 1829 s << "\tmaxTessellationControlPerVertexOutputComponents = " << value.maxTessellationControlPerVertexOutputComponents << '\n'; 1830 s << "\tmaxTessellationControlPerPatchOutputComponents = " << value.maxTessellationControlPerPatchOutputComponents << '\n'; 1831 s << "\tmaxTessellationControlTotalOutputComponents = " << value.maxTessellationControlTotalOutputComponents << '\n'; 1832 s << "\tmaxTessellationEvaluationInputComponents = " << value.maxTessellationEvaluationInputComponents << '\n'; 1833 s << "\tmaxTessellationEvaluationOutputComponents = " << value.maxTessellationEvaluationOutputComponents << '\n'; 1834 s << "\tmaxGeometryShaderInvocations = " << value.maxGeometryShaderInvocations << '\n'; 1835 s << "\tmaxGeometryInputComponents = " << value.maxGeometryInputComponents << '\n'; 1836 s << "\tmaxGeometryOutputComponents = " << value.maxGeometryOutputComponents << '\n'; 1837 s << "\tmaxGeometryOutputVertices = " << value.maxGeometryOutputVertices << '\n'; 1838 s << "\tmaxGeometryTotalOutputComponents = " << value.maxGeometryTotalOutputComponents << '\n'; 1839 s << "\tmaxFragmentInputComponents = " << value.maxFragmentInputComponents << '\n'; 1840 s << "\tmaxFragmentOutputAttachments = " << value.maxFragmentOutputAttachments << '\n'; 1841 s << "\tmaxFragmentDualSrcAttachments = " << value.maxFragmentDualSrcAttachments << '\n'; 1842 s << "\tmaxFragmentCombinedOutputResources = " << value.maxFragmentCombinedOutputResources << '\n'; 1843 s << "\tmaxComputeSharedMemorySize = " << value.maxComputeSharedMemorySize << '\n'; 1844 s << "\tmaxComputeWorkGroupCount = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupCount), DE_ARRAY_END(value.maxComputeWorkGroupCount)) << '\n'; 1845 s << "\tmaxComputeWorkGroupInvocations = " << value.maxComputeWorkGroupInvocations << '\n'; 1846 s << "\tmaxComputeWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupSize), DE_ARRAY_END(value.maxComputeWorkGroupSize)) << '\n'; 1847 s << "\tsubPixelPrecisionBits = " << value.subPixelPrecisionBits << '\n'; 1848 s << "\tsubTexelPrecisionBits = " << value.subTexelPrecisionBits << '\n'; 1849 s << "\tmipmapPrecisionBits = " << value.mipmapPrecisionBits << '\n'; 1850 s << "\tmaxDrawIndexedIndexValue = " << value.maxDrawIndexedIndexValue << '\n'; 1851 s << "\tmaxDrawIndirectCount = " << value.maxDrawIndirectCount << '\n'; 1852 s << "\tmaxSamplerLodBias = " << value.maxSamplerLodBias << '\n'; 1853 s << "\tmaxSamplerAnisotropy = " << value.maxSamplerAnisotropy << '\n'; 1854 s << "\tmaxViewports = " << value.maxViewports << '\n'; 1855 s << "\tmaxViewportDimensions = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxViewportDimensions), DE_ARRAY_END(value.maxViewportDimensions)) << '\n'; 1856 s << "\tviewportBoundsRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewportBoundsRange), DE_ARRAY_END(value.viewportBoundsRange)) << '\n'; 1857 s << "\tviewportSubPixelBits = " << value.viewportSubPixelBits << '\n'; 1858 s << "\tminMemoryMapAlignment = " << value.minMemoryMapAlignment << '\n'; 1859 s << "\tminTexelBufferOffsetAlignment = " << value.minTexelBufferOffsetAlignment << '\n'; 1860 s << "\tminUniformBufferOffsetAlignment = " << value.minUniformBufferOffsetAlignment << '\n'; 1861 s << "\tminStorageBufferOffsetAlignment = " << value.minStorageBufferOffsetAlignment << '\n'; 1862 s << "\tminTexelOffset = " << value.minTexelOffset << '\n'; 1863 s << "\tmaxTexelOffset = " << value.maxTexelOffset << '\n'; 1864 s << "\tminTexelGatherOffset = " << value.minTexelGatherOffset << '\n'; 1865 s << "\tmaxTexelGatherOffset = " << value.maxTexelGatherOffset << '\n'; 1866 s << "\tminInterpolationOffset = " << value.minInterpolationOffset << '\n'; 1867 s << "\tmaxInterpolationOffset = " << value.maxInterpolationOffset << '\n'; 1868 s << "\tsubPixelInterpolationOffsetBits = " << value.subPixelInterpolationOffsetBits << '\n'; 1869 s << "\tmaxFramebufferWidth = " << value.maxFramebufferWidth << '\n'; 1870 s << "\tmaxFramebufferHeight = " << value.maxFramebufferHeight << '\n'; 1871 s << "\tmaxFramebufferLayers = " << value.maxFramebufferLayers << '\n'; 1872 s << "\tframebufferColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferColorSampleCounts) << '\n'; 1873 s << "\tframebufferDepthSampleCounts = " << getSampleCountFlagsStr(value.framebufferDepthSampleCounts) << '\n'; 1874 s << "\tframebufferStencilSampleCounts = " << getSampleCountFlagsStr(value.framebufferStencilSampleCounts) << '\n'; 1875 s << "\tframebufferNoAttachmentsSampleCounts = " << getSampleCountFlagsStr(value.framebufferNoAttachmentsSampleCounts) << '\n'; 1876 s << "\tmaxColorAttachments = " << value.maxColorAttachments << '\n'; 1877 s << "\tsampledImageColorSampleCounts = " << getSampleCountFlagsStr(value.sampledImageColorSampleCounts) << '\n'; 1878 s << "\tsampledImageIntegerSampleCounts = " << getSampleCountFlagsStr(value.sampledImageIntegerSampleCounts) << '\n'; 1879 s << "\tsampledImageDepthSampleCounts = " << getSampleCountFlagsStr(value.sampledImageDepthSampleCounts) << '\n'; 1880 s << "\tsampledImageStencilSampleCounts = " << getSampleCountFlagsStr(value.sampledImageStencilSampleCounts) << '\n'; 1881 s << "\tstorageImageSampleCounts = " << getSampleCountFlagsStr(value.storageImageSampleCounts) << '\n'; 1882 s << "\tmaxSampleMaskWords = " << value.maxSampleMaskWords << '\n'; 1883 s << "\ttimestampComputeAndGraphics = " << value.timestampComputeAndGraphics << '\n'; 1884 s << "\ttimestampPeriod = " << value.timestampPeriod << '\n'; 1885 s << "\tmaxClipDistances = " << value.maxClipDistances << '\n'; 1886 s << "\tmaxCullDistances = " << value.maxCullDistances << '\n'; 1887 s << "\tmaxCombinedClipAndCullDistances = " << value.maxCombinedClipAndCullDistances << '\n'; 1888 s << "\tdiscreteQueuePriorities = " << value.discreteQueuePriorities << '\n'; 1889 s << "\tpointSizeRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pointSizeRange), DE_ARRAY_END(value.pointSizeRange)) << '\n'; 1890 s << "\tlineWidthRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.lineWidthRange), DE_ARRAY_END(value.lineWidthRange)) << '\n'; 1891 s << "\tpointSizeGranularity = " << value.pointSizeGranularity << '\n'; 1892 s << "\tlineWidthGranularity = " << value.lineWidthGranularity << '\n'; 1893 s << "\tstrictLines = " << value.strictLines << '\n'; 1894 s << "\tstandardSampleLocations = " << value.standardSampleLocations << '\n'; 1895 s << "\toptimalBufferCopyOffsetAlignment = " << value.optimalBufferCopyOffsetAlignment << '\n'; 1896 s << "\toptimalBufferCopyRowPitchAlignment = " << value.optimalBufferCopyRowPitchAlignment << '\n'; 1897 s << "\tnonCoherentAtomSize = " << value.nonCoherentAtomSize << '\n'; 1898 s << '}'; 1899 return s; 1900} 1901 1902std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseProperties& value) 1903{ 1904 s << "VkPhysicalDeviceSparseProperties = {\n"; 1905 s << "\tresidencyStandard2DBlockShape = " << value.residencyStandard2DBlockShape << '\n'; 1906 s << "\tresidencyStandard2DMultisampleBlockShape = " << value.residencyStandard2DMultisampleBlockShape << '\n'; 1907 s << "\tresidencyStandard3DBlockShape = " << value.residencyStandard3DBlockShape << '\n'; 1908 s << "\tresidencyAlignedMipSize = " << value.residencyAlignedMipSize << '\n'; 1909 s << "\tresidencyNonResidentStrict = " << value.residencyNonResidentStrict << '\n'; 1910 s << '}'; 1911 return s; 1912} 1913 1914std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties& value) 1915{ 1916 s << "VkPhysicalDeviceProperties = {\n"; 1917 s << "\tapiVersion = " << value.apiVersion << '\n'; 1918 s << "\tdriverVersion = " << value.driverVersion << '\n'; 1919 s << "\tvendorID = " << value.vendorID << '\n'; 1920 s << "\tdeviceID = " << value.deviceID << '\n'; 1921 s << "\tdeviceType = " << value.deviceType << '\n'; 1922 s << "\tdeviceName = " << (const char*)value.deviceName << '\n'; 1923 s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<deUint8>(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator<deUint8>(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n'; 1924 s << "\tlimits = " << value.limits << '\n'; 1925 s << "\tsparseProperties = " << value.sparseProperties << '\n'; 1926 s << '}'; 1927 return s; 1928} 1929 1930std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties& value) 1931{ 1932 s << "VkQueueFamilyProperties = {\n"; 1933 s << "\tqueueFlags = " << getQueueFlagsStr(value.queueFlags) << '\n'; 1934 s << "\tqueueCount = " << value.queueCount << '\n'; 1935 s << "\ttimestampValidBits = " << value.timestampValidBits << '\n'; 1936 s << "\tminImageTransferGranularity = " << value.minImageTransferGranularity << '\n'; 1937 s << '}'; 1938 return s; 1939} 1940 1941std::ostream& operator<< (std::ostream& s, const VkMemoryType& value) 1942{ 1943 s << "VkMemoryType = {\n"; 1944 s << "\tpropertyFlags = " << getMemoryPropertyFlagsStr(value.propertyFlags) << '\n'; 1945 s << "\theapIndex = " << value.heapIndex << '\n'; 1946 s << '}'; 1947 return s; 1948} 1949 1950std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value) 1951{ 1952 s << "VkMemoryHeap = {\n"; 1953 s << "\tsize = " << value.size << '\n'; 1954 s << "\tflags = " << getMemoryHeapFlagsStr(value.flags) << '\n'; 1955 s << '}'; 1956 return s; 1957} 1958 1959std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value) 1960{ 1961 s << "VkPhysicalDeviceMemoryProperties = {\n"; 1962 s << "\tmemoryTypeCount = " << value.memoryTypeCount << '\n'; 1963 s << "\tmemoryTypes = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryTypes), DE_ARRAY_BEGIN(value.memoryTypes) + value.memoryTypeCount) << '\n'; 1964 s << "\tmemoryHeapCount = " << value.memoryHeapCount << '\n'; 1965 s << "\tmemoryHeaps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryHeaps), DE_ARRAY_BEGIN(value.memoryHeaps) + value.memoryHeapCount) << '\n'; 1966 s << '}'; 1967 return s; 1968} 1969 1970std::ostream& operator<< (std::ostream& s, const VkDeviceQueueCreateInfo& value) 1971{ 1972 s << "VkDeviceQueueCreateInfo = {\n"; 1973 s << "\tsType = " << value.sType << '\n'; 1974 s << "\tpNext = " << value.pNext << '\n'; 1975 s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n'; 1976 s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; 1977 s << "\tqueueCount = " << value.queueCount << '\n'; 1978 s << "\tpQueuePriorities = " << value.pQueuePriorities << '\n'; 1979 s << '}'; 1980 return s; 1981} 1982 1983std::ostream& operator<< (std::ostream& s, const VkDeviceCreateInfo& value) 1984{ 1985 s << "VkDeviceCreateInfo = {\n"; 1986 s << "\tsType = " << value.sType << '\n'; 1987 s << "\tpNext = " << value.pNext << '\n'; 1988 s << "\tflags = " << getDeviceCreateFlagsStr(value.flags) << '\n'; 1989 s << "\tqueueCreateInfoCount = " << value.queueCreateInfoCount << '\n'; 1990 s << "\tpQueueCreateInfos = " << value.pQueueCreateInfos << '\n'; 1991 s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n'; 1992 s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n'; 1993 s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n'; 1994 s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n'; 1995 s << "\tpEnabledFeatures = " << value.pEnabledFeatures << '\n'; 1996 s << '}'; 1997 return s; 1998} 1999 2000std::ostream& operator<< (std::ostream& s, const VkExtensionProperties& value) 2001{ 2002 s << "VkExtensionProperties = {\n"; 2003 s << "\textensionName = " << (const char*)value.extensionName << '\n'; 2004 s << "\tspecVersion = " << value.specVersion << '\n'; 2005 s << '}'; 2006 return s; 2007} 2008 2009std::ostream& operator<< (std::ostream& s, const VkLayerProperties& value) 2010{ 2011 s << "VkLayerProperties = {\n"; 2012 s << "\tlayerName = " << (const char*)value.layerName << '\n'; 2013 s << "\tspecVersion = " << value.specVersion << '\n'; 2014 s << "\timplementationVersion = " << value.implementationVersion << '\n'; 2015 s << "\tdescription = " << (const char*)value.description << '\n'; 2016 s << '}'; 2017 return s; 2018} 2019 2020std::ostream& operator<< (std::ostream& s, const VkSubmitInfo& value) 2021{ 2022 s << "VkSubmitInfo = {\n"; 2023 s << "\tsType = " << value.sType << '\n'; 2024 s << "\tpNext = " << value.pNext << '\n'; 2025 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 2026 s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; 2027 s << "\tpWaitDstStageMask = " << value.pWaitDstStageMask << '\n'; 2028 s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; 2029 s << "\tpCommandBuffers = " << value.pCommandBuffers << '\n'; 2030 s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; 2031 s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n'; 2032 s << '}'; 2033 return s; 2034} 2035 2036std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value) 2037{ 2038 s << "VkMemoryAllocateInfo = {\n"; 2039 s << "\tsType = " << value.sType << '\n'; 2040 s << "\tpNext = " << value.pNext << '\n'; 2041 s << "\tallocationSize = " << value.allocationSize << '\n'; 2042 s << "\tmemoryTypeIndex = " << value.memoryTypeIndex << '\n'; 2043 s << '}'; 2044 return s; 2045} 2046 2047std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value) 2048{ 2049 s << "VkMappedMemoryRange = {\n"; 2050 s << "\tsType = " << value.sType << '\n'; 2051 s << "\tpNext = " << value.pNext << '\n'; 2052 s << "\tmemory = " << value.memory << '\n'; 2053 s << "\toffset = " << value.offset << '\n'; 2054 s << "\tsize = " << value.size << '\n'; 2055 s << '}'; 2056 return s; 2057} 2058 2059std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements& value) 2060{ 2061 s << "VkMemoryRequirements = {\n"; 2062 s << "\tsize = " << value.size << '\n'; 2063 s << "\talignment = " << value.alignment << '\n'; 2064 s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; 2065 s << '}'; 2066 return s; 2067} 2068 2069std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value) 2070{ 2071 s << "VkSparseImageFormatProperties = {\n"; 2072 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 2073 s << "\timageGranularity = " << value.imageGranularity << '\n'; 2074 s << "\tflags = " << getSparseImageFormatFlagsStr(value.flags) << '\n'; 2075 s << '}'; 2076 return s; 2077} 2078 2079std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value) 2080{ 2081 s << "VkSparseImageMemoryRequirements = {\n"; 2082 s << "\tformatProperties = " << value.formatProperties << '\n'; 2083 s << "\timageMipTailFirstLod = " << value.imageMipTailFirstLod << '\n'; 2084 s << "\timageMipTailSize = " << value.imageMipTailSize << '\n'; 2085 s << "\timageMipTailOffset = " << value.imageMipTailOffset << '\n'; 2086 s << "\timageMipTailStride = " << value.imageMipTailStride << '\n'; 2087 s << '}'; 2088 return s; 2089} 2090 2091std::ostream& operator<< (std::ostream& s, const VkSparseMemoryBind& value) 2092{ 2093 s << "VkSparseMemoryBind = {\n"; 2094 s << "\tresourceOffset = " << value.resourceOffset << '\n'; 2095 s << "\tsize = " << value.size << '\n'; 2096 s << "\tmemory = " << value.memory << '\n'; 2097 s << "\tmemoryOffset = " << value.memoryOffset << '\n'; 2098 s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n'; 2099 s << '}'; 2100 return s; 2101} 2102 2103std::ostream& operator<< (std::ostream& s, const VkSparseBufferMemoryBindInfo& value) 2104{ 2105 s << "VkSparseBufferMemoryBindInfo = {\n"; 2106 s << "\tbuffer = " << value.buffer << '\n'; 2107 s << "\tbindCount = " << value.bindCount << '\n'; 2108 s << "\tpBinds = " << value.pBinds << '\n'; 2109 s << '}'; 2110 return s; 2111} 2112 2113std::ostream& operator<< (std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value) 2114{ 2115 s << "VkSparseImageOpaqueMemoryBindInfo = {\n"; 2116 s << "\timage = " << value.image << '\n'; 2117 s << "\tbindCount = " << value.bindCount << '\n'; 2118 s << "\tpBinds = " << value.pBinds << '\n'; 2119 s << '}'; 2120 return s; 2121} 2122 2123std::ostream& operator<< (std::ostream& s, const VkImageSubresource& value) 2124{ 2125 s << "VkImageSubresource = {\n"; 2126 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 2127 s << "\tmipLevel = " << value.mipLevel << '\n'; 2128 s << "\tarrayLayer = " << value.arrayLayer << '\n'; 2129 s << '}'; 2130 return s; 2131} 2132 2133std::ostream& operator<< (std::ostream& s, const VkOffset3D& value) 2134{ 2135 s << "VkOffset3D = {\n"; 2136 s << "\tx = " << value.x << '\n'; 2137 s << "\ty = " << value.y << '\n'; 2138 s << "\tz = " << value.z << '\n'; 2139 s << '}'; 2140 return s; 2141} 2142 2143std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBind& value) 2144{ 2145 s << "VkSparseImageMemoryBind = {\n"; 2146 s << "\tsubresource = " << value.subresource << '\n'; 2147 s << "\toffset = " << value.offset << '\n'; 2148 s << "\textent = " << value.extent << '\n'; 2149 s << "\tmemory = " << value.memory << '\n'; 2150 s << "\tmemoryOffset = " << value.memoryOffset << '\n'; 2151 s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n'; 2152 s << '}'; 2153 return s; 2154} 2155 2156std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBindInfo& value) 2157{ 2158 s << "VkSparseImageMemoryBindInfo = {\n"; 2159 s << "\timage = " << value.image << '\n'; 2160 s << "\tbindCount = " << value.bindCount << '\n'; 2161 s << "\tpBinds = " << value.pBinds << '\n'; 2162 s << '}'; 2163 return s; 2164} 2165 2166std::ostream& operator<< (std::ostream& s, const VkBindSparseInfo& value) 2167{ 2168 s << "VkBindSparseInfo = {\n"; 2169 s << "\tsType = " << value.sType << '\n'; 2170 s << "\tpNext = " << value.pNext << '\n'; 2171 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 2172 s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; 2173 s << "\tbufferBindCount = " << value.bufferBindCount << '\n'; 2174 s << "\tpBufferBinds = " << value.pBufferBinds << '\n'; 2175 s << "\timageOpaqueBindCount = " << value.imageOpaqueBindCount << '\n'; 2176 s << "\tpImageOpaqueBinds = " << value.pImageOpaqueBinds << '\n'; 2177 s << "\timageBindCount = " << value.imageBindCount << '\n'; 2178 s << "\tpImageBinds = " << value.pImageBinds << '\n'; 2179 s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; 2180 s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n'; 2181 s << '}'; 2182 return s; 2183} 2184 2185std::ostream& operator<< (std::ostream& s, const VkFenceCreateInfo& value) 2186{ 2187 s << "VkFenceCreateInfo = {\n"; 2188 s << "\tsType = " << value.sType << '\n'; 2189 s << "\tpNext = " << value.pNext << '\n'; 2190 s << "\tflags = " << getFenceCreateFlagsStr(value.flags) << '\n'; 2191 s << '}'; 2192 return s; 2193} 2194 2195std::ostream& operator<< (std::ostream& s, const VkSemaphoreCreateInfo& value) 2196{ 2197 s << "VkSemaphoreCreateInfo = {\n"; 2198 s << "\tsType = " << value.sType << '\n'; 2199 s << "\tpNext = " << value.pNext << '\n'; 2200 s << "\tflags = " << getSemaphoreCreateFlagsStr(value.flags) << '\n'; 2201 s << '}'; 2202 return s; 2203} 2204 2205std::ostream& operator<< (std::ostream& s, const VkEventCreateInfo& value) 2206{ 2207 s << "VkEventCreateInfo = {\n"; 2208 s << "\tsType = " << value.sType << '\n'; 2209 s << "\tpNext = " << value.pNext << '\n'; 2210 s << "\tflags = " << getEventCreateFlagsStr(value.flags) << '\n'; 2211 s << '}'; 2212 return s; 2213} 2214 2215std::ostream& operator<< (std::ostream& s, const VkQueryPoolCreateInfo& value) 2216{ 2217 s << "VkQueryPoolCreateInfo = {\n"; 2218 s << "\tsType = " << value.sType << '\n'; 2219 s << "\tpNext = " << value.pNext << '\n'; 2220 s << "\tflags = " << getQueryPoolCreateFlagsStr(value.flags) << '\n'; 2221 s << "\tqueryType = " << value.queryType << '\n'; 2222 s << "\tqueryCount = " << value.queryCount << '\n'; 2223 s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n'; 2224 s << '}'; 2225 return s; 2226} 2227 2228std::ostream& operator<< (std::ostream& s, const VkBufferCreateInfo& value) 2229{ 2230 s << "VkBufferCreateInfo = {\n"; 2231 s << "\tsType = " << value.sType << '\n'; 2232 s << "\tpNext = " << value.pNext << '\n'; 2233 s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n'; 2234 s << "\tsize = " << value.size << '\n'; 2235 s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n'; 2236 s << "\tsharingMode = " << value.sharingMode << '\n'; 2237 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 2238 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 2239 s << '}'; 2240 return s; 2241} 2242 2243std::ostream& operator<< (std::ostream& s, const VkBufferViewCreateInfo& value) 2244{ 2245 s << "VkBufferViewCreateInfo = {\n"; 2246 s << "\tsType = " << value.sType << '\n'; 2247 s << "\tpNext = " << value.pNext << '\n'; 2248 s << "\tflags = " << getBufferViewCreateFlagsStr(value.flags) << '\n'; 2249 s << "\tbuffer = " << value.buffer << '\n'; 2250 s << "\tformat = " << value.format << '\n'; 2251 s << "\toffset = " << value.offset << '\n'; 2252 s << "\trange = " << value.range << '\n'; 2253 s << '}'; 2254 return s; 2255} 2256 2257std::ostream& operator<< (std::ostream& s, const VkImageCreateInfo& value) 2258{ 2259 s << "VkImageCreateInfo = {\n"; 2260 s << "\tsType = " << value.sType << '\n'; 2261 s << "\tpNext = " << value.pNext << '\n'; 2262 s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; 2263 s << "\timageType = " << value.imageType << '\n'; 2264 s << "\tformat = " << value.format << '\n'; 2265 s << "\textent = " << value.extent << '\n'; 2266 s << "\tmipLevels = " << value.mipLevels << '\n'; 2267 s << "\tarrayLayers = " << value.arrayLayers << '\n'; 2268 s << "\tsamples = " << value.samples << '\n'; 2269 s << "\ttiling = " << value.tiling << '\n'; 2270 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 2271 s << "\tsharingMode = " << value.sharingMode << '\n'; 2272 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 2273 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 2274 s << "\tinitialLayout = " << value.initialLayout << '\n'; 2275 s << '}'; 2276 return s; 2277} 2278 2279std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout& value) 2280{ 2281 s << "VkSubresourceLayout = {\n"; 2282 s << "\toffset = " << value.offset << '\n'; 2283 s << "\tsize = " << value.size << '\n'; 2284 s << "\trowPitch = " << value.rowPitch << '\n'; 2285 s << "\tarrayPitch = " << value.arrayPitch << '\n'; 2286 s << "\tdepthPitch = " << value.depthPitch << '\n'; 2287 s << '}'; 2288 return s; 2289} 2290 2291std::ostream& operator<< (std::ostream& s, const VkComponentMapping& value) 2292{ 2293 s << "VkComponentMapping = {\n"; 2294 s << "\tr = " << value.r << '\n'; 2295 s << "\tg = " << value.g << '\n'; 2296 s << "\tb = " << value.b << '\n'; 2297 s << "\ta = " << value.a << '\n'; 2298 s << '}'; 2299 return s; 2300} 2301 2302std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value) 2303{ 2304 s << "VkImageSubresourceRange = {\n"; 2305 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 2306 s << "\tbaseMipLevel = " << value.baseMipLevel << '\n'; 2307 s << "\tlevelCount = " << value.levelCount << '\n'; 2308 s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; 2309 s << "\tlayerCount = " << value.layerCount << '\n'; 2310 s << '}'; 2311 return s; 2312} 2313 2314std::ostream& operator<< (std::ostream& s, const VkImageViewCreateInfo& value) 2315{ 2316 s << "VkImageViewCreateInfo = {\n"; 2317 s << "\tsType = " << value.sType << '\n'; 2318 s << "\tpNext = " << value.pNext << '\n'; 2319 s << "\tflags = " << getImageViewCreateFlagsStr(value.flags) << '\n'; 2320 s << "\timage = " << value.image << '\n'; 2321 s << "\tviewType = " << value.viewType << '\n'; 2322 s << "\tformat = " << value.format << '\n'; 2323 s << "\tcomponents = " << value.components << '\n'; 2324 s << "\tsubresourceRange = " << value.subresourceRange << '\n'; 2325 s << '}'; 2326 return s; 2327} 2328 2329std::ostream& operator<< (std::ostream& s, const VkShaderModuleCreateInfo& value) 2330{ 2331 s << "VkShaderModuleCreateInfo = {\n"; 2332 s << "\tsType = " << value.sType << '\n'; 2333 s << "\tpNext = " << value.pNext << '\n'; 2334 s << "\tflags = " << getShaderModuleCreateFlagsStr(value.flags) << '\n'; 2335 s << "\tcodeSize = " << value.codeSize << '\n'; 2336 s << "\tpCode = " << value.pCode << '\n'; 2337 s << '}'; 2338 return s; 2339} 2340 2341std::ostream& operator<< (std::ostream& s, const VkPipelineCacheCreateInfo& value) 2342{ 2343 s << "VkPipelineCacheCreateInfo = {\n"; 2344 s << "\tsType = " << value.sType << '\n'; 2345 s << "\tpNext = " << value.pNext << '\n'; 2346 s << "\tflags = " << getPipelineCacheCreateFlagsStr(value.flags) << '\n'; 2347 s << "\tinitialDataSize = " << value.initialDataSize << '\n'; 2348 s << "\tpInitialData = " << value.pInitialData << '\n'; 2349 s << '}'; 2350 return s; 2351} 2352 2353std::ostream& operator<< (std::ostream& s, const VkSpecializationMapEntry& value) 2354{ 2355 s << "VkSpecializationMapEntry = {\n"; 2356 s << "\tconstantID = " << value.constantID << '\n'; 2357 s << "\toffset = " << value.offset << '\n'; 2358 s << "\tsize = " << value.size << '\n'; 2359 s << '}'; 2360 return s; 2361} 2362 2363std::ostream& operator<< (std::ostream& s, const VkSpecializationInfo& value) 2364{ 2365 s << "VkSpecializationInfo = {\n"; 2366 s << "\tmapEntryCount = " << value.mapEntryCount << '\n'; 2367 s << "\tpMapEntries = " << value.pMapEntries << '\n'; 2368 s << "\tdataSize = " << value.dataSize << '\n'; 2369 s << "\tpData = " << value.pData << '\n'; 2370 s << '}'; 2371 return s; 2372} 2373 2374std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageCreateInfo& value) 2375{ 2376 s << "VkPipelineShaderStageCreateInfo = {\n"; 2377 s << "\tsType = " << value.sType << '\n'; 2378 s << "\tpNext = " << value.pNext << '\n'; 2379 s << "\tflags = " << getPipelineShaderStageCreateFlagsStr(value.flags) << '\n'; 2380 s << "\tstage = " << value.stage << '\n'; 2381 s << "\tmodule = " << value.module << '\n'; 2382 s << "\tpName = " << getCharPtrStr(value.pName) << '\n'; 2383 s << "\tpSpecializationInfo = " << value.pSpecializationInfo << '\n'; 2384 s << '}'; 2385 return s; 2386} 2387 2388std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription& value) 2389{ 2390 s << "VkVertexInputBindingDescription = {\n"; 2391 s << "\tbinding = " << value.binding << '\n'; 2392 s << "\tstride = " << value.stride << '\n'; 2393 s << "\tinputRate = " << value.inputRate << '\n'; 2394 s << '}'; 2395 return s; 2396} 2397 2398std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription& value) 2399{ 2400 s << "VkVertexInputAttributeDescription = {\n"; 2401 s << "\tlocation = " << value.location << '\n'; 2402 s << "\tbinding = " << value.binding << '\n'; 2403 s << "\tformat = " << value.format << '\n'; 2404 s << "\toffset = " << value.offset << '\n'; 2405 s << '}'; 2406 return s; 2407} 2408 2409std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value) 2410{ 2411 s << "VkPipelineVertexInputStateCreateInfo = {\n"; 2412 s << "\tsType = " << value.sType << '\n'; 2413 s << "\tpNext = " << value.pNext << '\n'; 2414 s << "\tflags = " << getPipelineVertexInputStateCreateFlagsStr(value.flags) << '\n'; 2415 s << "\tvertexBindingDescriptionCount = " << value.vertexBindingDescriptionCount << '\n'; 2416 s << "\tpVertexBindingDescriptions = " << value.pVertexBindingDescriptions << '\n'; 2417 s << "\tvertexAttributeDescriptionCount = " << value.vertexAttributeDescriptionCount << '\n'; 2418 s << "\tpVertexAttributeDescriptions = " << value.pVertexAttributeDescriptions << '\n'; 2419 s << '}'; 2420 return s; 2421} 2422 2423std::ostream& operator<< (std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value) 2424{ 2425 s << "VkPipelineInputAssemblyStateCreateInfo = {\n"; 2426 s << "\tsType = " << value.sType << '\n'; 2427 s << "\tpNext = " << value.pNext << '\n'; 2428 s << "\tflags = " << getPipelineInputAssemblyStateCreateFlagsStr(value.flags) << '\n'; 2429 s << "\ttopology = " << value.topology << '\n'; 2430 s << "\tprimitiveRestartEnable = " << value.primitiveRestartEnable << '\n'; 2431 s << '}'; 2432 return s; 2433} 2434 2435std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationStateCreateInfo& value) 2436{ 2437 s << "VkPipelineTessellationStateCreateInfo = {\n"; 2438 s << "\tsType = " << value.sType << '\n'; 2439 s << "\tpNext = " << value.pNext << '\n'; 2440 s << "\tflags = " << getPipelineTessellationStateCreateFlagsStr(value.flags) << '\n'; 2441 s << "\tpatchControlPoints = " << value.patchControlPoints << '\n'; 2442 s << '}'; 2443 return s; 2444} 2445 2446std::ostream& operator<< (std::ostream& s, const VkViewport& value) 2447{ 2448 s << "VkViewport = {\n"; 2449 s << "\tx = " << value.x << '\n'; 2450 s << "\ty = " << value.y << '\n'; 2451 s << "\twidth = " << value.width << '\n'; 2452 s << "\theight = " << value.height << '\n'; 2453 s << "\tminDepth = " << value.minDepth << '\n'; 2454 s << "\tmaxDepth = " << value.maxDepth << '\n'; 2455 s << '}'; 2456 return s; 2457} 2458 2459std::ostream& operator<< (std::ostream& s, const VkOffset2D& value) 2460{ 2461 s << "VkOffset2D = {\n"; 2462 s << "\tx = " << value.x << '\n'; 2463 s << "\ty = " << value.y << '\n'; 2464 s << '}'; 2465 return s; 2466} 2467 2468std::ostream& operator<< (std::ostream& s, const VkExtent2D& value) 2469{ 2470 s << "VkExtent2D = {\n"; 2471 s << "\twidth = " << value.width << '\n'; 2472 s << "\theight = " << value.height << '\n'; 2473 s << '}'; 2474 return s; 2475} 2476 2477std::ostream& operator<< (std::ostream& s, const VkRect2D& value) 2478{ 2479 s << "VkRect2D = {\n"; 2480 s << "\toffset = " << value.offset << '\n'; 2481 s << "\textent = " << value.extent << '\n'; 2482 s << '}'; 2483 return s; 2484} 2485 2486std::ostream& operator<< (std::ostream& s, const VkPipelineViewportStateCreateInfo& value) 2487{ 2488 s << "VkPipelineViewportStateCreateInfo = {\n"; 2489 s << "\tsType = " << value.sType << '\n'; 2490 s << "\tpNext = " << value.pNext << '\n'; 2491 s << "\tflags = " << getPipelineViewportStateCreateFlagsStr(value.flags) << '\n'; 2492 s << "\tviewportCount = " << value.viewportCount << '\n'; 2493 s << "\tpViewports = " << value.pViewports << '\n'; 2494 s << "\tscissorCount = " << value.scissorCount << '\n'; 2495 s << "\tpScissors = " << value.pScissors << '\n'; 2496 s << '}'; 2497 return s; 2498} 2499 2500std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value) 2501{ 2502 s << "VkPipelineRasterizationStateCreateInfo = {\n"; 2503 s << "\tsType = " << value.sType << '\n'; 2504 s << "\tpNext = " << value.pNext << '\n'; 2505 s << "\tflags = " << getPipelineRasterizationStateCreateFlagsStr(value.flags) << '\n'; 2506 s << "\tdepthClampEnable = " << value.depthClampEnable << '\n'; 2507 s << "\trasterizerDiscardEnable = " << value.rasterizerDiscardEnable << '\n'; 2508 s << "\tpolygonMode = " << value.polygonMode << '\n'; 2509 s << "\tcullMode = " << getCullModeFlagsStr(value.cullMode) << '\n'; 2510 s << "\tfrontFace = " << value.frontFace << '\n'; 2511 s << "\tdepthBiasEnable = " << value.depthBiasEnable << '\n'; 2512 s << "\tdepthBiasConstantFactor = " << value.depthBiasConstantFactor << '\n'; 2513 s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n'; 2514 s << "\tdepthBiasSlopeFactor = " << value.depthBiasSlopeFactor << '\n'; 2515 s << "\tlineWidth = " << value.lineWidth << '\n'; 2516 s << '}'; 2517 return s; 2518} 2519 2520std::ostream& operator<< (std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value) 2521{ 2522 s << "VkPipelineMultisampleStateCreateInfo = {\n"; 2523 s << "\tsType = " << value.sType << '\n'; 2524 s << "\tpNext = " << value.pNext << '\n'; 2525 s << "\tflags = " << getPipelineMultisampleStateCreateFlagsStr(value.flags) << '\n'; 2526 s << "\trasterizationSamples = " << value.rasterizationSamples << '\n'; 2527 s << "\tsampleShadingEnable = " << value.sampleShadingEnable << '\n'; 2528 s << "\tminSampleShading = " << value.minSampleShading << '\n'; 2529 s << "\tpSampleMask = " << value.pSampleMask << '\n'; 2530 s << "\talphaToCoverageEnable = " << value.alphaToCoverageEnable << '\n'; 2531 s << "\talphaToOneEnable = " << value.alphaToOneEnable << '\n'; 2532 s << '}'; 2533 return s; 2534} 2535 2536std::ostream& operator<< (std::ostream& s, const VkStencilOpState& value) 2537{ 2538 s << "VkStencilOpState = {\n"; 2539 s << "\tfailOp = " << value.failOp << '\n'; 2540 s << "\tpassOp = " << value.passOp << '\n'; 2541 s << "\tdepthFailOp = " << value.depthFailOp << '\n'; 2542 s << "\tcompareOp = " << value.compareOp << '\n'; 2543 s << "\tcompareMask = " << value.compareMask << '\n'; 2544 s << "\twriteMask = " << value.writeMask << '\n'; 2545 s << "\treference = " << value.reference << '\n'; 2546 s << '}'; 2547 return s; 2548} 2549 2550std::ostream& operator<< (std::ostream& s, const VkPipelineDepthStencilStateCreateInfo& value) 2551{ 2552 s << "VkPipelineDepthStencilStateCreateInfo = {\n"; 2553 s << "\tsType = " << value.sType << '\n'; 2554 s << "\tpNext = " << value.pNext << '\n'; 2555 s << "\tflags = " << getPipelineDepthStencilStateCreateFlagsStr(value.flags) << '\n'; 2556 s << "\tdepthTestEnable = " << value.depthTestEnable << '\n'; 2557 s << "\tdepthWriteEnable = " << value.depthWriteEnable << '\n'; 2558 s << "\tdepthCompareOp = " << value.depthCompareOp << '\n'; 2559 s << "\tdepthBoundsTestEnable = " << value.depthBoundsTestEnable << '\n'; 2560 s << "\tstencilTestEnable = " << value.stencilTestEnable << '\n'; 2561 s << "\tfront = " << value.front << '\n'; 2562 s << "\tback = " << value.back << '\n'; 2563 s << "\tminDepthBounds = " << value.minDepthBounds << '\n'; 2564 s << "\tmaxDepthBounds = " << value.maxDepthBounds << '\n'; 2565 s << '}'; 2566 return s; 2567} 2568 2569std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAttachmentState& value) 2570{ 2571 s << "VkPipelineColorBlendAttachmentState = {\n"; 2572 s << "\tblendEnable = " << value.blendEnable << '\n'; 2573 s << "\tsrcColorBlendFactor = " << value.srcColorBlendFactor << '\n'; 2574 s << "\tdstColorBlendFactor = " << value.dstColorBlendFactor << '\n'; 2575 s << "\tcolorBlendOp = " << value.colorBlendOp << '\n'; 2576 s << "\tsrcAlphaBlendFactor = " << value.srcAlphaBlendFactor << '\n'; 2577 s << "\tdstAlphaBlendFactor = " << value.dstAlphaBlendFactor << '\n'; 2578 s << "\talphaBlendOp = " << value.alphaBlendOp << '\n'; 2579 s << "\tcolorWriteMask = " << getColorComponentFlagsStr(value.colorWriteMask) << '\n'; 2580 s << '}'; 2581 return s; 2582} 2583 2584std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value) 2585{ 2586 s << "VkPipelineColorBlendStateCreateInfo = {\n"; 2587 s << "\tsType = " << value.sType << '\n'; 2588 s << "\tpNext = " << value.pNext << '\n'; 2589 s << "\tflags = " << getPipelineColorBlendStateCreateFlagsStr(value.flags) << '\n'; 2590 s << "\tlogicOpEnable = " << value.logicOpEnable << '\n'; 2591 s << "\tlogicOp = " << value.logicOp << '\n'; 2592 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 2593 s << "\tpAttachments = " << value.pAttachments << '\n'; 2594 s << "\tblendConstants = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.blendConstants), DE_ARRAY_END(value.blendConstants)) << '\n'; 2595 s << '}'; 2596 return s; 2597} 2598 2599std::ostream& operator<< (std::ostream& s, const VkPipelineDynamicStateCreateInfo& value) 2600{ 2601 s << "VkPipelineDynamicStateCreateInfo = {\n"; 2602 s << "\tsType = " << value.sType << '\n'; 2603 s << "\tpNext = " << value.pNext << '\n'; 2604 s << "\tflags = " << getPipelineDynamicStateCreateFlagsStr(value.flags) << '\n'; 2605 s << "\tdynamicStateCount = " << value.dynamicStateCount << '\n'; 2606 s << "\tpDynamicStates = " << value.pDynamicStates << '\n'; 2607 s << '}'; 2608 return s; 2609} 2610 2611std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineCreateInfo& value) 2612{ 2613 s << "VkGraphicsPipelineCreateInfo = {\n"; 2614 s << "\tsType = " << value.sType << '\n'; 2615 s << "\tpNext = " << value.pNext << '\n'; 2616 s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; 2617 s << "\tstageCount = " << value.stageCount << '\n'; 2618 s << "\tpStages = " << value.pStages << '\n'; 2619 s << "\tpVertexInputState = " << value.pVertexInputState << '\n'; 2620 s << "\tpInputAssemblyState = " << value.pInputAssemblyState << '\n'; 2621 s << "\tpTessellationState = " << value.pTessellationState << '\n'; 2622 s << "\tpViewportState = " << value.pViewportState << '\n'; 2623 s << "\tpRasterizationState = " << value.pRasterizationState << '\n'; 2624 s << "\tpMultisampleState = " << value.pMultisampleState << '\n'; 2625 s << "\tpDepthStencilState = " << value.pDepthStencilState << '\n'; 2626 s << "\tpColorBlendState = " << value.pColorBlendState << '\n'; 2627 s << "\tpDynamicState = " << value.pDynamicState << '\n'; 2628 s << "\tlayout = " << value.layout << '\n'; 2629 s << "\trenderPass = " << value.renderPass << '\n'; 2630 s << "\tsubpass = " << value.subpass << '\n'; 2631 s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; 2632 s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; 2633 s << '}'; 2634 return s; 2635} 2636 2637std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value) 2638{ 2639 s << "VkComputePipelineCreateInfo = {\n"; 2640 s << "\tsType = " << value.sType << '\n'; 2641 s << "\tpNext = " << value.pNext << '\n'; 2642 s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; 2643 s << "\tstage = " << value.stage << '\n'; 2644 s << "\tlayout = " << value.layout << '\n'; 2645 s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; 2646 s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; 2647 s << '}'; 2648 return s; 2649} 2650 2651std::ostream& operator<< (std::ostream& s, const VkPushConstantRange& value) 2652{ 2653 s << "VkPushConstantRange = {\n"; 2654 s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; 2655 s << "\toffset = " << value.offset << '\n'; 2656 s << "\tsize = " << value.size << '\n'; 2657 s << '}'; 2658 return s; 2659} 2660 2661std::ostream& operator<< (std::ostream& s, const VkPipelineLayoutCreateInfo& value) 2662{ 2663 s << "VkPipelineLayoutCreateInfo = {\n"; 2664 s << "\tsType = " << value.sType << '\n'; 2665 s << "\tpNext = " << value.pNext << '\n'; 2666 s << "\tflags = " << getPipelineLayoutCreateFlagsStr(value.flags) << '\n'; 2667 s << "\tsetLayoutCount = " << value.setLayoutCount << '\n'; 2668 s << "\tpSetLayouts = " << value.pSetLayouts << '\n'; 2669 s << "\tpushConstantRangeCount = " << value.pushConstantRangeCount << '\n'; 2670 s << "\tpPushConstantRanges = " << value.pPushConstantRanges << '\n'; 2671 s << '}'; 2672 return s; 2673} 2674 2675std::ostream& operator<< (std::ostream& s, const VkSamplerCreateInfo& value) 2676{ 2677 s << "VkSamplerCreateInfo = {\n"; 2678 s << "\tsType = " << value.sType << '\n'; 2679 s << "\tpNext = " << value.pNext << '\n'; 2680 s << "\tflags = " << getSamplerCreateFlagsStr(value.flags) << '\n'; 2681 s << "\tmagFilter = " << value.magFilter << '\n'; 2682 s << "\tminFilter = " << value.minFilter << '\n'; 2683 s << "\tmipmapMode = " << value.mipmapMode << '\n'; 2684 s << "\taddressModeU = " << value.addressModeU << '\n'; 2685 s << "\taddressModeV = " << value.addressModeV << '\n'; 2686 s << "\taddressModeW = " << value.addressModeW << '\n'; 2687 s << "\tmipLodBias = " << value.mipLodBias << '\n'; 2688 s << "\tanisotropyEnable = " << value.anisotropyEnable << '\n'; 2689 s << "\tmaxAnisotropy = " << value.maxAnisotropy << '\n'; 2690 s << "\tcompareEnable = " << value.compareEnable << '\n'; 2691 s << "\tcompareOp = " << value.compareOp << '\n'; 2692 s << "\tminLod = " << value.minLod << '\n'; 2693 s << "\tmaxLod = " << value.maxLod << '\n'; 2694 s << "\tborderColor = " << value.borderColor << '\n'; 2695 s << "\tunnormalizedCoordinates = " << value.unnormalizedCoordinates << '\n'; 2696 s << '}'; 2697 return s; 2698} 2699 2700std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value) 2701{ 2702 s << "VkDescriptorSetLayoutBinding = {\n"; 2703 s << "\tbinding = " << value.binding << '\n'; 2704 s << "\tdescriptorType = " << value.descriptorType << '\n'; 2705 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 2706 s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; 2707 s << "\tpImmutableSamplers = " << value.pImmutableSamplers << '\n'; 2708 s << '}'; 2709 return s; 2710} 2711 2712std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value) 2713{ 2714 s << "VkDescriptorSetLayoutCreateInfo = {\n"; 2715 s << "\tsType = " << value.sType << '\n'; 2716 s << "\tpNext = " << value.pNext << '\n'; 2717 s << "\tflags = " << getDescriptorSetLayoutCreateFlagsStr(value.flags) << '\n'; 2718 s << "\tbindingCount = " << value.bindingCount << '\n'; 2719 s << "\tpBindings = " << value.pBindings << '\n'; 2720 s << '}'; 2721 return s; 2722} 2723 2724std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolSize& value) 2725{ 2726 s << "VkDescriptorPoolSize = {\n"; 2727 s << "\ttype = " << value.type << '\n'; 2728 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 2729 s << '}'; 2730 return s; 2731} 2732 2733std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolCreateInfo& value) 2734{ 2735 s << "VkDescriptorPoolCreateInfo = {\n"; 2736 s << "\tsType = " << value.sType << '\n'; 2737 s << "\tpNext = " << value.pNext << '\n'; 2738 s << "\tflags = " << getDescriptorPoolCreateFlagsStr(value.flags) << '\n'; 2739 s << "\tmaxSets = " << value.maxSets << '\n'; 2740 s << "\tpoolSizeCount = " << value.poolSizeCount << '\n'; 2741 s << "\tpPoolSizes = " << value.pPoolSizes << '\n'; 2742 s << '}'; 2743 return s; 2744} 2745 2746std::ostream& operator<< (std::ostream& s, const VkDescriptorSetAllocateInfo& value) 2747{ 2748 s << "VkDescriptorSetAllocateInfo = {\n"; 2749 s << "\tsType = " << value.sType << '\n'; 2750 s << "\tpNext = " << value.pNext << '\n'; 2751 s << "\tdescriptorPool = " << value.descriptorPool << '\n'; 2752 s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n'; 2753 s << "\tpSetLayouts = " << value.pSetLayouts << '\n'; 2754 s << '}'; 2755 return s; 2756} 2757 2758std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value) 2759{ 2760 s << "VkDescriptorImageInfo = {\n"; 2761 s << "\tsampler = " << value.sampler << '\n'; 2762 s << "\timageView = " << value.imageView << '\n'; 2763 s << "\timageLayout = " << value.imageLayout << '\n'; 2764 s << '}'; 2765 return s; 2766} 2767 2768std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value) 2769{ 2770 s << "VkDescriptorBufferInfo = {\n"; 2771 s << "\tbuffer = " << value.buffer << '\n'; 2772 s << "\toffset = " << value.offset << '\n'; 2773 s << "\trange = " << value.range << '\n'; 2774 s << '}'; 2775 return s; 2776} 2777 2778std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSet& value) 2779{ 2780 s << "VkWriteDescriptorSet = {\n"; 2781 s << "\tsType = " << value.sType << '\n'; 2782 s << "\tpNext = " << value.pNext << '\n'; 2783 s << "\tdstSet = " << value.dstSet << '\n'; 2784 s << "\tdstBinding = " << value.dstBinding << '\n'; 2785 s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; 2786 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 2787 s << "\tdescriptorType = " << value.descriptorType << '\n'; 2788 s << "\tpImageInfo = " << value.pImageInfo << '\n'; 2789 s << "\tpBufferInfo = " << value.pBufferInfo << '\n'; 2790 s << "\tpTexelBufferView = " << value.pTexelBufferView << '\n'; 2791 s << '}'; 2792 return s; 2793} 2794 2795std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value) 2796{ 2797 s << "VkCopyDescriptorSet = {\n"; 2798 s << "\tsType = " << value.sType << '\n'; 2799 s << "\tpNext = " << value.pNext << '\n'; 2800 s << "\tsrcSet = " << value.srcSet << '\n'; 2801 s << "\tsrcBinding = " << value.srcBinding << '\n'; 2802 s << "\tsrcArrayElement = " << value.srcArrayElement << '\n'; 2803 s << "\tdstSet = " << value.dstSet << '\n'; 2804 s << "\tdstBinding = " << value.dstBinding << '\n'; 2805 s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; 2806 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 2807 s << '}'; 2808 return s; 2809} 2810 2811std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value) 2812{ 2813 s << "VkFramebufferCreateInfo = {\n"; 2814 s << "\tsType = " << value.sType << '\n'; 2815 s << "\tpNext = " << value.pNext << '\n'; 2816 s << "\tflags = " << getFramebufferCreateFlagsStr(value.flags) << '\n'; 2817 s << "\trenderPass = " << value.renderPass << '\n'; 2818 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 2819 s << "\tpAttachments = " << value.pAttachments << '\n'; 2820 s << "\twidth = " << value.width << '\n'; 2821 s << "\theight = " << value.height << '\n'; 2822 s << "\tlayers = " << value.layers << '\n'; 2823 s << '}'; 2824 return s; 2825} 2826 2827std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription& value) 2828{ 2829 s << "VkAttachmentDescription = {\n"; 2830 s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n'; 2831 s << "\tformat = " << value.format << '\n'; 2832 s << "\tsamples = " << value.samples << '\n'; 2833 s << "\tloadOp = " << value.loadOp << '\n'; 2834 s << "\tstoreOp = " << value.storeOp << '\n'; 2835 s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n'; 2836 s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n'; 2837 s << "\tinitialLayout = " << value.initialLayout << '\n'; 2838 s << "\tfinalLayout = " << value.finalLayout << '\n'; 2839 s << '}'; 2840 return s; 2841} 2842 2843std::ostream& operator<< (std::ostream& s, const VkAttachmentReference& value) 2844{ 2845 s << "VkAttachmentReference = {\n"; 2846 s << "\tattachment = " << value.attachment << '\n'; 2847 s << "\tlayout = " << value.layout << '\n'; 2848 s << '}'; 2849 return s; 2850} 2851 2852std::ostream& operator<< (std::ostream& s, const VkSubpassDescription& value) 2853{ 2854 s << "VkSubpassDescription = {\n"; 2855 s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n'; 2856 s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; 2857 s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n'; 2858 s << "\tpInputAttachments = " << value.pInputAttachments << '\n'; 2859 s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; 2860 s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; 2861 s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n'; 2862 s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n'; 2863 s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n'; 2864 s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n'; 2865 s << '}'; 2866 return s; 2867} 2868 2869std::ostream& operator<< (std::ostream& s, const VkSubpassDependency& value) 2870{ 2871 s << "VkSubpassDependency = {\n"; 2872 s << "\tsrcSubpass = " << value.srcSubpass << '\n'; 2873 s << "\tdstSubpass = " << value.dstSubpass << '\n'; 2874 s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n'; 2875 s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n'; 2876 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 2877 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 2878 s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; 2879 s << '}'; 2880 return s; 2881} 2882 2883std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo& value) 2884{ 2885 s << "VkRenderPassCreateInfo = {\n"; 2886 s << "\tsType = " << value.sType << '\n'; 2887 s << "\tpNext = " << value.pNext << '\n'; 2888 s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n'; 2889 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 2890 s << "\tpAttachments = " << value.pAttachments << '\n'; 2891 s << "\tsubpassCount = " << value.subpassCount << '\n'; 2892 s << "\tpSubpasses = " << value.pSubpasses << '\n'; 2893 s << "\tdependencyCount = " << value.dependencyCount << '\n'; 2894 s << "\tpDependencies = " << value.pDependencies << '\n'; 2895 s << '}'; 2896 return s; 2897} 2898 2899std::ostream& operator<< (std::ostream& s, const VkCommandPoolCreateInfo& value) 2900{ 2901 s << "VkCommandPoolCreateInfo = {\n"; 2902 s << "\tsType = " << value.sType << '\n'; 2903 s << "\tpNext = " << value.pNext << '\n'; 2904 s << "\tflags = " << getCommandPoolCreateFlagsStr(value.flags) << '\n'; 2905 s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; 2906 s << '}'; 2907 return s; 2908} 2909 2910std::ostream& operator<< (std::ostream& s, const VkCommandBufferAllocateInfo& value) 2911{ 2912 s << "VkCommandBufferAllocateInfo = {\n"; 2913 s << "\tsType = " << value.sType << '\n'; 2914 s << "\tpNext = " << value.pNext << '\n'; 2915 s << "\tcommandPool = " << value.commandPool << '\n'; 2916 s << "\tlevel = " << value.level << '\n'; 2917 s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; 2918 s << '}'; 2919 return s; 2920} 2921 2922std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceInfo& value) 2923{ 2924 s << "VkCommandBufferInheritanceInfo = {\n"; 2925 s << "\tsType = " << value.sType << '\n'; 2926 s << "\tpNext = " << value.pNext << '\n'; 2927 s << "\trenderPass = " << value.renderPass << '\n'; 2928 s << "\tsubpass = " << value.subpass << '\n'; 2929 s << "\tframebuffer = " << value.framebuffer << '\n'; 2930 s << "\tocclusionQueryEnable = " << value.occlusionQueryEnable << '\n'; 2931 s << "\tqueryFlags = " << getQueryControlFlagsStr(value.queryFlags) << '\n'; 2932 s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n'; 2933 s << '}'; 2934 return s; 2935} 2936 2937std::ostream& operator<< (std::ostream& s, const VkCommandBufferBeginInfo& value) 2938{ 2939 s << "VkCommandBufferBeginInfo = {\n"; 2940 s << "\tsType = " << value.sType << '\n'; 2941 s << "\tpNext = " << value.pNext << '\n'; 2942 s << "\tflags = " << getCommandBufferUsageFlagsStr(value.flags) << '\n'; 2943 s << "\tpInheritanceInfo = " << value.pInheritanceInfo << '\n'; 2944 s << '}'; 2945 return s; 2946} 2947 2948std::ostream& operator<< (std::ostream& s, const VkBufferCopy& value) 2949{ 2950 s << "VkBufferCopy = {\n"; 2951 s << "\tsrcOffset = " << value.srcOffset << '\n'; 2952 s << "\tdstOffset = " << value.dstOffset << '\n'; 2953 s << "\tsize = " << value.size << '\n'; 2954 s << '}'; 2955 return s; 2956} 2957 2958std::ostream& operator<< (std::ostream& s, const VkImageSubresourceLayers& value) 2959{ 2960 s << "VkImageSubresourceLayers = {\n"; 2961 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 2962 s << "\tmipLevel = " << value.mipLevel << '\n'; 2963 s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; 2964 s << "\tlayerCount = " << value.layerCount << '\n'; 2965 s << '}'; 2966 return s; 2967} 2968 2969std::ostream& operator<< (std::ostream& s, const VkImageCopy& value) 2970{ 2971 s << "VkImageCopy = {\n"; 2972 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 2973 s << "\tsrcOffset = " << value.srcOffset << '\n'; 2974 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 2975 s << "\tdstOffset = " << value.dstOffset << '\n'; 2976 s << "\textent = " << value.extent << '\n'; 2977 s << '}'; 2978 return s; 2979} 2980 2981std::ostream& operator<< (std::ostream& s, const VkImageBlit& value) 2982{ 2983 s << "VkImageBlit = {\n"; 2984 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 2985 s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n'; 2986 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 2987 s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n'; 2988 s << '}'; 2989 return s; 2990} 2991 2992std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy& value) 2993{ 2994 s << "VkBufferImageCopy = {\n"; 2995 s << "\tbufferOffset = " << value.bufferOffset << '\n'; 2996 s << "\tbufferRowLength = " << value.bufferRowLength << '\n'; 2997 s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n'; 2998 s << "\timageSubresource = " << value.imageSubresource << '\n'; 2999 s << "\timageOffset = " << value.imageOffset << '\n'; 3000 s << "\timageExtent = " << value.imageExtent << '\n'; 3001 s << '}'; 3002 return s; 3003} 3004 3005std::ostream& operator<< (std::ostream& s, const VkClearColorValue& value) 3006{ 3007 s << "VkClearColorValue = {\n"; 3008 s << "\tfloat32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.float32), DE_ARRAY_END(value.float32)) << '\n'; 3009 s << "\tint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.int32), DE_ARRAY_END(value.int32)) << '\n'; 3010 s << "\tuint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.uint32), DE_ARRAY_END(value.uint32)) << '\n'; 3011 s << '}'; 3012 return s; 3013} 3014 3015std::ostream& operator<< (std::ostream& s, const VkClearDepthStencilValue& value) 3016{ 3017 s << "VkClearDepthStencilValue = {\n"; 3018 s << "\tdepth = " << value.depth << '\n'; 3019 s << "\tstencil = " << value.stencil << '\n'; 3020 s << '}'; 3021 return s; 3022} 3023 3024std::ostream& operator<< (std::ostream& s, const VkClearValue& value) 3025{ 3026 s << "VkClearValue = {\n"; 3027 s << "\tcolor = " << value.color << '\n'; 3028 s << "\tdepthStencil = " << value.depthStencil << '\n'; 3029 s << '}'; 3030 return s; 3031} 3032 3033std::ostream& operator<< (std::ostream& s, const VkClearAttachment& value) 3034{ 3035 s << "VkClearAttachment = {\n"; 3036 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 3037 s << "\tcolorAttachment = " << value.colorAttachment << '\n'; 3038 s << "\tclearValue = " << value.clearValue << '\n'; 3039 s << '}'; 3040 return s; 3041} 3042 3043std::ostream& operator<< (std::ostream& s, const VkClearRect& value) 3044{ 3045 s << "VkClearRect = {\n"; 3046 s << "\trect = " << value.rect << '\n'; 3047 s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; 3048 s << "\tlayerCount = " << value.layerCount << '\n'; 3049 s << '}'; 3050 return s; 3051} 3052 3053std::ostream& operator<< (std::ostream& s, const VkImageResolve& value) 3054{ 3055 s << "VkImageResolve = {\n"; 3056 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 3057 s << "\tsrcOffset = " << value.srcOffset << '\n'; 3058 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 3059 s << "\tdstOffset = " << value.dstOffset << '\n'; 3060 s << "\textent = " << value.extent << '\n'; 3061 s << '}'; 3062 return s; 3063} 3064 3065std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value) 3066{ 3067 s << "VkMemoryBarrier = {\n"; 3068 s << "\tsType = " << value.sType << '\n'; 3069 s << "\tpNext = " << value.pNext << '\n'; 3070 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 3071 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 3072 s << '}'; 3073 return s; 3074} 3075 3076std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value) 3077{ 3078 s << "VkBufferMemoryBarrier = {\n"; 3079 s << "\tsType = " << value.sType << '\n'; 3080 s << "\tpNext = " << value.pNext << '\n'; 3081 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 3082 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 3083 s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; 3084 s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; 3085 s << "\tbuffer = " << value.buffer << '\n'; 3086 s << "\toffset = " << value.offset << '\n'; 3087 s << "\tsize = " << value.size << '\n'; 3088 s << '}'; 3089 return s; 3090} 3091 3092std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value) 3093{ 3094 s << "VkImageMemoryBarrier = {\n"; 3095 s << "\tsType = " << value.sType << '\n'; 3096 s << "\tpNext = " << value.pNext << '\n'; 3097 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 3098 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 3099 s << "\toldLayout = " << value.oldLayout << '\n'; 3100 s << "\tnewLayout = " << value.newLayout << '\n'; 3101 s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; 3102 s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; 3103 s << "\timage = " << value.image << '\n'; 3104 s << "\tsubresourceRange = " << value.subresourceRange << '\n'; 3105 s << '}'; 3106 return s; 3107} 3108 3109std::ostream& operator<< (std::ostream& s, const VkRenderPassBeginInfo& value) 3110{ 3111 s << "VkRenderPassBeginInfo = {\n"; 3112 s << "\tsType = " << value.sType << '\n'; 3113 s << "\tpNext = " << value.pNext << '\n'; 3114 s << "\trenderPass = " << value.renderPass << '\n'; 3115 s << "\tframebuffer = " << value.framebuffer << '\n'; 3116 s << "\trenderArea = " << value.renderArea << '\n'; 3117 s << "\tclearValueCount = " << value.clearValueCount << '\n'; 3118 s << "\tpClearValues = " << value.pClearValues << '\n'; 3119 s << '}'; 3120 return s; 3121} 3122 3123std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value) 3124{ 3125 s << "VkDispatchIndirectCommand = {\n"; 3126 s << "\tx = " << value.x << '\n'; 3127 s << "\ty = " << value.y << '\n'; 3128 s << "\tz = " << value.z << '\n'; 3129 s << '}'; 3130 return s; 3131} 3132 3133std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value) 3134{ 3135 s << "VkDrawIndexedIndirectCommand = {\n"; 3136 s << "\tindexCount = " << value.indexCount << '\n'; 3137 s << "\tinstanceCount = " << value.instanceCount << '\n'; 3138 s << "\tfirstIndex = " << value.firstIndex << '\n'; 3139 s << "\tvertexOffset = " << value.vertexOffset << '\n'; 3140 s << "\tfirstInstance = " << value.firstInstance << '\n'; 3141 s << '}'; 3142 return s; 3143} 3144 3145std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value) 3146{ 3147 s << "VkDrawIndirectCommand = {\n"; 3148 s << "\tvertexCount = " << value.vertexCount << '\n'; 3149 s << "\tinstanceCount = " << value.instanceCount << '\n'; 3150 s << "\tfirstVertex = " << value.firstVertex << '\n'; 3151 s << "\tfirstInstance = " << value.firstInstance << '\n'; 3152 s << '}'; 3153 return s; 3154} 3155 3156std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesKHR& value) 3157{ 3158 s << "VkSurfaceCapabilitiesKHR = {\n"; 3159 s << "\tminImageCount = " << value.minImageCount << '\n'; 3160 s << "\tmaxImageCount = " << value.maxImageCount << '\n'; 3161 s << "\tcurrentExtent = " << value.currentExtent << '\n'; 3162 s << "\tminImageExtent = " << value.minImageExtent << '\n'; 3163 s << "\tmaxImageExtent = " << value.maxImageExtent << '\n'; 3164 s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; 3165 s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; 3166 s << "\tcurrentTransform = " << value.currentTransform << '\n'; 3167 s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n'; 3168 s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n'; 3169 s << '}'; 3170 return s; 3171} 3172 3173std::ostream& operator<< (std::ostream& s, const VkSurfaceFormatKHR& value) 3174{ 3175 s << "VkSurfaceFormatKHR = {\n"; 3176 s << "\tformat = " << value.format << '\n'; 3177 s << "\tcolorSpace = " << value.colorSpace << '\n'; 3178 s << '}'; 3179 return s; 3180} 3181 3182std::ostream& operator<< (std::ostream& s, const VkSwapchainCreateInfoKHR& value) 3183{ 3184 s << "VkSwapchainCreateInfoKHR = {\n"; 3185 s << "\tsType = " << value.sType << '\n'; 3186 s << "\tpNext = " << value.pNext << '\n'; 3187 s << "\tflags = " << getSwapchainCreateFlagsKHRStr(value.flags) << '\n'; 3188 s << "\tsurface = " << value.surface << '\n'; 3189 s << "\tminImageCount = " << value.minImageCount << '\n'; 3190 s << "\timageFormat = " << value.imageFormat << '\n'; 3191 s << "\timageColorSpace = " << value.imageColorSpace << '\n'; 3192 s << "\timageExtent = " << value.imageExtent << '\n'; 3193 s << "\timageArrayLayers = " << value.imageArrayLayers << '\n'; 3194 s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n'; 3195 s << "\timageSharingMode = " << value.imageSharingMode << '\n'; 3196 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 3197 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 3198 s << "\tpreTransform = " << value.preTransform << '\n'; 3199 s << "\tcompositeAlpha = " << value.compositeAlpha << '\n'; 3200 s << "\tpresentMode = " << value.presentMode << '\n'; 3201 s << "\tclipped = " << value.clipped << '\n'; 3202 s << "\toldSwapchain = " << value.oldSwapchain << '\n'; 3203 s << '}'; 3204 return s; 3205} 3206 3207std::ostream& operator<< (std::ostream& s, const VkPresentInfoKHR& value) 3208{ 3209 s << "VkPresentInfoKHR = {\n"; 3210 s << "\tsType = " << value.sType << '\n'; 3211 s << "\tpNext = " << value.pNext << '\n'; 3212 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 3213 s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; 3214 s << "\tswapchainCount = " << value.swapchainCount << '\n'; 3215 s << "\tpSwapchains = " << value.pSwapchains << '\n'; 3216 s << "\tpImageIndices = " << value.pImageIndices << '\n'; 3217 s << "\tpResults = " << value.pResults << '\n'; 3218 s << '}'; 3219 return s; 3220} 3221 3222std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value) 3223{ 3224 s << "VkDisplayPropertiesKHR = {\n"; 3225 s << "\tdisplay = " << value.display << '\n'; 3226 s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n'; 3227 s << "\tphysicalDimensions = " << value.physicalDimensions << '\n'; 3228 s << "\tphysicalResolution = " << value.physicalResolution << '\n'; 3229 s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; 3230 s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n'; 3231 s << "\tpersistentContent = " << value.persistentContent << '\n'; 3232 s << '}'; 3233 return s; 3234} 3235 3236std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value) 3237{ 3238 s << "VkDisplayModeParametersKHR = {\n"; 3239 s << "\tvisibleRegion = " << value.visibleRegion << '\n'; 3240 s << "\trefreshRate = " << value.refreshRate << '\n'; 3241 s << '}'; 3242 return s; 3243} 3244 3245std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value) 3246{ 3247 s << "VkDisplayModePropertiesKHR = {\n"; 3248 s << "\tdisplayMode = " << value.displayMode << '\n'; 3249 s << "\tparameters = " << value.parameters << '\n'; 3250 s << '}'; 3251 return s; 3252} 3253 3254std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value) 3255{ 3256 s << "VkDisplayModeCreateInfoKHR = {\n"; 3257 s << "\tsType = " << value.sType << '\n'; 3258 s << "\tpNext = " << value.pNext << '\n'; 3259 s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n'; 3260 s << "\tparameters = " << value.parameters << '\n'; 3261 s << '}'; 3262 return s; 3263} 3264 3265std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value) 3266{ 3267 s << "VkDisplayPlaneCapabilitiesKHR = {\n"; 3268 s << "\tsupportedAlpha = " << getDisplayPlaneAlphaFlagsKHRStr(value.supportedAlpha) << '\n'; 3269 s << "\tminSrcPosition = " << value.minSrcPosition << '\n'; 3270 s << "\tmaxSrcPosition = " << value.maxSrcPosition << '\n'; 3271 s << "\tminSrcExtent = " << value.minSrcExtent << '\n'; 3272 s << "\tmaxSrcExtent = " << value.maxSrcExtent << '\n'; 3273 s << "\tminDstPosition = " << value.minDstPosition << '\n'; 3274 s << "\tmaxDstPosition = " << value.maxDstPosition << '\n'; 3275 s << "\tminDstExtent = " << value.minDstExtent << '\n'; 3276 s << "\tmaxDstExtent = " << value.maxDstExtent << '\n'; 3277 s << '}'; 3278 return s; 3279} 3280 3281std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& value) 3282{ 3283 s << "VkDisplayPlanePropertiesKHR = {\n"; 3284 s << "\tcurrentDisplay = " << value.currentDisplay << '\n'; 3285 s << "\tcurrentStackIndex = " << value.currentStackIndex << '\n'; 3286 s << '}'; 3287 return s; 3288} 3289 3290std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value) 3291{ 3292 s << "VkDisplaySurfaceCreateInfoKHR = {\n"; 3293 s << "\tsType = " << value.sType << '\n'; 3294 s << "\tpNext = " << value.pNext << '\n'; 3295 s << "\tflags = " << getDisplaySurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3296 s << "\tdisplayMode = " << value.displayMode << '\n'; 3297 s << "\tplaneIndex = " << value.planeIndex << '\n'; 3298 s << "\tplaneStackIndex = " << value.planeStackIndex << '\n'; 3299 s << "\ttransform = " << value.transform << '\n'; 3300 s << "\tglobalAlpha = " << value.globalAlpha << '\n'; 3301 s << "\talphaMode = " << value.alphaMode << '\n'; 3302 s << "\timageExtent = " << value.imageExtent << '\n'; 3303 s << '}'; 3304 return s; 3305} 3306 3307std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value) 3308{ 3309 s << "VkDisplayPresentInfoKHR = {\n"; 3310 s << "\tsType = " << value.sType << '\n'; 3311 s << "\tpNext = " << value.pNext << '\n'; 3312 s << "\tsrcRect = " << value.srcRect << '\n'; 3313 s << "\tdstRect = " << value.dstRect << '\n'; 3314 s << "\tpersistent = " << value.persistent << '\n'; 3315 s << '}'; 3316 return s; 3317} 3318 3319std::ostream& operator<< (std::ostream& s, const VkXlibSurfaceCreateInfoKHR& value) 3320{ 3321 s << "VkXlibSurfaceCreateInfoKHR = {\n"; 3322 s << "\tsType = " << value.sType << '\n'; 3323 s << "\tpNext = " << value.pNext << '\n'; 3324 s << "\tflags = " << getXlibSurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3325 s << "\tdpy = " << value.dpy << '\n'; 3326 s << "\twindow = " << value.window << '\n'; 3327 s << '}'; 3328 return s; 3329} 3330 3331std::ostream& operator<< (std::ostream& s, const VkXcbSurfaceCreateInfoKHR& value) 3332{ 3333 s << "VkXcbSurfaceCreateInfoKHR = {\n"; 3334 s << "\tsType = " << value.sType << '\n'; 3335 s << "\tpNext = " << value.pNext << '\n'; 3336 s << "\tflags = " << getXcbSurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3337 s << "\tconnection = " << value.connection << '\n'; 3338 s << "\twindow = " << value.window << '\n'; 3339 s << '}'; 3340 return s; 3341} 3342 3343std::ostream& operator<< (std::ostream& s, const VkWaylandSurfaceCreateInfoKHR& value) 3344{ 3345 s << "VkWaylandSurfaceCreateInfoKHR = {\n"; 3346 s << "\tsType = " << value.sType << '\n'; 3347 s << "\tpNext = " << value.pNext << '\n'; 3348 s << "\tflags = " << getWaylandSurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3349 s << "\tdisplay = " << value.display << '\n'; 3350 s << "\tsurface = " << value.surface << '\n'; 3351 s << '}'; 3352 return s; 3353} 3354 3355std::ostream& operator<< (std::ostream& s, const VkMirSurfaceCreateInfoKHR& value) 3356{ 3357 s << "VkMirSurfaceCreateInfoKHR = {\n"; 3358 s << "\tsType = " << value.sType << '\n'; 3359 s << "\tpNext = " << value.pNext << '\n'; 3360 s << "\tflags = " << getMirSurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3361 s << "\tconnection = " << value.connection << '\n'; 3362 s << "\tmirSurface = " << value.mirSurface << '\n'; 3363 s << '}'; 3364 return s; 3365} 3366 3367std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value) 3368{ 3369 s << "VkAndroidSurfaceCreateInfoKHR = {\n"; 3370 s << "\tsType = " << value.sType << '\n'; 3371 s << "\tpNext = " << value.pNext << '\n'; 3372 s << "\tflags = " << getAndroidSurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3373 s << "\twindow = " << value.window << '\n'; 3374 s << '}'; 3375 return s; 3376} 3377 3378std::ostream& operator<< (std::ostream& s, const VkWin32SurfaceCreateInfoKHR& value) 3379{ 3380 s << "VkWin32SurfaceCreateInfoKHR = {\n"; 3381 s << "\tsType = " << value.sType << '\n'; 3382 s << "\tpNext = " << value.pNext << '\n'; 3383 s << "\tflags = " << getWin32SurfaceCreateFlagsKHRStr(value.flags) << '\n'; 3384 s << "\thinstance = " << value.hinstance << '\n'; 3385 s << "\thwnd = " << value.hwnd << '\n'; 3386 s << '}'; 3387 return s; 3388} 3389 3390std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures2KHR& value) 3391{ 3392 s << "VkPhysicalDeviceFeatures2KHR = {\n"; 3393 s << "\tsType = " << value.sType << '\n'; 3394 s << "\tpNext = " << value.pNext << '\n'; 3395 s << "\tfeatures = " << value.features << '\n'; 3396 s << '}'; 3397 return s; 3398} 3399 3400std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties2KHR& value) 3401{ 3402 s << "VkPhysicalDeviceProperties2KHR = {\n"; 3403 s << "\tsType = " << value.sType << '\n'; 3404 s << "\tpNext = " << value.pNext << '\n'; 3405 s << "\tproperties = " << value.properties << '\n'; 3406 s << '}'; 3407 return s; 3408} 3409 3410std::ostream& operator<< (std::ostream& s, const VkFormatProperties2KHR& value) 3411{ 3412 s << "VkFormatProperties2KHR = {\n"; 3413 s << "\tsType = " << value.sType << '\n'; 3414 s << "\tpNext = " << value.pNext << '\n'; 3415 s << "\tformatProperties = " << value.formatProperties << '\n'; 3416 s << '}'; 3417 return s; 3418} 3419 3420std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties2KHR& value) 3421{ 3422 s << "VkImageFormatProperties2KHR = {\n"; 3423 s << "\tsType = " << value.sType << '\n'; 3424 s << "\tpNext = " << value.pNext << '\n'; 3425 s << "\timageFormatProperties = " << value.imageFormatProperties << '\n'; 3426 s << '}'; 3427 return s; 3428} 3429 3430std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageFormatInfo2KHR& value) 3431{ 3432 s << "VkPhysicalDeviceImageFormatInfo2KHR = {\n"; 3433 s << "\tsType = " << value.sType << '\n'; 3434 s << "\tpNext = " << value.pNext << '\n'; 3435 s << "\tformat = " << value.format << '\n'; 3436 s << "\ttype = " << value.type << '\n'; 3437 s << "\ttiling = " << value.tiling << '\n'; 3438 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 3439 s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; 3440 s << '}'; 3441 return s; 3442} 3443 3444std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties2KHR& value) 3445{ 3446 s << "VkQueueFamilyProperties2KHR = {\n"; 3447 s << "\tsType = " << value.sType << '\n'; 3448 s << "\tpNext = " << value.pNext << '\n'; 3449 s << "\tqueueFamilyProperties = " << value.queueFamilyProperties << '\n'; 3450 s << '}'; 3451 return s; 3452} 3453 3454std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties2KHR& value) 3455{ 3456 s << "VkPhysicalDeviceMemoryProperties2KHR = {\n"; 3457 s << "\tsType = " << value.sType << '\n'; 3458 s << "\tpNext = " << value.pNext << '\n'; 3459 s << "\tmemoryProperties = " << value.memoryProperties << '\n'; 3460 s << '}'; 3461 return s; 3462} 3463 3464std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties2KHR& value) 3465{ 3466 s << "VkSparseImageFormatProperties2KHR = {\n"; 3467 s << "\tsType = " << value.sType << '\n'; 3468 s << "\tpNext = " << value.pNext << '\n'; 3469 s << "\tproperties = " << value.properties << '\n'; 3470 s << '}'; 3471 return s; 3472} 3473 3474std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseImageFormatInfo2KHR& value) 3475{ 3476 s << "VkPhysicalDeviceSparseImageFormatInfo2KHR = {\n"; 3477 s << "\tsType = " << value.sType << '\n'; 3478 s << "\tpNext = " << value.pNext << '\n'; 3479 s << "\tformat = " << value.format << '\n'; 3480 s << "\ttype = " << value.type << '\n'; 3481 s << "\tsamples = " << value.samples << '\n'; 3482 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 3483 s << "\ttiling = " << value.tiling << '\n'; 3484 s << '}'; 3485 return s; 3486} 3487 3488std::ostream& operator<< (std::ostream& s, const VkRectLayerKHR& value) 3489{ 3490 s << "VkRectLayerKHR = {\n"; 3491 s << "\toffset = " << value.offset << '\n'; 3492 s << "\textent = " << value.extent << '\n'; 3493 s << "\tlayer = " << value.layer << '\n'; 3494 s << '}'; 3495 return s; 3496} 3497 3498std::ostream& operator<< (std::ostream& s, const VkPresentRegionKHR& value) 3499{ 3500 s << "VkPresentRegionKHR = {\n"; 3501 s << "\trectangleCount = " << value.rectangleCount << '\n'; 3502 s << "\tpRectangles = " << value.pRectangles << '\n'; 3503 s << '}'; 3504 return s; 3505} 3506 3507std::ostream& operator<< (std::ostream& s, const VkPresentRegionsKHR& value) 3508{ 3509 s << "VkPresentRegionsKHR = {\n"; 3510 s << "\tsType = " << value.sType << '\n'; 3511 s << "\tpNext = " << value.pNext << '\n'; 3512 s << "\tswapchainCount = " << value.swapchainCount << '\n'; 3513 s << "\tpRegions = " << value.pRegions << '\n'; 3514 s << '}'; 3515 return s; 3516} 3517 3518std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value) 3519{ 3520 s << "VkPhysicalDeviceSurfaceInfo2KHR = {\n"; 3521 s << "\tsType = " << value.sType << '\n'; 3522 s << "\tpNext = " << value.pNext << '\n'; 3523 s << "\tsurface = " << value.surface << '\n'; 3524 s << '}'; 3525 return s; 3526} 3527 3528std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2KHR& value) 3529{ 3530 s << "VkSurfaceCapabilities2KHR = {\n"; 3531 s << "\tsType = " << value.sType << '\n'; 3532 s << "\tpNext = " << value.pNext << '\n'; 3533 s << "\tsurfaceCapabilities = " << value.surfaceCapabilities << '\n'; 3534 s << '}'; 3535 return s; 3536} 3537 3538std::ostream& operator<< (std::ostream& s, const VkSurfaceFormat2KHR& value) 3539{ 3540 s << "VkSurfaceFormat2KHR = {\n"; 3541 s << "\tsType = " << value.sType << '\n'; 3542 s << "\tpNext = " << value.pNext << '\n'; 3543 s << "\tsurfaceFormat = " << value.surfaceFormat << '\n'; 3544 s << '}'; 3545 return s; 3546} 3547 3548std::ostream& operator<< (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value) 3549{ 3550 s << "VkSharedPresentSurfaceCapabilitiesKHR = {\n"; 3551 s << "\tsType = " << value.sType << '\n'; 3552 s << "\tpNext = " << value.pNext << '\n'; 3553 s << "\tsharedPresentSupportedUsageFlags = " << getImageUsageFlagsStr(value.sharedPresentSupportedUsageFlags) << '\n'; 3554 s << '}'; 3555 return s; 3556} 3557 3558std::ostream& operator<< (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value) 3559{ 3560 s << "VkDebugReportCallbackCreateInfoEXT = {\n"; 3561 s << "\tsType = " << value.sType << '\n'; 3562 s << "\tpNext = " << value.pNext << '\n'; 3563 s << "\tflags = " << getDebugReportFlagsEXTStr(value.flags) << '\n'; 3564 s << "\tpfnCallback = " << value.pfnCallback << '\n'; 3565 s << "\tpUserData = " << value.pUserData << '\n'; 3566 s << '}'; 3567 return s; 3568} 3569 3570std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value) 3571{ 3572 s << "VkPipelineRasterizationStateRasterizationOrderAMD = {\n"; 3573 s << "\tsType = " << value.sType << '\n'; 3574 s << "\tpNext = " << value.pNext << '\n'; 3575 s << "\trasterizationOrder = " << value.rasterizationOrder << '\n'; 3576 s << '}'; 3577 return s; 3578} 3579 3580std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value) 3581{ 3582 s << "VkDebugMarkerObjectNameInfoEXT = {\n"; 3583 s << "\tsType = " << value.sType << '\n'; 3584 s << "\tpNext = " << value.pNext << '\n'; 3585 s << "\tobjectType = " << value.objectType << '\n'; 3586 s << "\tobject = " << value.object << '\n'; 3587 s << "\tpObjectName = " << getCharPtrStr(value.pObjectName) << '\n'; 3588 s << '}'; 3589 return s; 3590} 3591 3592std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectTagInfoEXT& value) 3593{ 3594 s << "VkDebugMarkerObjectTagInfoEXT = {\n"; 3595 s << "\tsType = " << value.sType << '\n'; 3596 s << "\tpNext = " << value.pNext << '\n'; 3597 s << "\tobjectType = " << value.objectType << '\n'; 3598 s << "\tobject = " << value.object << '\n'; 3599 s << "\ttagName = " << value.tagName << '\n'; 3600 s << "\ttagSize = " << value.tagSize << '\n'; 3601 s << "\tpTag = " << value.pTag << '\n'; 3602 s << '}'; 3603 return s; 3604} 3605 3606std::ostream& operator<< (std::ostream& s, const VkDebugMarkerMarkerInfoEXT& value) 3607{ 3608 s << "VkDebugMarkerMarkerInfoEXT = {\n"; 3609 s << "\tsType = " << value.sType << '\n'; 3610 s << "\tpNext = " << value.pNext << '\n'; 3611 s << "\tpMarkerName = " << getCharPtrStr(value.pMarkerName) << '\n'; 3612 s << "\tcolor = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.color), DE_ARRAY_END(value.color)) << '\n'; 3613 s << '}'; 3614 return s; 3615} 3616 3617std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationImageCreateInfoNV& value) 3618{ 3619 s << "VkDedicatedAllocationImageCreateInfoNV = {\n"; 3620 s << "\tsType = " << value.sType << '\n'; 3621 s << "\tpNext = " << value.pNext << '\n'; 3622 s << "\tdedicatedAllocation = " << value.dedicatedAllocation << '\n'; 3623 s << '}'; 3624 return s; 3625} 3626 3627std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationBufferCreateInfoNV& value) 3628{ 3629 s << "VkDedicatedAllocationBufferCreateInfoNV = {\n"; 3630 s << "\tsType = " << value.sType << '\n'; 3631 s << "\tpNext = " << value.pNext << '\n'; 3632 s << "\tdedicatedAllocation = " << value.dedicatedAllocation << '\n'; 3633 s << '}'; 3634 return s; 3635} 3636 3637std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationMemoryAllocateInfoNV& value) 3638{ 3639 s << "VkDedicatedAllocationMemoryAllocateInfoNV = {\n"; 3640 s << "\tsType = " << value.sType << '\n'; 3641 s << "\tpNext = " << value.pNext << '\n'; 3642 s << "\timage = " << value.image << '\n'; 3643 s << "\tbuffer = " << value.buffer << '\n'; 3644 s << '}'; 3645 return s; 3646} 3647 3648std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatPropertiesNV& value) 3649{ 3650 s << "VkExternalImageFormatPropertiesNV = {\n"; 3651 s << "\timageFormatProperties = " << value.imageFormatProperties << '\n'; 3652 s << "\texternalMemoryFeatures = " << getExternalMemoryFeatureFlagsNVStr(value.externalMemoryFeatures) << '\n'; 3653 s << "\texportFromImportedHandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.exportFromImportedHandleTypes) << '\n'; 3654 s << "\tcompatibleHandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.compatibleHandleTypes) << '\n'; 3655 s << '}'; 3656 return s; 3657} 3658 3659std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfoNV& value) 3660{ 3661 s << "VkExternalMemoryImageCreateInfoNV = {\n"; 3662 s << "\tsType = " << value.sType << '\n'; 3663 s << "\tpNext = " << value.pNext << '\n'; 3664 s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleTypes) << '\n'; 3665 s << '}'; 3666 return s; 3667} 3668 3669std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfoNV& value) 3670{ 3671 s << "VkExportMemoryAllocateInfoNV = {\n"; 3672 s << "\tsType = " << value.sType << '\n'; 3673 s << "\tpNext = " << value.pNext << '\n'; 3674 s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleTypes) << '\n'; 3675 s << '}'; 3676 return s; 3677} 3678 3679std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoNV& value) 3680{ 3681 s << "VkImportMemoryWin32HandleInfoNV = {\n"; 3682 s << "\tsType = " << value.sType << '\n'; 3683 s << "\tpNext = " << value.pNext << '\n'; 3684 s << "\thandleType = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleType) << '\n'; 3685 s << "\thandle = " << value.handle << '\n'; 3686 s << '}'; 3687 return s; 3688} 3689 3690std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoNV& value) 3691{ 3692 s << "VkExportMemoryWin32HandleInfoNV = {\n"; 3693 s << "\tsType = " << value.sType << '\n'; 3694 s << "\tpNext = " << value.pNext << '\n'; 3695 s << "\tpAttributes = " << value.pAttributes << '\n'; 3696 s << "\tdwAccess = " << value.dwAccess << '\n'; 3697 s << '}'; 3698 return s; 3699} 3700 3701std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoNV& value) 3702{ 3703 s << "VkWin32KeyedMutexAcquireReleaseInfoNV = {\n"; 3704 s << "\tsType = " << value.sType << '\n'; 3705 s << "\tpNext = " << value.pNext << '\n'; 3706 s << "\tacquireCount = " << value.acquireCount << '\n'; 3707 s << "\tpAcquireSyncs = " << value.pAcquireSyncs << '\n'; 3708 s << "\tpAcquireKeys = " << value.pAcquireKeys << '\n'; 3709 s << "\tpAcquireTimeoutMilliseconds = " << value.pAcquireTimeoutMilliseconds << '\n'; 3710 s << "\treleaseCount = " << value.releaseCount << '\n'; 3711 s << "\tpReleaseSyncs = " << value.pReleaseSyncs << '\n'; 3712 s << "\tpReleaseKeys = " << value.pReleaseKeys << '\n'; 3713 s << '}'; 3714 return s; 3715} 3716 3717std::ostream& operator<< (std::ostream& s, const VkValidationFlagsEXT& value) 3718{ 3719 s << "VkValidationFlagsEXT = {\n"; 3720 s << "\tsType = " << value.sType << '\n'; 3721 s << "\tpNext = " << value.pNext << '\n'; 3722 s << "\tdisabledValidationCheckCount = " << value.disabledValidationCheckCount << '\n'; 3723 s << "\tpDisabledValidationChecks = " << value.pDisabledValidationChecks << '\n'; 3724 s << '}'; 3725 return s; 3726} 3727 3728std::ostream& operator<< (std::ostream& s, const VkDeviceGeneratedCommandsFeaturesNVX& value) 3729{ 3730 s << "VkDeviceGeneratedCommandsFeaturesNVX = {\n"; 3731 s << "\tsType = " << value.sType << '\n'; 3732 s << "\tpNext = " << value.pNext << '\n'; 3733 s << "\tcomputeBindingPointSupport = " << value.computeBindingPointSupport << '\n'; 3734 s << '}'; 3735 return s; 3736} 3737 3738std::ostream& operator<< (std::ostream& s, const VkDeviceGeneratedCommandsLimitsNVX& value) 3739{ 3740 s << "VkDeviceGeneratedCommandsLimitsNVX = {\n"; 3741 s << "\tsType = " << value.sType << '\n'; 3742 s << "\tpNext = " << value.pNext << '\n'; 3743 s << "\tmaxIndirectCommandsLayoutTokenCount = " << value.maxIndirectCommandsLayoutTokenCount << '\n'; 3744 s << "\tmaxObjectEntryCounts = " << value.maxObjectEntryCounts << '\n'; 3745 s << "\tminSequenceCountBufferOffsetAlignment = " << value.minSequenceCountBufferOffsetAlignment << '\n'; 3746 s << "\tminSequenceIndexBufferOffsetAlignment = " << value.minSequenceIndexBufferOffsetAlignment << '\n'; 3747 s << "\tminCommandsTokenBufferOffsetAlignment = " << value.minCommandsTokenBufferOffsetAlignment << '\n'; 3748 s << '}'; 3749 return s; 3750} 3751 3752std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsTokenNVX& value) 3753{ 3754 s << "VkIndirectCommandsTokenNVX = {\n"; 3755 s << "\ttokenType = " << value.tokenType << '\n'; 3756 s << "\tbuffer = " << value.buffer << '\n'; 3757 s << "\toffset = " << value.offset << '\n'; 3758 s << '}'; 3759 return s; 3760} 3761 3762std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutTokenNVX& value) 3763{ 3764 s << "VkIndirectCommandsLayoutTokenNVX = {\n"; 3765 s << "\ttokenType = " << value.tokenType << '\n'; 3766 s << "\tbindingUnit = " << value.bindingUnit << '\n'; 3767 s << "\tdynamicCount = " << value.dynamicCount << '\n'; 3768 s << "\tdivisor = " << value.divisor << '\n'; 3769 s << '}'; 3770 return s; 3771} 3772 3773std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutCreateInfoNVX& value) 3774{ 3775 s << "VkIndirectCommandsLayoutCreateInfoNVX = {\n"; 3776 s << "\tsType = " << value.sType << '\n'; 3777 s << "\tpNext = " << value.pNext << '\n'; 3778 s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; 3779 s << "\tflags = " << getIndirectCommandsLayoutUsageFlagsNVXStr(value.flags) << '\n'; 3780 s << "\ttokenCount = " << value.tokenCount << '\n'; 3781 s << "\tpTokens = " << value.pTokens << '\n'; 3782 s << '}'; 3783 return s; 3784} 3785 3786std::ostream& operator<< (std::ostream& s, const VkCmdProcessCommandsInfoNVX& value) 3787{ 3788 s << "VkCmdProcessCommandsInfoNVX = {\n"; 3789 s << "\tsType = " << value.sType << '\n'; 3790 s << "\tpNext = " << value.pNext << '\n'; 3791 s << "\tobjectTable = " << value.objectTable << '\n'; 3792 s << "\tindirectCommandsLayout = " << value.indirectCommandsLayout << '\n'; 3793 s << "\tindirectCommandsTokenCount = " << value.indirectCommandsTokenCount << '\n'; 3794 s << "\tpIndirectCommandsTokens = " << value.pIndirectCommandsTokens << '\n'; 3795 s << "\tmaxSequencesCount = " << value.maxSequencesCount << '\n'; 3796 s << "\ttargetCommandBuffer = " << value.targetCommandBuffer << '\n'; 3797 s << "\tsequencesCountBuffer = " << value.sequencesCountBuffer << '\n'; 3798 s << "\tsequencesCountOffset = " << value.sequencesCountOffset << '\n'; 3799 s << "\tsequencesIndexBuffer = " << value.sequencesIndexBuffer << '\n'; 3800 s << "\tsequencesIndexOffset = " << value.sequencesIndexOffset << '\n'; 3801 s << '}'; 3802 return s; 3803} 3804 3805std::ostream& operator<< (std::ostream& s, const VkCmdReserveSpaceForCommandsInfoNVX& value) 3806{ 3807 s << "VkCmdReserveSpaceForCommandsInfoNVX = {\n"; 3808 s << "\tsType = " << value.sType << '\n'; 3809 s << "\tpNext = " << value.pNext << '\n'; 3810 s << "\tobjectTable = " << value.objectTable << '\n'; 3811 s << "\tindirectCommandsLayout = " << value.indirectCommandsLayout << '\n'; 3812 s << "\tmaxSequencesCount = " << value.maxSequencesCount << '\n'; 3813 s << '}'; 3814 return s; 3815} 3816 3817std::ostream& operator<< (std::ostream& s, const VkObjectTableCreateInfoNVX& value) 3818{ 3819 s << "VkObjectTableCreateInfoNVX = {\n"; 3820 s << "\tsType = " << value.sType << '\n'; 3821 s << "\tpNext = " << value.pNext << '\n'; 3822 s << "\tobjectCount = " << value.objectCount << '\n'; 3823 s << "\tpObjectEntryTypes = " << value.pObjectEntryTypes << '\n'; 3824 s << "\tpObjectEntryCounts = " << value.pObjectEntryCounts << '\n'; 3825 s << "\tpObjectEntryUsageFlags = " << value.pObjectEntryUsageFlags << '\n'; 3826 s << "\tmaxUniformBuffersPerDescriptor = " << value.maxUniformBuffersPerDescriptor << '\n'; 3827 s << "\tmaxStorageBuffersPerDescriptor = " << value.maxStorageBuffersPerDescriptor << '\n'; 3828 s << "\tmaxStorageImagesPerDescriptor = " << value.maxStorageImagesPerDescriptor << '\n'; 3829 s << "\tmaxSampledImagesPerDescriptor = " << value.maxSampledImagesPerDescriptor << '\n'; 3830 s << "\tmaxPipelineLayouts = " << value.maxPipelineLayouts << '\n'; 3831 s << '}'; 3832 return s; 3833} 3834 3835std::ostream& operator<< (std::ostream& s, const VkObjectTableEntryNVX& value) 3836{ 3837 s << "VkObjectTableEntryNVX = {\n"; 3838 s << "\ttype = " << value.type << '\n'; 3839 s << "\tflags = " << getObjectEntryUsageFlagsNVXStr(value.flags) << '\n'; 3840 s << '}'; 3841 return s; 3842} 3843 3844std::ostream& operator<< (std::ostream& s, const VkObjectTablePipelineEntryNVX& value) 3845{ 3846 s << "VkObjectTablePipelineEntryNVX = {\n"; 3847 s << "\ttype = " << value.type << '\n'; 3848 s << "\tflags = " << getObjectEntryUsageFlagsNVXStr(value.flags) << '\n'; 3849 s << "\tpipeline = " << value.pipeline << '\n'; 3850 s << '}'; 3851 return s; 3852} 3853 3854std::ostream& operator<< (std::ostream& s, const VkObjectTableDescriptorSetEntryNVX& value) 3855{ 3856 s << "VkObjectTableDescriptorSetEntryNVX = {\n"; 3857 s << "\ttype = " << value.type << '\n'; 3858 s << "\tflags = " << getObjectEntryUsageFlagsNVXStr(value.flags) << '\n'; 3859 s << "\tpipelineLayout = " << value.pipelineLayout << '\n'; 3860 s << "\tdescriptorSet = " << value.descriptorSet << '\n'; 3861 s << '}'; 3862 return s; 3863} 3864 3865std::ostream& operator<< (std::ostream& s, const VkObjectTableVertexBufferEntryNVX& value) 3866{ 3867 s << "VkObjectTableVertexBufferEntryNVX = {\n"; 3868 s << "\ttype = " << value.type << '\n'; 3869 s << "\tflags = " << getObjectEntryUsageFlagsNVXStr(value.flags) << '\n'; 3870 s << "\tbuffer = " << value.buffer << '\n'; 3871 s << '}'; 3872 return s; 3873} 3874 3875std::ostream& operator<< (std::ostream& s, const VkObjectTableIndexBufferEntryNVX& value) 3876{ 3877 s << "VkObjectTableIndexBufferEntryNVX = {\n"; 3878 s << "\ttype = " << value.type << '\n'; 3879 s << "\tflags = " << getObjectEntryUsageFlagsNVXStr(value.flags) << '\n'; 3880 s << "\tbuffer = " << value.buffer << '\n'; 3881 s << '}'; 3882 return s; 3883} 3884 3885std::ostream& operator<< (std::ostream& s, const VkObjectTablePushConstantEntryNVX& value) 3886{ 3887 s << "VkObjectTablePushConstantEntryNVX = {\n"; 3888 s << "\ttype = " << value.type << '\n'; 3889 s << "\tflags = " << getObjectEntryUsageFlagsNVXStr(value.flags) << '\n'; 3890 s << "\tpipelineLayout = " << value.pipelineLayout << '\n'; 3891 s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; 3892 s << '}'; 3893 return s; 3894} 3895 3896std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePushDescriptorPropertiesKHR& value) 3897{ 3898 s << "VkPhysicalDevicePushDescriptorPropertiesKHR = {\n"; 3899 s << "\tsType = " << value.sType << '\n'; 3900 s << "\tpNext = " << value.pNext << '\n'; 3901 s << "\tmaxPushDescriptors = " << value.maxPushDescriptors << '\n'; 3902 s << '}'; 3903 return s; 3904} 3905 3906std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateEntryKHR& value) 3907{ 3908 s << "VkDescriptorUpdateTemplateEntryKHR = {\n"; 3909 s << "\tdstBinding = " << value.dstBinding << '\n'; 3910 s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; 3911 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 3912 s << "\tdescriptorType = " << value.descriptorType << '\n'; 3913 s << "\toffset = " << value.offset << '\n'; 3914 s << "\tstride = " << value.stride << '\n'; 3915 s << '}'; 3916 return s; 3917} 3918 3919std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateCreateInfoKHR& value) 3920{ 3921 s << "VkDescriptorUpdateTemplateCreateInfoKHR = {\n"; 3922 s << "\tsType = " << value.sType << '\n'; 3923 s << "\tpNext = " << value.pNext << '\n'; 3924 s << "\tflags = " << getDescriptorUpdateTemplateCreateFlagsKHRStr(value.flags) << '\n'; 3925 s << "\tdescriptorUpdateEntryCount = " << value.descriptorUpdateEntryCount << '\n'; 3926 s << "\tpDescriptorUpdateEntries = " << value.pDescriptorUpdateEntries << '\n'; 3927 s << "\ttemplateType = " << value.templateType << '\n'; 3928 s << "\tdescriptorSetLayout = " << value.descriptorSetLayout << '\n'; 3929 s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; 3930 s << "\tpipelineLayout = " << value.pipelineLayout << '\n'; 3931 s << "\tset = " << value.set << '\n'; 3932 s << '}'; 3933 return s; 3934} 3935 3936std::ostream& operator<< (std::ostream& s, const VkRefreshCycleDurationGOOGLE& value) 3937{ 3938 s << "VkRefreshCycleDurationGOOGLE = {\n"; 3939 s << "\trefreshDuration = " << value.refreshDuration << '\n'; 3940 s << '}'; 3941 return s; 3942} 3943 3944std::ostream& operator<< (std::ostream& s, const VkPastPresentationTimingGOOGLE& value) 3945{ 3946 s << "VkPastPresentationTimingGOOGLE = {\n"; 3947 s << "\tpresentID = " << value.presentID << '\n'; 3948 s << "\tdesiredPresentTime = " << value.desiredPresentTime << '\n'; 3949 s << "\tactualPresentTime = " << value.actualPresentTime << '\n'; 3950 s << "\tearliestPresentTime = " << value.earliestPresentTime << '\n'; 3951 s << "\tpresentMargin = " << value.presentMargin << '\n'; 3952 s << '}'; 3953 return s; 3954} 3955 3956std::ostream& operator<< (std::ostream& s, const VkPresentTimeGOOGLE& value) 3957{ 3958 s << "VkPresentTimeGOOGLE = {\n"; 3959 s << "\tpresentID = " << value.presentID << '\n'; 3960 s << "\tdesiredPresentTime = " << value.desiredPresentTime << '\n'; 3961 s << '}'; 3962 return s; 3963} 3964 3965std::ostream& operator<< (std::ostream& s, const VkPresentTimesInfoGOOGLE& value) 3966{ 3967 s << "VkPresentTimesInfoGOOGLE = {\n"; 3968 s << "\tsType = " << value.sType << '\n'; 3969 s << "\tpNext = " << value.pNext << '\n'; 3970 s << "\tswapchainCount = " << value.swapchainCount << '\n'; 3971 s << "\tpTimes = " << value.pTimes << '\n'; 3972 s << '}'; 3973 return s; 3974} 3975