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