1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * This file was generated by /scripts/gen_framework.py 4 */ 5 6template<> const char* getTypeName<VkInstance> (void) { return "VkInstance"; } 7template<> const char* getTypeName<VkPhysicalDevice> (void) { return "VkPhysicalDevice"; } 8template<> const char* getTypeName<VkDevice> (void) { return "VkDevice"; } 9template<> const char* getTypeName<VkQueue> (void) { return "VkQueue"; } 10template<> const char* getTypeName<VkCommandBuffer> (void) { return "VkCommandBuffer"; } 11template<> const char* getTypeName<VkDeviceMemory> (void) { return "VkDeviceMemory"; } 12template<> const char* getTypeName<VkCommandPool> (void) { return "VkCommandPool"; } 13template<> const char* getTypeName<VkBuffer> (void) { return "VkBuffer"; } 14template<> const char* getTypeName<VkBufferView> (void) { return "VkBufferView"; } 15template<> const char* getTypeName<VkImage> (void) { return "VkImage"; } 16template<> const char* getTypeName<VkImageView> (void) { return "VkImageView"; } 17template<> const char* getTypeName<VkShaderModule> (void) { return "VkShaderModule"; } 18template<> const char* getTypeName<VkPipeline> (void) { return "VkPipeline"; } 19template<> const char* getTypeName<VkPipelineLayout> (void) { return "VkPipelineLayout"; } 20template<> const char* getTypeName<VkSampler> (void) { return "VkSampler"; } 21template<> const char* getTypeName<VkDescriptorSet> (void) { return "VkDescriptorSet"; } 22template<> const char* getTypeName<VkDescriptorSetLayout> (void) { return "VkDescriptorSetLayout"; } 23template<> const char* getTypeName<VkDescriptorPool> (void) { return "VkDescriptorPool"; } 24template<> const char* getTypeName<VkFence> (void) { return "VkFence"; } 25template<> const char* getTypeName<VkSemaphore> (void) { return "VkSemaphore"; } 26template<> const char* getTypeName<VkEvent> (void) { return "VkEvent"; } 27template<> const char* getTypeName<VkQueryPool> (void) { return "VkQueryPool"; } 28template<> const char* getTypeName<VkFramebuffer> (void) { return "VkFramebuffer"; } 29template<> const char* getTypeName<VkRenderPass> (void) { return "VkRenderPass"; } 30template<> const char* getTypeName<VkPipelineCache> (void) { return "VkPipelineCache"; } 31template<> const char* getTypeName<VkDescriptorUpdateTemplate> (void) { return "VkDescriptorUpdateTemplate"; } 32template<> const char* getTypeName<VkSamplerYcbcrConversion> (void) { return "VkSamplerYcbcrConversion"; } 33template<> const char* getTypeName<VkDisplayKHR> (void) { return "VkDisplayKHR"; } 34template<> const char* getTypeName<VkDisplayModeKHR> (void) { return "VkDisplayModeKHR"; } 35template<> const char* getTypeName<VkSurfaceKHR> (void) { return "VkSurfaceKHR"; } 36template<> const char* getTypeName<VkSwapchainKHR> (void) { return "VkSwapchainKHR"; } 37template<> const char* getTypeName<VkDebugUtilsMessengerEXT> (void) { return "VkDebugUtilsMessengerEXT"; } 38template<> const char* getTypeName<VkSemaphoreSciSyncPoolNV> (void) { return "VkSemaphoreSciSyncPoolNV"; } 39 40namespace pt 41{ 42std::ostream& operator<< (std::ostream& s, XlibDisplayPtr v) { return s << tcu::toHex(v.internal); } 43std::ostream& operator<< (std::ostream& s, XlibWindow v) { return s << tcu::toHex(v.internal); } 44std::ostream& operator<< (std::ostream& s, XlibVisualID v) { return s << tcu::toHex(v.internal); } 45std::ostream& operator<< (std::ostream& s, XcbConnectionPtr v) { return s << tcu::toHex(v.internal); } 46std::ostream& operator<< (std::ostream& s, XcbWindow v) { return s << tcu::toHex(v.internal); } 47std::ostream& operator<< (std::ostream& s, XcbVisualid v) { return s << tcu::toHex(v.internal); } 48std::ostream& operator<< (std::ostream& s, WaylandDisplayPtr v) { return s << tcu::toHex(v.internal); } 49std::ostream& operator<< (std::ostream& s, WaylandSurfacePtr v) { return s << tcu::toHex(v.internal); } 50std::ostream& operator<< (std::ostream& s, MirConnectionPtr v) { return s << tcu::toHex(v.internal); } 51std::ostream& operator<< (std::ostream& s, MirSurfacePtr v) { return s << tcu::toHex(v.internal); } 52std::ostream& operator<< (std::ostream& s, AndroidNativeWindowPtr v) { return s << tcu::toHex(v.internal); } 53std::ostream& operator<< (std::ostream& s, Win32InstanceHandle v) { return s << tcu::toHex(v.internal); } 54std::ostream& operator<< (std::ostream& s, Win32WindowHandle v) { return s << tcu::toHex(v.internal); } 55std::ostream& operator<< (std::ostream& s, Win32Handle v) { return s << tcu::toHex(v.internal); } 56std::ostream& operator<< (std::ostream& s, Win32SecurityAttributesPtr v) { return s << tcu::toHex(v.internal); } 57std::ostream& operator<< (std::ostream& s, AndroidHardwareBufferPtr v) { return s << tcu::toHex(v.internal); } 58std::ostream& operator<< (std::ostream& s, Win32MonitorHandle v) { return s << tcu::toHex(v.internal); } 59std::ostream& operator<< (std::ostream& s, Win32LPCWSTR v) { return s << tcu::toHex(v.internal); } 60std::ostream& operator<< (std::ostream& s, RROutput v) { return s << tcu::toHex(v.internal); } 61std::ostream& operator<< (std::ostream& s, zx_handle_t v) { return s << tcu::toHex(v.internal); } 62std::ostream& operator<< (std::ostream& s, GgpFrameToken v) { return s << tcu::toHex(v.internal); } 63std::ostream& operator<< (std::ostream& s, GgpStreamDescriptor v) { return s << tcu::toHex(v.internal); } 64std::ostream& operator<< (std::ostream& s, CAMetalLayer v) { return s << tcu::toHex(v.internal); } 65std::ostream& operator<< (std::ostream& s, QNXScreenContextPtr v) { return s << tcu::toHex(v.internal); } 66std::ostream& operator<< (std::ostream& s, QNXScreenWindowPtr v) { return s << tcu::toHex(v.internal); } 67std::ostream& operator<< (std::ostream& s, MTLDevice_id v) { return s << tcu::toHex(v.internal); } 68std::ostream& operator<< (std::ostream& s, MTLCommandQueue_id v) { return s << tcu::toHex(v.internal); } 69std::ostream& operator<< (std::ostream& s, MTLBuffer_id v) { return s << tcu::toHex(v.internal); } 70std::ostream& operator<< (std::ostream& s, MTLTexture_id v) { return s << tcu::toHex(v.internal); } 71std::ostream& operator<< (std::ostream& s, IOSurfaceRef v) { return s << tcu::toHex(v.internal); } 72std::ostream& operator<< (std::ostream& s, MTLSharedEvent_id v) { return s << tcu::toHex(v.internal); } 73std::ostream& operator<< (std::ostream& s, NvSciBufObj v) { return s << tcu::toHex(v.internal); } 74std::ostream& operator<< (std::ostream& s, NvSciSyncObj v) { return s << tcu::toHex(v.internal); } 75std::ostream& operator<< (std::ostream& s, NvSciSyncFence v) { return s << tcu::toHex(v.internal); } 76std::ostream& operator<< (std::ostream& s, NvSciBufAttrList v) { return s << tcu::toHex(v.internal); } 77std::ostream& operator<< (std::ostream& s, NvSciSyncAttrList v) { return s << tcu::toHex(v.internal); } 78} 79 80const char* getAttachmentLoadOpName (VkAttachmentLoadOp value) 81{ 82 switch (value) 83 { 84 case VK_ATTACHMENT_LOAD_OP_LOAD: return "VK_ATTACHMENT_LOAD_OP_LOAD"; 85 case VK_ATTACHMENT_LOAD_OP_CLEAR: return "VK_ATTACHMENT_LOAD_OP_CLEAR"; 86 case VK_ATTACHMENT_LOAD_OP_DONT_CARE: return "VK_ATTACHMENT_LOAD_OP_DONT_CARE"; 87 default: return DE_NULL; 88 } 89} 90 91const char* getAttachmentStoreOpName (VkAttachmentStoreOp value) 92{ 93 switch (value) 94 { 95 case VK_ATTACHMENT_STORE_OP_STORE: return "VK_ATTACHMENT_STORE_OP_STORE"; 96 case VK_ATTACHMENT_STORE_OP_DONT_CARE: return "VK_ATTACHMENT_STORE_OP_DONT_CARE"; 97 case VK_ATTACHMENT_STORE_OP_NONE: return "VK_ATTACHMENT_STORE_OP_NONE"; 98 default: return DE_NULL; 99 } 100} 101 102const char* getBlendFactorName (VkBlendFactor value) 103{ 104 switch (value) 105 { 106 case VK_BLEND_FACTOR_ZERO: return "VK_BLEND_FACTOR_ZERO"; 107 case VK_BLEND_FACTOR_ONE: return "VK_BLEND_FACTOR_ONE"; 108 case VK_BLEND_FACTOR_SRC_COLOR: return "VK_BLEND_FACTOR_SRC_COLOR"; 109 case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"; 110 case VK_BLEND_FACTOR_DST_COLOR: return "VK_BLEND_FACTOR_DST_COLOR"; 111 case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"; 112 case VK_BLEND_FACTOR_SRC_ALPHA: return "VK_BLEND_FACTOR_SRC_ALPHA"; 113 case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"; 114 case VK_BLEND_FACTOR_DST_ALPHA: return "VK_BLEND_FACTOR_DST_ALPHA"; 115 case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"; 116 case VK_BLEND_FACTOR_CONSTANT_COLOR: return "VK_BLEND_FACTOR_CONSTANT_COLOR"; 117 case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"; 118 case VK_BLEND_FACTOR_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_CONSTANT_ALPHA"; 119 case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"; 120 case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"; 121 case VK_BLEND_FACTOR_SRC1_COLOR: return "VK_BLEND_FACTOR_SRC1_COLOR"; 122 case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"; 123 case VK_BLEND_FACTOR_SRC1_ALPHA: return "VK_BLEND_FACTOR_SRC1_ALPHA"; 124 case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"; 125 default: return DE_NULL; 126 } 127} 128 129const char* getBlendOpName (VkBlendOp value) 130{ 131 switch (value) 132 { 133 case VK_BLEND_OP_ADD: return "VK_BLEND_OP_ADD"; 134 case VK_BLEND_OP_SUBTRACT: return "VK_BLEND_OP_SUBTRACT"; 135 case VK_BLEND_OP_REVERSE_SUBTRACT: return "VK_BLEND_OP_REVERSE_SUBTRACT"; 136 case VK_BLEND_OP_MIN: return "VK_BLEND_OP_MIN"; 137 case VK_BLEND_OP_MAX: return "VK_BLEND_OP_MAX"; 138 case VK_BLEND_OP_ZERO_EXT: return "VK_BLEND_OP_ZERO_EXT"; 139 case VK_BLEND_OP_SRC_EXT: return "VK_BLEND_OP_SRC_EXT"; 140 case VK_BLEND_OP_DST_EXT: return "VK_BLEND_OP_DST_EXT"; 141 case VK_BLEND_OP_SRC_OVER_EXT: return "VK_BLEND_OP_SRC_OVER_EXT"; 142 case VK_BLEND_OP_DST_OVER_EXT: return "VK_BLEND_OP_DST_OVER_EXT"; 143 case VK_BLEND_OP_SRC_IN_EXT: return "VK_BLEND_OP_SRC_IN_EXT"; 144 case VK_BLEND_OP_DST_IN_EXT: return "VK_BLEND_OP_DST_IN_EXT"; 145 case VK_BLEND_OP_SRC_OUT_EXT: return "VK_BLEND_OP_SRC_OUT_EXT"; 146 case VK_BLEND_OP_DST_OUT_EXT: return "VK_BLEND_OP_DST_OUT_EXT"; 147 case VK_BLEND_OP_SRC_ATOP_EXT: return "VK_BLEND_OP_SRC_ATOP_EXT"; 148 case VK_BLEND_OP_DST_ATOP_EXT: return "VK_BLEND_OP_DST_ATOP_EXT"; 149 case VK_BLEND_OP_XOR_EXT: return "VK_BLEND_OP_XOR_EXT"; 150 case VK_BLEND_OP_MULTIPLY_EXT: return "VK_BLEND_OP_MULTIPLY_EXT"; 151 case VK_BLEND_OP_SCREEN_EXT: return "VK_BLEND_OP_SCREEN_EXT"; 152 case VK_BLEND_OP_OVERLAY_EXT: return "VK_BLEND_OP_OVERLAY_EXT"; 153 case VK_BLEND_OP_DARKEN_EXT: return "VK_BLEND_OP_DARKEN_EXT"; 154 case VK_BLEND_OP_LIGHTEN_EXT: return "VK_BLEND_OP_LIGHTEN_EXT"; 155 case VK_BLEND_OP_COLORDODGE_EXT: return "VK_BLEND_OP_COLORDODGE_EXT"; 156 case VK_BLEND_OP_COLORBURN_EXT: return "VK_BLEND_OP_COLORBURN_EXT"; 157 case VK_BLEND_OP_HARDLIGHT_EXT: return "VK_BLEND_OP_HARDLIGHT_EXT"; 158 case VK_BLEND_OP_SOFTLIGHT_EXT: return "VK_BLEND_OP_SOFTLIGHT_EXT"; 159 case VK_BLEND_OP_DIFFERENCE_EXT: return "VK_BLEND_OP_DIFFERENCE_EXT"; 160 case VK_BLEND_OP_EXCLUSION_EXT: return "VK_BLEND_OP_EXCLUSION_EXT"; 161 case VK_BLEND_OP_INVERT_EXT: return "VK_BLEND_OP_INVERT_EXT"; 162 case VK_BLEND_OP_INVERT_RGB_EXT: return "VK_BLEND_OP_INVERT_RGB_EXT"; 163 case VK_BLEND_OP_LINEARDODGE_EXT: return "VK_BLEND_OP_LINEARDODGE_EXT"; 164 case VK_BLEND_OP_LINEARBURN_EXT: return "VK_BLEND_OP_LINEARBURN_EXT"; 165 case VK_BLEND_OP_VIVIDLIGHT_EXT: return "VK_BLEND_OP_VIVIDLIGHT_EXT"; 166 case VK_BLEND_OP_LINEARLIGHT_EXT: return "VK_BLEND_OP_LINEARLIGHT_EXT"; 167 case VK_BLEND_OP_PINLIGHT_EXT: return "VK_BLEND_OP_PINLIGHT_EXT"; 168 case VK_BLEND_OP_HARDMIX_EXT: return "VK_BLEND_OP_HARDMIX_EXT"; 169 case VK_BLEND_OP_HSL_HUE_EXT: return "VK_BLEND_OP_HSL_HUE_EXT"; 170 case VK_BLEND_OP_HSL_SATURATION_EXT: return "VK_BLEND_OP_HSL_SATURATION_EXT"; 171 case VK_BLEND_OP_HSL_COLOR_EXT: return "VK_BLEND_OP_HSL_COLOR_EXT"; 172 case VK_BLEND_OP_HSL_LUMINOSITY_EXT: return "VK_BLEND_OP_HSL_LUMINOSITY_EXT"; 173 case VK_BLEND_OP_PLUS_EXT: return "VK_BLEND_OP_PLUS_EXT"; 174 case VK_BLEND_OP_PLUS_CLAMPED_EXT: return "VK_BLEND_OP_PLUS_CLAMPED_EXT"; 175 case VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: return "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT"; 176 case VK_BLEND_OP_PLUS_DARKER_EXT: return "VK_BLEND_OP_PLUS_DARKER_EXT"; 177 case VK_BLEND_OP_MINUS_EXT: return "VK_BLEND_OP_MINUS_EXT"; 178 case VK_BLEND_OP_MINUS_CLAMPED_EXT: return "VK_BLEND_OP_MINUS_CLAMPED_EXT"; 179 case VK_BLEND_OP_CONTRAST_EXT: return "VK_BLEND_OP_CONTRAST_EXT"; 180 case VK_BLEND_OP_INVERT_OVG_EXT: return "VK_BLEND_OP_INVERT_OVG_EXT"; 181 case VK_BLEND_OP_RED_EXT: return "VK_BLEND_OP_RED_EXT"; 182 case VK_BLEND_OP_GREEN_EXT: return "VK_BLEND_OP_GREEN_EXT"; 183 case VK_BLEND_OP_BLUE_EXT: return "VK_BLEND_OP_BLUE_EXT"; 184 default: return DE_NULL; 185 } 186} 187 188const char* getBorderColorName (VkBorderColor value) 189{ 190 switch (value) 191 { 192 case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"; 193 case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"; 194 case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"; 195 case VK_BORDER_COLOR_INT_OPAQUE_BLACK: return "VK_BORDER_COLOR_INT_OPAQUE_BLACK"; 196 case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"; 197 case VK_BORDER_COLOR_INT_OPAQUE_WHITE: return "VK_BORDER_COLOR_INT_OPAQUE_WHITE"; 198 case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT: return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT"; 199 case VK_BORDER_COLOR_INT_CUSTOM_EXT: return "VK_BORDER_COLOR_INT_CUSTOM_EXT"; 200 default: return DE_NULL; 201 } 202} 203 204tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value) 205{ 206 static const tcu::Format::BitDesc s_desc[] = 207 { 208 tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"), 209 }; 210 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 211} 212 213tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value) 214{ 215 static const tcu::Format::BitDesc s_desc[] = 216 { 217 tcu::Format::BitDesc(0, "0") 218 }; 219 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 220} 221 222tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value) 223{ 224 static const tcu::Format::BitDesc s_desc[] = 225 { 226 tcu::Format::BitDesc(0, "0") 227 }; 228 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 229} 230 231const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value) 232{ 233 switch (value) 234 { 235 case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"; 236 case VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE"; 237 default: return DE_NULL; 238 } 239} 240 241tcu::Format::Bitfield<32> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateFlags value) 242{ 243 static const tcu::Format::BitDesc s_desc[] = 244 { 245 tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT"), 246 tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT, "VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT"), 247 tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT, "VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT"), 248 }; 249 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 250} 251 252tcu::Format::Bitfield<32> getPipelineShaderStageCreateFlagsStr (VkPipelineShaderStageCreateFlags value) 253{ 254 static const tcu::Format::BitDesc s_desc[] = 255 { 256 tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT"), 257 tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT, "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT"), 258 }; 259 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 260} 261 262tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetLayoutCreateFlags value) 263{ 264 static const tcu::Format::BitDesc s_desc[] = 265 { 266 tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT"), 267 }; 268 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 269} 270 271tcu::Format::Bitfield<32> getInstanceCreateFlagsStr (VkInstanceCreateFlags value) 272{ 273 static const tcu::Format::BitDesc s_desc[] = 274 { 275 tcu::Format::BitDesc(0, "0") 276 }; 277 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 278} 279 280tcu::Format::Bitfield<32> getDeviceQueueCreateFlagsStr (VkDeviceQueueCreateFlags value) 281{ 282 static const tcu::Format::BitDesc s_desc[] = 283 { 284 tcu::Format::BitDesc(VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT, "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT"), 285 }; 286 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 287} 288 289tcu::Format::Bitfield<32> getBufferCreateFlagsStr (VkBufferCreateFlags value) 290{ 291 static const tcu::Format::BitDesc s_desc[] = 292 { 293 tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_BINDING_BIT, "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"), 294 tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"), 295 tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"), 296 tcu::Format::BitDesc(VK_BUFFER_CREATE_PROTECTED_BIT, "VK_BUFFER_CREATE_PROTECTED_BIT"), 297 tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"), 298 }; 299 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 300} 301 302tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value) 303{ 304 static const tcu::Format::BitDesc s_desc[] = 305 { 306 tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"), 307 tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_DST_BIT, "VK_BUFFER_USAGE_TRANSFER_DST_BIT"), 308 tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"), 309 tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"), 310 tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"), 311 tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"), 312 tcu::Format::BitDesc(VK_BUFFER_USAGE_INDEX_BUFFER_BIT, "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"), 313 tcu::Format::BitDesc(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"), 314 tcu::Format::BitDesc(VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"), 315 tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT"), 316 }; 317 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 318} 319 320tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value) 321{ 322 static const tcu::Format::BitDesc s_desc[] = 323 { 324 tcu::Format::BitDesc(VK_COLOR_COMPONENT_R_BIT, "VK_COLOR_COMPONENT_R_BIT"), 325 tcu::Format::BitDesc(VK_COLOR_COMPONENT_G_BIT, "VK_COLOR_COMPONENT_G_BIT"), 326 tcu::Format::BitDesc(VK_COLOR_COMPONENT_B_BIT, "VK_COLOR_COMPONENT_B_BIT"), 327 tcu::Format::BitDesc(VK_COLOR_COMPONENT_A_BIT, "VK_COLOR_COMPONENT_A_BIT"), 328 }; 329 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 330} 331 332const char* getComponentSwizzleName (VkComponentSwizzle value) 333{ 334 switch (value) 335 { 336 case VK_COMPONENT_SWIZZLE_IDENTITY: return "VK_COMPONENT_SWIZZLE_IDENTITY"; 337 case VK_COMPONENT_SWIZZLE_ZERO: return "VK_COMPONENT_SWIZZLE_ZERO"; 338 case VK_COMPONENT_SWIZZLE_ONE: return "VK_COMPONENT_SWIZZLE_ONE"; 339 case VK_COMPONENT_SWIZZLE_R: return "VK_COMPONENT_SWIZZLE_R"; 340 case VK_COMPONENT_SWIZZLE_G: return "VK_COMPONENT_SWIZZLE_G"; 341 case VK_COMPONENT_SWIZZLE_B: return "VK_COMPONENT_SWIZZLE_B"; 342 case VK_COMPONENT_SWIZZLE_A: return "VK_COMPONENT_SWIZZLE_A"; 343 default: return DE_NULL; 344 } 345} 346 347tcu::Format::Bitfield<32> getCommandPoolCreateFlagsStr (VkCommandPoolCreateFlags value) 348{ 349 static const tcu::Format::BitDesc s_desc[] = 350 { 351 tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"), 352 tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"), 353 tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_PROTECTED_BIT, "VK_COMMAND_POOL_CREATE_PROTECTED_BIT"), 354 }; 355 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 356} 357 358tcu::Format::Bitfield<32> getCommandPoolResetFlagsStr (VkCommandPoolResetFlags value) 359{ 360 static const tcu::Format::BitDesc s_desc[] = 361 { 362 tcu::Format::BitDesc(VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"), 363 }; 364 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 365} 366 367tcu::Format::Bitfield<32> getCommandBufferResetFlagsStr (VkCommandBufferResetFlags value) 368{ 369 static const tcu::Format::BitDesc s_desc[] = 370 { 371 tcu::Format::BitDesc(VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"), 372 }; 373 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 374} 375 376const char* getCommandBufferLevelName (VkCommandBufferLevel value) 377{ 378 switch (value) 379 { 380 case VK_COMMAND_BUFFER_LEVEL_PRIMARY: return "VK_COMMAND_BUFFER_LEVEL_PRIMARY"; 381 case VK_COMMAND_BUFFER_LEVEL_SECONDARY: return "VK_COMMAND_BUFFER_LEVEL_SECONDARY"; 382 default: return DE_NULL; 383 } 384} 385 386tcu::Format::Bitfield<32> getCommandBufferUsageFlagsStr (VkCommandBufferUsageFlags value) 387{ 388 static const tcu::Format::BitDesc s_desc[] = 389 { 390 tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"), 391 tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"), 392 tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"), 393 }; 394 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 395} 396 397const char* getCompareOpName (VkCompareOp value) 398{ 399 switch (value) 400 { 401 case VK_COMPARE_OP_NEVER: return "VK_COMPARE_OP_NEVER"; 402 case VK_COMPARE_OP_LESS: return "VK_COMPARE_OP_LESS"; 403 case VK_COMPARE_OP_EQUAL: return "VK_COMPARE_OP_EQUAL"; 404 case VK_COMPARE_OP_LESS_OR_EQUAL: return "VK_COMPARE_OP_LESS_OR_EQUAL"; 405 case VK_COMPARE_OP_GREATER: return "VK_COMPARE_OP_GREATER"; 406 case VK_COMPARE_OP_NOT_EQUAL: return "VK_COMPARE_OP_NOT_EQUAL"; 407 case VK_COMPARE_OP_GREATER_OR_EQUAL: return "VK_COMPARE_OP_GREATER_OR_EQUAL"; 408 case VK_COMPARE_OP_ALWAYS: return "VK_COMPARE_OP_ALWAYS"; 409 default: return DE_NULL; 410 } 411} 412 413tcu::Format::Bitfield<32> getCullModeFlagsStr (VkCullModeFlags value) 414{ 415 static const tcu::Format::BitDesc s_desc[] = 416 { 417 tcu::Format::BitDesc(VK_CULL_MODE_NONE, "VK_CULL_MODE_NONE"), 418 tcu::Format::BitDesc(VK_CULL_MODE_FRONT_BIT, "VK_CULL_MODE_FRONT_BIT"), 419 tcu::Format::BitDesc(VK_CULL_MODE_BACK_BIT, "VK_CULL_MODE_BACK_BIT"), 420 tcu::Format::BitDesc(VK_CULL_MODE_FRONT_AND_BACK, "VK_CULL_MODE_FRONT_AND_BACK"), 421 }; 422 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 423} 424 425const char* getDescriptorTypeName (VkDescriptorType value) 426{ 427 switch (value) 428 { 429 case VK_DESCRIPTOR_TYPE_SAMPLER: return "VK_DESCRIPTOR_TYPE_SAMPLER"; 430 case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"; 431 case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"; 432 case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"; 433 case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"; 434 case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"; 435 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"; 436 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"; 437 case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"; 438 case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"; 439 case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"; 440 case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK"; 441 default: return DE_NULL; 442 } 443} 444 445const char* getDynamicStateName (VkDynamicState value) 446{ 447 switch (value) 448 { 449 case VK_DYNAMIC_STATE_VIEWPORT: return "VK_DYNAMIC_STATE_VIEWPORT"; 450 case VK_DYNAMIC_STATE_SCISSOR: return "VK_DYNAMIC_STATE_SCISSOR"; 451 case VK_DYNAMIC_STATE_LINE_WIDTH: return "VK_DYNAMIC_STATE_LINE_WIDTH"; 452 case VK_DYNAMIC_STATE_DEPTH_BIAS: return "VK_DYNAMIC_STATE_DEPTH_BIAS"; 453 case VK_DYNAMIC_STATE_BLEND_CONSTANTS: return "VK_DYNAMIC_STATE_BLEND_CONSTANTS"; 454 case VK_DYNAMIC_STATE_DEPTH_BOUNDS: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS"; 455 case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"; 456 case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"; 457 case VK_DYNAMIC_STATE_STENCIL_REFERENCE: return "VK_DYNAMIC_STATE_STENCIL_REFERENCE"; 458 case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT"; 459 case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT: return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT"; 460 case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT: return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT"; 461 case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT"; 462 case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR"; 463 case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT: return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT"; 464 case VK_DYNAMIC_STATE_CULL_MODE_EXT: return "VK_DYNAMIC_STATE_CULL_MODE_EXT"; 465 case VK_DYNAMIC_STATE_FRONT_FACE_EXT: return "VK_DYNAMIC_STATE_FRONT_FACE_EXT"; 466 case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT: return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT"; 467 case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT: return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT"; 468 case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT: return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT"; 469 case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT: return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT"; 470 case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT"; 471 case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT"; 472 case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT: return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT"; 473 case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT"; 474 case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT: return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT"; 475 case VK_DYNAMIC_STATE_STENCIL_OP_EXT: return "VK_DYNAMIC_STATE_STENCIL_OP_EXT"; 476 case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT: return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT"; 477 case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT: return "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT"; 478 case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT: return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT"; 479 case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT"; 480 case VK_DYNAMIC_STATE_LOGIC_OP_EXT: return "VK_DYNAMIC_STATE_LOGIC_OP_EXT"; 481 case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT: return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT"; 482 case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT: return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT"; 483 default: return DE_NULL; 484 } 485} 486 487tcu::Format::Bitfield<32> getFenceCreateFlagsStr (VkFenceCreateFlags value) 488{ 489 static const tcu::Format::BitDesc s_desc[] = 490 { 491 tcu::Format::BitDesc(VK_FENCE_CREATE_SIGNALED_BIT, "VK_FENCE_CREATE_SIGNALED_BIT"), 492 }; 493 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 494} 495 496const char* getPolygonModeName (VkPolygonMode value) 497{ 498 switch (value) 499 { 500 case VK_POLYGON_MODE_FILL: return "VK_POLYGON_MODE_FILL"; 501 case VK_POLYGON_MODE_LINE: return "VK_POLYGON_MODE_LINE"; 502 case VK_POLYGON_MODE_POINT: return "VK_POLYGON_MODE_POINT"; 503 default: return DE_NULL; 504 } 505} 506 507const char* getFormatName (VkFormat value) 508{ 509 switch (value) 510 { 511 case VK_FORMAT_UNDEFINED: return "VK_FORMAT_UNDEFINED"; 512 case VK_FORMAT_R4G4_UNORM_PACK8: return "VK_FORMAT_R4G4_UNORM_PACK8"; 513 case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return "VK_FORMAT_R4G4B4A4_UNORM_PACK16"; 514 case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return "VK_FORMAT_B4G4R4A4_UNORM_PACK16"; 515 case VK_FORMAT_R5G6B5_UNORM_PACK16: return "VK_FORMAT_R5G6B5_UNORM_PACK16"; 516 case VK_FORMAT_B5G6R5_UNORM_PACK16: return "VK_FORMAT_B5G6R5_UNORM_PACK16"; 517 case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return "VK_FORMAT_R5G5B5A1_UNORM_PACK16"; 518 case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return "VK_FORMAT_B5G5R5A1_UNORM_PACK16"; 519 case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return "VK_FORMAT_A1R5G5B5_UNORM_PACK16"; 520 case VK_FORMAT_R8_UNORM: return "VK_FORMAT_R8_UNORM"; 521 case VK_FORMAT_R8_SNORM: return "VK_FORMAT_R8_SNORM"; 522 case VK_FORMAT_R8_USCALED: return "VK_FORMAT_R8_USCALED"; 523 case VK_FORMAT_R8_SSCALED: return "VK_FORMAT_R8_SSCALED"; 524 case VK_FORMAT_R8_UINT: return "VK_FORMAT_R8_UINT"; 525 case VK_FORMAT_R8_SINT: return "VK_FORMAT_R8_SINT"; 526 case VK_FORMAT_R8_SRGB: return "VK_FORMAT_R8_SRGB"; 527 case VK_FORMAT_R8G8_UNORM: return "VK_FORMAT_R8G8_UNORM"; 528 case VK_FORMAT_R8G8_SNORM: return "VK_FORMAT_R8G8_SNORM"; 529 case VK_FORMAT_R8G8_USCALED: return "VK_FORMAT_R8G8_USCALED"; 530 case VK_FORMAT_R8G8_SSCALED: return "VK_FORMAT_R8G8_SSCALED"; 531 case VK_FORMAT_R8G8_UINT: return "VK_FORMAT_R8G8_UINT"; 532 case VK_FORMAT_R8G8_SINT: return "VK_FORMAT_R8G8_SINT"; 533 case VK_FORMAT_R8G8_SRGB: return "VK_FORMAT_R8G8_SRGB"; 534 case VK_FORMAT_R8G8B8_UNORM: return "VK_FORMAT_R8G8B8_UNORM"; 535 case VK_FORMAT_R8G8B8_SNORM: return "VK_FORMAT_R8G8B8_SNORM"; 536 case VK_FORMAT_R8G8B8_USCALED: return "VK_FORMAT_R8G8B8_USCALED"; 537 case VK_FORMAT_R8G8B8_SSCALED: return "VK_FORMAT_R8G8B8_SSCALED"; 538 case VK_FORMAT_R8G8B8_UINT: return "VK_FORMAT_R8G8B8_UINT"; 539 case VK_FORMAT_R8G8B8_SINT: return "VK_FORMAT_R8G8B8_SINT"; 540 case VK_FORMAT_R8G8B8_SRGB: return "VK_FORMAT_R8G8B8_SRGB"; 541 case VK_FORMAT_B8G8R8_UNORM: return "VK_FORMAT_B8G8R8_UNORM"; 542 case VK_FORMAT_B8G8R8_SNORM: return "VK_FORMAT_B8G8R8_SNORM"; 543 case VK_FORMAT_B8G8R8_USCALED: return "VK_FORMAT_B8G8R8_USCALED"; 544 case VK_FORMAT_B8G8R8_SSCALED: return "VK_FORMAT_B8G8R8_SSCALED"; 545 case VK_FORMAT_B8G8R8_UINT: return "VK_FORMAT_B8G8R8_UINT"; 546 case VK_FORMAT_B8G8R8_SINT: return "VK_FORMAT_B8G8R8_SINT"; 547 case VK_FORMAT_B8G8R8_SRGB: return "VK_FORMAT_B8G8R8_SRGB"; 548 case VK_FORMAT_R8G8B8A8_UNORM: return "VK_FORMAT_R8G8B8A8_UNORM"; 549 case VK_FORMAT_R8G8B8A8_SNORM: return "VK_FORMAT_R8G8B8A8_SNORM"; 550 case VK_FORMAT_R8G8B8A8_USCALED: return "VK_FORMAT_R8G8B8A8_USCALED"; 551 case VK_FORMAT_R8G8B8A8_SSCALED: return "VK_FORMAT_R8G8B8A8_SSCALED"; 552 case VK_FORMAT_R8G8B8A8_UINT: return "VK_FORMAT_R8G8B8A8_UINT"; 553 case VK_FORMAT_R8G8B8A8_SINT: return "VK_FORMAT_R8G8B8A8_SINT"; 554 case VK_FORMAT_R8G8B8A8_SRGB: return "VK_FORMAT_R8G8B8A8_SRGB"; 555 case VK_FORMAT_B8G8R8A8_UNORM: return "VK_FORMAT_B8G8R8A8_UNORM"; 556 case VK_FORMAT_B8G8R8A8_SNORM: return "VK_FORMAT_B8G8R8A8_SNORM"; 557 case VK_FORMAT_B8G8R8A8_USCALED: return "VK_FORMAT_B8G8R8A8_USCALED"; 558 case VK_FORMAT_B8G8R8A8_SSCALED: return "VK_FORMAT_B8G8R8A8_SSCALED"; 559 case VK_FORMAT_B8G8R8A8_UINT: return "VK_FORMAT_B8G8R8A8_UINT"; 560 case VK_FORMAT_B8G8R8A8_SINT: return "VK_FORMAT_B8G8R8A8_SINT"; 561 case VK_FORMAT_B8G8R8A8_SRGB: return "VK_FORMAT_B8G8R8A8_SRGB"; 562 case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return "VK_FORMAT_A8B8G8R8_UNORM_PACK32"; 563 case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return "VK_FORMAT_A8B8G8R8_SNORM_PACK32"; 564 case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return "VK_FORMAT_A8B8G8R8_USCALED_PACK32"; 565 case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"; 566 case VK_FORMAT_A8B8G8R8_UINT_PACK32: return "VK_FORMAT_A8B8G8R8_UINT_PACK32"; 567 case VK_FORMAT_A8B8G8R8_SINT_PACK32: return "VK_FORMAT_A8B8G8R8_SINT_PACK32"; 568 case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return "VK_FORMAT_A8B8G8R8_SRGB_PACK32"; 569 case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return "VK_FORMAT_A2R10G10B10_UNORM_PACK32"; 570 case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return "VK_FORMAT_A2R10G10B10_SNORM_PACK32"; 571 case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return "VK_FORMAT_A2R10G10B10_USCALED_PACK32"; 572 case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"; 573 case VK_FORMAT_A2R10G10B10_UINT_PACK32: return "VK_FORMAT_A2R10G10B10_UINT_PACK32"; 574 case VK_FORMAT_A2R10G10B10_SINT_PACK32: return "VK_FORMAT_A2R10G10B10_SINT_PACK32"; 575 case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return "VK_FORMAT_A2B10G10R10_UNORM_PACK32"; 576 case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return "VK_FORMAT_A2B10G10R10_SNORM_PACK32"; 577 case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return "VK_FORMAT_A2B10G10R10_USCALED_PACK32"; 578 case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"; 579 case VK_FORMAT_A2B10G10R10_UINT_PACK32: return "VK_FORMAT_A2B10G10R10_UINT_PACK32"; 580 case VK_FORMAT_A2B10G10R10_SINT_PACK32: return "VK_FORMAT_A2B10G10R10_SINT_PACK32"; 581 case VK_FORMAT_R16_UNORM: return "VK_FORMAT_R16_UNORM"; 582 case VK_FORMAT_R16_SNORM: return "VK_FORMAT_R16_SNORM"; 583 case VK_FORMAT_R16_USCALED: return "VK_FORMAT_R16_USCALED"; 584 case VK_FORMAT_R16_SSCALED: return "VK_FORMAT_R16_SSCALED"; 585 case VK_FORMAT_R16_UINT: return "VK_FORMAT_R16_UINT"; 586 case VK_FORMAT_R16_SINT: return "VK_FORMAT_R16_SINT"; 587 case VK_FORMAT_R16_SFLOAT: return "VK_FORMAT_R16_SFLOAT"; 588 case VK_FORMAT_R16G16_UNORM: return "VK_FORMAT_R16G16_UNORM"; 589 case VK_FORMAT_R16G16_SNORM: return "VK_FORMAT_R16G16_SNORM"; 590 case VK_FORMAT_R16G16_USCALED: return "VK_FORMAT_R16G16_USCALED"; 591 case VK_FORMAT_R16G16_SSCALED: return "VK_FORMAT_R16G16_SSCALED"; 592 case VK_FORMAT_R16G16_UINT: return "VK_FORMAT_R16G16_UINT"; 593 case VK_FORMAT_R16G16_SINT: return "VK_FORMAT_R16G16_SINT"; 594 case VK_FORMAT_R16G16_SFLOAT: return "VK_FORMAT_R16G16_SFLOAT"; 595 case VK_FORMAT_R16G16B16_UNORM: return "VK_FORMAT_R16G16B16_UNORM"; 596 case VK_FORMAT_R16G16B16_SNORM: return "VK_FORMAT_R16G16B16_SNORM"; 597 case VK_FORMAT_R16G16B16_USCALED: return "VK_FORMAT_R16G16B16_USCALED"; 598 case VK_FORMAT_R16G16B16_SSCALED: return "VK_FORMAT_R16G16B16_SSCALED"; 599 case VK_FORMAT_R16G16B16_UINT: return "VK_FORMAT_R16G16B16_UINT"; 600 case VK_FORMAT_R16G16B16_SINT: return "VK_FORMAT_R16G16B16_SINT"; 601 case VK_FORMAT_R16G16B16_SFLOAT: return "VK_FORMAT_R16G16B16_SFLOAT"; 602 case VK_FORMAT_R16G16B16A16_UNORM: return "VK_FORMAT_R16G16B16A16_UNORM"; 603 case VK_FORMAT_R16G16B16A16_SNORM: return "VK_FORMAT_R16G16B16A16_SNORM"; 604 case VK_FORMAT_R16G16B16A16_USCALED: return "VK_FORMAT_R16G16B16A16_USCALED"; 605 case VK_FORMAT_R16G16B16A16_SSCALED: return "VK_FORMAT_R16G16B16A16_SSCALED"; 606 case VK_FORMAT_R16G16B16A16_UINT: return "VK_FORMAT_R16G16B16A16_UINT"; 607 case VK_FORMAT_R16G16B16A16_SINT: return "VK_FORMAT_R16G16B16A16_SINT"; 608 case VK_FORMAT_R16G16B16A16_SFLOAT: return "VK_FORMAT_R16G16B16A16_SFLOAT"; 609 case VK_FORMAT_R32_UINT: return "VK_FORMAT_R32_UINT"; 610 case VK_FORMAT_R32_SINT: return "VK_FORMAT_R32_SINT"; 611 case VK_FORMAT_R32_SFLOAT: return "VK_FORMAT_R32_SFLOAT"; 612 case VK_FORMAT_R32G32_UINT: return "VK_FORMAT_R32G32_UINT"; 613 case VK_FORMAT_R32G32_SINT: return "VK_FORMAT_R32G32_SINT"; 614 case VK_FORMAT_R32G32_SFLOAT: return "VK_FORMAT_R32G32_SFLOAT"; 615 case VK_FORMAT_R32G32B32_UINT: return "VK_FORMAT_R32G32B32_UINT"; 616 case VK_FORMAT_R32G32B32_SINT: return "VK_FORMAT_R32G32B32_SINT"; 617 case VK_FORMAT_R32G32B32_SFLOAT: return "VK_FORMAT_R32G32B32_SFLOAT"; 618 case VK_FORMAT_R32G32B32A32_UINT: return "VK_FORMAT_R32G32B32A32_UINT"; 619 case VK_FORMAT_R32G32B32A32_SINT: return "VK_FORMAT_R32G32B32A32_SINT"; 620 case VK_FORMAT_R32G32B32A32_SFLOAT: return "VK_FORMAT_R32G32B32A32_SFLOAT"; 621 case VK_FORMAT_R64_UINT: return "VK_FORMAT_R64_UINT"; 622 case VK_FORMAT_R64_SINT: return "VK_FORMAT_R64_SINT"; 623 case VK_FORMAT_R64_SFLOAT: return "VK_FORMAT_R64_SFLOAT"; 624 case VK_FORMAT_R64G64_UINT: return "VK_FORMAT_R64G64_UINT"; 625 case VK_FORMAT_R64G64_SINT: return "VK_FORMAT_R64G64_SINT"; 626 case VK_FORMAT_R64G64_SFLOAT: return "VK_FORMAT_R64G64_SFLOAT"; 627 case VK_FORMAT_R64G64B64_UINT: return "VK_FORMAT_R64G64B64_UINT"; 628 case VK_FORMAT_R64G64B64_SINT: return "VK_FORMAT_R64G64B64_SINT"; 629 case VK_FORMAT_R64G64B64_SFLOAT: return "VK_FORMAT_R64G64B64_SFLOAT"; 630 case VK_FORMAT_R64G64B64A64_UINT: return "VK_FORMAT_R64G64B64A64_UINT"; 631 case VK_FORMAT_R64G64B64A64_SINT: return "VK_FORMAT_R64G64B64A64_SINT"; 632 case VK_FORMAT_R64G64B64A64_SFLOAT: return "VK_FORMAT_R64G64B64A64_SFLOAT"; 633 case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return "VK_FORMAT_B10G11R11_UFLOAT_PACK32"; 634 case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"; 635 case VK_FORMAT_D16_UNORM: return "VK_FORMAT_D16_UNORM"; 636 case VK_FORMAT_X8_D24_UNORM_PACK32: return "VK_FORMAT_X8_D24_UNORM_PACK32"; 637 case VK_FORMAT_D32_SFLOAT: return "VK_FORMAT_D32_SFLOAT"; 638 case VK_FORMAT_S8_UINT: return "VK_FORMAT_S8_UINT"; 639 case VK_FORMAT_D16_UNORM_S8_UINT: return "VK_FORMAT_D16_UNORM_S8_UINT"; 640 case VK_FORMAT_D24_UNORM_S8_UINT: return "VK_FORMAT_D24_UNORM_S8_UINT"; 641 case VK_FORMAT_D32_SFLOAT_S8_UINT: return "VK_FORMAT_D32_SFLOAT_S8_UINT"; 642 case VK_FORMAT_BC1_RGB_UNORM_BLOCK: return "VK_FORMAT_BC1_RGB_UNORM_BLOCK"; 643 case VK_FORMAT_BC1_RGB_SRGB_BLOCK: return "VK_FORMAT_BC1_RGB_SRGB_BLOCK"; 644 case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"; 645 case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"; 646 case VK_FORMAT_BC2_UNORM_BLOCK: return "VK_FORMAT_BC2_UNORM_BLOCK"; 647 case VK_FORMAT_BC2_SRGB_BLOCK: return "VK_FORMAT_BC2_SRGB_BLOCK"; 648 case VK_FORMAT_BC3_UNORM_BLOCK: return "VK_FORMAT_BC3_UNORM_BLOCK"; 649 case VK_FORMAT_BC3_SRGB_BLOCK: return "VK_FORMAT_BC3_SRGB_BLOCK"; 650 case VK_FORMAT_BC4_UNORM_BLOCK: return "VK_FORMAT_BC4_UNORM_BLOCK"; 651 case VK_FORMAT_BC4_SNORM_BLOCK: return "VK_FORMAT_BC4_SNORM_BLOCK"; 652 case VK_FORMAT_BC5_UNORM_BLOCK: return "VK_FORMAT_BC5_UNORM_BLOCK"; 653 case VK_FORMAT_BC5_SNORM_BLOCK: return "VK_FORMAT_BC5_SNORM_BLOCK"; 654 case VK_FORMAT_BC6H_UFLOAT_BLOCK: return "VK_FORMAT_BC6H_UFLOAT_BLOCK"; 655 case VK_FORMAT_BC6H_SFLOAT_BLOCK: return "VK_FORMAT_BC6H_SFLOAT_BLOCK"; 656 case VK_FORMAT_BC7_UNORM_BLOCK: return "VK_FORMAT_BC7_UNORM_BLOCK"; 657 case VK_FORMAT_BC7_SRGB_BLOCK: return "VK_FORMAT_BC7_SRGB_BLOCK"; 658 case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"; 659 case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"; 660 case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"; 661 case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"; 662 case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"; 663 case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"; 664 case VK_FORMAT_EAC_R11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11_UNORM_BLOCK"; 665 case VK_FORMAT_EAC_R11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11_SNORM_BLOCK"; 666 case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"; 667 case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"; 668 case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"; 669 case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"; 670 case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"; 671 case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"; 672 case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"; 673 case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"; 674 case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"; 675 case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"; 676 case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"; 677 case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"; 678 case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"; 679 case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"; 680 case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"; 681 case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"; 682 case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"; 683 case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"; 684 case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"; 685 case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"; 686 case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"; 687 case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"; 688 case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"; 689 case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"; 690 case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"; 691 case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"; 692 case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"; 693 case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"; 694 case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"; 695 case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"; 696 case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT"; 697 case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT"; 698 case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT"; 699 case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT"; 700 case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT"; 701 case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT"; 702 case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT"; 703 case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT"; 704 case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT"; 705 case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT"; 706 case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT"; 707 case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT"; 708 case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT"; 709 case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT"; 710 case VK_FORMAT_G8B8G8R8_422_UNORM: return "VK_FORMAT_G8B8G8R8_422_UNORM"; 711 case VK_FORMAT_B8G8R8G8_422_UNORM: return "VK_FORMAT_B8G8R8G8_422_UNORM"; 712 case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM"; 713 case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM"; 714 case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM"; 715 case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM"; 716 case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM"; 717 case VK_FORMAT_R10X6_UNORM_PACK16: return "VK_FORMAT_R10X6_UNORM_PACK16"; 718 case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16"; 719 case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16"; 720 case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16"; 721 case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16"; 722 case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16"; 723 case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16"; 724 case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16"; 725 case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16"; 726 case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16"; 727 case VK_FORMAT_R12X4_UNORM_PACK16: return "VK_FORMAT_R12X4_UNORM_PACK16"; 728 case VK_FORMAT_R12X4G12X4_UNORM_2PACK16: return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16"; 729 case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16"; 730 case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16"; 731 case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16"; 732 case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16"; 733 case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16"; 734 case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16"; 735 case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16"; 736 case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16"; 737 case VK_FORMAT_G16B16G16R16_422_UNORM: return "VK_FORMAT_G16B16G16R16_422_UNORM"; 738 case VK_FORMAT_B16G16R16G16_422_UNORM: return "VK_FORMAT_B16G16R16G16_422_UNORM"; 739 case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM"; 740 case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM"; 741 case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM"; 742 case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM"; 743 case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM"; 744 case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT: return "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT"; 745 case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT"; 746 case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT"; 747 case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT: return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT"; 748 case VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT: return "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT"; 749 case VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT: return "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT"; 750 default: return DE_NULL; 751 } 752} 753 754tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value) 755{ 756 static const tcu::Format::BitDesc s_desc[] = 757 { 758 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"), 759 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"), 760 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"), 761 tcu::Format::BitDesc(VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"), 762 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"), 763 tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"), 764 tcu::Format::BitDesc(VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"), 765 tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"), 766 tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"), 767 tcu::Format::BitDesc(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"), 768 tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_SRC_BIT, "VK_FORMAT_FEATURE_BLIT_SRC_BIT"), 769 tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_DST_BIT, "VK_FORMAT_FEATURE_BLIT_DST_BIT"), 770 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"), 771 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT"), 772 tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"), 773 tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_DST_BIT, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT"), 774 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT"), 775 tcu::Format::BitDesc(VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT"), 776 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT"), 777 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT"), 778 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT"), 779 tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT"), 780 tcu::Format::BitDesc(VK_FORMAT_FEATURE_DISJOINT_BIT, "VK_FORMAT_FEATURE_DISJOINT_BIT"), 781 tcu::Format::BitDesc(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT"), 782 tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), 783 }; 784 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 785} 786 787const char* getFrontFaceName (VkFrontFace value) 788{ 789 switch (value) 790 { 791 case VK_FRONT_FACE_COUNTER_CLOCKWISE: return "VK_FRONT_FACE_COUNTER_CLOCKWISE"; 792 case VK_FRONT_FACE_CLOCKWISE: return "VK_FRONT_FACE_CLOCKWISE"; 793 default: return DE_NULL; 794 } 795} 796 797tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value) 798{ 799 static const tcu::Format::BitDesc s_desc[] = 800 { 801 tcu::Format::BitDesc(VK_IMAGE_ASPECT_COLOR_BIT, "VK_IMAGE_ASPECT_COLOR_BIT"), 802 tcu::Format::BitDesc(VK_IMAGE_ASPECT_NONE, "VK_IMAGE_ASPECT_NONE"), 803 tcu::Format::BitDesc(VK_IMAGE_ASPECT_DEPTH_BIT, "VK_IMAGE_ASPECT_DEPTH_BIT"), 804 tcu::Format::BitDesc(VK_IMAGE_ASPECT_STENCIL_BIT, "VK_IMAGE_ASPECT_STENCIL_BIT"), 805 tcu::Format::BitDesc(VK_IMAGE_ASPECT_METADATA_BIT, "VK_IMAGE_ASPECT_METADATA_BIT"), 806 tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT, "VK_IMAGE_ASPECT_PLANE_0_BIT"), 807 tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT, "VK_IMAGE_ASPECT_PLANE_1_BIT"), 808 tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT, "VK_IMAGE_ASPECT_PLANE_2_BIT"), 809 tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"), 810 tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"), 811 tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"), 812 tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"), 813 }; 814 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 815} 816 817tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value) 818{ 819 static const tcu::Format::BitDesc s_desc[] = 820 { 821 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_BINDING_BIT, "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"), 822 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"), 823 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"), 824 tcu::Format::BitDesc(VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"), 825 tcu::Format::BitDesc(VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"), 826 tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT"), 827 tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT"), 828 tcu::Format::BitDesc(VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"), 829 tcu::Format::BitDesc(VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"), 830 tcu::Format::BitDesc(VK_IMAGE_CREATE_DISJOINT_BIT, "VK_IMAGE_CREATE_DISJOINT_BIT"), 831 tcu::Format::BitDesc(VK_IMAGE_CREATE_ALIAS_BIT, "VK_IMAGE_CREATE_ALIAS_BIT"), 832 tcu::Format::BitDesc(VK_IMAGE_CREATE_PROTECTED_BIT, "VK_IMAGE_CREATE_PROTECTED_BIT"), 833 tcu::Format::BitDesc(VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"), 834 }; 835 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 836} 837 838const char* getImageLayoutName (VkImageLayout value) 839{ 840 switch (value) 841 { 842 case VK_IMAGE_LAYOUT_UNDEFINED: return "VK_IMAGE_LAYOUT_UNDEFINED"; 843 case VK_IMAGE_LAYOUT_GENERAL: return "VK_IMAGE_LAYOUT_GENERAL"; 844 case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"; 845 case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"; 846 case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"; 847 case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"; 848 case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"; 849 case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"; 850 case VK_IMAGE_LAYOUT_PREINITIALIZED: return "VK_IMAGE_LAYOUT_PREINITIALIZED"; 851 case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"; 852 case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"; 853 case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL"; 854 case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL"; 855 case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR"; 856 case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL"; 857 case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL"; 858 case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL"; 859 case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL"; 860 case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR"; 861 case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR"; 862 default: return DE_NULL; 863 } 864} 865 866const char* getImageTilingName (VkImageTiling value) 867{ 868 switch (value) 869 { 870 case VK_IMAGE_TILING_OPTIMAL: return "VK_IMAGE_TILING_OPTIMAL"; 871 case VK_IMAGE_TILING_LINEAR: return "VK_IMAGE_TILING_LINEAR"; 872 case VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: return "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT"; 873 default: return DE_NULL; 874 } 875} 876 877const char* getImageTypeName (VkImageType value) 878{ 879 switch (value) 880 { 881 case VK_IMAGE_TYPE_1D: return "VK_IMAGE_TYPE_1D"; 882 case VK_IMAGE_TYPE_2D: return "VK_IMAGE_TYPE_2D"; 883 case VK_IMAGE_TYPE_3D: return "VK_IMAGE_TYPE_3D"; 884 default: return DE_NULL; 885 } 886} 887 888tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value) 889{ 890 static const tcu::Format::BitDesc s_desc[] = 891 { 892 tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_SRC_BIT, "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"), 893 tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_DST_BIT, "VK_IMAGE_USAGE_TRANSFER_DST_BIT"), 894 tcu::Format::BitDesc(VK_IMAGE_USAGE_SAMPLED_BIT, "VK_IMAGE_USAGE_SAMPLED_BIT"), 895 tcu::Format::BitDesc(VK_IMAGE_USAGE_STORAGE_BIT, "VK_IMAGE_USAGE_STORAGE_BIT"), 896 tcu::Format::BitDesc(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"), 897 tcu::Format::BitDesc(VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"), 898 tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"), 899 tcu::Format::BitDesc(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"), 900 tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), 901 }; 902 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 903} 904 905tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags value) 906{ 907 static const tcu::Format::BitDesc s_desc[] = 908 { 909 tcu::Format::BitDesc(0, "0") 910 }; 911 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 912} 913 914const char* getImageViewTypeName (VkImageViewType value) 915{ 916 switch (value) 917 { 918 case VK_IMAGE_VIEW_TYPE_1D: return "VK_IMAGE_VIEW_TYPE_1D"; 919 case VK_IMAGE_VIEW_TYPE_2D: return "VK_IMAGE_VIEW_TYPE_2D"; 920 case VK_IMAGE_VIEW_TYPE_3D: return "VK_IMAGE_VIEW_TYPE_3D"; 921 case VK_IMAGE_VIEW_TYPE_CUBE: return "VK_IMAGE_VIEW_TYPE_CUBE"; 922 case VK_IMAGE_VIEW_TYPE_1D_ARRAY: return "VK_IMAGE_VIEW_TYPE_1D_ARRAY"; 923 case VK_IMAGE_VIEW_TYPE_2D_ARRAY: return "VK_IMAGE_VIEW_TYPE_2D_ARRAY"; 924 case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"; 925 default: return DE_NULL; 926 } 927} 928 929const char* getSharingModeName (VkSharingMode value) 930{ 931 switch (value) 932 { 933 case VK_SHARING_MODE_EXCLUSIVE: return "VK_SHARING_MODE_EXCLUSIVE"; 934 case VK_SHARING_MODE_CONCURRENT: return "VK_SHARING_MODE_CONCURRENT"; 935 default: return DE_NULL; 936 } 937} 938 939const char* getIndexTypeName (VkIndexType value) 940{ 941 switch (value) 942 { 943 case VK_INDEX_TYPE_UINT16: return "VK_INDEX_TYPE_UINT16"; 944 case VK_INDEX_TYPE_UINT32: return "VK_INDEX_TYPE_UINT32"; 945 case VK_INDEX_TYPE_UINT8_EXT: return "VK_INDEX_TYPE_UINT8_EXT"; 946 default: return DE_NULL; 947 } 948} 949 950const char* getLogicOpName (VkLogicOp value) 951{ 952 switch (value) 953 { 954 case VK_LOGIC_OP_CLEAR: return "VK_LOGIC_OP_CLEAR"; 955 case VK_LOGIC_OP_AND: return "VK_LOGIC_OP_AND"; 956 case VK_LOGIC_OP_AND_REVERSE: return "VK_LOGIC_OP_AND_REVERSE"; 957 case VK_LOGIC_OP_COPY: return "VK_LOGIC_OP_COPY"; 958 case VK_LOGIC_OP_AND_INVERTED: return "VK_LOGIC_OP_AND_INVERTED"; 959 case VK_LOGIC_OP_NO_OP: return "VK_LOGIC_OP_NO_OP"; 960 case VK_LOGIC_OP_XOR: return "VK_LOGIC_OP_XOR"; 961 case VK_LOGIC_OP_OR: return "VK_LOGIC_OP_OR"; 962 case VK_LOGIC_OP_NOR: return "VK_LOGIC_OP_NOR"; 963 case VK_LOGIC_OP_EQUIVALENT: return "VK_LOGIC_OP_EQUIVALENT"; 964 case VK_LOGIC_OP_INVERT: return "VK_LOGIC_OP_INVERT"; 965 case VK_LOGIC_OP_OR_REVERSE: return "VK_LOGIC_OP_OR_REVERSE"; 966 case VK_LOGIC_OP_COPY_INVERTED: return "VK_LOGIC_OP_COPY_INVERTED"; 967 case VK_LOGIC_OP_OR_INVERTED: return "VK_LOGIC_OP_OR_INVERTED"; 968 case VK_LOGIC_OP_NAND: return "VK_LOGIC_OP_NAND"; 969 case VK_LOGIC_OP_SET: return "VK_LOGIC_OP_SET"; 970 default: return DE_NULL; 971 } 972} 973 974tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value) 975{ 976 static const tcu::Format::BitDesc s_desc[] = 977 { 978 tcu::Format::BitDesc(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"), 979 tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"), 980 tcu::Format::BitDesc(VK_MEMORY_HEAP_SEU_SAFE_BIT, "VK_MEMORY_HEAP_SEU_SAFE_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> getAccessFlagsStr (VkAccessFlags value) 986{ 987 static const tcu::Format::BitDesc s_desc[] = 988 { 989 tcu::Format::BitDesc(VK_ACCESS_INDIRECT_COMMAND_READ_BIT, "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"), 990 tcu::Format::BitDesc(VK_ACCESS_NONE_KHR, "VK_ACCESS_NONE_KHR"), 991 tcu::Format::BitDesc(VK_ACCESS_INDEX_READ_BIT, "VK_ACCESS_INDEX_READ_BIT"), 992 tcu::Format::BitDesc(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"), 993 tcu::Format::BitDesc(VK_ACCESS_UNIFORM_READ_BIT, "VK_ACCESS_UNIFORM_READ_BIT"), 994 tcu::Format::BitDesc(VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"), 995 tcu::Format::BitDesc(VK_ACCESS_SHADER_READ_BIT, "VK_ACCESS_SHADER_READ_BIT"), 996 tcu::Format::BitDesc(VK_ACCESS_SHADER_WRITE_BIT, "VK_ACCESS_SHADER_WRITE_BIT"), 997 tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"), 998 tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"), 999 tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"), 1000 tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"), 1001 tcu::Format::BitDesc(VK_ACCESS_TRANSFER_READ_BIT, "VK_ACCESS_TRANSFER_READ_BIT"), 1002 tcu::Format::BitDesc(VK_ACCESS_TRANSFER_WRITE_BIT, "VK_ACCESS_TRANSFER_WRITE_BIT"), 1003 tcu::Format::BitDesc(VK_ACCESS_HOST_READ_BIT, "VK_ACCESS_HOST_READ_BIT"), 1004 tcu::Format::BitDesc(VK_ACCESS_HOST_WRITE_BIT, "VK_ACCESS_HOST_WRITE_BIT"), 1005 tcu::Format::BitDesc(VK_ACCESS_MEMORY_READ_BIT, "VK_ACCESS_MEMORY_READ_BIT"), 1006 tcu::Format::BitDesc(VK_ACCESS_MEMORY_WRITE_BIT, "VK_ACCESS_MEMORY_WRITE_BIT"), 1007 tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"), 1008 tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"), 1009 }; 1010 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1011} 1012 1013tcu::Format::Bitfield<32> getMemoryPropertyFlagsStr (VkMemoryPropertyFlags value) 1014{ 1015 static const tcu::Format::BitDesc s_desc[] = 1016 { 1017 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"), 1018 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"), 1019 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"), 1020 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_CACHED_BIT, "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"), 1021 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"), 1022 tcu::Format::BitDesc(VK_MEMORY_PROPERTY_PROTECTED_BIT, "VK_MEMORY_PROPERTY_PROTECTED_BIT"), 1023 }; 1024 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1025} 1026 1027const char* getPhysicalDeviceTypeName (VkPhysicalDeviceType value) 1028{ 1029 switch (value) 1030 { 1031 case VK_PHYSICAL_DEVICE_TYPE_OTHER: return "VK_PHYSICAL_DEVICE_TYPE_OTHER"; 1032 case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"; 1033 case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"; 1034 case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"; 1035 case VK_PHYSICAL_DEVICE_TYPE_CPU: return "VK_PHYSICAL_DEVICE_TYPE_CPU"; 1036 default: return DE_NULL; 1037 } 1038} 1039 1040const char* getPipelineBindPointName (VkPipelineBindPoint value) 1041{ 1042 switch (value) 1043 { 1044 case VK_PIPELINE_BIND_POINT_GRAPHICS: return "VK_PIPELINE_BIND_POINT_GRAPHICS"; 1045 case VK_PIPELINE_BIND_POINT_COMPUTE: return "VK_PIPELINE_BIND_POINT_COMPUTE"; 1046 default: return DE_NULL; 1047 } 1048} 1049 1050tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value) 1051{ 1052 static const tcu::Format::BitDesc s_desc[] = 1053 { 1054 tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"), 1055 tcu::Format::BitDesc(VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"), 1056 tcu::Format::BitDesc(VK_PIPELINE_CREATE_DERIVATIVE_BIT, "VK_PIPELINE_CREATE_DERIVATIVE_BIT"), 1057 tcu::Format::BitDesc(VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"), 1058 tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"), 1059 tcu::Format::BitDesc(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"), 1060 tcu::Format::BitDesc(VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT"), 1061 }; 1062 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1063} 1064 1065const char* getPrimitiveTopologyName (VkPrimitiveTopology value) 1066{ 1067 switch (value) 1068 { 1069 case VK_PRIMITIVE_TOPOLOGY_POINT_LIST: return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"; 1070 case VK_PRIMITIVE_TOPOLOGY_LINE_LIST: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"; 1071 case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"; 1072 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"; 1073 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"; 1074 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"; 1075 case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"; 1076 case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"; 1077 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"; 1078 case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"; 1079 case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"; 1080 default: return DE_NULL; 1081 } 1082} 1083 1084tcu::Format::Bitfield<32> getQueryControlFlagsStr (VkQueryControlFlags value) 1085{ 1086 static const tcu::Format::BitDesc s_desc[] = 1087 { 1088 tcu::Format::BitDesc(VK_QUERY_CONTROL_PRECISE_BIT, "VK_QUERY_CONTROL_PRECISE_BIT"), 1089 }; 1090 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1091} 1092 1093tcu::Format::Bitfield<32> getQueryPipelineStatisticFlagsStr (VkQueryPipelineStatisticFlags value) 1094{ 1095 static const tcu::Format::BitDesc s_desc[] = 1096 { 1097 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"), 1098 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"), 1099 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"), 1100 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"), 1101 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"), 1102 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"), 1103 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"), 1104 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"), 1105 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"), 1106 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"), 1107 tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"), 1108 }; 1109 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1110} 1111 1112tcu::Format::Bitfield<32> getQueryResultFlagsStr (VkQueryResultFlags value) 1113{ 1114 static const tcu::Format::BitDesc s_desc[] = 1115 { 1116 tcu::Format::BitDesc(VK_QUERY_RESULT_64_BIT, "VK_QUERY_RESULT_64_BIT"), 1117 tcu::Format::BitDesc(VK_QUERY_RESULT_WAIT_BIT, "VK_QUERY_RESULT_WAIT_BIT"), 1118 tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"), 1119 tcu::Format::BitDesc(VK_QUERY_RESULT_PARTIAL_BIT, "VK_QUERY_RESULT_PARTIAL_BIT"), 1120 }; 1121 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1122} 1123 1124const char* getQueryTypeName (VkQueryType value) 1125{ 1126 switch (value) 1127 { 1128 case VK_QUERY_TYPE_OCCLUSION: return "VK_QUERY_TYPE_OCCLUSION"; 1129 case VK_QUERY_TYPE_PIPELINE_STATISTICS: return "VK_QUERY_TYPE_PIPELINE_STATISTICS"; 1130 case VK_QUERY_TYPE_TIMESTAMP: return "VK_QUERY_TYPE_TIMESTAMP"; 1131 case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR: return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR"; 1132 default: return DE_NULL; 1133 } 1134} 1135 1136tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value) 1137{ 1138 static const tcu::Format::BitDesc s_desc[] = 1139 { 1140 tcu::Format::BitDesc(VK_QUEUE_GRAPHICS_BIT, "VK_QUEUE_GRAPHICS_BIT"), 1141 tcu::Format::BitDesc(VK_QUEUE_COMPUTE_BIT, "VK_QUEUE_COMPUTE_BIT"), 1142 tcu::Format::BitDesc(VK_QUEUE_TRANSFER_BIT, "VK_QUEUE_TRANSFER_BIT"), 1143 tcu::Format::BitDesc(VK_QUEUE_SPARSE_BINDING_BIT, "VK_QUEUE_SPARSE_BINDING_BIT"), 1144 tcu::Format::BitDesc(VK_QUEUE_PROTECTED_BIT, "VK_QUEUE_PROTECTED_BIT"), 1145 }; 1146 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1147} 1148 1149const char* getSubpassContentsName (VkSubpassContents value) 1150{ 1151 switch (value) 1152 { 1153 case VK_SUBPASS_CONTENTS_INLINE: return "VK_SUBPASS_CONTENTS_INLINE"; 1154 case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"; 1155 default: return DE_NULL; 1156 } 1157} 1158 1159const char* getResultName (VkResult value) 1160{ 1161 switch (value) 1162 { 1163 case VK_ERROR_NO_PIPELINE_MATCH: return "VK_ERROR_NO_PIPELINE_MATCH"; 1164 case VK_ERROR_INVALID_PIPELINE_CACHE_DATA: return "VK_ERROR_INVALID_PIPELINE_CACHE_DATA"; 1165 case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"; 1166 case VK_ERROR_NOT_PERMITTED_EXT: return "VK_ERROR_NOT_PERMITTED_EXT"; 1167 case VK_ERROR_FRAGMENTATION: return "VK_ERROR_FRAGMENTATION"; 1168 case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"; 1169 case VK_ERROR_INVALID_EXTERNAL_HANDLE: return "VK_ERROR_INVALID_EXTERNAL_HANDLE"; 1170 case VK_ERROR_OUT_OF_POOL_MEMORY: return "VK_ERROR_OUT_OF_POOL_MEMORY"; 1171 case VK_ERROR_VALIDATION_FAILED: return "VK_ERROR_VALIDATION_FAILED"; 1172 case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"; 1173 case VK_ERROR_OUT_OF_DATE_KHR: return "VK_ERROR_OUT_OF_DATE_KHR"; 1174 case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"; 1175 case VK_ERROR_SURFACE_LOST_KHR: return "VK_ERROR_SURFACE_LOST_KHR"; 1176 case VK_ERROR_UNKNOWN: return "VK_ERROR_UNKNOWN"; 1177 case VK_ERROR_FRAGMENTED_POOL: return "VK_ERROR_FRAGMENTED_POOL"; 1178 case VK_ERROR_FORMAT_NOT_SUPPORTED: return "VK_ERROR_FORMAT_NOT_SUPPORTED"; 1179 case VK_ERROR_TOO_MANY_OBJECTS: return "VK_ERROR_TOO_MANY_OBJECTS"; 1180 case VK_ERROR_INCOMPATIBLE_DRIVER: return "VK_ERROR_INCOMPATIBLE_DRIVER"; 1181 case VK_ERROR_FEATURE_NOT_PRESENT: return "VK_ERROR_FEATURE_NOT_PRESENT"; 1182 case VK_ERROR_EXTENSION_NOT_PRESENT: return "VK_ERROR_EXTENSION_NOT_PRESENT"; 1183 case VK_ERROR_LAYER_NOT_PRESENT: return "VK_ERROR_LAYER_NOT_PRESENT"; 1184 case VK_ERROR_MEMORY_MAP_FAILED: return "VK_ERROR_MEMORY_MAP_FAILED"; 1185 case VK_ERROR_DEVICE_LOST: return "VK_ERROR_DEVICE_LOST"; 1186 case VK_ERROR_INITIALIZATION_FAILED: return "VK_ERROR_INITIALIZATION_FAILED"; 1187 case VK_ERROR_OUT_OF_DEVICE_MEMORY: return "VK_ERROR_OUT_OF_DEVICE_MEMORY"; 1188 case VK_ERROR_OUT_OF_HOST_MEMORY: return "VK_ERROR_OUT_OF_HOST_MEMORY"; 1189 case VK_SUCCESS: return "VK_SUCCESS"; 1190 case VK_NOT_READY: return "VK_NOT_READY"; 1191 case VK_TIMEOUT: return "VK_TIMEOUT"; 1192 case VK_EVENT_SET: return "VK_EVENT_SET"; 1193 case VK_EVENT_RESET: return "VK_EVENT_RESET"; 1194 case VK_INCOMPLETE: return "VK_INCOMPLETE"; 1195 case VK_SUBOPTIMAL_KHR: return "VK_SUBOPTIMAL_KHR"; 1196 case VK_PIPELINE_COMPILE_REQUIRED: return "VK_PIPELINE_COMPILE_REQUIRED"; 1197 default: return DE_NULL; 1198 } 1199} 1200 1201tcu::Format::Bitfield<32> getShaderStageFlagsStr (VkShaderStageFlags value) 1202{ 1203 static const tcu::Format::BitDesc s_desc[] = 1204 { 1205 tcu::Format::BitDesc(VK_SHADER_STAGE_VERTEX_BIT, "VK_SHADER_STAGE_VERTEX_BIT"), 1206 tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"), 1207 tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"), 1208 tcu::Format::BitDesc(VK_SHADER_STAGE_GEOMETRY_BIT, "VK_SHADER_STAGE_GEOMETRY_BIT"), 1209 tcu::Format::BitDesc(VK_SHADER_STAGE_FRAGMENT_BIT, "VK_SHADER_STAGE_FRAGMENT_BIT"), 1210 tcu::Format::BitDesc(VK_SHADER_STAGE_COMPUTE_BIT, "VK_SHADER_STAGE_COMPUTE_BIT"), 1211 tcu::Format::BitDesc(VK_SHADER_STAGE_ALL_GRAPHICS, "VK_SHADER_STAGE_ALL_GRAPHICS"), 1212 tcu::Format::BitDesc(VK_SHADER_STAGE_ALL, "VK_SHADER_STAGE_ALL"), 1213 }; 1214 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1215} 1216 1217tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value) 1218{ 1219 static const tcu::Format::BitDesc s_desc[] = 1220 { 1221 tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_METADATA_BIT, "VK_SPARSE_MEMORY_BIND_METADATA_BIT"), 1222 }; 1223 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1224} 1225 1226tcu::Format::Bitfield<32> getStencilFaceFlagsStr (VkStencilFaceFlags value) 1227{ 1228 static const tcu::Format::BitDesc s_desc[] = 1229 { 1230 tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_BIT, "VK_STENCIL_FACE_FRONT_BIT"), 1231 tcu::Format::BitDesc(VK_STENCIL_FACE_BACK_BIT, "VK_STENCIL_FACE_BACK_BIT"), 1232 tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_AND_BACK, "VK_STENCIL_FACE_FRONT_AND_BACK"), 1233 }; 1234 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1235} 1236 1237const char* getStencilOpName (VkStencilOp value) 1238{ 1239 switch (value) 1240 { 1241 case VK_STENCIL_OP_KEEP: return "VK_STENCIL_OP_KEEP"; 1242 case VK_STENCIL_OP_ZERO: return "VK_STENCIL_OP_ZERO"; 1243 case VK_STENCIL_OP_REPLACE: return "VK_STENCIL_OP_REPLACE"; 1244 case VK_STENCIL_OP_INCREMENT_AND_CLAMP: return "VK_STENCIL_OP_INCREMENT_AND_CLAMP"; 1245 case VK_STENCIL_OP_DECREMENT_AND_CLAMP: return "VK_STENCIL_OP_DECREMENT_AND_CLAMP"; 1246 case VK_STENCIL_OP_INVERT: return "VK_STENCIL_OP_INVERT"; 1247 case VK_STENCIL_OP_INCREMENT_AND_WRAP: return "VK_STENCIL_OP_INCREMENT_AND_WRAP"; 1248 case VK_STENCIL_OP_DECREMENT_AND_WRAP: return "VK_STENCIL_OP_DECREMENT_AND_WRAP"; 1249 default: return DE_NULL; 1250 } 1251} 1252 1253const char* getStructureTypeName (VkStructureType value) 1254{ 1255 switch (value) 1256 { 1257 case VK_STRUCTURE_TYPE_APPLICATION_INFO: return "VK_STRUCTURE_TYPE_APPLICATION_INFO"; 1258 case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"; 1259 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"; 1260 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"; 1261 case VK_STRUCTURE_TYPE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_SUBMIT_INFO"; 1262 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"; 1263 case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"; 1264 case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"; 1265 case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"; 1266 case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"; 1267 case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"; 1268 case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"; 1269 case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"; 1270 case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"; 1271 case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"; 1272 case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"; 1273 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"; 1274 case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"; 1275 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"; 1276 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"; 1277 case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"; 1278 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"; 1279 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"; 1280 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"; 1281 case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"; 1282 case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"; 1283 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"; 1284 case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"; 1285 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"; 1286 case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"; 1287 case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"; 1288 case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"; 1289 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"; 1290 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"; 1291 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"; 1292 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"; 1293 case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"; 1294 case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"; 1295 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"; 1296 case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"; 1297 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"; 1298 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"; 1299 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"; 1300 case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"; 1301 case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"; 1302 case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"; 1303 case VK_STRUCTURE_TYPE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER"; 1304 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"; 1305 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"; 1306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"; 1307 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"; 1308 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"; 1309 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"; 1310 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES"; 1311 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES"; 1312 case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"; 1313 case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"; 1314 case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"; 1315 case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"; 1316 case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"; 1317 case VK_STRUCTURE_TYPE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_RENDERING_INFO"; 1318 case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO: return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO"; 1319 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO"; 1320 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES"; 1321 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO"; 1322 case VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_PLACEHOLDER_OFFSET_0_NV: return "VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_PLACEHOLDER_OFFSET_0_NV"; 1323 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO"; 1324 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"; 1325 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"; 1326 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2"; 1327 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2"; 1328 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2"; 1329 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2"; 1330 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2"; 1331 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2"; 1332 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2"; 1333 case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2"; 1334 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2"; 1335 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"; 1336 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"; 1337 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO"; 1338 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO"; 1339 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO"; 1340 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"; 1341 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"; 1342 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR"; 1343 case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: return "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR"; 1344 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR"; 1345 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR"; 1346 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO"; 1347 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO"; 1348 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"; 1349 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT"; 1350 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT"; 1351 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT"; 1352 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES"; 1353 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO"; 1354 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO"; 1355 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES"; 1356 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO"; 1357 case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES"; 1358 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"; 1359 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO"; 1360 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO"; 1361 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO"; 1362 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR"; 1363 case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR"; 1364 case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR"; 1365 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO"; 1366 case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES"; 1367 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO"; 1368 case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR"; 1369 case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR"; 1370 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"; 1371 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"; 1372 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"; 1373 case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO"; 1374 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT"; 1375 case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: return "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT"; 1376 case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT"; 1377 case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: return "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT"; 1378 case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT"; 1379 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"; 1380 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"; 1381 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"; 1382 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT"; 1383 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT"; 1384 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT"; 1385 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT"; 1386 case VK_STRUCTURE_TYPE_HDR_METADATA_EXT: return "VK_STRUCTURE_TYPE_HDR_METADATA_EXT"; 1387 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"; 1388 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"; 1389 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO"; 1390 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO"; 1391 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2"; 1392 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2"; 1393 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2"; 1394 case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2"; 1395 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2"; 1396 case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO"; 1397 case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO"; 1398 case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR"; 1399 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO"; 1400 case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES"; 1401 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO"; 1402 case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR"; 1403 case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR"; 1404 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR"; 1405 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR"; 1406 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR"; 1407 case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR"; 1408 case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: return "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR"; 1409 case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR"; 1410 case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR"; 1411 case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR"; 1412 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"; 1413 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO"; 1414 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO"; 1415 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"; 1416 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"; 1417 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"; 1418 case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR"; 1419 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"; 1420 case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR"; 1421 case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR"; 1422 case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR"; 1423 case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR"; 1424 case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR"; 1425 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS"; 1426 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO"; 1427 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT"; 1428 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT"; 1429 case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT"; 1430 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT"; 1431 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"; 1432 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"; 1433 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO"; 1434 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES"; 1435 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES"; 1436 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK"; 1437 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO"; 1438 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"; 1439 case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT"; 1440 case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT"; 1441 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT"; 1442 case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT"; 1443 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO"; 1444 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES"; 1445 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES"; 1446 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2"; 1447 case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2"; 1448 case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2"; 1449 case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2"; 1450 case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2"; 1451 case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2"; 1452 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO"; 1453 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT"; 1454 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT"; 1455 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT"; 1456 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"; 1457 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"; 1458 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO"; 1459 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"; 1460 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"; 1461 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"; 1462 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO"; 1463 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO"; 1464 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT"; 1465 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT"; 1466 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT"; 1467 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"; 1468 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT"; 1469 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT"; 1470 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"; 1471 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES"; 1472 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"; 1473 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO"; 1474 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT"; 1475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"; 1476 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"; 1477 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT"; 1478 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT"; 1479 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT"; 1480 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"; 1481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"; 1482 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT"; 1483 case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT"; 1484 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT"; 1485 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES"; 1486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR"; 1487 case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT"; 1488 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT"; 1489 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT"; 1490 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT"; 1491 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO"; 1492 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"; 1493 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"; 1494 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"; 1495 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE"; 1496 case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"; 1497 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"; 1498 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES"; 1499 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES"; 1500 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO"; 1501 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO"; 1502 case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO"; 1503 case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO"; 1504 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES"; 1505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT"; 1506 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR"; 1507 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES"; 1508 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT"; 1509 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT"; 1510 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"; 1511 case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"; 1512 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR"; 1513 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR"; 1514 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR"; 1515 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR"; 1516 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"; 1517 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"; 1518 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES"; 1519 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT"; 1520 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT"; 1521 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO"; 1522 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES"; 1523 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO"; 1524 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT"; 1525 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT"; 1526 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT"; 1527 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"; 1528 case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"; 1529 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES"; 1530 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO"; 1531 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO"; 1532 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO"; 1533 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"; 1534 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"; 1535 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"; 1536 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"; 1537 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES"; 1538 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"; 1539 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"; 1540 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT"; 1541 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"; 1542 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES"; 1543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT"; 1544 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT"; 1545 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT"; 1546 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"; 1547 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"; 1548 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"; 1549 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"; 1550 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES"; 1551 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO"; 1552 case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO"; 1553 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES"; 1554 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES"; 1555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES"; 1556 case VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO"; 1557 case VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO"; 1558 case VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION: return "VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION"; 1559 case VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE: return "VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE"; 1560 case VK_STRUCTURE_TYPE_FAULT_DATA: return "VK_STRUCTURE_TYPE_FAULT_DATA"; 1561 case VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO: return "VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO"; 1562 case VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO"; 1563 case VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR: return "VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR"; 1564 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"; 1565 case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"; 1566 case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"; 1567 case VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR: return "VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"; 1568 case VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR: return "VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"; 1569 case VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"; 1570 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"; 1571 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"; 1572 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"; 1573 case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"; 1574 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES"; 1575 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT"; 1576 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT"; 1577 case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR"; 1578 case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR"; 1579 case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR"; 1580 case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR"; 1581 case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR"; 1582 case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR"; 1583 case VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR"; 1584 case VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR"; 1585 case VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR"; 1586 case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR"; 1587 case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"; 1588 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"; 1589 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"; 1590 case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"; 1591 case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"; 1592 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR"; 1593 case VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV: return "VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV"; 1594 case VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV"; 1595 case VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV: return "VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV"; 1596 case VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV: return "VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV"; 1597 case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV"; 1598 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV"; 1599 case VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV"; 1600 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV"; 1601 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV"; 1602 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV"; 1603 case VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV: return "VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV"; 1604 case VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV"; 1605 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"; 1606 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT"; 1607 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT"; 1608 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT"; 1609 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES"; 1610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES"; 1611 case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS"; 1612 case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS"; 1613 case VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT: return "VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT"; 1614 case VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV"; 1615 case VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV"; 1616 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV"; 1617 case VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV"; 1618 case VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX: return "VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX"; 1619 case VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX: return "VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX"; 1620 case VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX: return "VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX"; 1621 case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX: return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX"; 1622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX"; 1623 default: return DE_NULL; 1624 } 1625} 1626 1627const char* getSystemAllocationScopeName (VkSystemAllocationScope value) 1628{ 1629 switch (value) 1630 { 1631 case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"; 1632 case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"; 1633 case VK_SYSTEM_ALLOCATION_SCOPE_CACHE: return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"; 1634 case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"; 1635 case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"; 1636 default: return DE_NULL; 1637 } 1638} 1639 1640const char* getInternalAllocationTypeName (VkInternalAllocationType value) 1641{ 1642 switch (value) 1643 { 1644 case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"; 1645 default: return DE_NULL; 1646 } 1647} 1648 1649const char* getSamplerAddressModeName (VkSamplerAddressMode value) 1650{ 1651 switch (value) 1652 { 1653 case VK_SAMPLER_ADDRESS_MODE_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_REPEAT"; 1654 case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"; 1655 case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"; 1656 case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"; 1657 case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"; 1658 default: return DE_NULL; 1659 } 1660} 1661 1662const char* getFilterName (VkFilter value) 1663{ 1664 switch (value) 1665 { 1666 case VK_FILTER_NEAREST: return "VK_FILTER_NEAREST"; 1667 case VK_FILTER_LINEAR: return "VK_FILTER_LINEAR"; 1668 case VK_FILTER_CUBIC_EXT: return "VK_FILTER_CUBIC_EXT"; 1669 default: return DE_NULL; 1670 } 1671} 1672 1673const char* getSamplerMipmapModeName (VkSamplerMipmapMode value) 1674{ 1675 switch (value) 1676 { 1677 case VK_SAMPLER_MIPMAP_MODE_NEAREST: return "VK_SAMPLER_MIPMAP_MODE_NEAREST"; 1678 case VK_SAMPLER_MIPMAP_MODE_LINEAR: return "VK_SAMPLER_MIPMAP_MODE_LINEAR"; 1679 default: return DE_NULL; 1680 } 1681} 1682 1683const char* getVertexInputRateName (VkVertexInputRate value) 1684{ 1685 switch (value) 1686 { 1687 case VK_VERTEX_INPUT_RATE_VERTEX: return "VK_VERTEX_INPUT_RATE_VERTEX"; 1688 case VK_VERTEX_INPUT_RATE_INSTANCE: return "VK_VERTEX_INPUT_RATE_INSTANCE"; 1689 default: return DE_NULL; 1690 } 1691} 1692 1693tcu::Format::Bitfield<32> getPipelineStageFlagsStr (VkPipelineStageFlags value) 1694{ 1695 static const tcu::Format::BitDesc s_desc[] = 1696 { 1697 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"), 1698 tcu::Format::BitDesc(VK_PIPELINE_STAGE_NONE_KHR, "VK_PIPELINE_STAGE_NONE_KHR"), 1699 tcu::Format::BitDesc(VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"), 1700 tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"), 1701 tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"), 1702 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"), 1703 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"), 1704 tcu::Format::BitDesc(VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"), 1705 tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"), 1706 tcu::Format::BitDesc(VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"), 1707 tcu::Format::BitDesc(VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"), 1708 tcu::Format::BitDesc(VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"), 1709 tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"), 1710 tcu::Format::BitDesc(VK_PIPELINE_STAGE_TRANSFER_BIT, "VK_PIPELINE_STAGE_TRANSFER_BIT"), 1711 tcu::Format::BitDesc(VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"), 1712 tcu::Format::BitDesc(VK_PIPELINE_STAGE_HOST_BIT, "VK_PIPELINE_STAGE_HOST_BIT"), 1713 tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"), 1714 tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"), 1715 tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), 1716 }; 1717 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1718} 1719 1720tcu::Format::Bitfield<32> getSparseImageFormatFlagsStr (VkSparseImageFormatFlags value) 1721{ 1722 static const tcu::Format::BitDesc s_desc[] = 1723 { 1724 tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"), 1725 tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"), 1726 tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"), 1727 }; 1728 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1729} 1730 1731tcu::Format::Bitfield<32> getSampleCountFlagsStr (VkSampleCountFlags value) 1732{ 1733 static const tcu::Format::BitDesc s_desc[] = 1734 { 1735 tcu::Format::BitDesc(VK_SAMPLE_COUNT_1_BIT, "VK_SAMPLE_COUNT_1_BIT"), 1736 tcu::Format::BitDesc(VK_SAMPLE_COUNT_2_BIT, "VK_SAMPLE_COUNT_2_BIT"), 1737 tcu::Format::BitDesc(VK_SAMPLE_COUNT_4_BIT, "VK_SAMPLE_COUNT_4_BIT"), 1738 tcu::Format::BitDesc(VK_SAMPLE_COUNT_8_BIT, "VK_SAMPLE_COUNT_8_BIT"), 1739 tcu::Format::BitDesc(VK_SAMPLE_COUNT_16_BIT, "VK_SAMPLE_COUNT_16_BIT"), 1740 tcu::Format::BitDesc(VK_SAMPLE_COUNT_32_BIT, "VK_SAMPLE_COUNT_32_BIT"), 1741 tcu::Format::BitDesc(VK_SAMPLE_COUNT_64_BIT, "VK_SAMPLE_COUNT_64_BIT"), 1742 }; 1743 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1744} 1745 1746tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value) 1747{ 1748 static const tcu::Format::BitDesc s_desc[] = 1749 { 1750 tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"), 1751 }; 1752 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1753} 1754 1755tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value) 1756{ 1757 static const tcu::Format::BitDesc s_desc[] = 1758 { 1759 tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"), 1760 tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"), 1761 }; 1762 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1763} 1764 1765tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value) 1766{ 1767 static const tcu::Format::BitDesc s_desc[] = 1768 { 1769 tcu::Format::BitDesc(VK_DEPENDENCY_BY_REGION_BIT, "VK_DEPENDENCY_BY_REGION_BIT"), 1770 tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT, "VK_DEPENDENCY_VIEW_LOCAL_BIT"), 1771 tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT, "VK_DEPENDENCY_DEVICE_GROUP_BIT"), 1772 }; 1773 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1774} 1775 1776const char* getObjectTypeName (VkObjectType value) 1777{ 1778 switch (value) 1779 { 1780 case VK_OBJECT_TYPE_UNKNOWN: return "VK_OBJECT_TYPE_UNKNOWN"; 1781 case VK_OBJECT_TYPE_INSTANCE: return "VK_OBJECT_TYPE_INSTANCE"; 1782 case VK_OBJECT_TYPE_PHYSICAL_DEVICE: return "VK_OBJECT_TYPE_PHYSICAL_DEVICE"; 1783 case VK_OBJECT_TYPE_DEVICE: return "VK_OBJECT_TYPE_DEVICE"; 1784 case VK_OBJECT_TYPE_QUEUE: return "VK_OBJECT_TYPE_QUEUE"; 1785 case VK_OBJECT_TYPE_SEMAPHORE: return "VK_OBJECT_TYPE_SEMAPHORE"; 1786 case VK_OBJECT_TYPE_COMMAND_BUFFER: return "VK_OBJECT_TYPE_COMMAND_BUFFER"; 1787 case VK_OBJECT_TYPE_FENCE: return "VK_OBJECT_TYPE_FENCE"; 1788 case VK_OBJECT_TYPE_DEVICE_MEMORY: return "VK_OBJECT_TYPE_DEVICE_MEMORY"; 1789 case VK_OBJECT_TYPE_BUFFER: return "VK_OBJECT_TYPE_BUFFER"; 1790 case VK_OBJECT_TYPE_IMAGE: return "VK_OBJECT_TYPE_IMAGE"; 1791 case VK_OBJECT_TYPE_EVENT: return "VK_OBJECT_TYPE_EVENT"; 1792 case VK_OBJECT_TYPE_QUERY_POOL: return "VK_OBJECT_TYPE_QUERY_POOL"; 1793 case VK_OBJECT_TYPE_BUFFER_VIEW: return "VK_OBJECT_TYPE_BUFFER_VIEW"; 1794 case VK_OBJECT_TYPE_IMAGE_VIEW: return "VK_OBJECT_TYPE_IMAGE_VIEW"; 1795 case VK_OBJECT_TYPE_SHADER_MODULE: return "VK_OBJECT_TYPE_SHADER_MODULE"; 1796 case VK_OBJECT_TYPE_PIPELINE_CACHE: return "VK_OBJECT_TYPE_PIPELINE_CACHE"; 1797 case VK_OBJECT_TYPE_PIPELINE_LAYOUT: return "VK_OBJECT_TYPE_PIPELINE_LAYOUT"; 1798 case VK_OBJECT_TYPE_RENDER_PASS: return "VK_OBJECT_TYPE_RENDER_PASS"; 1799 case VK_OBJECT_TYPE_PIPELINE: return "VK_OBJECT_TYPE_PIPELINE"; 1800 case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"; 1801 case VK_OBJECT_TYPE_SAMPLER: return "VK_OBJECT_TYPE_SAMPLER"; 1802 case VK_OBJECT_TYPE_DESCRIPTOR_POOL: return "VK_OBJECT_TYPE_DESCRIPTOR_POOL"; 1803 case VK_OBJECT_TYPE_DESCRIPTOR_SET: return "VK_OBJECT_TYPE_DESCRIPTOR_SET"; 1804 case VK_OBJECT_TYPE_FRAMEBUFFER: return "VK_OBJECT_TYPE_FRAMEBUFFER"; 1805 case VK_OBJECT_TYPE_COMMAND_POOL: return "VK_OBJECT_TYPE_COMMAND_POOL"; 1806 case VK_OBJECT_TYPE_SURFACE_KHR: return "VK_OBJECT_TYPE_SURFACE_KHR"; 1807 case VK_OBJECT_TYPE_SWAPCHAIN_KHR: return "VK_OBJECT_TYPE_SWAPCHAIN_KHR"; 1808 case VK_OBJECT_TYPE_DISPLAY_KHR: return "VK_OBJECT_TYPE_DISPLAY_KHR"; 1809 case VK_OBJECT_TYPE_DISPLAY_MODE_KHR: return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR"; 1810 case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE"; 1811 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"; 1812 case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"; 1813 case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT: return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT"; 1814 case VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV: return "VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV"; 1815 default: return DE_NULL; 1816 } 1817} 1818 1819tcu::Format::Bitfield<32> getEventCreateFlagsStr (VkEventCreateFlags value) 1820{ 1821 static const tcu::Format::BitDesc s_desc[] = 1822 { 1823 tcu::Format::BitDesc(VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR, "VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR"), 1824 }; 1825 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1826} 1827 1828const char* getDescriptorUpdateTemplateTypeName (VkDescriptorUpdateTemplateType value) 1829{ 1830 switch (value) 1831 { 1832 case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"; 1833 default: return DE_NULL; 1834 } 1835} 1836 1837const char* getDiscardRectangleModeEXTName (VkDiscardRectangleModeEXT value) 1838{ 1839 switch (value) 1840 { 1841 case VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT: return "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"; 1842 case VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT: return "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"; 1843 default: return DE_NULL; 1844 } 1845} 1846 1847tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFlags value) 1848{ 1849 static const tcu::Format::BitDesc s_desc[] = 1850 { 1851 tcu::Format::BitDesc(0, "0") 1852 }; 1853 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1854} 1855 1856const char* getPointClippingBehaviorName (VkPointClippingBehavior value) 1857{ 1858 switch (value) 1859 { 1860 case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES: return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"; 1861 case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY: return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"; 1862 default: return DE_NULL; 1863 } 1864} 1865 1866const char* getQueueGlobalPriorityKHRName (VkQueueGlobalPriorityKHR value) 1867{ 1868 switch (value) 1869 { 1870 case VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR"; 1871 case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR"; 1872 case VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR"; 1873 case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR"; 1874 default: return DE_NULL; 1875 } 1876} 1877 1878const char* getTimeDomainKHRName (VkTimeDomainKHR value) 1879{ 1880 switch (value) 1881 { 1882 case VK_TIME_DOMAIN_DEVICE_KHR: return "VK_TIME_DOMAIN_DEVICE_KHR"; 1883 case VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR: return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR"; 1884 case VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR: return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR"; 1885 case VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR: return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR"; 1886 default: return DE_NULL; 1887 } 1888} 1889 1890const char* getConservativeRasterizationModeEXTName (VkConservativeRasterizationModeEXT value) 1891{ 1892 switch (value) 1893 { 1894 case VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"; 1895 case VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"; 1896 case VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"; 1897 default: return DE_NULL; 1898 } 1899} 1900 1901tcu::Format::Bitfield<32> getResolveModeFlagsStr (VkResolveModeFlags value) 1902{ 1903 static const tcu::Format::BitDesc s_desc[] = 1904 { 1905 tcu::Format::BitDesc(VK_RESOLVE_MODE_NONE, "VK_RESOLVE_MODE_NONE"), 1906 tcu::Format::BitDesc(VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT"), 1907 tcu::Format::BitDesc(VK_RESOLVE_MODE_AVERAGE_BIT, "VK_RESOLVE_MODE_AVERAGE_BIT"), 1908 tcu::Format::BitDesc(VK_RESOLVE_MODE_MIN_BIT, "VK_RESOLVE_MODE_MIN_BIT"), 1909 tcu::Format::BitDesc(VK_RESOLVE_MODE_MAX_BIT, "VK_RESOLVE_MODE_MAX_BIT"), 1910 }; 1911 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1912} 1913 1914tcu::Format::Bitfield<32> getDescriptorBindingFlagsStr (VkDescriptorBindingFlags value) 1915{ 1916 static const tcu::Format::BitDesc s_desc[] = 1917 { 1918 tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT"), 1919 tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT"), 1920 tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT"), 1921 tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT"), 1922 }; 1923 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1924} 1925 1926const char* getSemaphoreTypeName (VkSemaphoreType value) 1927{ 1928 switch (value) 1929 { 1930 case VK_SEMAPHORE_TYPE_BINARY: return "VK_SEMAPHORE_TYPE_BINARY"; 1931 case VK_SEMAPHORE_TYPE_TIMELINE: return "VK_SEMAPHORE_TYPE_TIMELINE"; 1932 default: return DE_NULL; 1933 } 1934} 1935 1936tcu::Format::Bitfield<32> getPipelineCreationFeedbackFlagsStr (VkPipelineCreationFeedbackFlags value) 1937{ 1938 static const tcu::Format::BitDesc s_desc[] = 1939 { 1940 tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT"), 1941 tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT"), 1942 tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT"), 1943 }; 1944 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1945} 1946 1947const char* getPerformanceCounterScopeKHRName (VkPerformanceCounterScopeKHR value) 1948{ 1949 switch (value) 1950 { 1951 case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR"; 1952 case VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR"; 1953 case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR"; 1954 default: return DE_NULL; 1955 } 1956} 1957 1958const char* getPerformanceCounterUnitKHRName (VkPerformanceCounterUnitKHR value) 1959{ 1960 switch (value) 1961 { 1962 case VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR"; 1963 case VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR"; 1964 case VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR"; 1965 case VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR"; 1966 case VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR"; 1967 case VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR"; 1968 case VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR"; 1969 case VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR"; 1970 case VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR"; 1971 case VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR"; 1972 case VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR"; 1973 default: return DE_NULL; 1974 } 1975} 1976 1977const char* getPerformanceCounterStorageKHRName (VkPerformanceCounterStorageKHR value) 1978{ 1979 switch (value) 1980 { 1981 case VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR"; 1982 case VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR"; 1983 case VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR"; 1984 case VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR"; 1985 case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR"; 1986 case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR"; 1987 default: return DE_NULL; 1988 } 1989} 1990 1991tcu::Format::Bitfield<32> getPerformanceCounterDescriptionFlagsKHRStr (VkPerformanceCounterDescriptionFlagsKHR value) 1992{ 1993 static const tcu::Format::BitDesc s_desc[] = 1994 { 1995 tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR"), 1996 tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR"), 1997 }; 1998 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 1999} 2000 2001tcu::Format::Bitfield<32> getAcquireProfilingLockFlagsKHRStr (VkAcquireProfilingLockFlagsKHR value) 2002{ 2003 static const tcu::Format::BitDesc s_desc[] = 2004 { 2005 tcu::Format::BitDesc(0, "0") 2006 }; 2007 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2008} 2009 2010tcu::Format::Bitfield<32> getSemaphoreWaitFlagsStr (VkSemaphoreWaitFlags value) 2011{ 2012 static const tcu::Format::BitDesc s_desc[] = 2013 { 2014 tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_ANY_BIT, "VK_SEMAPHORE_WAIT_ANY_BIT"), 2015 }; 2016 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2017} 2018 2019const char* getLineRasterizationModeKHRName (VkLineRasterizationModeKHR value) 2020{ 2021 switch (value) 2022 { 2023 case VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR: return "VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR"; 2024 case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR: return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR"; 2025 case VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR: return "VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR"; 2026 case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR: return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR"; 2027 default: return DE_NULL; 2028 } 2029} 2030 2031tcu::Format::Bitfield<32> getRefreshObjectFlagsKHRStr (VkRefreshObjectFlagsKHR value) 2032{ 2033 static const tcu::Format::BitDesc s_desc[] = 2034 { 2035 tcu::Format::BitDesc(0, "0") 2036 }; 2037 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2038} 2039 2040const char* getFaultLevelName (VkFaultLevel value) 2041{ 2042 switch (value) 2043 { 2044 case VK_FAULT_LEVEL_UNASSIGNED: return "VK_FAULT_LEVEL_UNASSIGNED"; 2045 case VK_FAULT_LEVEL_CRITICAL: return "VK_FAULT_LEVEL_CRITICAL"; 2046 case VK_FAULT_LEVEL_RECOVERABLE: return "VK_FAULT_LEVEL_RECOVERABLE"; 2047 case VK_FAULT_LEVEL_WARNING: return "VK_FAULT_LEVEL_WARNING"; 2048 default: return DE_NULL; 2049 } 2050} 2051 2052const char* getFaultTypeName (VkFaultType value) 2053{ 2054 switch (value) 2055 { 2056 case VK_FAULT_TYPE_INVALID: return "VK_FAULT_TYPE_INVALID"; 2057 case VK_FAULT_TYPE_UNASSIGNED: return "VK_FAULT_TYPE_UNASSIGNED"; 2058 case VK_FAULT_TYPE_IMPLEMENTATION: return "VK_FAULT_TYPE_IMPLEMENTATION"; 2059 case VK_FAULT_TYPE_SYSTEM: return "VK_FAULT_TYPE_SYSTEM"; 2060 case VK_FAULT_TYPE_PHYSICAL_DEVICE: return "VK_FAULT_TYPE_PHYSICAL_DEVICE"; 2061 case VK_FAULT_TYPE_COMMAND_BUFFER_FULL: return "VK_FAULT_TYPE_COMMAND_BUFFER_FULL"; 2062 case VK_FAULT_TYPE_INVALID_API_USAGE: return "VK_FAULT_TYPE_INVALID_API_USAGE"; 2063 default: return DE_NULL; 2064 } 2065} 2066 2067const char* getFaultQueryBehaviorName (VkFaultQueryBehavior value) 2068{ 2069 switch (value) 2070 { 2071 case VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS: return "VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS"; 2072 default: return DE_NULL; 2073 } 2074} 2075 2076const char* getPipelineMatchControlName (VkPipelineMatchControl value) 2077{ 2078 switch (value) 2079 { 2080 case VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH: return "VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH"; 2081 default: return DE_NULL; 2082 } 2083} 2084 2085const char* getSciSyncClientTypeNVName (VkSciSyncClientTypeNV value) 2086{ 2087 switch (value) 2088 { 2089 case VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV: return "VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV"; 2090 case VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV: return "VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV"; 2091 case VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV: return "VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV"; 2092 default: return DE_NULL; 2093 } 2094} 2095 2096const char* getSciSyncPrimitiveTypeNVName (VkSciSyncPrimitiveTypeNV value) 2097{ 2098 switch (value) 2099 { 2100 case VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV: return "VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV"; 2101 case VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV: return "VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV"; 2102 default: return DE_NULL; 2103 } 2104} 2105 2106tcu::Format::Bitfield<32> getToolPurposeFlagsStr (VkToolPurposeFlags value) 2107{ 2108 static const tcu::Format::BitDesc s_desc[] = 2109 { 2110 tcu::Format::BitDesc(VK_TOOL_PURPOSE_VALIDATION_BIT, "VK_TOOL_PURPOSE_VALIDATION_BIT"), 2111 tcu::Format::BitDesc(VK_TOOL_PURPOSE_PROFILING_BIT, "VK_TOOL_PURPOSE_PROFILING_BIT"), 2112 tcu::Format::BitDesc(VK_TOOL_PURPOSE_TRACING_BIT, "VK_TOOL_PURPOSE_TRACING_BIT"), 2113 tcu::Format::BitDesc(VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT"), 2114 tcu::Format::BitDesc(VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT"), 2115 }; 2116 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2117} 2118 2119tcu::Format::Bitfield<64> getAccessFlags2Str (VkAccessFlags2 value) 2120{ 2121 static const tcu::Format::BitDesc s_desc[] = 2122 { 2123 tcu::Format::BitDesc(VK_ACCESS_2_NONE, "VK_ACCESS_2_NONE"), 2124 tcu::Format::BitDesc(VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT, "VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT"), 2125 tcu::Format::BitDesc(VK_ACCESS_2_INDEX_READ_BIT, "VK_ACCESS_2_INDEX_READ_BIT"), 2126 tcu::Format::BitDesc(VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT, "VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT"), 2127 tcu::Format::BitDesc(VK_ACCESS_2_UNIFORM_READ_BIT, "VK_ACCESS_2_UNIFORM_READ_BIT"), 2128 tcu::Format::BitDesc(VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT, "VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT"), 2129 tcu::Format::BitDesc(VK_ACCESS_2_SHADER_READ_BIT, "VK_ACCESS_2_SHADER_READ_BIT"), 2130 tcu::Format::BitDesc(VK_ACCESS_2_SHADER_WRITE_BIT, "VK_ACCESS_2_SHADER_WRITE_BIT"), 2131 tcu::Format::BitDesc(VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT, "VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT"), 2132 tcu::Format::BitDesc(VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT, "VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT"), 2133 tcu::Format::BitDesc(VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT, "VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT"), 2134 tcu::Format::BitDesc(VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, "VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"), 2135 tcu::Format::BitDesc(VK_ACCESS_2_TRANSFER_READ_BIT, "VK_ACCESS_2_TRANSFER_READ_BIT"), 2136 tcu::Format::BitDesc(VK_ACCESS_2_TRANSFER_WRITE_BIT, "VK_ACCESS_2_TRANSFER_WRITE_BIT"), 2137 tcu::Format::BitDesc(VK_ACCESS_2_HOST_READ_BIT, "VK_ACCESS_2_HOST_READ_BIT"), 2138 tcu::Format::BitDesc(VK_ACCESS_2_HOST_WRITE_BIT, "VK_ACCESS_2_HOST_WRITE_BIT"), 2139 tcu::Format::BitDesc(VK_ACCESS_2_MEMORY_READ_BIT, "VK_ACCESS_2_MEMORY_READ_BIT"), 2140 tcu::Format::BitDesc(VK_ACCESS_2_MEMORY_WRITE_BIT, "VK_ACCESS_2_MEMORY_WRITE_BIT"), 2141 tcu::Format::BitDesc(VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, "VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"), 2142 tcu::Format::BitDesc(VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, "VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"), 2143 tcu::Format::BitDesc(VK_ACCESS_2_SHADER_SAMPLED_READ_BIT, "VK_ACCESS_2_SHADER_SAMPLED_READ_BIT"), 2144 tcu::Format::BitDesc(VK_ACCESS_2_SHADER_STORAGE_READ_BIT, "VK_ACCESS_2_SHADER_STORAGE_READ_BIT"), 2145 tcu::Format::BitDesc(VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, "VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT"), 2146 }; 2147 return tcu::Format::Bitfield<64>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2148} 2149 2150tcu::Format::Bitfield<64> getPipelineStageFlags2Str (VkPipelineStageFlags2 value) 2151{ 2152 static const tcu::Format::BitDesc s_desc[] = 2153 { 2154 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_NONE, "VK_PIPELINE_STAGE_2_NONE"), 2155 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT, "VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT"), 2156 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, "VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT"), 2157 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT, "VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT"), 2158 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, "VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT"), 2159 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, "VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT"), 2160 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, "VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT"), 2161 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, "VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT"), 2162 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, "VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT"), 2163 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT"), 2164 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT"), 2165 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, "VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT"), 2166 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, "VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT"), 2167 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT, "VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"), 2168 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, "VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT"), 2169 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_HOST_BIT, "VK_PIPELINE_STAGE_2_HOST_BIT"), 2170 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, "VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT"), 2171 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, "VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT"), 2172 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), 2173 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_COPY_BIT, "VK_PIPELINE_STAGE_2_COPY_BIT"), 2174 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_RESOLVE_BIT, "VK_PIPELINE_STAGE_2_RESOLVE_BIT"), 2175 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_BLIT_BIT, "VK_PIPELINE_STAGE_2_BLIT_BIT"), 2176 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_CLEAR_BIT, "VK_PIPELINE_STAGE_2_CLEAR_BIT"), 2177 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, "VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT"), 2178 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, "VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT"), 2179 tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT, "VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT"), 2180 }; 2181 return tcu::Format::Bitfield<64>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2182} 2183 2184const char* getPipelineCacheValidationVersionName (VkPipelineCacheValidationVersion value) 2185{ 2186 switch (value) 2187 { 2188 case VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE: return "VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE"; 2189 default: return DE_NULL; 2190 } 2191} 2192 2193tcu::Format::Bitfield<64> getFormatFeatureFlags2Str (VkFormatFeatureFlags2 value) 2194{ 2195 static const tcu::Format::BitDesc s_desc[] = 2196 { 2197 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT"), 2198 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT, "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT"), 2199 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT, "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT"), 2200 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT"), 2201 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT"), 2202 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, "VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"), 2203 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT, "VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT"), 2204 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT"), 2205 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT, "VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT"), 2206 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT"), 2207 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_BLIT_SRC_BIT, "VK_FORMAT_FEATURE_2_BLIT_SRC_BIT"), 2208 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_BLIT_DST_BIT, "VK_FORMAT_FEATURE_2_BLIT_DST_BIT"), 2209 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT"), 2210 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT"), 2211 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT, "VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT"), 2212 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT, "VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT"), 2213 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT"), 2214 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT"), 2215 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT"), 2216 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT"), 2217 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT"), 2218 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT"), 2219 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_DISJOINT_BIT, "VK_FORMAT_FEATURE_2_DISJOINT_BIT"), 2220 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT"), 2221 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), 2222 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT, "VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT"), 2223 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT, "VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT"), 2224 tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT, "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT"), 2225 }; 2226 return tcu::Format::Bitfield<64>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2227} 2228 2229tcu::Format::Bitfield<32> getRenderingFlagsStr (VkRenderingFlags value) 2230{ 2231 static const tcu::Format::BitDesc s_desc[] = 2232 { 2233 tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT"), 2234 tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT, "VK_RENDERING_SUSPENDING_BIT"), 2235 tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT, "VK_RENDERING_RESUMING_BIT"), 2236 }; 2237 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2238} 2239 2240const char* getColorSpaceKHRName (VkColorSpaceKHR value) 2241{ 2242 switch (value) 2243 { 2244 case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"; 2245 case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT"; 2246 case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT"; 2247 case VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT"; 2248 case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT"; 2249 case VK_COLOR_SPACE_BT709_LINEAR_EXT: return "VK_COLOR_SPACE_BT709_LINEAR_EXT"; 2250 case VK_COLOR_SPACE_BT709_NONLINEAR_EXT: return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT"; 2251 case VK_COLOR_SPACE_BT2020_LINEAR_EXT: return "VK_COLOR_SPACE_BT2020_LINEAR_EXT"; 2252 case VK_COLOR_SPACE_HDR10_ST2084_EXT: return "VK_COLOR_SPACE_HDR10_ST2084_EXT"; 2253 case VK_COLOR_SPACE_DOLBYVISION_EXT: return "VK_COLOR_SPACE_DOLBYVISION_EXT"; 2254 case VK_COLOR_SPACE_HDR10_HLG_EXT: return "VK_COLOR_SPACE_HDR10_HLG_EXT"; 2255 case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT"; 2256 case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT"; 2257 case VK_COLOR_SPACE_PASS_THROUGH_EXT: return "VK_COLOR_SPACE_PASS_THROUGH_EXT"; 2258 case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT"; 2259 default: return DE_NULL; 2260 } 2261} 2262 2263tcu::Format::Bitfield<32> getCompositeAlphaFlagsKHRStr (VkCompositeAlphaFlagsKHR value) 2264{ 2265 static const tcu::Format::BitDesc s_desc[] = 2266 { 2267 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"), 2268 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"), 2269 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"), 2270 tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"), 2271 }; 2272 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2273} 2274 2275tcu::Format::Bitfield<32> getDisplayPlaneAlphaFlagsKHRStr (VkDisplayPlaneAlphaFlagsKHR value) 2276{ 2277 static const tcu::Format::BitDesc s_desc[] = 2278 { 2279 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"), 2280 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"), 2281 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"), 2282 tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"), 2283 }; 2284 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2285} 2286 2287const char* getPresentModeKHRName (VkPresentModeKHR value) 2288{ 2289 switch (value) 2290 { 2291 case VK_PRESENT_MODE_IMMEDIATE_KHR: return "VK_PRESENT_MODE_IMMEDIATE_KHR"; 2292 case VK_PRESENT_MODE_MAILBOX_KHR: return "VK_PRESENT_MODE_MAILBOX_KHR"; 2293 case VK_PRESENT_MODE_FIFO_KHR: return "VK_PRESENT_MODE_FIFO_KHR"; 2294 case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return "VK_PRESENT_MODE_FIFO_RELAXED_KHR"; 2295 case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR"; 2296 case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR"; 2297 default: return DE_NULL; 2298 } 2299} 2300 2301tcu::Format::Bitfield<32> getSurfaceTransformFlagsKHRStr (VkSurfaceTransformFlagsKHR value) 2302{ 2303 static const tcu::Format::BitDesc s_desc[] = 2304 { 2305 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"), 2306 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"), 2307 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"), 2308 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"), 2309 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"), 2310 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"), 2311 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"), 2312 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"), 2313 tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR, "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"), 2314 }; 2315 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2316} 2317 2318const char* getValidationFeatureEnableEXTName (VkValidationFeatureEnableEXT value) 2319{ 2320 switch (value) 2321 { 2322 case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT: return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT"; 2323 case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT: return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT"; 2324 case VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT: return "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT"; 2325 case VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT: return "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT"; 2326 case VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT: return "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT"; 2327 default: return DE_NULL; 2328 } 2329} 2330 2331const char* getValidationFeatureDisableEXTName (VkValidationFeatureDisableEXT value) 2332{ 2333 switch (value) 2334 { 2335 case VK_VALIDATION_FEATURE_DISABLE_ALL_EXT: return "VK_VALIDATION_FEATURE_DISABLE_ALL_EXT"; 2336 case VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT"; 2337 case VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT: return "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT"; 2338 case VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT"; 2339 case VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT: return "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT"; 2340 case VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT"; 2341 case VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT: return "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT"; 2342 case VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT: return "VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT"; 2343 default: return DE_NULL; 2344 } 2345} 2346 2347tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsStr (VkExternalMemoryHandleTypeFlags value) 2348{ 2349 static const tcu::Format::BitDesc s_desc[] = 2350 { 2351 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"), 2352 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"), 2353 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"), 2354 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"), 2355 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"), 2356 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"), 2357 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"), 2358 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT"), 2359 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT"), 2360 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT"), 2361 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV"), 2362 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX"), 2363 }; 2364 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2365} 2366 2367tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsStr (VkExternalMemoryFeatureFlags value) 2368{ 2369 static const tcu::Format::BitDesc s_desc[] = 2370 { 2371 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"), 2372 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"), 2373 tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"), 2374 }; 2375 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2376} 2377 2378tcu::Format::Bitfield<32> getExternalSemaphoreHandleTypeFlagsStr (VkExternalSemaphoreHandleTypeFlags value) 2379{ 2380 static const tcu::Format::BitDesc s_desc[] = 2381 { 2382 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"), 2383 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"), 2384 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"), 2385 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"), 2386 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"), 2387 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV"), 2388 }; 2389 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2390} 2391 2392tcu::Format::Bitfield<32> getExternalSemaphoreFeatureFlagsStr (VkExternalSemaphoreFeatureFlags value) 2393{ 2394 static const tcu::Format::BitDesc s_desc[] = 2395 { 2396 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"), 2397 tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"), 2398 }; 2399 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2400} 2401 2402tcu::Format::Bitfield<32> getSemaphoreImportFlagsStr (VkSemaphoreImportFlags value) 2403{ 2404 static const tcu::Format::BitDesc s_desc[] = 2405 { 2406 tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"), 2407 }; 2408 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2409} 2410 2411tcu::Format::Bitfield<32> getExternalFenceHandleTypeFlagsStr (VkExternalFenceHandleTypeFlags value) 2412{ 2413 static const tcu::Format::BitDesc s_desc[] = 2414 { 2415 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"), 2416 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"), 2417 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"), 2418 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"), 2419 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV"), 2420 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV"), 2421 }; 2422 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2423} 2424 2425tcu::Format::Bitfield<32> getExternalFenceFeatureFlagsStr (VkExternalFenceFeatureFlags value) 2426{ 2427 static const tcu::Format::BitDesc s_desc[] = 2428 { 2429 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"), 2430 tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"), 2431 }; 2432 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2433} 2434 2435tcu::Format::Bitfield<32> getFenceImportFlagsStr (VkFenceImportFlags value) 2436{ 2437 static const tcu::Format::BitDesc s_desc[] = 2438 { 2439 tcu::Format::BitDesc(VK_FENCE_IMPORT_TEMPORARY_BIT, "VK_FENCE_IMPORT_TEMPORARY_BIT"), 2440 }; 2441 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2442} 2443 2444tcu::Format::Bitfield<32> getSurfaceCounterFlagsEXTStr (VkSurfaceCounterFlagsEXT value) 2445{ 2446 static const tcu::Format::BitDesc s_desc[] = 2447 { 2448 tcu::Format::BitDesc(VK_SURFACE_COUNTER_VBLANK_BIT_EXT, "VK_SURFACE_COUNTER_VBLANK_BIT_EXT"), 2449 }; 2450 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2451} 2452 2453const char* getDisplayPowerStateEXTName (VkDisplayPowerStateEXT value) 2454{ 2455 switch (value) 2456 { 2457 case VK_DISPLAY_POWER_STATE_OFF_EXT: return "VK_DISPLAY_POWER_STATE_OFF_EXT"; 2458 case VK_DISPLAY_POWER_STATE_SUSPEND_EXT: return "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"; 2459 case VK_DISPLAY_POWER_STATE_ON_EXT: return "VK_DISPLAY_POWER_STATE_ON_EXT"; 2460 default: return DE_NULL; 2461 } 2462} 2463 2464const char* getDeviceEventTypeEXTName (VkDeviceEventTypeEXT value) 2465{ 2466 switch (value) 2467 { 2468 case VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: return "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"; 2469 default: return DE_NULL; 2470 } 2471} 2472 2473const char* getDisplayEventTypeEXTName (VkDisplayEventTypeEXT value) 2474{ 2475 switch (value) 2476 { 2477 case VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: return "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"; 2478 default: return DE_NULL; 2479 } 2480} 2481 2482tcu::Format::Bitfield<32> getPeerMemoryFeatureFlagsStr (VkPeerMemoryFeatureFlags value) 2483{ 2484 static const tcu::Format::BitDesc s_desc[] = 2485 { 2486 tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"), 2487 tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"), 2488 tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"), 2489 tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"), 2490 }; 2491 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2492} 2493 2494tcu::Format::Bitfield<32> getMemoryAllocateFlagsStr (VkMemoryAllocateFlags value) 2495{ 2496 static const tcu::Format::BitDesc s_desc[] = 2497 { 2498 tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"), 2499 tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT"), 2500 tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"), 2501 }; 2502 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2503} 2504 2505tcu::Format::Bitfield<32> getDeviceGroupPresentModeFlagsKHRStr (VkDeviceGroupPresentModeFlagsKHR value) 2506{ 2507 static const tcu::Format::BitDesc s_desc[] = 2508 { 2509 tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"), 2510 tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"), 2511 tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"), 2512 tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"), 2513 }; 2514 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2515} 2516 2517tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value) 2518{ 2519 static const tcu::Format::BitDesc s_desc[] = 2520 { 2521 tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, "VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"), 2522 tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, "VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR"), 2523 tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR, "VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR"), 2524 }; 2525 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2526} 2527 2528tcu::Format::Bitfield<32> getSubgroupFeatureFlagsStr (VkSubgroupFeatureFlags value) 2529{ 2530 static const tcu::Format::BitDesc s_desc[] = 2531 { 2532 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_BASIC_BIT, "VK_SUBGROUP_FEATURE_BASIC_BIT"), 2533 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_VOTE_BIT, "VK_SUBGROUP_FEATURE_VOTE_BIT"), 2534 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"), 2535 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_BALLOT_BIT, "VK_SUBGROUP_FEATURE_BALLOT_BIT"), 2536 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_BIT, "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"), 2537 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT, "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"), 2538 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_CLUSTERED_BIT, "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"), 2539 tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_QUAD_BIT, "VK_SUBGROUP_FEATURE_QUAD_BIT"), 2540 }; 2541 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2542} 2543 2544const char* getTessellationDomainOriginName (VkTessellationDomainOrigin value) 2545{ 2546 switch (value) 2547 { 2548 case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"; 2549 case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"; 2550 default: return DE_NULL; 2551 } 2552} 2553 2554const char* getSamplerYcbcrModelConversionName (VkSamplerYcbcrModelConversion value) 2555{ 2556 switch (value) 2557 { 2558 case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"; 2559 case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"; 2560 case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"; 2561 case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"; 2562 case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"; 2563 default: return DE_NULL; 2564 } 2565} 2566 2567const char* getSamplerYcbcrRangeName (VkSamplerYcbcrRange value) 2568{ 2569 switch (value) 2570 { 2571 case VK_SAMPLER_YCBCR_RANGE_ITU_FULL: return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"; 2572 case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"; 2573 default: return DE_NULL; 2574 } 2575} 2576 2577const char* getChromaLocationName (VkChromaLocation value) 2578{ 2579 switch (value) 2580 { 2581 case VK_CHROMA_LOCATION_COSITED_EVEN: return "VK_CHROMA_LOCATION_COSITED_EVEN"; 2582 case VK_CHROMA_LOCATION_MIDPOINT: return "VK_CHROMA_LOCATION_MIDPOINT"; 2583 default: return DE_NULL; 2584 } 2585} 2586 2587const char* getSamplerReductionModeName (VkSamplerReductionMode value) 2588{ 2589 switch (value) 2590 { 2591 case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE: return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE"; 2592 case VK_SAMPLER_REDUCTION_MODE_MIN: return "VK_SAMPLER_REDUCTION_MODE_MIN"; 2593 case VK_SAMPLER_REDUCTION_MODE_MAX: return "VK_SAMPLER_REDUCTION_MODE_MAX"; 2594 default: return DE_NULL; 2595 } 2596} 2597 2598const char* getBlendOverlapEXTName (VkBlendOverlapEXT value) 2599{ 2600 switch (value) 2601 { 2602 case VK_BLEND_OVERLAP_UNCORRELATED_EXT: return "VK_BLEND_OVERLAP_UNCORRELATED_EXT"; 2603 case VK_BLEND_OVERLAP_DISJOINT_EXT: return "VK_BLEND_OVERLAP_DISJOINT_EXT"; 2604 case VK_BLEND_OVERLAP_CONJOINT_EXT: return "VK_BLEND_OVERLAP_CONJOINT_EXT"; 2605 default: return DE_NULL; 2606 } 2607} 2608 2609tcu::Format::Bitfield<32> getDebugUtilsMessageSeverityFlagsEXTStr (VkDebugUtilsMessageSeverityFlagsEXT value) 2610{ 2611 static const tcu::Format::BitDesc s_desc[] = 2612 { 2613 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"), 2614 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"), 2615 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"), 2616 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"), 2617 }; 2618 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2619} 2620 2621tcu::Format::Bitfield<32> getDebugUtilsMessageTypeFlagsEXTStr (VkDebugUtilsMessageTypeFlagsEXT value) 2622{ 2623 static const tcu::Format::BitDesc s_desc[] = 2624 { 2625 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"), 2626 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"), 2627 tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"), 2628 }; 2629 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2630} 2631 2632const char* getShaderFloatControlsIndependenceName (VkShaderFloatControlsIndependence value) 2633{ 2634 switch (value) 2635 { 2636 case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY"; 2637 case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL"; 2638 case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE"; 2639 default: return DE_NULL; 2640 } 2641} 2642 2643const char* getFragmentShadingRateCombinerOpKHRName (VkFragmentShadingRateCombinerOpKHR value) 2644{ 2645 switch (value) 2646 { 2647 case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR"; 2648 case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR"; 2649 case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR"; 2650 case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR"; 2651 case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR"; 2652 default: return DE_NULL; 2653 } 2654} 2655 2656tcu::Format::Bitfield<32> getSubmitFlagsStr (VkSubmitFlags value) 2657{ 2658 static const tcu::Format::BitDesc s_desc[] = 2659 { 2660 tcu::Format::BitDesc(VK_SUBMIT_PROTECTED_BIT, "VK_SUBMIT_PROTECTED_BIT"), 2661 }; 2662 return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); 2663} 2664 2665const char* getVendorIdName (VkVendorId value) 2666{ 2667 switch (value) 2668 { 2669 case VK_VENDOR_ID_VIV: return "VK_VENDOR_ID_VIV"; 2670 case VK_VENDOR_ID_VSI: return "VK_VENDOR_ID_VSI"; 2671 case VK_VENDOR_ID_KAZAN: return "VK_VENDOR_ID_KAZAN"; 2672 case VK_VENDOR_ID_CODEPLAY: return "VK_VENDOR_ID_CODEPLAY"; 2673 case VK_VENDOR_ID_MESA: return "VK_VENDOR_ID_MESA"; 2674 case VK_VENDOR_ID_POCL: return "VK_VENDOR_ID_POCL"; 2675 case VK_VENDOR_ID_MOBILEYE: return "VK_VENDOR_ID_MOBILEYE"; 2676 default: return DE_NULL; 2677 } 2678} 2679 2680const char* getDriverIdName (VkDriverId value) 2681{ 2682 switch (value) 2683 { 2684 case VK_DRIVER_ID_AMD_PROPRIETARY: return "VK_DRIVER_ID_AMD_PROPRIETARY"; 2685 case VK_DRIVER_ID_AMD_OPEN_SOURCE: return "VK_DRIVER_ID_AMD_OPEN_SOURCE"; 2686 case VK_DRIVER_ID_MESA_RADV: return "VK_DRIVER_ID_MESA_RADV"; 2687 case VK_DRIVER_ID_NVIDIA_PROPRIETARY: return "VK_DRIVER_ID_NVIDIA_PROPRIETARY"; 2688 case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS: return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS"; 2689 case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA: return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA"; 2690 case VK_DRIVER_ID_IMAGINATION_PROPRIETARY: return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY"; 2691 case VK_DRIVER_ID_QUALCOMM_PROPRIETARY: return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY"; 2692 case VK_DRIVER_ID_ARM_PROPRIETARY: return "VK_DRIVER_ID_ARM_PROPRIETARY"; 2693 case VK_DRIVER_ID_GOOGLE_SWIFTSHADER: return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER"; 2694 case VK_DRIVER_ID_GGP_PROPRIETARY: return "VK_DRIVER_ID_GGP_PROPRIETARY"; 2695 case VK_DRIVER_ID_BROADCOM_PROPRIETARY: return "VK_DRIVER_ID_BROADCOM_PROPRIETARY"; 2696 case VK_DRIVER_ID_MESA_LLVMPIPE: return "VK_DRIVER_ID_MESA_LLVMPIPE"; 2697 case VK_DRIVER_ID_MOLTENVK: return "VK_DRIVER_ID_MOLTENVK"; 2698 case VK_DRIVER_ID_COREAVI_PROPRIETARY: return "VK_DRIVER_ID_COREAVI_PROPRIETARY"; 2699 case VK_DRIVER_ID_JUICE_PROPRIETARY: return "VK_DRIVER_ID_JUICE_PROPRIETARY"; 2700 case VK_DRIVER_ID_VERISILICON_PROPRIETARY: return "VK_DRIVER_ID_VERISILICON_PROPRIETARY"; 2701 case VK_DRIVER_ID_MESA_TURNIP: return "VK_DRIVER_ID_MESA_TURNIP"; 2702 case VK_DRIVER_ID_MESA_V3DV: return "VK_DRIVER_ID_MESA_V3DV"; 2703 case VK_DRIVER_ID_MESA_PANVK: return "VK_DRIVER_ID_MESA_PANVK"; 2704 case VK_DRIVER_ID_SAMSUNG_PROPRIETARY: return "VK_DRIVER_ID_SAMSUNG_PROPRIETARY"; 2705 case VK_DRIVER_ID_MESA_VENUS: return "VK_DRIVER_ID_MESA_VENUS"; 2706 case VK_DRIVER_ID_MESA_DOZEN: return "VK_DRIVER_ID_MESA_DOZEN"; 2707 case VK_DRIVER_ID_MESA_NVK: return "VK_DRIVER_ID_MESA_NVK"; 2708 case VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA: return "VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA"; 2709 case VK_DRIVER_ID_MESA_AGXV: return "VK_DRIVER_ID_MESA_AGXV"; 2710 default: return DE_NULL; 2711 } 2712} 2713 2714tcu::Format::Bitfield<32> getQueryPoolCreateFlagsStr (VkQueryPoolCreateFlags value) 2715{ 2716 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2717} 2718 2719tcu::Format::Bitfield<32> getPipelineLayoutCreateFlagsStr (VkPipelineLayoutCreateFlags value) 2720{ 2721 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2722} 2723 2724tcu::Format::Bitfield<32> getPipelineDepthStencilStateCreateFlagsStr (VkPipelineDepthStencilStateCreateFlags value) 2725{ 2726 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2727} 2728 2729tcu::Format::Bitfield<32> getPipelineDynamicStateCreateFlagsStr (VkPipelineDynamicStateCreateFlags value) 2730{ 2731 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2732} 2733 2734tcu::Format::Bitfield<32> getPipelineColorBlendStateCreateFlagsStr (VkPipelineColorBlendStateCreateFlags value) 2735{ 2736 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2737} 2738 2739tcu::Format::Bitfield<32> getPipelineMultisampleStateCreateFlagsStr (VkPipelineMultisampleStateCreateFlags value) 2740{ 2741 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2742} 2743 2744tcu::Format::Bitfield<32> getPipelineRasterizationStateCreateFlagsStr (VkPipelineRasterizationStateCreateFlags value) 2745{ 2746 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2747} 2748 2749tcu::Format::Bitfield<32> getPipelineViewportStateCreateFlagsStr (VkPipelineViewportStateCreateFlags value) 2750{ 2751 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2752} 2753 2754tcu::Format::Bitfield<32> getPipelineTessellationStateCreateFlagsStr (VkPipelineTessellationStateCreateFlags value) 2755{ 2756 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2757} 2758 2759tcu::Format::Bitfield<32> getPipelineInputAssemblyStateCreateFlagsStr (VkPipelineInputAssemblyStateCreateFlags value) 2760{ 2761 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2762} 2763 2764tcu::Format::Bitfield<32> getPipelineVertexInputStateCreateFlagsStr (VkPipelineVertexInputStateCreateFlags value) 2765{ 2766 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2767} 2768 2769tcu::Format::Bitfield<32> getBufferViewCreateFlagsStr (VkBufferViewCreateFlags value) 2770{ 2771 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2772} 2773 2774tcu::Format::Bitfield<32> getDeviceCreateFlagsStr (VkDeviceCreateFlags value) 2775{ 2776 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2777} 2778 2779tcu::Format::Bitfield<32> getSemaphoreCreateFlagsStr (VkSemaphoreCreateFlags value) 2780{ 2781 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2782} 2783 2784tcu::Format::Bitfield<32> getShaderModuleCreateFlagsStr (VkShaderModuleCreateFlags value) 2785{ 2786 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2787} 2788 2789tcu::Format::Bitfield<32> getMemoryMapFlagsStr (VkMemoryMapFlags value) 2790{ 2791 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2792} 2793 2794tcu::Format::Bitfield<32> getMemoryUnmapFlagsKHRStr (VkMemoryUnmapFlagsKHR value) 2795{ 2796 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2797} 2798 2799tcu::Format::Bitfield<32> getDescriptorPoolResetFlagsStr (VkDescriptorPoolResetFlags value) 2800{ 2801 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2802} 2803 2804tcu::Format::Bitfield<32> getIndirectCommandsLayoutUsageFlagsNVStr (VkIndirectCommandsLayoutUsageFlagsNV value) 2805{ 2806 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2807} 2808 2809tcu::Format::Bitfield<32> getIndirectStateFlagsNVStr (VkIndirectStateFlagsNV value) 2810{ 2811 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2812} 2813 2814tcu::Format::Bitfield<32> getGeometryFlagsKHRStr (VkGeometryFlagsKHR value) 2815{ 2816 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2817} 2818 2819tcu::Format::Bitfield<32> getGeometryInstanceFlagsKHRStr (VkGeometryInstanceFlagsKHR value) 2820{ 2821 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2822} 2823 2824tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsKHRStr (VkBuildAccelerationStructureFlagsKHR value) 2825{ 2826 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2827} 2828 2829tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsStr (VkPrivateDataSlotCreateFlags value) 2830{ 2831 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2832} 2833 2834tcu::Format::Bitfield<32> getAccelerationStructureCreateFlagsKHRStr (VkAccelerationStructureCreateFlagsKHR value) 2835{ 2836 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2837} 2838 2839tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsStr (VkDescriptorUpdateTemplateCreateFlags value) 2840{ 2841 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2842} 2843 2844tcu::Format::Bitfield<32> getPipelineCompilerControlFlagsAMDStr (VkPipelineCompilerControlFlagsAMD value) 2845{ 2846 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2847} 2848 2849tcu::Format::Bitfield<32> getShaderCorePropertiesFlagsAMDStr (VkShaderCorePropertiesFlagsAMD value) 2850{ 2851 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2852} 2853 2854tcu::Format::Bitfield<32> getDeviceDiagnosticsConfigFlagsNVStr (VkDeviceDiagnosticsConfigFlagsNV value) 2855{ 2856 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2857} 2858 2859tcu::Format::Bitfield<32> getAccelerationStructureMotionInfoFlagsNVStr (VkAccelerationStructureMotionInfoFlagsNV value) 2860{ 2861 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2862} 2863 2864tcu::Format::Bitfield<32> getAccelerationStructureMotionInstanceFlagsNVStr (VkAccelerationStructureMotionInstanceFlagsNV value) 2865{ 2866 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2867} 2868 2869tcu::Format::Bitfield<64> getMemoryDecompressionMethodFlagsNVStr (VkMemoryDecompressionMethodFlagsNV value) 2870{ 2871 return tcu::Format::Bitfield<64>(value, DE_NULL, DE_NULL); 2872} 2873 2874tcu::Format::Bitfield<32> getBuildMicromapFlagsEXTStr (VkBuildMicromapFlagsEXT value) 2875{ 2876 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2877} 2878 2879tcu::Format::Bitfield<32> getMicromapCreateFlagsEXTStr (VkMicromapCreateFlagsEXT value) 2880{ 2881 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2882} 2883 2884tcu::Format::Bitfield<32> getDirectDriverLoadingFlagsLUNARGStr (VkDirectDriverLoadingFlagsLUNARG value) 2885{ 2886 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2887} 2888 2889tcu::Format::Bitfield<64> getPipelineCreateFlags2KHRStr (VkPipelineCreateFlags2KHR value) 2890{ 2891 return tcu::Format::Bitfield<64>(value, DE_NULL, DE_NULL); 2892} 2893 2894tcu::Format::Bitfield<64> getBufferUsageFlags2KHRStr (VkBufferUsageFlags2KHR value) 2895{ 2896 return tcu::Format::Bitfield<64>(value, DE_NULL, DE_NULL); 2897} 2898 2899tcu::Format::Bitfield<32> getDisplayModeCreateFlagsKHRStr (VkDisplayModeCreateFlagsKHR value) 2900{ 2901 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2902} 2903 2904tcu::Format::Bitfield<32> getDisplaySurfaceCreateFlagsKHRStr (VkDisplaySurfaceCreateFlagsKHR value) 2905{ 2906 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2907} 2908 2909tcu::Format::Bitfield<32> getAndroidSurfaceCreateFlagsKHRStr (VkAndroidSurfaceCreateFlagsKHR value) 2910{ 2911 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2912} 2913 2914tcu::Format::Bitfield<32> getViSurfaceCreateFlagsNNStr (VkViSurfaceCreateFlagsNN value) 2915{ 2916 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2917} 2918 2919tcu::Format::Bitfield<32> getWaylandSurfaceCreateFlagsKHRStr (VkWaylandSurfaceCreateFlagsKHR value) 2920{ 2921 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2922} 2923 2924tcu::Format::Bitfield<32> getWin32SurfaceCreateFlagsKHRStr (VkWin32SurfaceCreateFlagsKHR value) 2925{ 2926 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2927} 2928 2929tcu::Format::Bitfield<32> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR value) 2930{ 2931 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2932} 2933 2934tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr (VkXcbSurfaceCreateFlagsKHR value) 2935{ 2936 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2937} 2938 2939tcu::Format::Bitfield<32> getDirectFBSurfaceCreateFlagsEXTStr (VkDirectFBSurfaceCreateFlagsEXT value) 2940{ 2941 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2942} 2943 2944tcu::Format::Bitfield<32> getIOSSurfaceCreateFlagsMVKStr (VkIOSSurfaceCreateFlagsMVK value) 2945{ 2946 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2947} 2948 2949tcu::Format::Bitfield<32> getMacOSSurfaceCreateFlagsMVKStr (VkMacOSSurfaceCreateFlagsMVK value) 2950{ 2951 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2952} 2953 2954tcu::Format::Bitfield<32> getMetalSurfaceCreateFlagsEXTStr (VkMetalSurfaceCreateFlagsEXT value) 2955{ 2956 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2957} 2958 2959tcu::Format::Bitfield<32> getImagePipeSurfaceCreateFlagsFUCHSIAStr (VkImagePipeSurfaceCreateFlagsFUCHSIA value) 2960{ 2961 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2962} 2963 2964tcu::Format::Bitfield<32> getStreamDescriptorSurfaceCreateFlagsGGPStr (VkStreamDescriptorSurfaceCreateFlagsGGP value) 2965{ 2966 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2967} 2968 2969tcu::Format::Bitfield<32> getHeadlessSurfaceCreateFlagsEXTStr (VkHeadlessSurfaceCreateFlagsEXT value) 2970{ 2971 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2972} 2973 2974tcu::Format::Bitfield<32> getScreenSurfaceCreateFlagsQNXStr (VkScreenSurfaceCreateFlagsQNX value) 2975{ 2976 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2977} 2978 2979tcu::Format::Bitfield<32> getDebugReportFlagsEXTStr (VkDebugReportFlagsEXT value) 2980{ 2981 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2982} 2983 2984tcu::Format::Bitfield<32> getCommandPoolTrimFlagsStr (VkCommandPoolTrimFlags value) 2985{ 2986 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2987} 2988 2989tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsNVStr (VkExternalMemoryHandleTypeFlagsNV value) 2990{ 2991 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2992} 2993 2994tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsNVStr (VkExternalMemoryFeatureFlagsNV value) 2995{ 2996 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 2997} 2998 2999tcu::Format::Bitfield<32> getPipelineViewportSwizzleStateCreateFlagsNVStr (VkPipelineViewportSwizzleStateCreateFlagsNV value) 3000{ 3001 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3002} 3003 3004tcu::Format::Bitfield<32> getPipelineDiscardRectangleStateCreateFlagsEXTStr (VkPipelineDiscardRectangleStateCreateFlagsEXT value) 3005{ 3006 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3007} 3008 3009tcu::Format::Bitfield<32> getPipelineCoverageToColorStateCreateFlagsNVStr (VkPipelineCoverageToColorStateCreateFlagsNV value) 3010{ 3011 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3012} 3013 3014tcu::Format::Bitfield<32> getPipelineCoverageModulationStateCreateFlagsNVStr (VkPipelineCoverageModulationStateCreateFlagsNV value) 3015{ 3016 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3017} 3018 3019tcu::Format::Bitfield<32> getPipelineCoverageReductionStateCreateFlagsNVStr (VkPipelineCoverageReductionStateCreateFlagsNV value) 3020{ 3021 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3022} 3023 3024tcu::Format::Bitfield<32> getValidationCacheCreateFlagsEXTStr (VkValidationCacheCreateFlagsEXT value) 3025{ 3026 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3027} 3028 3029tcu::Format::Bitfield<32> getDebugUtilsMessengerCreateFlagsEXTStr (VkDebugUtilsMessengerCreateFlagsEXT value) 3030{ 3031 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3032} 3033 3034tcu::Format::Bitfield<32> getDebugUtilsMessengerCallbackDataFlagsEXTStr (VkDebugUtilsMessengerCallbackDataFlagsEXT value) 3035{ 3036 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3037} 3038 3039tcu::Format::Bitfield<32> getDeviceMemoryReportFlagsEXTStr (VkDeviceMemoryReportFlagsEXT value) 3040{ 3041 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3042} 3043 3044tcu::Format::Bitfield<32> getPipelineRasterizationConservativeStateCreateFlagsEXTStr (VkPipelineRasterizationConservativeStateCreateFlagsEXT value) 3045{ 3046 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3047} 3048 3049tcu::Format::Bitfield<32> getConditionalRenderingFlagsEXTStr (VkConditionalRenderingFlagsEXT value) 3050{ 3051 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3052} 3053 3054tcu::Format::Bitfield<32> getPipelineRasterizationStateStreamCreateFlagsEXTStr (VkPipelineRasterizationStateStreamCreateFlagsEXT value) 3055{ 3056 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3057} 3058 3059tcu::Format::Bitfield<32> getPipelineRasterizationDepthClipStateCreateFlagsEXTStr (VkPipelineRasterizationDepthClipStateCreateFlagsEXT value) 3060{ 3061 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3062} 3063 3064tcu::Format::Bitfield<32> getSwapchainImageUsageFlagsANDROIDStr (VkSwapchainImageUsageFlagsANDROID value) 3065{ 3066 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3067} 3068 3069tcu::Format::Bitfield<32> getImageFormatConstraintsFlagsFUCHSIAStr (VkImageFormatConstraintsFlagsFUCHSIA value) 3070{ 3071 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3072} 3073 3074tcu::Format::Bitfield<32> getHostImageCopyFlagsEXTStr (VkHostImageCopyFlagsEXT value) 3075{ 3076 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3077} 3078 3079tcu::Format::Bitfield<32> getImageConstraintsInfoFlagsFUCHSIAStr (VkImageConstraintsInfoFlagsFUCHSIA value) 3080{ 3081 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3082} 3083 3084tcu::Format::Bitfield<32> getGraphicsPipelineLibraryFlagsEXTStr (VkGraphicsPipelineLibraryFlagsEXT value) 3085{ 3086 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3087} 3088 3089tcu::Format::Bitfield<32> getImageCompressionFlagsEXTStr (VkImageCompressionFlagsEXT value) 3090{ 3091 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3092} 3093 3094tcu::Format::Bitfield<32> getImageCompressionFixedRateFlagsEXTStr (VkImageCompressionFixedRateFlagsEXT value) 3095{ 3096 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3097} 3098 3099tcu::Format::Bitfield<32> getExportMetalObjectTypeFlagsEXTStr (VkExportMetalObjectTypeFlagsEXT value) 3100{ 3101 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3102} 3103 3104tcu::Format::Bitfield<32> getDeviceAddressBindingFlagsEXTStr (VkDeviceAddressBindingFlagsEXT value) 3105{ 3106 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3107} 3108 3109tcu::Format::Bitfield<32> getOpticalFlowGridSizeFlagsNVStr (VkOpticalFlowGridSizeFlagsNV value) 3110{ 3111 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3112} 3113 3114tcu::Format::Bitfield<32> getOpticalFlowUsageFlagsNVStr (VkOpticalFlowUsageFlagsNV value) 3115{ 3116 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3117} 3118 3119tcu::Format::Bitfield<32> getOpticalFlowSessionCreateFlagsNVStr (VkOpticalFlowSessionCreateFlagsNV value) 3120{ 3121 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3122} 3123 3124tcu::Format::Bitfield<32> getOpticalFlowExecuteFlagsNVStr (VkOpticalFlowExecuteFlagsNV value) 3125{ 3126 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3127} 3128 3129tcu::Format::Bitfield<32> getFrameBoundaryFlagsEXTStr (VkFrameBoundaryFlagsEXT value) 3130{ 3131 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3132} 3133 3134tcu::Format::Bitfield<32> getPresentScalingFlagsEXTStr (VkPresentScalingFlagsEXT value) 3135{ 3136 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3137} 3138 3139tcu::Format::Bitfield<32> getPresentGravityFlagsEXTStr (VkPresentGravityFlagsEXT value) 3140{ 3141 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3142} 3143 3144tcu::Format::Bitfield<32> getShaderCreateFlagsEXTStr (VkShaderCreateFlagsEXT value) 3145{ 3146 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3147} 3148 3149tcu::Format::Bitfield<64> getPhysicalDeviceSchedulingControlsFlagsARMStr (VkPhysicalDeviceSchedulingControlsFlagsARM value) 3150{ 3151 return tcu::Format::Bitfield<64>(value, DE_NULL, DE_NULL); 3152} 3153 3154tcu::Format::Bitfield<32> getVideoCodecOperationFlagsKHRStr (VkVideoCodecOperationFlagsKHR value) 3155{ 3156 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3157} 3158 3159tcu::Format::Bitfield<32> getVideoCapabilityFlagsKHRStr (VkVideoCapabilityFlagsKHR value) 3160{ 3161 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3162} 3163 3164tcu::Format::Bitfield<32> getVideoSessionCreateFlagsKHRStr (VkVideoSessionCreateFlagsKHR value) 3165{ 3166 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3167} 3168 3169tcu::Format::Bitfield<32> getVideoSessionParametersCreateFlagsKHRStr (VkVideoSessionParametersCreateFlagsKHR value) 3170{ 3171 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3172} 3173 3174tcu::Format::Bitfield<32> getVideoBeginCodingFlagsKHRStr (VkVideoBeginCodingFlagsKHR value) 3175{ 3176 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3177} 3178 3179tcu::Format::Bitfield<32> getVideoEndCodingFlagsKHRStr (VkVideoEndCodingFlagsKHR value) 3180{ 3181 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3182} 3183 3184tcu::Format::Bitfield<32> getVideoCodingControlFlagsKHRStr (VkVideoCodingControlFlagsKHR value) 3185{ 3186 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3187} 3188 3189tcu::Format::Bitfield<32> getVideoDecodeUsageFlagsKHRStr (VkVideoDecodeUsageFlagsKHR value) 3190{ 3191 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3192} 3193 3194tcu::Format::Bitfield<32> getVideoDecodeCapabilityFlagsKHRStr (VkVideoDecodeCapabilityFlagsKHR value) 3195{ 3196 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3197} 3198 3199tcu::Format::Bitfield<32> getVideoDecodeFlagsKHRStr (VkVideoDecodeFlagsKHR value) 3200{ 3201 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3202} 3203 3204tcu::Format::Bitfield<32> getVideoDecodeH264PictureLayoutFlagsKHRStr (VkVideoDecodeH264PictureLayoutFlagsKHR value) 3205{ 3206 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3207} 3208 3209tcu::Format::Bitfield<32> getVideoEncodeFlagsKHRStr (VkVideoEncodeFlagsKHR value) 3210{ 3211 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3212} 3213 3214tcu::Format::Bitfield<32> getVideoEncodeUsageFlagsKHRStr (VkVideoEncodeUsageFlagsKHR value) 3215{ 3216 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3217} 3218 3219tcu::Format::Bitfield<32> getVideoEncodeContentFlagsKHRStr (VkVideoEncodeContentFlagsKHR value) 3220{ 3221 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3222} 3223 3224tcu::Format::Bitfield<32> getVideoEncodeCapabilityFlagsKHRStr (VkVideoEncodeCapabilityFlagsKHR value) 3225{ 3226 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3227} 3228 3229tcu::Format::Bitfield<32> getVideoEncodeFeedbackFlagsKHRStr (VkVideoEncodeFeedbackFlagsKHR value) 3230{ 3231 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3232} 3233 3234tcu::Format::Bitfield<32> getVideoEncodeRateControlFlagsKHRStr (VkVideoEncodeRateControlFlagsKHR value) 3235{ 3236 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3237} 3238 3239tcu::Format::Bitfield<32> getVideoEncodeRateControlModeFlagsKHRStr (VkVideoEncodeRateControlModeFlagsKHR value) 3240{ 3241 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3242} 3243 3244tcu::Format::Bitfield<32> getVideoChromaSubsamplingFlagsKHRStr (VkVideoChromaSubsamplingFlagsKHR value) 3245{ 3246 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3247} 3248 3249tcu::Format::Bitfield<32> getVideoComponentBitDepthFlagsKHRStr (VkVideoComponentBitDepthFlagsKHR value) 3250{ 3251 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3252} 3253 3254tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsKHRStr (VkVideoEncodeH264CapabilityFlagsKHR value) 3255{ 3256 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3257} 3258 3259tcu::Format::Bitfield<32> getVideoEncodeH264StdFlagsKHRStr (VkVideoEncodeH264StdFlagsKHR value) 3260{ 3261 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3262} 3263 3264tcu::Format::Bitfield<32> getVideoEncodeH264RateControlFlagsKHRStr (VkVideoEncodeH264RateControlFlagsKHR value) 3265{ 3266 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3267} 3268 3269tcu::Format::Bitfield<32> getVideoEncodeH265CapabilityFlagsKHRStr (VkVideoEncodeH265CapabilityFlagsKHR value) 3270{ 3271 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3272} 3273 3274tcu::Format::Bitfield<32> getVideoEncodeH265StdFlagsKHRStr (VkVideoEncodeH265StdFlagsKHR value) 3275{ 3276 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3277} 3278 3279tcu::Format::Bitfield<32> getVideoEncodeH265RateControlFlagsKHRStr (VkVideoEncodeH265RateControlFlagsKHR value) 3280{ 3281 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3282} 3283 3284tcu::Format::Bitfield<32> getVideoEncodeH265CtbSizeFlagsKHRStr (VkVideoEncodeH265CtbSizeFlagsKHR value) 3285{ 3286 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3287} 3288 3289tcu::Format::Bitfield<32> getVideoEncodeH265TransformBlockSizeFlagsKHRStr (VkVideoEncodeH265TransformBlockSizeFlagsKHR value) 3290{ 3291 return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); 3292} 3293 3294std::ostream& operator<< (std::ostream& s, const VkBaseOutStructure& value) 3295{ 3296 s << "VkBaseOutStructure = {\n"; 3297 s << "\tsType = " << value.sType << '\n'; 3298 s << "\tpNext = " << value.pNext << '\n'; 3299 s << '}'; 3300 return s; 3301} 3302 3303std::ostream& operator<< (std::ostream& s, const VkBaseInStructure& value) 3304{ 3305 s << "VkBaseInStructure = {\n"; 3306 s << "\tsType = " << value.sType << '\n'; 3307 s << "\tpNext = " << value.pNext << '\n'; 3308 s << '}'; 3309 return s; 3310} 3311 3312std::ostream& operator<< (std::ostream& s, const VkOffset2D& value) 3313{ 3314 s << "VkOffset2D = {\n"; 3315 s << "\tx = " << value.x << '\n'; 3316 s << "\ty = " << value.y << '\n'; 3317 s << '}'; 3318 return s; 3319} 3320 3321std::ostream& operator<< (std::ostream& s, const VkOffset3D& value) 3322{ 3323 s << "VkOffset3D = {\n"; 3324 s << "\tx = " << value.x << '\n'; 3325 s << "\ty = " << value.y << '\n'; 3326 s << "\tz = " << value.z << '\n'; 3327 s << '}'; 3328 return s; 3329} 3330 3331std::ostream& operator<< (std::ostream& s, const VkExtent2D& value) 3332{ 3333 s << "VkExtent2D = {\n"; 3334 s << "\twidth = " << value.width << '\n'; 3335 s << "\theight = " << value.height << '\n'; 3336 s << '}'; 3337 return s; 3338} 3339 3340std::ostream& operator<< (std::ostream& s, const VkExtent3D& value) 3341{ 3342 s << "VkExtent3D = {\n"; 3343 s << "\twidth = " << value.width << '\n'; 3344 s << "\theight = " << value.height << '\n'; 3345 s << "\tdepth = " << value.depth << '\n'; 3346 s << '}'; 3347 return s; 3348} 3349 3350std::ostream& operator<< (std::ostream& s, const VkViewport& value) 3351{ 3352 s << "VkViewport = {\n"; 3353 s << "\tx = " << value.x << '\n'; 3354 s << "\ty = " << value.y << '\n'; 3355 s << "\twidth = " << value.width << '\n'; 3356 s << "\theight = " << value.height << '\n'; 3357 s << "\tminDepth = " << value.minDepth << '\n'; 3358 s << "\tmaxDepth = " << value.maxDepth << '\n'; 3359 s << '}'; 3360 return s; 3361} 3362 3363std::ostream& operator<< (std::ostream& s, const VkRect2D& value) 3364{ 3365 s << "VkRect2D = {\n"; 3366 s << "\toffset = " << value.offset << '\n'; 3367 s << "\textent = " << value.extent << '\n'; 3368 s << '}'; 3369 return s; 3370} 3371 3372std::ostream& operator<< (std::ostream& s, const VkClearRect& value) 3373{ 3374 s << "VkClearRect = {\n"; 3375 s << "\trect = " << value.rect << '\n'; 3376 s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; 3377 s << "\tlayerCount = " << value.layerCount << '\n'; 3378 s << '}'; 3379 return s; 3380} 3381 3382std::ostream& operator<< (std::ostream& s, const VkComponentMapping& value) 3383{ 3384 s << "VkComponentMapping = {\n"; 3385 s << "\tr = " << value.r << '\n'; 3386 s << "\tg = " << value.g << '\n'; 3387 s << "\tb = " << value.b << '\n'; 3388 s << "\ta = " << value.a << '\n'; 3389 s << '}'; 3390 return s; 3391} 3392 3393std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties& value) 3394{ 3395 s << "VkPhysicalDeviceProperties = {\n"; 3396 s << "\tapiVersion = " << value.apiVersion << '\n'; 3397 s << "\tdriverVersion = " << value.driverVersion << '\n'; 3398 s << "\tvendorID = " << value.vendorID << '\n'; 3399 s << "\tdeviceID = " << value.deviceID << '\n'; 3400 s << "\tdeviceType = " << value.deviceType << '\n'; 3401 s << "\tdeviceName = " << (const char*)value.deviceName << '\n'; 3402 s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n'; 3403 s << "\tlimits = " << value.limits << '\n'; 3404 s << "\tsparseProperties = " << value.sparseProperties << '\n'; 3405 s << '}'; 3406 return s; 3407} 3408 3409std::ostream& operator<< (std::ostream& s, const VkExtensionProperties& value) 3410{ 3411 s << "VkExtensionProperties = {\n"; 3412 s << "\textensionName = " << (const char*)value.extensionName << '\n'; 3413 s << "\tspecVersion = " << value.specVersion << '\n'; 3414 s << '}'; 3415 return s; 3416} 3417 3418std::ostream& operator<< (std::ostream& s, const VkLayerProperties& value) 3419{ 3420 s << "VkLayerProperties = {\n"; 3421 s << "\tlayerName = " << (const char*)value.layerName << '\n'; 3422 s << "\tspecVersion = " << value.specVersion << '\n'; 3423 s << "\timplementationVersion = " << value.implementationVersion << '\n'; 3424 s << "\tdescription = " << (const char*)value.description << '\n'; 3425 s << '}'; 3426 return s; 3427} 3428 3429std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value) 3430{ 3431 s << "VkApplicationInfo = {\n"; 3432 s << "\tsType = " << value.sType << '\n'; 3433 s << "\tpNext = " << value.pNext << '\n'; 3434 s << "\tpApplicationName = " << getCharPtrStr(value.pApplicationName) << '\n'; 3435 s << "\tapplicationVersion = " << value.applicationVersion << '\n'; 3436 s << "\tpEngineName = " << getCharPtrStr(value.pEngineName) << '\n'; 3437 s << "\tengineVersion = " << value.engineVersion << '\n'; 3438 s << "\tapiVersion = " << value.apiVersion << '\n'; 3439 s << '}'; 3440 return s; 3441} 3442 3443std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value) 3444{ 3445 s << "VkAllocationCallbacks = {\n"; 3446 s << "\tpUserData = " << value.pUserData << '\n'; 3447 s << "\tpfnAllocation = " << value.pfnAllocation << '\n'; 3448 s << "\tpfnReallocation = " << value.pfnReallocation << '\n'; 3449 s << "\tpfnFree = " << value.pfnFree << '\n'; 3450 s << "\tpfnInternalAllocation = " << value.pfnInternalAllocation << '\n'; 3451 s << "\tpfnInternalFree = " << value.pfnInternalFree << '\n'; 3452 s << '}'; 3453 return s; 3454} 3455 3456std::ostream& operator<< (std::ostream& s, const VkDeviceQueueCreateInfo& value) 3457{ 3458 s << "VkDeviceQueueCreateInfo = {\n"; 3459 s << "\tsType = " << value.sType << '\n'; 3460 s << "\tpNext = " << value.pNext << '\n'; 3461 s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n'; 3462 s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; 3463 s << "\tqueueCount = " << value.queueCount << '\n'; 3464 s << "\tpQueuePriorities = " << value.pQueuePriorities << '\n'; 3465 s << '}'; 3466 return s; 3467} 3468 3469std::ostream& operator<< (std::ostream& s, const VkDeviceCreateInfo& value) 3470{ 3471 s << "VkDeviceCreateInfo = {\n"; 3472 s << "\tsType = " << value.sType << '\n'; 3473 s << "\tpNext = " << value.pNext << '\n'; 3474 s << "\tflags = " << getDeviceCreateFlagsStr(value.flags) << '\n'; 3475 s << "\tqueueCreateInfoCount = " << value.queueCreateInfoCount << '\n'; 3476 s << "\tpQueueCreateInfos = " << value.pQueueCreateInfos << '\n'; 3477 s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n'; 3478 s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n'; 3479 s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n'; 3480 s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n'; 3481 s << "\tpEnabledFeatures = " << value.pEnabledFeatures << '\n'; 3482 s << '}'; 3483 return s; 3484} 3485 3486std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value) 3487{ 3488 s << "VkInstanceCreateInfo = {\n"; 3489 s << "\tsType = " << value.sType << '\n'; 3490 s << "\tpNext = " << value.pNext << '\n'; 3491 s << "\tflags = " << getInstanceCreateFlagsStr(value.flags) << '\n'; 3492 s << "\tpApplicationInfo = " << value.pApplicationInfo << '\n'; 3493 s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n'; 3494 s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n'; 3495 s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n'; 3496 s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n'; 3497 s << '}'; 3498 return s; 3499} 3500 3501std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties& value) 3502{ 3503 s << "VkQueueFamilyProperties = {\n"; 3504 s << "\tqueueFlags = " << getQueueFlagsStr(value.queueFlags) << '\n'; 3505 s << "\tqueueCount = " << value.queueCount << '\n'; 3506 s << "\ttimestampValidBits = " << value.timestampValidBits << '\n'; 3507 s << "\tminImageTransferGranularity = " << value.minImageTransferGranularity << '\n'; 3508 s << '}'; 3509 return s; 3510} 3511 3512std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value) 3513{ 3514 s << "VkPhysicalDeviceMemoryProperties = {\n"; 3515 s << "\tmemoryTypeCount = " << value.memoryTypeCount << '\n'; 3516 s << "\tmemoryTypes = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryTypes), DE_ARRAY_BEGIN(value.memoryTypes) + value.memoryTypeCount) << '\n'; 3517 s << "\tmemoryHeapCount = " << value.memoryHeapCount << '\n'; 3518 s << "\tmemoryHeaps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryHeaps), DE_ARRAY_BEGIN(value.memoryHeaps) + value.memoryHeapCount) << '\n'; 3519 s << '}'; 3520 return s; 3521} 3522 3523std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value) 3524{ 3525 s << "VkMemoryAllocateInfo = {\n"; 3526 s << "\tsType = " << value.sType << '\n'; 3527 s << "\tpNext = " << value.pNext << '\n'; 3528 s << "\tallocationSize = " << value.allocationSize << '\n'; 3529 s << "\tmemoryTypeIndex = " << value.memoryTypeIndex << '\n'; 3530 s << '}'; 3531 return s; 3532} 3533 3534std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements& value) 3535{ 3536 s << "VkMemoryRequirements = {\n"; 3537 s << "\tsize = " << value.size << '\n'; 3538 s << "\talignment = " << value.alignment << '\n'; 3539 s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; 3540 s << '}'; 3541 return s; 3542} 3543 3544std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value) 3545{ 3546 s << "VkSparseImageFormatProperties = {\n"; 3547 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 3548 s << "\timageGranularity = " << value.imageGranularity << '\n'; 3549 s << "\tflags = " << getSparseImageFormatFlagsStr(value.flags) << '\n'; 3550 s << '}'; 3551 return s; 3552} 3553 3554std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value) 3555{ 3556 s << "VkSparseImageMemoryRequirements = {\n"; 3557 s << "\tformatProperties = " << value.formatProperties << '\n'; 3558 s << "\timageMipTailFirstLod = " << value.imageMipTailFirstLod << '\n'; 3559 s << "\timageMipTailSize = " << value.imageMipTailSize << '\n'; 3560 s << "\timageMipTailOffset = " << value.imageMipTailOffset << '\n'; 3561 s << "\timageMipTailStride = " << value.imageMipTailStride << '\n'; 3562 s << '}'; 3563 return s; 3564} 3565 3566std::ostream& operator<< (std::ostream& s, const VkMemoryType& value) 3567{ 3568 s << "VkMemoryType = {\n"; 3569 s << "\tpropertyFlags = " << getMemoryPropertyFlagsStr(value.propertyFlags) << '\n'; 3570 s << "\theapIndex = " << value.heapIndex << '\n'; 3571 s << '}'; 3572 return s; 3573} 3574 3575std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value) 3576{ 3577 s << "VkMemoryHeap = {\n"; 3578 s << "\tsize = " << value.size << '\n'; 3579 s << "\tflags = " << getMemoryHeapFlagsStr(value.flags) << '\n'; 3580 s << '}'; 3581 return s; 3582} 3583 3584std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value) 3585{ 3586 s << "VkMappedMemoryRange = {\n"; 3587 s << "\tsType = " << value.sType << '\n'; 3588 s << "\tpNext = " << value.pNext << '\n'; 3589 s << "\tmemory = " << value.memory << '\n'; 3590 s << "\toffset = " << value.offset << '\n'; 3591 s << "\tsize = " << value.size << '\n'; 3592 s << '}'; 3593 return s; 3594} 3595 3596std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value) 3597{ 3598 s << "VkFormatProperties = {\n"; 3599 s << "\tlinearTilingFeatures = " << getFormatFeatureFlagsStr(value.linearTilingFeatures) << '\n'; 3600 s << "\toptimalTilingFeatures = " << getFormatFeatureFlagsStr(value.optimalTilingFeatures) << '\n'; 3601 s << "\tbufferFeatures = " << getFormatFeatureFlagsStr(value.bufferFeatures) << '\n'; 3602 s << '}'; 3603 return s; 3604} 3605 3606std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value) 3607{ 3608 s << "VkImageFormatProperties = {\n"; 3609 s << "\tmaxExtent = " << value.maxExtent << '\n'; 3610 s << "\tmaxMipLevels = " << value.maxMipLevels << '\n'; 3611 s << "\tmaxArrayLayers = " << value.maxArrayLayers << '\n'; 3612 s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n'; 3613 s << "\tmaxResourceSize = " << value.maxResourceSize << '\n'; 3614 s << '}'; 3615 return s; 3616} 3617 3618std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value) 3619{ 3620 s << "VkDescriptorBufferInfo = {\n"; 3621 s << "\tbuffer = " << value.buffer << '\n'; 3622 s << "\toffset = " << value.offset << '\n'; 3623 s << "\trange = " << value.range << '\n'; 3624 s << '}'; 3625 return s; 3626} 3627 3628std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value) 3629{ 3630 s << "VkDescriptorImageInfo = {\n"; 3631 s << "\tsampler = " << value.sampler << '\n'; 3632 s << "\timageView = " << value.imageView << '\n'; 3633 s << "\timageLayout = " << value.imageLayout << '\n'; 3634 s << '}'; 3635 return s; 3636} 3637 3638std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSet& value) 3639{ 3640 s << "VkWriteDescriptorSet = {\n"; 3641 s << "\tsType = " << value.sType << '\n'; 3642 s << "\tpNext = " << value.pNext << '\n'; 3643 s << "\tdstSet = " << value.dstSet << '\n'; 3644 s << "\tdstBinding = " << value.dstBinding << '\n'; 3645 s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; 3646 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 3647 s << "\tdescriptorType = " << value.descriptorType << '\n'; 3648 s << "\tpImageInfo = " << value.pImageInfo << '\n'; 3649 s << "\tpBufferInfo = " << value.pBufferInfo << '\n'; 3650 s << "\tpTexelBufferView = " << value.pTexelBufferView << '\n'; 3651 s << '}'; 3652 return s; 3653} 3654 3655std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value) 3656{ 3657 s << "VkCopyDescriptorSet = {\n"; 3658 s << "\tsType = " << value.sType << '\n'; 3659 s << "\tpNext = " << value.pNext << '\n'; 3660 s << "\tsrcSet = " << value.srcSet << '\n'; 3661 s << "\tsrcBinding = " << value.srcBinding << '\n'; 3662 s << "\tsrcArrayElement = " << value.srcArrayElement << '\n'; 3663 s << "\tdstSet = " << value.dstSet << '\n'; 3664 s << "\tdstBinding = " << value.dstBinding << '\n'; 3665 s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; 3666 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 3667 s << '}'; 3668 return s; 3669} 3670 3671std::ostream& operator<< (std::ostream& s, const VkBufferCreateInfo& value) 3672{ 3673 s << "VkBufferCreateInfo = {\n"; 3674 s << "\tsType = " << value.sType << '\n'; 3675 s << "\tpNext = " << value.pNext << '\n'; 3676 s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n'; 3677 s << "\tsize = " << value.size << '\n'; 3678 s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n'; 3679 s << "\tsharingMode = " << value.sharingMode << '\n'; 3680 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 3681 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 3682 s << '}'; 3683 return s; 3684} 3685 3686std::ostream& operator<< (std::ostream& s, const VkBufferViewCreateInfo& value) 3687{ 3688 s << "VkBufferViewCreateInfo = {\n"; 3689 s << "\tsType = " << value.sType << '\n'; 3690 s << "\tpNext = " << value.pNext << '\n'; 3691 s << "\tflags = " << getBufferViewCreateFlagsStr(value.flags) << '\n'; 3692 s << "\tbuffer = " << value.buffer << '\n'; 3693 s << "\tformat = " << value.format << '\n'; 3694 s << "\toffset = " << value.offset << '\n'; 3695 s << "\trange = " << value.range << '\n'; 3696 s << '}'; 3697 return s; 3698} 3699 3700std::ostream& operator<< (std::ostream& s, const VkImageSubresource& value) 3701{ 3702 s << "VkImageSubresource = {\n"; 3703 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 3704 s << "\tmipLevel = " << value.mipLevel << '\n'; 3705 s << "\tarrayLayer = " << value.arrayLayer << '\n'; 3706 s << '}'; 3707 return s; 3708} 3709 3710std::ostream& operator<< (std::ostream& s, const VkImageSubresourceLayers& value) 3711{ 3712 s << "VkImageSubresourceLayers = {\n"; 3713 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 3714 s << "\tmipLevel = " << value.mipLevel << '\n'; 3715 s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; 3716 s << "\tlayerCount = " << value.layerCount << '\n'; 3717 s << '}'; 3718 return s; 3719} 3720 3721std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value) 3722{ 3723 s << "VkImageSubresourceRange = {\n"; 3724 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 3725 s << "\tbaseMipLevel = " << value.baseMipLevel << '\n'; 3726 s << "\tlevelCount = " << value.levelCount << '\n'; 3727 s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; 3728 s << "\tlayerCount = " << value.layerCount << '\n'; 3729 s << '}'; 3730 return s; 3731} 3732 3733std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value) 3734{ 3735 s << "VkMemoryBarrier = {\n"; 3736 s << "\tsType = " << value.sType << '\n'; 3737 s << "\tpNext = " << value.pNext << '\n'; 3738 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 3739 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 3740 s << '}'; 3741 return s; 3742} 3743 3744std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value) 3745{ 3746 s << "VkBufferMemoryBarrier = {\n"; 3747 s << "\tsType = " << value.sType << '\n'; 3748 s << "\tpNext = " << value.pNext << '\n'; 3749 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 3750 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 3751 s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; 3752 s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; 3753 s << "\tbuffer = " << value.buffer << '\n'; 3754 s << "\toffset = " << value.offset << '\n'; 3755 s << "\tsize = " << value.size << '\n'; 3756 s << '}'; 3757 return s; 3758} 3759 3760std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value) 3761{ 3762 s << "VkImageMemoryBarrier = {\n"; 3763 s << "\tsType = " << value.sType << '\n'; 3764 s << "\tpNext = " << value.pNext << '\n'; 3765 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 3766 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 3767 s << "\toldLayout = " << value.oldLayout << '\n'; 3768 s << "\tnewLayout = " << value.newLayout << '\n'; 3769 s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; 3770 s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; 3771 s << "\timage = " << value.image << '\n'; 3772 s << "\tsubresourceRange = " << value.subresourceRange << '\n'; 3773 s << '}'; 3774 return s; 3775} 3776 3777std::ostream& operator<< (std::ostream& s, const VkImageCreateInfo& value) 3778{ 3779 s << "VkImageCreateInfo = {\n"; 3780 s << "\tsType = " << value.sType << '\n'; 3781 s << "\tpNext = " << value.pNext << '\n'; 3782 s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; 3783 s << "\timageType = " << value.imageType << '\n'; 3784 s << "\tformat = " << value.format << '\n'; 3785 s << "\textent = " << value.extent << '\n'; 3786 s << "\tmipLevels = " << value.mipLevels << '\n'; 3787 s << "\tarrayLayers = " << value.arrayLayers << '\n'; 3788 s << "\tsamples = " << value.samples << '\n'; 3789 s << "\ttiling = " << value.tiling << '\n'; 3790 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 3791 s << "\tsharingMode = " << value.sharingMode << '\n'; 3792 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 3793 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 3794 s << "\tinitialLayout = " << value.initialLayout << '\n'; 3795 s << '}'; 3796 return s; 3797} 3798 3799std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout& value) 3800{ 3801 s << "VkSubresourceLayout = {\n"; 3802 s << "\toffset = " << value.offset << '\n'; 3803 s << "\tsize = " << value.size << '\n'; 3804 s << "\trowPitch = " << value.rowPitch << '\n'; 3805 s << "\tarrayPitch = " << value.arrayPitch << '\n'; 3806 s << "\tdepthPitch = " << value.depthPitch << '\n'; 3807 s << '}'; 3808 return s; 3809} 3810 3811std::ostream& operator<< (std::ostream& s, const VkImageViewCreateInfo& value) 3812{ 3813 s << "VkImageViewCreateInfo = {\n"; 3814 s << "\tsType = " << value.sType << '\n'; 3815 s << "\tpNext = " << value.pNext << '\n'; 3816 s << "\tflags = " << getImageViewCreateFlagsStr(value.flags) << '\n'; 3817 s << "\timage = " << value.image << '\n'; 3818 s << "\tviewType = " << value.viewType << '\n'; 3819 s << "\tformat = " << value.format << '\n'; 3820 s << "\tcomponents = " << value.components << '\n'; 3821 s << "\tsubresourceRange = " << value.subresourceRange << '\n'; 3822 s << '}'; 3823 return s; 3824} 3825 3826std::ostream& operator<< (std::ostream& s, const VkBufferCopy& value) 3827{ 3828 s << "VkBufferCopy = {\n"; 3829 s << "\tsrcOffset = " << value.srcOffset << '\n'; 3830 s << "\tdstOffset = " << value.dstOffset << '\n'; 3831 s << "\tsize = " << value.size << '\n'; 3832 s << '}'; 3833 return s; 3834} 3835 3836std::ostream& operator<< (std::ostream& s, const VkSparseMemoryBind& value) 3837{ 3838 s << "VkSparseMemoryBind = {\n"; 3839 s << "\tresourceOffset = " << value.resourceOffset << '\n'; 3840 s << "\tsize = " << value.size << '\n'; 3841 s << "\tmemory = " << value.memory << '\n'; 3842 s << "\tmemoryOffset = " << value.memoryOffset << '\n'; 3843 s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n'; 3844 s << '}'; 3845 return s; 3846} 3847 3848std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBind& value) 3849{ 3850 s << "VkSparseImageMemoryBind = {\n"; 3851 s << "\tsubresource = " << value.subresource << '\n'; 3852 s << "\toffset = " << value.offset << '\n'; 3853 s << "\textent = " << value.extent << '\n'; 3854 s << "\tmemory = " << value.memory << '\n'; 3855 s << "\tmemoryOffset = " << value.memoryOffset << '\n'; 3856 s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n'; 3857 s << '}'; 3858 return s; 3859} 3860 3861std::ostream& operator<< (std::ostream& s, const VkSparseBufferMemoryBindInfo& value) 3862{ 3863 s << "VkSparseBufferMemoryBindInfo = {\n"; 3864 s << "\tbuffer = " << value.buffer << '\n'; 3865 s << "\tbindCount = " << value.bindCount << '\n'; 3866 s << "\tpBinds = " << value.pBinds << '\n'; 3867 s << '}'; 3868 return s; 3869} 3870 3871std::ostream& operator<< (std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value) 3872{ 3873 s << "VkSparseImageOpaqueMemoryBindInfo = {\n"; 3874 s << "\timage = " << value.image << '\n'; 3875 s << "\tbindCount = " << value.bindCount << '\n'; 3876 s << "\tpBinds = " << value.pBinds << '\n'; 3877 s << '}'; 3878 return s; 3879} 3880 3881std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBindInfo& value) 3882{ 3883 s << "VkSparseImageMemoryBindInfo = {\n"; 3884 s << "\timage = " << value.image << '\n'; 3885 s << "\tbindCount = " << value.bindCount << '\n'; 3886 s << "\tpBinds = " << value.pBinds << '\n'; 3887 s << '}'; 3888 return s; 3889} 3890 3891std::ostream& operator<< (std::ostream& s, const VkBindSparseInfo& value) 3892{ 3893 s << "VkBindSparseInfo = {\n"; 3894 s << "\tsType = " << value.sType << '\n'; 3895 s << "\tpNext = " << value.pNext << '\n'; 3896 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 3897 s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; 3898 s << "\tbufferBindCount = " << value.bufferBindCount << '\n'; 3899 s << "\tpBufferBinds = " << value.pBufferBinds << '\n'; 3900 s << "\timageOpaqueBindCount = " << value.imageOpaqueBindCount << '\n'; 3901 s << "\tpImageOpaqueBinds = " << value.pImageOpaqueBinds << '\n'; 3902 s << "\timageBindCount = " << value.imageBindCount << '\n'; 3903 s << "\tpImageBinds = " << value.pImageBinds << '\n'; 3904 s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; 3905 s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n'; 3906 s << '}'; 3907 return s; 3908} 3909 3910std::ostream& operator<< (std::ostream& s, const VkImageCopy& value) 3911{ 3912 s << "VkImageCopy = {\n"; 3913 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 3914 s << "\tsrcOffset = " << value.srcOffset << '\n'; 3915 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 3916 s << "\tdstOffset = " << value.dstOffset << '\n'; 3917 s << "\textent = " << value.extent << '\n'; 3918 s << '}'; 3919 return s; 3920} 3921 3922std::ostream& operator<< (std::ostream& s, const VkImageBlit& value) 3923{ 3924 s << "VkImageBlit = {\n"; 3925 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 3926 s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n'; 3927 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 3928 s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n'; 3929 s << '}'; 3930 return s; 3931} 3932 3933std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy& value) 3934{ 3935 s << "VkBufferImageCopy = {\n"; 3936 s << "\tbufferOffset = " << value.bufferOffset << '\n'; 3937 s << "\tbufferRowLength = " << value.bufferRowLength << '\n'; 3938 s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n'; 3939 s << "\timageSubresource = " << value.imageSubresource << '\n'; 3940 s << "\timageOffset = " << value.imageOffset << '\n'; 3941 s << "\timageExtent = " << value.imageExtent << '\n'; 3942 s << '}'; 3943 return s; 3944} 3945 3946std::ostream& operator<< (std::ostream& s, const VkImageResolve& value) 3947{ 3948 s << "VkImageResolve = {\n"; 3949 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 3950 s << "\tsrcOffset = " << value.srcOffset << '\n'; 3951 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 3952 s << "\tdstOffset = " << value.dstOffset << '\n'; 3953 s << "\textent = " << value.extent << '\n'; 3954 s << '}'; 3955 return s; 3956} 3957 3958std::ostream& operator<< (std::ostream& s, const VkShaderModuleCreateInfo& value) 3959{ 3960 s << "VkShaderModuleCreateInfo = {\n"; 3961 s << "\tsType = " << value.sType << '\n'; 3962 s << "\tpNext = " << value.pNext << '\n'; 3963 s << "\tflags = " << getShaderModuleCreateFlagsStr(value.flags) << '\n'; 3964 s << "\tcodeSize = " << value.codeSize << '\n'; 3965 s << "\tpCode = " << value.pCode << '\n'; 3966 s << '}'; 3967 return s; 3968} 3969 3970std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value) 3971{ 3972 s << "VkDescriptorSetLayoutBinding = {\n"; 3973 s << "\tbinding = " << value.binding << '\n'; 3974 s << "\tdescriptorType = " << value.descriptorType << '\n'; 3975 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 3976 s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; 3977 s << "\tpImmutableSamplers = " << value.pImmutableSamplers << '\n'; 3978 s << '}'; 3979 return s; 3980} 3981 3982std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value) 3983{ 3984 s << "VkDescriptorSetLayoutCreateInfo = {\n"; 3985 s << "\tsType = " << value.sType << '\n'; 3986 s << "\tpNext = " << value.pNext << '\n'; 3987 s << "\tflags = " << getDescriptorSetLayoutCreateFlagsStr(value.flags) << '\n'; 3988 s << "\tbindingCount = " << value.bindingCount << '\n'; 3989 s << "\tpBindings = " << value.pBindings << '\n'; 3990 s << '}'; 3991 return s; 3992} 3993 3994std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolSize& value) 3995{ 3996 s << "VkDescriptorPoolSize = {\n"; 3997 s << "\ttype = " << value.type << '\n'; 3998 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 3999 s << '}'; 4000 return s; 4001} 4002 4003std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolCreateInfo& value) 4004{ 4005 s << "VkDescriptorPoolCreateInfo = {\n"; 4006 s << "\tsType = " << value.sType << '\n'; 4007 s << "\tpNext = " << value.pNext << '\n'; 4008 s << "\tflags = " << getDescriptorPoolCreateFlagsStr(value.flags) << '\n'; 4009 s << "\tmaxSets = " << value.maxSets << '\n'; 4010 s << "\tpoolSizeCount = " << value.poolSizeCount << '\n'; 4011 s << "\tpPoolSizes = " << value.pPoolSizes << '\n'; 4012 s << '}'; 4013 return s; 4014} 4015 4016std::ostream& operator<< (std::ostream& s, const VkDescriptorSetAllocateInfo& value) 4017{ 4018 s << "VkDescriptorSetAllocateInfo = {\n"; 4019 s << "\tsType = " << value.sType << '\n'; 4020 s << "\tpNext = " << value.pNext << '\n'; 4021 s << "\tdescriptorPool = " << value.descriptorPool << '\n'; 4022 s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n'; 4023 s << "\tpSetLayouts = " << value.pSetLayouts << '\n'; 4024 s << '}'; 4025 return s; 4026} 4027 4028std::ostream& operator<< (std::ostream& s, const VkSpecializationMapEntry& value) 4029{ 4030 s << "VkSpecializationMapEntry = {\n"; 4031 s << "\tconstantID = " << value.constantID << '\n'; 4032 s << "\toffset = " << value.offset << '\n'; 4033 s << "\tsize = " << value.size << '\n'; 4034 s << '}'; 4035 return s; 4036} 4037 4038std::ostream& operator<< (std::ostream& s, const VkSpecializationInfo& value) 4039{ 4040 s << "VkSpecializationInfo = {\n"; 4041 s << "\tmapEntryCount = " << value.mapEntryCount << '\n'; 4042 s << "\tpMapEntries = " << value.pMapEntries << '\n'; 4043 s << "\tdataSize = " << value.dataSize << '\n'; 4044 s << "\tpData = " << value.pData << '\n'; 4045 s << '}'; 4046 return s; 4047} 4048 4049std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageCreateInfo& value) 4050{ 4051 s << "VkPipelineShaderStageCreateInfo = {\n"; 4052 s << "\tsType = " << value.sType << '\n'; 4053 s << "\tpNext = " << value.pNext << '\n'; 4054 s << "\tflags = " << getPipelineShaderStageCreateFlagsStr(value.flags) << '\n'; 4055 s << "\tstage = " << value.stage << '\n'; 4056 s << "\tmodule = " << value.module << '\n'; 4057 s << "\tpName = " << getCharPtrStr(value.pName) << '\n'; 4058 s << "\tpSpecializationInfo = " << value.pSpecializationInfo << '\n'; 4059 s << '}'; 4060 return s; 4061} 4062 4063std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value) 4064{ 4065 s << "VkComputePipelineCreateInfo = {\n"; 4066 s << "\tsType = " << value.sType << '\n'; 4067 s << "\tpNext = " << value.pNext << '\n'; 4068 s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; 4069 s << "\tstage = " << value.stage << '\n'; 4070 s << "\tlayout = " << value.layout << '\n'; 4071 s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; 4072 s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; 4073 s << '}'; 4074 return s; 4075} 4076 4077std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription& value) 4078{ 4079 s << "VkVertexInputBindingDescription = {\n"; 4080 s << "\tbinding = " << value.binding << '\n'; 4081 s << "\tstride = " << value.stride << '\n'; 4082 s << "\tinputRate = " << value.inputRate << '\n'; 4083 s << '}'; 4084 return s; 4085} 4086 4087std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription& value) 4088{ 4089 s << "VkVertexInputAttributeDescription = {\n"; 4090 s << "\tlocation = " << value.location << '\n'; 4091 s << "\tbinding = " << value.binding << '\n'; 4092 s << "\tformat = " << value.format << '\n'; 4093 s << "\toffset = " << value.offset << '\n'; 4094 s << '}'; 4095 return s; 4096} 4097 4098std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value) 4099{ 4100 s << "VkPipelineVertexInputStateCreateInfo = {\n"; 4101 s << "\tsType = " << value.sType << '\n'; 4102 s << "\tpNext = " << value.pNext << '\n'; 4103 s << "\tflags = " << getPipelineVertexInputStateCreateFlagsStr(value.flags) << '\n'; 4104 s << "\tvertexBindingDescriptionCount = " << value.vertexBindingDescriptionCount << '\n'; 4105 s << "\tpVertexBindingDescriptions = " << value.pVertexBindingDescriptions << '\n'; 4106 s << "\tvertexAttributeDescriptionCount = " << value.vertexAttributeDescriptionCount << '\n'; 4107 s << "\tpVertexAttributeDescriptions = " << value.pVertexAttributeDescriptions << '\n'; 4108 s << '}'; 4109 return s; 4110} 4111 4112std::ostream& operator<< (std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value) 4113{ 4114 s << "VkPipelineInputAssemblyStateCreateInfo = {\n"; 4115 s << "\tsType = " << value.sType << '\n'; 4116 s << "\tpNext = " << value.pNext << '\n'; 4117 s << "\tflags = " << getPipelineInputAssemblyStateCreateFlagsStr(value.flags) << '\n'; 4118 s << "\ttopology = " << value.topology << '\n'; 4119 s << "\tprimitiveRestartEnable = " << value.primitiveRestartEnable << '\n'; 4120 s << '}'; 4121 return s; 4122} 4123 4124std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationStateCreateInfo& value) 4125{ 4126 s << "VkPipelineTessellationStateCreateInfo = {\n"; 4127 s << "\tsType = " << value.sType << '\n'; 4128 s << "\tpNext = " << value.pNext << '\n'; 4129 s << "\tflags = " << getPipelineTessellationStateCreateFlagsStr(value.flags) << '\n'; 4130 s << "\tpatchControlPoints = " << value.patchControlPoints << '\n'; 4131 s << '}'; 4132 return s; 4133} 4134 4135std::ostream& operator<< (std::ostream& s, const VkPipelineViewportStateCreateInfo& value) 4136{ 4137 s << "VkPipelineViewportStateCreateInfo = {\n"; 4138 s << "\tsType = " << value.sType << '\n'; 4139 s << "\tpNext = " << value.pNext << '\n'; 4140 s << "\tflags = " << getPipelineViewportStateCreateFlagsStr(value.flags) << '\n'; 4141 s << "\tviewportCount = " << value.viewportCount << '\n'; 4142 s << "\tpViewports = " << value.pViewports << '\n'; 4143 s << "\tscissorCount = " << value.scissorCount << '\n'; 4144 s << "\tpScissors = " << value.pScissors << '\n'; 4145 s << '}'; 4146 return s; 4147} 4148 4149std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value) 4150{ 4151 s << "VkPipelineRasterizationStateCreateInfo = {\n"; 4152 s << "\tsType = " << value.sType << '\n'; 4153 s << "\tpNext = " << value.pNext << '\n'; 4154 s << "\tflags = " << getPipelineRasterizationStateCreateFlagsStr(value.flags) << '\n'; 4155 s << "\tdepthClampEnable = " << value.depthClampEnable << '\n'; 4156 s << "\trasterizerDiscardEnable = " << value.rasterizerDiscardEnable << '\n'; 4157 s << "\tpolygonMode = " << value.polygonMode << '\n'; 4158 s << "\tcullMode = " << getCullModeFlagsStr(value.cullMode) << '\n'; 4159 s << "\tfrontFace = " << value.frontFace << '\n'; 4160 s << "\tdepthBiasEnable = " << value.depthBiasEnable << '\n'; 4161 s << "\tdepthBiasConstantFactor = " << value.depthBiasConstantFactor << '\n'; 4162 s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n'; 4163 s << "\tdepthBiasSlopeFactor = " << value.depthBiasSlopeFactor << '\n'; 4164 s << "\tlineWidth = " << value.lineWidth << '\n'; 4165 s << '}'; 4166 return s; 4167} 4168 4169std::ostream& operator<< (std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value) 4170{ 4171 s << "VkPipelineMultisampleStateCreateInfo = {\n"; 4172 s << "\tsType = " << value.sType << '\n'; 4173 s << "\tpNext = " << value.pNext << '\n'; 4174 s << "\tflags = " << getPipelineMultisampleStateCreateFlagsStr(value.flags) << '\n'; 4175 s << "\trasterizationSamples = " << value.rasterizationSamples << '\n'; 4176 s << "\tsampleShadingEnable = " << value.sampleShadingEnable << '\n'; 4177 s << "\tminSampleShading = " << value.minSampleShading << '\n'; 4178 s << "\tpSampleMask = " << value.pSampleMask << '\n'; 4179 s << "\talphaToCoverageEnable = " << value.alphaToCoverageEnable << '\n'; 4180 s << "\talphaToOneEnable = " << value.alphaToOneEnable << '\n'; 4181 s << '}'; 4182 return s; 4183} 4184 4185std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAttachmentState& value) 4186{ 4187 s << "VkPipelineColorBlendAttachmentState = {\n"; 4188 s << "\tblendEnable = " << value.blendEnable << '\n'; 4189 s << "\tsrcColorBlendFactor = " << value.srcColorBlendFactor << '\n'; 4190 s << "\tdstColorBlendFactor = " << value.dstColorBlendFactor << '\n'; 4191 s << "\tcolorBlendOp = " << value.colorBlendOp << '\n'; 4192 s << "\tsrcAlphaBlendFactor = " << value.srcAlphaBlendFactor << '\n'; 4193 s << "\tdstAlphaBlendFactor = " << value.dstAlphaBlendFactor << '\n'; 4194 s << "\talphaBlendOp = " << value.alphaBlendOp << '\n'; 4195 s << "\tcolorWriteMask = " << getColorComponentFlagsStr(value.colorWriteMask) << '\n'; 4196 s << '}'; 4197 return s; 4198} 4199 4200std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value) 4201{ 4202 s << "VkPipelineColorBlendStateCreateInfo = {\n"; 4203 s << "\tsType = " << value.sType << '\n'; 4204 s << "\tpNext = " << value.pNext << '\n'; 4205 s << "\tflags = " << getPipelineColorBlendStateCreateFlagsStr(value.flags) << '\n'; 4206 s << "\tlogicOpEnable = " << value.logicOpEnable << '\n'; 4207 s << "\tlogicOp = " << value.logicOp << '\n'; 4208 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 4209 s << "\tpAttachments = " << value.pAttachments << '\n'; 4210 s << "\tblendConstants = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.blendConstants), DE_ARRAY_END(value.blendConstants)) << '\n'; 4211 s << '}'; 4212 return s; 4213} 4214 4215std::ostream& operator<< (std::ostream& s, const VkPipelineDynamicStateCreateInfo& value) 4216{ 4217 s << "VkPipelineDynamicStateCreateInfo = {\n"; 4218 s << "\tsType = " << value.sType << '\n'; 4219 s << "\tpNext = " << value.pNext << '\n'; 4220 s << "\tflags = " << getPipelineDynamicStateCreateFlagsStr(value.flags) << '\n'; 4221 s << "\tdynamicStateCount = " << value.dynamicStateCount << '\n'; 4222 s << "\tpDynamicStates = " << value.pDynamicStates << '\n'; 4223 s << '}'; 4224 return s; 4225} 4226 4227std::ostream& operator<< (std::ostream& s, const VkStencilOpState& value) 4228{ 4229 s << "VkStencilOpState = {\n"; 4230 s << "\tfailOp = " << value.failOp << '\n'; 4231 s << "\tpassOp = " << value.passOp << '\n'; 4232 s << "\tdepthFailOp = " << value.depthFailOp << '\n'; 4233 s << "\tcompareOp = " << value.compareOp << '\n'; 4234 s << "\tcompareMask = " << value.compareMask << '\n'; 4235 s << "\twriteMask = " << value.writeMask << '\n'; 4236 s << "\treference = " << value.reference << '\n'; 4237 s << '}'; 4238 return s; 4239} 4240 4241std::ostream& operator<< (std::ostream& s, const VkPipelineDepthStencilStateCreateInfo& value) 4242{ 4243 s << "VkPipelineDepthStencilStateCreateInfo = {\n"; 4244 s << "\tsType = " << value.sType << '\n'; 4245 s << "\tpNext = " << value.pNext << '\n'; 4246 s << "\tflags = " << getPipelineDepthStencilStateCreateFlagsStr(value.flags) << '\n'; 4247 s << "\tdepthTestEnable = " << value.depthTestEnable << '\n'; 4248 s << "\tdepthWriteEnable = " << value.depthWriteEnable << '\n'; 4249 s << "\tdepthCompareOp = " << value.depthCompareOp << '\n'; 4250 s << "\tdepthBoundsTestEnable = " << value.depthBoundsTestEnable << '\n'; 4251 s << "\tstencilTestEnable = " << value.stencilTestEnable << '\n'; 4252 s << "\tfront = " << value.front << '\n'; 4253 s << "\tback = " << value.back << '\n'; 4254 s << "\tminDepthBounds = " << value.minDepthBounds << '\n'; 4255 s << "\tmaxDepthBounds = " << value.maxDepthBounds << '\n'; 4256 s << '}'; 4257 return s; 4258} 4259 4260std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineCreateInfo& value) 4261{ 4262 s << "VkGraphicsPipelineCreateInfo = {\n"; 4263 s << "\tsType = " << value.sType << '\n'; 4264 s << "\tpNext = " << value.pNext << '\n'; 4265 s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; 4266 s << "\tstageCount = " << value.stageCount << '\n'; 4267 s << "\tpStages = " << value.pStages << '\n'; 4268 s << "\tpVertexInputState = " << value.pVertexInputState << '\n'; 4269 s << "\tpInputAssemblyState = " << value.pInputAssemblyState << '\n'; 4270 s << "\tpTessellationState = " << value.pTessellationState << '\n'; 4271 s << "\tpViewportState = " << value.pViewportState << '\n'; 4272 s << "\tpRasterizationState = " << value.pRasterizationState << '\n'; 4273 s << "\tpMultisampleState = " << value.pMultisampleState << '\n'; 4274 s << "\tpDepthStencilState = " << value.pDepthStencilState << '\n'; 4275 s << "\tpColorBlendState = " << value.pColorBlendState << '\n'; 4276 s << "\tpDynamicState = " << value.pDynamicState << '\n'; 4277 s << "\tlayout = " << value.layout << '\n'; 4278 s << "\trenderPass = " << value.renderPass << '\n'; 4279 s << "\tsubpass = " << value.subpass << '\n'; 4280 s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; 4281 s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; 4282 s << '}'; 4283 return s; 4284} 4285 4286std::ostream& operator<< (std::ostream& s, const VkPipelineCacheCreateInfo& value) 4287{ 4288 s << "VkPipelineCacheCreateInfo = {\n"; 4289 s << "\tsType = " << value.sType << '\n'; 4290 s << "\tpNext = " << value.pNext << '\n'; 4291 s << "\tflags = " << getPipelineCacheCreateFlagsStr(value.flags) << '\n'; 4292 s << "\tinitialDataSize = " << value.initialDataSize << '\n'; 4293 s << "\tpInitialData = " << value.pInitialData << '\n'; 4294 s << '}'; 4295 return s; 4296} 4297 4298std::ostream& operator<< (std::ostream& s, const VkPipelineCacheHeaderVersionOne& value) 4299{ 4300 s << "VkPipelineCacheHeaderVersionOne = {\n"; 4301 s << "\theaderSize = " << value.headerSize << '\n'; 4302 s << "\theaderVersion = " << value.headerVersion << '\n'; 4303 s << "\tvendorID = " << value.vendorID << '\n'; 4304 s << "\tdeviceID = " << value.deviceID << '\n'; 4305 s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n'; 4306 s << '}'; 4307 return s; 4308} 4309 4310std::ostream& operator<< (std::ostream& s, const VkPipelineCacheStageValidationIndexEntry& value) 4311{ 4312 s << "VkPipelineCacheStageValidationIndexEntry = {\n"; 4313 s << "\tcodeSize = " << value.codeSize << '\n'; 4314 s << "\tcodeOffset = " << value.codeOffset << '\n'; 4315 s << '}'; 4316 return s; 4317} 4318 4319std::ostream& operator<< (std::ostream& s, const VkPipelineCacheSafetyCriticalIndexEntry& value) 4320{ 4321 s << "VkPipelineCacheSafetyCriticalIndexEntry = {\n"; 4322 s << "\tpipelineIdentifier = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineIdentifier)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineIdentifier))) << '\n'; 4323 s << "\tpipelineMemorySize = " << value.pipelineMemorySize << '\n'; 4324 s << "\tjsonSize = " << value.jsonSize << '\n'; 4325 s << "\tjsonOffset = " << value.jsonOffset << '\n'; 4326 s << "\tstageIndexCount = " << value.stageIndexCount << '\n'; 4327 s << "\tstageIndexStride = " << value.stageIndexStride << '\n'; 4328 s << "\tstageIndexOffset = " << value.stageIndexOffset << '\n'; 4329 s << '}'; 4330 return s; 4331} 4332 4333std::ostream& operator<< (std::ostream& s, const VkPipelineCacheHeaderVersionSafetyCriticalOne& value) 4334{ 4335 s << "VkPipelineCacheHeaderVersionSafetyCriticalOne = {\n"; 4336 s << "\theaderVersionOne = " << value.headerVersionOne << '\n'; 4337 s << "\tvalidationVersion = " << value.validationVersion << '\n'; 4338 s << "\timplementationData = " << value.implementationData << '\n'; 4339 s << "\tpipelineIndexCount = " << value.pipelineIndexCount << '\n'; 4340 s << "\tpipelineIndexStride = " << value.pipelineIndexStride << '\n'; 4341 s << "\tpipelineIndexOffset = " << value.pipelineIndexOffset << '\n'; 4342 s << '}'; 4343 return s; 4344} 4345 4346std::ostream& operator<< (std::ostream& s, const VkPushConstantRange& value) 4347{ 4348 s << "VkPushConstantRange = {\n"; 4349 s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; 4350 s << "\toffset = " << value.offset << '\n'; 4351 s << "\tsize = " << value.size << '\n'; 4352 s << '}'; 4353 return s; 4354} 4355 4356std::ostream& operator<< (std::ostream& s, const VkPipelineLayoutCreateInfo& value) 4357{ 4358 s << "VkPipelineLayoutCreateInfo = {\n"; 4359 s << "\tsType = " << value.sType << '\n'; 4360 s << "\tpNext = " << value.pNext << '\n'; 4361 s << "\tflags = " << getPipelineLayoutCreateFlagsStr(value.flags) << '\n'; 4362 s << "\tsetLayoutCount = " << value.setLayoutCount << '\n'; 4363 s << "\tpSetLayouts = " << value.pSetLayouts << '\n'; 4364 s << "\tpushConstantRangeCount = " << value.pushConstantRangeCount << '\n'; 4365 s << "\tpPushConstantRanges = " << value.pPushConstantRanges << '\n'; 4366 s << '}'; 4367 return s; 4368} 4369 4370std::ostream& operator<< (std::ostream& s, const VkSamplerCreateInfo& value) 4371{ 4372 s << "VkSamplerCreateInfo = {\n"; 4373 s << "\tsType = " << value.sType << '\n'; 4374 s << "\tpNext = " << value.pNext << '\n'; 4375 s << "\tflags = " << getSamplerCreateFlagsStr(value.flags) << '\n'; 4376 s << "\tmagFilter = " << value.magFilter << '\n'; 4377 s << "\tminFilter = " << value.minFilter << '\n'; 4378 s << "\tmipmapMode = " << value.mipmapMode << '\n'; 4379 s << "\taddressModeU = " << value.addressModeU << '\n'; 4380 s << "\taddressModeV = " << value.addressModeV << '\n'; 4381 s << "\taddressModeW = " << value.addressModeW << '\n'; 4382 s << "\tmipLodBias = " << value.mipLodBias << '\n'; 4383 s << "\tanisotropyEnable = " << value.anisotropyEnable << '\n'; 4384 s << "\tmaxAnisotropy = " << value.maxAnisotropy << '\n'; 4385 s << "\tcompareEnable = " << value.compareEnable << '\n'; 4386 s << "\tcompareOp = " << value.compareOp << '\n'; 4387 s << "\tminLod = " << value.minLod << '\n'; 4388 s << "\tmaxLod = " << value.maxLod << '\n'; 4389 s << "\tborderColor = " << value.borderColor << '\n'; 4390 s << "\tunnormalizedCoordinates = " << value.unnormalizedCoordinates << '\n'; 4391 s << '}'; 4392 return s; 4393} 4394 4395std::ostream& operator<< (std::ostream& s, const VkCommandPoolCreateInfo& value) 4396{ 4397 s << "VkCommandPoolCreateInfo = {\n"; 4398 s << "\tsType = " << value.sType << '\n'; 4399 s << "\tpNext = " << value.pNext << '\n'; 4400 s << "\tflags = " << getCommandPoolCreateFlagsStr(value.flags) << '\n'; 4401 s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; 4402 s << '}'; 4403 return s; 4404} 4405 4406std::ostream& operator<< (std::ostream& s, const VkCommandBufferAllocateInfo& value) 4407{ 4408 s << "VkCommandBufferAllocateInfo = {\n"; 4409 s << "\tsType = " << value.sType << '\n'; 4410 s << "\tpNext = " << value.pNext << '\n'; 4411 s << "\tcommandPool = " << value.commandPool << '\n'; 4412 s << "\tlevel = " << value.level << '\n'; 4413 s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; 4414 s << '}'; 4415 return s; 4416} 4417 4418std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceInfo& value) 4419{ 4420 s << "VkCommandBufferInheritanceInfo = {\n"; 4421 s << "\tsType = " << value.sType << '\n'; 4422 s << "\tpNext = " << value.pNext << '\n'; 4423 s << "\trenderPass = " << value.renderPass << '\n'; 4424 s << "\tsubpass = " << value.subpass << '\n'; 4425 s << "\tframebuffer = " << value.framebuffer << '\n'; 4426 s << "\tocclusionQueryEnable = " << value.occlusionQueryEnable << '\n'; 4427 s << "\tqueryFlags = " << getQueryControlFlagsStr(value.queryFlags) << '\n'; 4428 s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n'; 4429 s << '}'; 4430 return s; 4431} 4432 4433std::ostream& operator<< (std::ostream& s, const VkCommandBufferBeginInfo& value) 4434{ 4435 s << "VkCommandBufferBeginInfo = {\n"; 4436 s << "\tsType = " << value.sType << '\n'; 4437 s << "\tpNext = " << value.pNext << '\n'; 4438 s << "\tflags = " << getCommandBufferUsageFlagsStr(value.flags) << '\n'; 4439 s << "\tpInheritanceInfo = " << value.pInheritanceInfo << '\n'; 4440 s << '}'; 4441 return s; 4442} 4443 4444std::ostream& operator<< (std::ostream& s, const VkRenderPassBeginInfo& value) 4445{ 4446 s << "VkRenderPassBeginInfo = {\n"; 4447 s << "\tsType = " << value.sType << '\n'; 4448 s << "\tpNext = " << value.pNext << '\n'; 4449 s << "\trenderPass = " << value.renderPass << '\n'; 4450 s << "\tframebuffer = " << value.framebuffer << '\n'; 4451 s << "\trenderArea = " << value.renderArea << '\n'; 4452 s << "\tclearValueCount = " << value.clearValueCount << '\n'; 4453 s << "\tpClearValues = " << value.pClearValues << '\n'; 4454 s << '}'; 4455 return s; 4456} 4457 4458std::ostream& operator<< (std::ostream& s, const VkClearColorValue& value) 4459{ 4460 s << "VkClearColorValue = {\n"; 4461 s << "\tfloat32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.float32), DE_ARRAY_END(value.float32)) << '\n'; 4462 s << "\tint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.int32), DE_ARRAY_END(value.int32)) << '\n'; 4463 s << "\tuint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.uint32), DE_ARRAY_END(value.uint32)) << '\n'; 4464 s << '}'; 4465 return s; 4466} 4467 4468std::ostream& operator<< (std::ostream& s, const VkClearDepthStencilValue& value) 4469{ 4470 s << "VkClearDepthStencilValue = {\n"; 4471 s << "\tdepth = " << value.depth << '\n'; 4472 s << "\tstencil = " << value.stencil << '\n'; 4473 s << '}'; 4474 return s; 4475} 4476 4477std::ostream& operator<< (std::ostream& s, const VkClearValue& value) 4478{ 4479 s << "VkClearValue = {\n"; 4480 s << "\tcolor = " << value.color << '\n'; 4481 s << "\tdepthStencil = " << value.depthStencil << '\n'; 4482 s << '}'; 4483 return s; 4484} 4485 4486std::ostream& operator<< (std::ostream& s, const VkClearAttachment& value) 4487{ 4488 s << "VkClearAttachment = {\n"; 4489 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 4490 s << "\tcolorAttachment = " << value.colorAttachment << '\n'; 4491 s << "\tclearValue = " << value.clearValue << '\n'; 4492 s << '}'; 4493 return s; 4494} 4495 4496std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription& value) 4497{ 4498 s << "VkAttachmentDescription = {\n"; 4499 s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n'; 4500 s << "\tformat = " << value.format << '\n'; 4501 s << "\tsamples = " << value.samples << '\n'; 4502 s << "\tloadOp = " << value.loadOp << '\n'; 4503 s << "\tstoreOp = " << value.storeOp << '\n'; 4504 s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n'; 4505 s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n'; 4506 s << "\tinitialLayout = " << value.initialLayout << '\n'; 4507 s << "\tfinalLayout = " << value.finalLayout << '\n'; 4508 s << '}'; 4509 return s; 4510} 4511 4512std::ostream& operator<< (std::ostream& s, const VkAttachmentReference& value) 4513{ 4514 s << "VkAttachmentReference = {\n"; 4515 s << "\tattachment = " << value.attachment << '\n'; 4516 s << "\tlayout = " << value.layout << '\n'; 4517 s << '}'; 4518 return s; 4519} 4520 4521std::ostream& operator<< (std::ostream& s, const VkSubpassDescription& value) 4522{ 4523 s << "VkSubpassDescription = {\n"; 4524 s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n'; 4525 s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; 4526 s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n'; 4527 s << "\tpInputAttachments = " << value.pInputAttachments << '\n'; 4528 s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; 4529 s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; 4530 s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n'; 4531 s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n'; 4532 s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n'; 4533 s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n'; 4534 s << '}'; 4535 return s; 4536} 4537 4538std::ostream& operator<< (std::ostream& s, const VkSubpassDependency& value) 4539{ 4540 s << "VkSubpassDependency = {\n"; 4541 s << "\tsrcSubpass = " << value.srcSubpass << '\n'; 4542 s << "\tdstSubpass = " << value.dstSubpass << '\n'; 4543 s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n'; 4544 s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n'; 4545 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 4546 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 4547 s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; 4548 s << '}'; 4549 return s; 4550} 4551 4552std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo& value) 4553{ 4554 s << "VkRenderPassCreateInfo = {\n"; 4555 s << "\tsType = " << value.sType << '\n'; 4556 s << "\tpNext = " << value.pNext << '\n'; 4557 s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n'; 4558 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 4559 s << "\tpAttachments = " << value.pAttachments << '\n'; 4560 s << "\tsubpassCount = " << value.subpassCount << '\n'; 4561 s << "\tpSubpasses = " << value.pSubpasses << '\n'; 4562 s << "\tdependencyCount = " << value.dependencyCount << '\n'; 4563 s << "\tpDependencies = " << value.pDependencies << '\n'; 4564 s << '}'; 4565 return s; 4566} 4567 4568std::ostream& operator<< (std::ostream& s, const VkEventCreateInfo& value) 4569{ 4570 s << "VkEventCreateInfo = {\n"; 4571 s << "\tsType = " << value.sType << '\n'; 4572 s << "\tpNext = " << value.pNext << '\n'; 4573 s << "\tflags = " << getEventCreateFlagsStr(value.flags) << '\n'; 4574 s << '}'; 4575 return s; 4576} 4577 4578std::ostream& operator<< (std::ostream& s, const VkFenceCreateInfo& value) 4579{ 4580 s << "VkFenceCreateInfo = {\n"; 4581 s << "\tsType = " << value.sType << '\n'; 4582 s << "\tpNext = " << value.pNext << '\n'; 4583 s << "\tflags = " << getFenceCreateFlagsStr(value.flags) << '\n'; 4584 s << '}'; 4585 return s; 4586} 4587 4588std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures& value) 4589{ 4590 s << "VkPhysicalDeviceFeatures = {\n"; 4591 s << "\trobustBufferAccess = " << value.robustBufferAccess << '\n'; 4592 s << "\tfullDrawIndexUint32 = " << value.fullDrawIndexUint32 << '\n'; 4593 s << "\timageCubeArray = " << value.imageCubeArray << '\n'; 4594 s << "\tindependentBlend = " << value.independentBlend << '\n'; 4595 s << "\tgeometryShader = " << value.geometryShader << '\n'; 4596 s << "\ttessellationShader = " << value.tessellationShader << '\n'; 4597 s << "\tsampleRateShading = " << value.sampleRateShading << '\n'; 4598 s << "\tdualSrcBlend = " << value.dualSrcBlend << '\n'; 4599 s << "\tlogicOp = " << value.logicOp << '\n'; 4600 s << "\tmultiDrawIndirect = " << value.multiDrawIndirect << '\n'; 4601 s << "\tdrawIndirectFirstInstance = " << value.drawIndirectFirstInstance << '\n'; 4602 s << "\tdepthClamp = " << value.depthClamp << '\n'; 4603 s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n'; 4604 s << "\tfillModeNonSolid = " << value.fillModeNonSolid << '\n'; 4605 s << "\tdepthBounds = " << value.depthBounds << '\n'; 4606 s << "\twideLines = " << value.wideLines << '\n'; 4607 s << "\tlargePoints = " << value.largePoints << '\n'; 4608 s << "\talphaToOne = " << value.alphaToOne << '\n'; 4609 s << "\tmultiViewport = " << value.multiViewport << '\n'; 4610 s << "\tsamplerAnisotropy = " << value.samplerAnisotropy << '\n'; 4611 s << "\ttextureCompressionETC2 = " << value.textureCompressionETC2 << '\n'; 4612 s << "\ttextureCompressionASTC_LDR = " << value.textureCompressionASTC_LDR << '\n'; 4613 s << "\ttextureCompressionBC = " << value.textureCompressionBC << '\n'; 4614 s << "\tocclusionQueryPrecise = " << value.occlusionQueryPrecise << '\n'; 4615 s << "\tpipelineStatisticsQuery = " << value.pipelineStatisticsQuery << '\n'; 4616 s << "\tvertexPipelineStoresAndAtomics = " << value.vertexPipelineStoresAndAtomics << '\n'; 4617 s << "\tfragmentStoresAndAtomics = " << value.fragmentStoresAndAtomics << '\n'; 4618 s << "\tshaderTessellationAndGeometryPointSize = " << value.shaderTessellationAndGeometryPointSize << '\n'; 4619 s << "\tshaderImageGatherExtended = " << value.shaderImageGatherExtended << '\n'; 4620 s << "\tshaderStorageImageExtendedFormats = " << value.shaderStorageImageExtendedFormats << '\n'; 4621 s << "\tshaderStorageImageMultisample = " << value.shaderStorageImageMultisample << '\n'; 4622 s << "\tshaderStorageImageReadWithoutFormat = " << value.shaderStorageImageReadWithoutFormat << '\n'; 4623 s << "\tshaderStorageImageWriteWithoutFormat = " << value.shaderStorageImageWriteWithoutFormat << '\n'; 4624 s << "\tshaderUniformBufferArrayDynamicIndexing = " << value.shaderUniformBufferArrayDynamicIndexing << '\n'; 4625 s << "\tshaderSampledImageArrayDynamicIndexing = " << value.shaderSampledImageArrayDynamicIndexing << '\n'; 4626 s << "\tshaderStorageBufferArrayDynamicIndexing = " << value.shaderStorageBufferArrayDynamicIndexing << '\n'; 4627 s << "\tshaderStorageImageArrayDynamicIndexing = " << value.shaderStorageImageArrayDynamicIndexing << '\n'; 4628 s << "\tshaderClipDistance = " << value.shaderClipDistance << '\n'; 4629 s << "\tshaderCullDistance = " << value.shaderCullDistance << '\n'; 4630 s << "\tshaderFloat64 = " << value.shaderFloat64 << '\n'; 4631 s << "\tshaderInt64 = " << value.shaderInt64 << '\n'; 4632 s << "\tshaderInt16 = " << value.shaderInt16 << '\n'; 4633 s << "\tshaderResourceResidency = " << value.shaderResourceResidency << '\n'; 4634 s << "\tshaderResourceMinLod = " << value.shaderResourceMinLod << '\n'; 4635 s << "\tsparseBinding = " << value.sparseBinding << '\n'; 4636 s << "\tsparseResidencyBuffer = " << value.sparseResidencyBuffer << '\n'; 4637 s << "\tsparseResidencyImage2D = " << value.sparseResidencyImage2D << '\n'; 4638 s << "\tsparseResidencyImage3D = " << value.sparseResidencyImage3D << '\n'; 4639 s << "\tsparseResidency2Samples = " << value.sparseResidency2Samples << '\n'; 4640 s << "\tsparseResidency4Samples = " << value.sparseResidency4Samples << '\n'; 4641 s << "\tsparseResidency8Samples = " << value.sparseResidency8Samples << '\n'; 4642 s << "\tsparseResidency16Samples = " << value.sparseResidency16Samples << '\n'; 4643 s << "\tsparseResidencyAliased = " << value.sparseResidencyAliased << '\n'; 4644 s << "\tvariableMultisampleRate = " << value.variableMultisampleRate << '\n'; 4645 s << "\tinheritedQueries = " << value.inheritedQueries << '\n'; 4646 s << '}'; 4647 return s; 4648} 4649 4650std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseProperties& value) 4651{ 4652 s << "VkPhysicalDeviceSparseProperties = {\n"; 4653 s << "\tresidencyStandard2DBlockShape = " << value.residencyStandard2DBlockShape << '\n'; 4654 s << "\tresidencyStandard2DMultisampleBlockShape = " << value.residencyStandard2DMultisampleBlockShape << '\n'; 4655 s << "\tresidencyStandard3DBlockShape = " << value.residencyStandard3DBlockShape << '\n'; 4656 s << "\tresidencyAlignedMipSize = " << value.residencyAlignedMipSize << '\n'; 4657 s << "\tresidencyNonResidentStrict = " << value.residencyNonResidentStrict << '\n'; 4658 s << '}'; 4659 return s; 4660} 4661 4662std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLimits& value) 4663{ 4664 s << "VkPhysicalDeviceLimits = {\n"; 4665 s << "\tmaxImageDimension1D = " << value.maxImageDimension1D << '\n'; 4666 s << "\tmaxImageDimension2D = " << value.maxImageDimension2D << '\n'; 4667 s << "\tmaxImageDimension3D = " << value.maxImageDimension3D << '\n'; 4668 s << "\tmaxImageDimensionCube = " << value.maxImageDimensionCube << '\n'; 4669 s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; 4670 s << "\tmaxTexelBufferElements = " << value.maxTexelBufferElements << '\n'; 4671 s << "\tmaxUniformBufferRange = " << value.maxUniformBufferRange << '\n'; 4672 s << "\tmaxStorageBufferRange = " << value.maxStorageBufferRange << '\n'; 4673 s << "\tmaxPushConstantsSize = " << value.maxPushConstantsSize << '\n'; 4674 s << "\tmaxMemoryAllocationCount = " << value.maxMemoryAllocationCount << '\n'; 4675 s << "\tmaxSamplerAllocationCount = " << value.maxSamplerAllocationCount << '\n'; 4676 s << "\tbufferImageGranularity = " << value.bufferImageGranularity << '\n'; 4677 s << "\tsparseAddressSpaceSize = " << value.sparseAddressSpaceSize << '\n'; 4678 s << "\tmaxBoundDescriptorSets = " << value.maxBoundDescriptorSets << '\n'; 4679 s << "\tmaxPerStageDescriptorSamplers = " << value.maxPerStageDescriptorSamplers << '\n'; 4680 s << "\tmaxPerStageDescriptorUniformBuffers = " << value.maxPerStageDescriptorUniformBuffers << '\n'; 4681 s << "\tmaxPerStageDescriptorStorageBuffers = " << value.maxPerStageDescriptorStorageBuffers << '\n'; 4682 s << "\tmaxPerStageDescriptorSampledImages = " << value.maxPerStageDescriptorSampledImages << '\n'; 4683 s << "\tmaxPerStageDescriptorStorageImages = " << value.maxPerStageDescriptorStorageImages << '\n'; 4684 s << "\tmaxPerStageDescriptorInputAttachments = " << value.maxPerStageDescriptorInputAttachments << '\n'; 4685 s << "\tmaxPerStageResources = " << value.maxPerStageResources << '\n'; 4686 s << "\tmaxDescriptorSetSamplers = " << value.maxDescriptorSetSamplers << '\n'; 4687 s << "\tmaxDescriptorSetUniformBuffers = " << value.maxDescriptorSetUniformBuffers << '\n'; 4688 s << "\tmaxDescriptorSetUniformBuffersDynamic = " << value.maxDescriptorSetUniformBuffersDynamic << '\n'; 4689 s << "\tmaxDescriptorSetStorageBuffers = " << value.maxDescriptorSetStorageBuffers << '\n'; 4690 s << "\tmaxDescriptorSetStorageBuffersDynamic = " << value.maxDescriptorSetStorageBuffersDynamic << '\n'; 4691 s << "\tmaxDescriptorSetSampledImages = " << value.maxDescriptorSetSampledImages << '\n'; 4692 s << "\tmaxDescriptorSetStorageImages = " << value.maxDescriptorSetStorageImages << '\n'; 4693 s << "\tmaxDescriptorSetInputAttachments = " << value.maxDescriptorSetInputAttachments << '\n'; 4694 s << "\tmaxVertexInputAttributes = " << value.maxVertexInputAttributes << '\n'; 4695 s << "\tmaxVertexInputBindings = " << value.maxVertexInputBindings << '\n'; 4696 s << "\tmaxVertexInputAttributeOffset = " << value.maxVertexInputAttributeOffset << '\n'; 4697 s << "\tmaxVertexInputBindingStride = " << value.maxVertexInputBindingStride << '\n'; 4698 s << "\tmaxVertexOutputComponents = " << value.maxVertexOutputComponents << '\n'; 4699 s << "\tmaxTessellationGenerationLevel = " << value.maxTessellationGenerationLevel << '\n'; 4700 s << "\tmaxTessellationPatchSize = " << value.maxTessellationPatchSize << '\n'; 4701 s << "\tmaxTessellationControlPerVertexInputComponents = " << value.maxTessellationControlPerVertexInputComponents << '\n'; 4702 s << "\tmaxTessellationControlPerVertexOutputComponents = " << value.maxTessellationControlPerVertexOutputComponents << '\n'; 4703 s << "\tmaxTessellationControlPerPatchOutputComponents = " << value.maxTessellationControlPerPatchOutputComponents << '\n'; 4704 s << "\tmaxTessellationControlTotalOutputComponents = " << value.maxTessellationControlTotalOutputComponents << '\n'; 4705 s << "\tmaxTessellationEvaluationInputComponents = " << value.maxTessellationEvaluationInputComponents << '\n'; 4706 s << "\tmaxTessellationEvaluationOutputComponents = " << value.maxTessellationEvaluationOutputComponents << '\n'; 4707 s << "\tmaxGeometryShaderInvocations = " << value.maxGeometryShaderInvocations << '\n'; 4708 s << "\tmaxGeometryInputComponents = " << value.maxGeometryInputComponents << '\n'; 4709 s << "\tmaxGeometryOutputComponents = " << value.maxGeometryOutputComponents << '\n'; 4710 s << "\tmaxGeometryOutputVertices = " << value.maxGeometryOutputVertices << '\n'; 4711 s << "\tmaxGeometryTotalOutputComponents = " << value.maxGeometryTotalOutputComponents << '\n'; 4712 s << "\tmaxFragmentInputComponents = " << value.maxFragmentInputComponents << '\n'; 4713 s << "\tmaxFragmentOutputAttachments = " << value.maxFragmentOutputAttachments << '\n'; 4714 s << "\tmaxFragmentDualSrcAttachments = " << value.maxFragmentDualSrcAttachments << '\n'; 4715 s << "\tmaxFragmentCombinedOutputResources = " << value.maxFragmentCombinedOutputResources << '\n'; 4716 s << "\tmaxComputeSharedMemorySize = " << value.maxComputeSharedMemorySize << '\n'; 4717 s << "\tmaxComputeWorkGroupCount = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupCount), DE_ARRAY_END(value.maxComputeWorkGroupCount)) << '\n'; 4718 s << "\tmaxComputeWorkGroupInvocations = " << value.maxComputeWorkGroupInvocations << '\n'; 4719 s << "\tmaxComputeWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupSize), DE_ARRAY_END(value.maxComputeWorkGroupSize)) << '\n'; 4720 s << "\tsubPixelPrecisionBits = " << value.subPixelPrecisionBits << '\n'; 4721 s << "\tsubTexelPrecisionBits = " << value.subTexelPrecisionBits << '\n'; 4722 s << "\tmipmapPrecisionBits = " << value.mipmapPrecisionBits << '\n'; 4723 s << "\tmaxDrawIndexedIndexValue = " << value.maxDrawIndexedIndexValue << '\n'; 4724 s << "\tmaxDrawIndirectCount = " << value.maxDrawIndirectCount << '\n'; 4725 s << "\tmaxSamplerLodBias = " << value.maxSamplerLodBias << '\n'; 4726 s << "\tmaxSamplerAnisotropy = " << value.maxSamplerAnisotropy << '\n'; 4727 s << "\tmaxViewports = " << value.maxViewports << '\n'; 4728 s << "\tmaxViewportDimensions = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxViewportDimensions), DE_ARRAY_END(value.maxViewportDimensions)) << '\n'; 4729 s << "\tviewportBoundsRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewportBoundsRange), DE_ARRAY_END(value.viewportBoundsRange)) << '\n'; 4730 s << "\tviewportSubPixelBits = " << value.viewportSubPixelBits << '\n'; 4731 s << "\tminMemoryMapAlignment = " << value.minMemoryMapAlignment << '\n'; 4732 s << "\tminTexelBufferOffsetAlignment = " << value.minTexelBufferOffsetAlignment << '\n'; 4733 s << "\tminUniformBufferOffsetAlignment = " << value.minUniformBufferOffsetAlignment << '\n'; 4734 s << "\tminStorageBufferOffsetAlignment = " << value.minStorageBufferOffsetAlignment << '\n'; 4735 s << "\tminTexelOffset = " << value.minTexelOffset << '\n'; 4736 s << "\tmaxTexelOffset = " << value.maxTexelOffset << '\n'; 4737 s << "\tminTexelGatherOffset = " << value.minTexelGatherOffset << '\n'; 4738 s << "\tmaxTexelGatherOffset = " << value.maxTexelGatherOffset << '\n'; 4739 s << "\tminInterpolationOffset = " << value.minInterpolationOffset << '\n'; 4740 s << "\tmaxInterpolationOffset = " << value.maxInterpolationOffset << '\n'; 4741 s << "\tsubPixelInterpolationOffsetBits = " << value.subPixelInterpolationOffsetBits << '\n'; 4742 s << "\tmaxFramebufferWidth = " << value.maxFramebufferWidth << '\n'; 4743 s << "\tmaxFramebufferHeight = " << value.maxFramebufferHeight << '\n'; 4744 s << "\tmaxFramebufferLayers = " << value.maxFramebufferLayers << '\n'; 4745 s << "\tframebufferColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferColorSampleCounts) << '\n'; 4746 s << "\tframebufferDepthSampleCounts = " << getSampleCountFlagsStr(value.framebufferDepthSampleCounts) << '\n'; 4747 s << "\tframebufferStencilSampleCounts = " << getSampleCountFlagsStr(value.framebufferStencilSampleCounts) << '\n'; 4748 s << "\tframebufferNoAttachmentsSampleCounts = " << getSampleCountFlagsStr(value.framebufferNoAttachmentsSampleCounts) << '\n'; 4749 s << "\tmaxColorAttachments = " << value.maxColorAttachments << '\n'; 4750 s << "\tsampledImageColorSampleCounts = " << getSampleCountFlagsStr(value.sampledImageColorSampleCounts) << '\n'; 4751 s << "\tsampledImageIntegerSampleCounts = " << getSampleCountFlagsStr(value.sampledImageIntegerSampleCounts) << '\n'; 4752 s << "\tsampledImageDepthSampleCounts = " << getSampleCountFlagsStr(value.sampledImageDepthSampleCounts) << '\n'; 4753 s << "\tsampledImageStencilSampleCounts = " << getSampleCountFlagsStr(value.sampledImageStencilSampleCounts) << '\n'; 4754 s << "\tstorageImageSampleCounts = " << getSampleCountFlagsStr(value.storageImageSampleCounts) << '\n'; 4755 s << "\tmaxSampleMaskWords = " << value.maxSampleMaskWords << '\n'; 4756 s << "\ttimestampComputeAndGraphics = " << value.timestampComputeAndGraphics << '\n'; 4757 s << "\ttimestampPeriod = " << value.timestampPeriod << '\n'; 4758 s << "\tmaxClipDistances = " << value.maxClipDistances << '\n'; 4759 s << "\tmaxCullDistances = " << value.maxCullDistances << '\n'; 4760 s << "\tmaxCombinedClipAndCullDistances = " << value.maxCombinedClipAndCullDistances << '\n'; 4761 s << "\tdiscreteQueuePriorities = " << value.discreteQueuePriorities << '\n'; 4762 s << "\tpointSizeRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pointSizeRange), DE_ARRAY_END(value.pointSizeRange)) << '\n'; 4763 s << "\tlineWidthRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.lineWidthRange), DE_ARRAY_END(value.lineWidthRange)) << '\n'; 4764 s << "\tpointSizeGranularity = " << value.pointSizeGranularity << '\n'; 4765 s << "\tlineWidthGranularity = " << value.lineWidthGranularity << '\n'; 4766 s << "\tstrictLines = " << value.strictLines << '\n'; 4767 s << "\tstandardSampleLocations = " << value.standardSampleLocations << '\n'; 4768 s << "\toptimalBufferCopyOffsetAlignment = " << value.optimalBufferCopyOffsetAlignment << '\n'; 4769 s << "\toptimalBufferCopyRowPitchAlignment = " << value.optimalBufferCopyRowPitchAlignment << '\n'; 4770 s << "\tnonCoherentAtomSize = " << value.nonCoherentAtomSize << '\n'; 4771 s << '}'; 4772 return s; 4773} 4774 4775std::ostream& operator<< (std::ostream& s, const VkSemaphoreCreateInfo& value) 4776{ 4777 s << "VkSemaphoreCreateInfo = {\n"; 4778 s << "\tsType = " << value.sType << '\n'; 4779 s << "\tpNext = " << value.pNext << '\n'; 4780 s << "\tflags = " << getSemaphoreCreateFlagsStr(value.flags) << '\n'; 4781 s << '}'; 4782 return s; 4783} 4784 4785std::ostream& operator<< (std::ostream& s, const VkQueryPoolCreateInfo& value) 4786{ 4787 s << "VkQueryPoolCreateInfo = {\n"; 4788 s << "\tsType = " << value.sType << '\n'; 4789 s << "\tpNext = " << value.pNext << '\n'; 4790 s << "\tflags = " << getQueryPoolCreateFlagsStr(value.flags) << '\n'; 4791 s << "\tqueryType = " << value.queryType << '\n'; 4792 s << "\tqueryCount = " << value.queryCount << '\n'; 4793 s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n'; 4794 s << '}'; 4795 return s; 4796} 4797 4798std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value) 4799{ 4800 s << "VkFramebufferCreateInfo = {\n"; 4801 s << "\tsType = " << value.sType << '\n'; 4802 s << "\tpNext = " << value.pNext << '\n'; 4803 s << "\tflags = " << getFramebufferCreateFlagsStr(value.flags) << '\n'; 4804 s << "\trenderPass = " << value.renderPass << '\n'; 4805 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 4806 s << "\tpAttachments = " << value.pAttachments << '\n'; 4807 s << "\twidth = " << value.width << '\n'; 4808 s << "\theight = " << value.height << '\n'; 4809 s << "\tlayers = " << value.layers << '\n'; 4810 s << '}'; 4811 return s; 4812} 4813 4814std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value) 4815{ 4816 s << "VkDrawIndirectCommand = {\n"; 4817 s << "\tvertexCount = " << value.vertexCount << '\n'; 4818 s << "\tinstanceCount = " << value.instanceCount << '\n'; 4819 s << "\tfirstVertex = " << value.firstVertex << '\n'; 4820 s << "\tfirstInstance = " << value.firstInstance << '\n'; 4821 s << '}'; 4822 return s; 4823} 4824 4825std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value) 4826{ 4827 s << "VkDrawIndexedIndirectCommand = {\n"; 4828 s << "\tindexCount = " << value.indexCount << '\n'; 4829 s << "\tinstanceCount = " << value.instanceCount << '\n'; 4830 s << "\tfirstIndex = " << value.firstIndex << '\n'; 4831 s << "\tvertexOffset = " << value.vertexOffset << '\n'; 4832 s << "\tfirstInstance = " << value.firstInstance << '\n'; 4833 s << '}'; 4834 return s; 4835} 4836 4837std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value) 4838{ 4839 s << "VkDispatchIndirectCommand = {\n"; 4840 s << "\tx = " << value.x << '\n'; 4841 s << "\ty = " << value.y << '\n'; 4842 s << "\tz = " << value.z << '\n'; 4843 s << '}'; 4844 return s; 4845} 4846 4847std::ostream& operator<< (std::ostream& s, const VkSubmitInfo& value) 4848{ 4849 s << "VkSubmitInfo = {\n"; 4850 s << "\tsType = " << value.sType << '\n'; 4851 s << "\tpNext = " << value.pNext << '\n'; 4852 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 4853 s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; 4854 s << "\tpWaitDstStageMask = " << getPipelineStageFlagsStr(*value.pWaitDstStageMask) << '\n'; 4855 s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; 4856 s << "\tpCommandBuffers = " << value.pCommandBuffers << '\n'; 4857 s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; 4858 s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n'; 4859 s << '}'; 4860 return s; 4861} 4862 4863std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value) 4864{ 4865 s << "VkDisplayPropertiesKHR = {\n"; 4866 s << "\tdisplay = " << value.display << '\n'; 4867 s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n'; 4868 s << "\tphysicalDimensions = " << value.physicalDimensions << '\n'; 4869 s << "\tphysicalResolution = " << value.physicalResolution << '\n'; 4870 s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; 4871 s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n'; 4872 s << "\tpersistentContent = " << value.persistentContent << '\n'; 4873 s << '}'; 4874 return s; 4875} 4876 4877std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& value) 4878{ 4879 s << "VkDisplayPlanePropertiesKHR = {\n"; 4880 s << "\tcurrentDisplay = " << value.currentDisplay << '\n'; 4881 s << "\tcurrentStackIndex = " << value.currentStackIndex << '\n'; 4882 s << '}'; 4883 return s; 4884} 4885 4886std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value) 4887{ 4888 s << "VkDisplayModeParametersKHR = {\n"; 4889 s << "\tvisibleRegion = " << value.visibleRegion << '\n'; 4890 s << "\trefreshRate = " << value.refreshRate << '\n'; 4891 s << '}'; 4892 return s; 4893} 4894 4895std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value) 4896{ 4897 s << "VkDisplayModePropertiesKHR = {\n"; 4898 s << "\tdisplayMode = " << value.displayMode << '\n'; 4899 s << "\tparameters = " << value.parameters << '\n'; 4900 s << '}'; 4901 return s; 4902} 4903 4904std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value) 4905{ 4906 s << "VkDisplayModeCreateInfoKHR = {\n"; 4907 s << "\tsType = " << value.sType << '\n'; 4908 s << "\tpNext = " << value.pNext << '\n'; 4909 s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n'; 4910 s << "\tparameters = " << value.parameters << '\n'; 4911 s << '}'; 4912 return s; 4913} 4914 4915std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value) 4916{ 4917 s << "VkDisplayPlaneCapabilitiesKHR = {\n"; 4918 s << "\tsupportedAlpha = " << getDisplayPlaneAlphaFlagsKHRStr(value.supportedAlpha) << '\n'; 4919 s << "\tminSrcPosition = " << value.minSrcPosition << '\n'; 4920 s << "\tmaxSrcPosition = " << value.maxSrcPosition << '\n'; 4921 s << "\tminSrcExtent = " << value.minSrcExtent << '\n'; 4922 s << "\tmaxSrcExtent = " << value.maxSrcExtent << '\n'; 4923 s << "\tminDstPosition = " << value.minDstPosition << '\n'; 4924 s << "\tmaxDstPosition = " << value.maxDstPosition << '\n'; 4925 s << "\tminDstExtent = " << value.minDstExtent << '\n'; 4926 s << "\tmaxDstExtent = " << value.maxDstExtent << '\n'; 4927 s << '}'; 4928 return s; 4929} 4930 4931std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value) 4932{ 4933 s << "VkDisplaySurfaceCreateInfoKHR = {\n"; 4934 s << "\tsType = " << value.sType << '\n'; 4935 s << "\tpNext = " << value.pNext << '\n'; 4936 s << "\tflags = " << getDisplaySurfaceCreateFlagsKHRStr(value.flags) << '\n'; 4937 s << "\tdisplayMode = " << value.displayMode << '\n'; 4938 s << "\tplaneIndex = " << value.planeIndex << '\n'; 4939 s << "\tplaneStackIndex = " << value.planeStackIndex << '\n'; 4940 s << "\ttransform = " << value.transform << '\n'; 4941 s << "\tglobalAlpha = " << value.globalAlpha << '\n'; 4942 s << "\talphaMode = " << value.alphaMode << '\n'; 4943 s << "\timageExtent = " << value.imageExtent << '\n'; 4944 s << '}'; 4945 return s; 4946} 4947 4948std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value) 4949{ 4950 s << "VkDisplayPresentInfoKHR = {\n"; 4951 s << "\tsType = " << value.sType << '\n'; 4952 s << "\tpNext = " << value.pNext << '\n'; 4953 s << "\tsrcRect = " << value.srcRect << '\n'; 4954 s << "\tdstRect = " << value.dstRect << '\n'; 4955 s << "\tpersistent = " << value.persistent << '\n'; 4956 s << '}'; 4957 return s; 4958} 4959 4960std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesKHR& value) 4961{ 4962 s << "VkSurfaceCapabilitiesKHR = {\n"; 4963 s << "\tminImageCount = " << value.minImageCount << '\n'; 4964 s << "\tmaxImageCount = " << value.maxImageCount << '\n'; 4965 s << "\tcurrentExtent = " << value.currentExtent << '\n'; 4966 s << "\tminImageExtent = " << value.minImageExtent << '\n'; 4967 s << "\tmaxImageExtent = " << value.maxImageExtent << '\n'; 4968 s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; 4969 s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; 4970 s << "\tcurrentTransform = " << value.currentTransform << '\n'; 4971 s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n'; 4972 s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n'; 4973 s << '}'; 4974 return s; 4975} 4976 4977std::ostream& operator<< (std::ostream& s, const VkSurfaceFormatKHR& value) 4978{ 4979 s << "VkSurfaceFormatKHR = {\n"; 4980 s << "\tformat = " << value.format << '\n'; 4981 s << "\tcolorSpace = " << value.colorSpace << '\n'; 4982 s << '}'; 4983 return s; 4984} 4985 4986std::ostream& operator<< (std::ostream& s, const VkSwapchainCreateInfoKHR& value) 4987{ 4988 s << "VkSwapchainCreateInfoKHR = {\n"; 4989 s << "\tsType = " << value.sType << '\n'; 4990 s << "\tpNext = " << value.pNext << '\n'; 4991 s << "\tflags = " << getSwapchainCreateFlagsKHRStr(value.flags) << '\n'; 4992 s << "\tsurface = " << value.surface << '\n'; 4993 s << "\tminImageCount = " << value.minImageCount << '\n'; 4994 s << "\timageFormat = " << value.imageFormat << '\n'; 4995 s << "\timageColorSpace = " << value.imageColorSpace << '\n'; 4996 s << "\timageExtent = " << value.imageExtent << '\n'; 4997 s << "\timageArrayLayers = " << value.imageArrayLayers << '\n'; 4998 s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n'; 4999 s << "\timageSharingMode = " << value.imageSharingMode << '\n'; 5000 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 5001 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 5002 s << "\tpreTransform = " << value.preTransform << '\n'; 5003 s << "\tcompositeAlpha = " << value.compositeAlpha << '\n'; 5004 s << "\tpresentMode = " << value.presentMode << '\n'; 5005 s << "\tclipped = " << value.clipped << '\n'; 5006 s << "\toldSwapchain = " << value.oldSwapchain << '\n'; 5007 s << '}'; 5008 return s; 5009} 5010 5011std::ostream& operator<< (std::ostream& s, const VkPresentInfoKHR& value) 5012{ 5013 s << "VkPresentInfoKHR = {\n"; 5014 s << "\tsType = " << value.sType << '\n'; 5015 s << "\tpNext = " << value.pNext << '\n'; 5016 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 5017 s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; 5018 s << "\tswapchainCount = " << value.swapchainCount << '\n'; 5019 s << "\tpSwapchains = " << value.pSwapchains << '\n'; 5020 s << "\tpImageIndices = " << value.pImageIndices << '\n'; 5021 s << "\tpResults = " << value.pResults << '\n'; 5022 s << '}'; 5023 return s; 5024} 5025 5026std::ostream& operator<< (std::ostream& s, const VkValidationFeaturesEXT& value) 5027{ 5028 s << "VkValidationFeaturesEXT = {\n"; 5029 s << "\tsType = " << value.sType << '\n'; 5030 s << "\tpNext = " << value.pNext << '\n'; 5031 s << "\tenabledValidationFeatureCount = " << value.enabledValidationFeatureCount << '\n'; 5032 s << "\tpEnabledValidationFeatures = " << value.pEnabledValidationFeatures << '\n'; 5033 s << "\tdisabledValidationFeatureCount = " << value.disabledValidationFeatureCount << '\n'; 5034 s << "\tpDisabledValidationFeatures = " << value.pDisabledValidationFeatures << '\n'; 5035 s << '}'; 5036 return s; 5037} 5038 5039std::ostream& operator<< (std::ostream& s, const VkApplicationParametersEXT& value) 5040{ 5041 s << "VkApplicationParametersEXT = {\n"; 5042 s << "\tsType = " << value.sType << '\n'; 5043 s << "\tpNext = " << value.pNext << '\n'; 5044 s << "\tvendorID = " << value.vendorID << '\n'; 5045 s << "\tdeviceID = " << value.deviceID << '\n'; 5046 s << "\tkey = " << value.key << '\n'; 5047 s << "\tvalue = " << value.value << '\n'; 5048 s << '}'; 5049 return s; 5050} 5051 5052std::ostream& operator<< (std::ostream& s, const VkExportMemorySciBufInfoNV& value) 5053{ 5054 s << "VkExportMemorySciBufInfoNV = {\n"; 5055 s << "\tsType = " << value.sType << '\n'; 5056 s << "\tpNext = " << value.pNext << '\n'; 5057 s << "\tpAttributes = " << value.pAttributes << '\n'; 5058 s << '}'; 5059 return s; 5060} 5061 5062std::ostream& operator<< (std::ostream& s, const VkImportMemorySciBufInfoNV& value) 5063{ 5064 s << "VkImportMemorySciBufInfoNV = {\n"; 5065 s << "\tsType = " << value.sType << '\n'; 5066 s << "\tpNext = " << value.pNext << '\n'; 5067 s << "\thandleType = " << value.handleType << '\n'; 5068 s << "\thandle = " << value.handle << '\n'; 5069 s << '}'; 5070 return s; 5071} 5072 5073std::ostream& operator<< (std::ostream& s, const VkMemoryGetSciBufInfoNV& value) 5074{ 5075 s << "VkMemoryGetSciBufInfoNV = {\n"; 5076 s << "\tsType = " << value.sType << '\n'; 5077 s << "\tpNext = " << value.pNext << '\n'; 5078 s << "\tmemory = " << value.memory << '\n'; 5079 s << "\thandleType = " << value.handleType << '\n'; 5080 s << '}'; 5081 return s; 5082} 5083 5084std::ostream& operator<< (std::ostream& s, const VkMemorySciBufPropertiesNV& value) 5085{ 5086 s << "VkMemorySciBufPropertiesNV = {\n"; 5087 s << "\tsType = " << value.sType << '\n'; 5088 s << "\tpNext = " << value.pNext << '\n'; 5089 s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; 5090 s << '}'; 5091 return s; 5092} 5093 5094std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemorySciBufFeaturesNV& value) 5095{ 5096 s << "VkPhysicalDeviceExternalMemorySciBufFeaturesNV = {\n"; 5097 s << "\tsType = " << value.sType << '\n'; 5098 s << "\tpNext = " << value.pNext << '\n'; 5099 s << "\tsciBufImport = " << value.sciBufImport << '\n'; 5100 s << "\tsciBufExport = " << value.sciBufExport << '\n'; 5101 s << '}'; 5102 return s; 5103} 5104 5105std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures2& value) 5106{ 5107 s << "VkPhysicalDeviceFeatures2 = {\n"; 5108 s << "\tsType = " << value.sType << '\n'; 5109 s << "\tpNext = " << value.pNext << '\n'; 5110 s << "\tfeatures = " << value.features << '\n'; 5111 s << '}'; 5112 return s; 5113} 5114 5115std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties2& value) 5116{ 5117 s << "VkPhysicalDeviceProperties2 = {\n"; 5118 s << "\tsType = " << value.sType << '\n'; 5119 s << "\tpNext = " << value.pNext << '\n'; 5120 s << "\tproperties = " << value.properties << '\n'; 5121 s << '}'; 5122 return s; 5123} 5124 5125std::ostream& operator<< (std::ostream& s, const VkFormatProperties2& value) 5126{ 5127 s << "VkFormatProperties2 = {\n"; 5128 s << "\tsType = " << value.sType << '\n'; 5129 s << "\tpNext = " << value.pNext << '\n'; 5130 s << "\tformatProperties = " << value.formatProperties << '\n'; 5131 s << '}'; 5132 return s; 5133} 5134 5135std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties2& value) 5136{ 5137 s << "VkImageFormatProperties2 = {\n"; 5138 s << "\tsType = " << value.sType << '\n'; 5139 s << "\tpNext = " << value.pNext << '\n'; 5140 s << "\timageFormatProperties = " << value.imageFormatProperties << '\n'; 5141 s << '}'; 5142 return s; 5143} 5144 5145std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageFormatInfo2& value) 5146{ 5147 s << "VkPhysicalDeviceImageFormatInfo2 = {\n"; 5148 s << "\tsType = " << value.sType << '\n'; 5149 s << "\tpNext = " << value.pNext << '\n'; 5150 s << "\tformat = " << value.format << '\n'; 5151 s << "\ttype = " << value.type << '\n'; 5152 s << "\ttiling = " << value.tiling << '\n'; 5153 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 5154 s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; 5155 s << '}'; 5156 return s; 5157} 5158 5159std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties2& value) 5160{ 5161 s << "VkQueueFamilyProperties2 = {\n"; 5162 s << "\tsType = " << value.sType << '\n'; 5163 s << "\tpNext = " << value.pNext << '\n'; 5164 s << "\tqueueFamilyProperties = " << value.queueFamilyProperties << '\n'; 5165 s << '}'; 5166 return s; 5167} 5168 5169std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties2& value) 5170{ 5171 s << "VkPhysicalDeviceMemoryProperties2 = {\n"; 5172 s << "\tsType = " << value.sType << '\n'; 5173 s << "\tpNext = " << value.pNext << '\n'; 5174 s << "\tmemoryProperties = " << value.memoryProperties << '\n'; 5175 s << '}'; 5176 return s; 5177} 5178 5179std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties2& value) 5180{ 5181 s << "VkSparseImageFormatProperties2 = {\n"; 5182 s << "\tsType = " << value.sType << '\n'; 5183 s << "\tpNext = " << value.pNext << '\n'; 5184 s << "\tproperties = " << value.properties << '\n'; 5185 s << '}'; 5186 return s; 5187} 5188 5189std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseImageFormatInfo2& value) 5190{ 5191 s << "VkPhysicalDeviceSparseImageFormatInfo2 = {\n"; 5192 s << "\tsType = " << value.sType << '\n'; 5193 s << "\tpNext = " << value.pNext << '\n'; 5194 s << "\tformat = " << value.format << '\n'; 5195 s << "\ttype = " << value.type << '\n'; 5196 s << "\tsamples = " << value.samples << '\n'; 5197 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 5198 s << "\ttiling = " << value.tiling << '\n'; 5199 s << '}'; 5200 return s; 5201} 5202 5203std::ostream& operator<< (std::ostream& s, const VkConformanceVersion& value) 5204{ 5205 s << "VkConformanceVersion = {\n"; 5206 s << "\tmajor = " << value.major << '\n'; 5207 s << "\tminor = " << value.minor << '\n'; 5208 s << "\tsubminor = " << value.subminor << '\n'; 5209 s << "\tpatch = " << value.patch << '\n'; 5210 s << '}'; 5211 return s; 5212} 5213 5214std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDriverProperties& value) 5215{ 5216 s << "VkPhysicalDeviceDriverProperties = {\n"; 5217 s << "\tsType = " << value.sType << '\n'; 5218 s << "\tpNext = " << value.pNext << '\n'; 5219 s << "\tdriverID = " << value.driverID << '\n'; 5220 s << "\tdriverName = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverName)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverName))) << '\n'; 5221 s << "\tdriverInfo = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverInfo)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverInfo))) << '\n'; 5222 s << "\tconformanceVersion = " << value.conformanceVersion << '\n'; 5223 s << '}'; 5224 return s; 5225} 5226 5227std::ostream& operator<< (std::ostream& s, const VkPresentRegionsKHR& value) 5228{ 5229 s << "VkPresentRegionsKHR = {\n"; 5230 s << "\tsType = " << value.sType << '\n'; 5231 s << "\tpNext = " << value.pNext << '\n'; 5232 s << "\tswapchainCount = " << value.swapchainCount << '\n'; 5233 s << "\tpRegions = " << value.pRegions << '\n'; 5234 s << '}'; 5235 return s; 5236} 5237 5238std::ostream& operator<< (std::ostream& s, const VkPresentRegionKHR& value) 5239{ 5240 s << "VkPresentRegionKHR = {\n"; 5241 s << "\trectangleCount = " << value.rectangleCount << '\n'; 5242 s << "\tpRectangles = " << value.pRectangles << '\n'; 5243 s << '}'; 5244 return s; 5245} 5246 5247std::ostream& operator<< (std::ostream& s, const VkRectLayerKHR& value) 5248{ 5249 s << "VkRectLayerKHR = {\n"; 5250 s << "\toffset = " << value.offset << '\n'; 5251 s << "\textent = " << value.extent << '\n'; 5252 s << "\tlayer = " << value.layer << '\n'; 5253 s << '}'; 5254 return s; 5255} 5256 5257std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVariablePointersFeatures& value) 5258{ 5259 s << "VkPhysicalDeviceVariablePointersFeatures = {\n"; 5260 s << "\tsType = " << value.sType << '\n'; 5261 s << "\tpNext = " << value.pNext << '\n'; 5262 s << "\tvariablePointersStorageBuffer = " << value.variablePointersStorageBuffer << '\n'; 5263 s << "\tvariablePointers = " << value.variablePointers << '\n'; 5264 s << '}'; 5265 return s; 5266} 5267 5268std::ostream& operator<< (std::ostream& s, const VkExternalMemoryProperties& value) 5269{ 5270 s << "VkExternalMemoryProperties = {\n"; 5271 s << "\texternalMemoryFeatures = " << getExternalMemoryFeatureFlagsStr(value.externalMemoryFeatures) << '\n'; 5272 s << "\texportFromImportedHandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n'; 5273 s << "\tcompatibleHandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n'; 5274 s << '}'; 5275 return s; 5276} 5277 5278std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalImageFormatInfo& value) 5279{ 5280 s << "VkPhysicalDeviceExternalImageFormatInfo = {\n"; 5281 s << "\tsType = " << value.sType << '\n'; 5282 s << "\tpNext = " << value.pNext << '\n'; 5283 s << "\thandleType = " << value.handleType << '\n'; 5284 s << '}'; 5285 return s; 5286} 5287 5288std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatProperties& value) 5289{ 5290 s << "VkExternalImageFormatProperties = {\n"; 5291 s << "\tsType = " << value.sType << '\n'; 5292 s << "\tpNext = " << value.pNext << '\n'; 5293 s << "\texternalMemoryProperties = " << value.externalMemoryProperties << '\n'; 5294 s << '}'; 5295 return s; 5296} 5297 5298std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalBufferInfo& value) 5299{ 5300 s << "VkPhysicalDeviceExternalBufferInfo = {\n"; 5301 s << "\tsType = " << value.sType << '\n'; 5302 s << "\tpNext = " << value.pNext << '\n'; 5303 s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n'; 5304 s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n'; 5305 s << "\thandleType = " << value.handleType << '\n'; 5306 s << '}'; 5307 return s; 5308} 5309 5310std::ostream& operator<< (std::ostream& s, const VkExternalBufferProperties& value) 5311{ 5312 s << "VkExternalBufferProperties = {\n"; 5313 s << "\tsType = " << value.sType << '\n'; 5314 s << "\tpNext = " << value.pNext << '\n'; 5315 s << "\texternalMemoryProperties = " << value.externalMemoryProperties << '\n'; 5316 s << '}'; 5317 return s; 5318} 5319 5320std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIDProperties& value) 5321{ 5322 s << "VkPhysicalDeviceIDProperties = {\n"; 5323 s << "\tsType = " << value.sType << '\n'; 5324 s << "\tpNext = " << value.pNext << '\n'; 5325 s << "\tdeviceUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceUUID))) << '\n'; 5326 s << "\tdriverUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.driverUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.driverUUID))) << '\n'; 5327 s << "\tdeviceLUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceLUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceLUID))) << '\n'; 5328 s << "\tdeviceNodeMask = " << value.deviceNodeMask << '\n'; 5329 s << "\tdeviceLUIDValid = " << value.deviceLUIDValid << '\n'; 5330 s << '}'; 5331 return s; 5332} 5333 5334std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfo& value) 5335{ 5336 s << "VkExternalMemoryImageCreateInfo = {\n"; 5337 s << "\tsType = " << value.sType << '\n'; 5338 s << "\tpNext = " << value.pNext << '\n'; 5339 s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n'; 5340 s << '}'; 5341 return s; 5342} 5343 5344std::ostream& operator<< (std::ostream& s, const VkExternalMemoryBufferCreateInfo& value) 5345{ 5346 s << "VkExternalMemoryBufferCreateInfo = {\n"; 5347 s << "\tsType = " << value.sType << '\n'; 5348 s << "\tpNext = " << value.pNext << '\n'; 5349 s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n'; 5350 s << '}'; 5351 return s; 5352} 5353 5354std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfo& value) 5355{ 5356 s << "VkExportMemoryAllocateInfo = {\n"; 5357 s << "\tsType = " << value.sType << '\n'; 5358 s << "\tpNext = " << value.pNext << '\n'; 5359 s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n'; 5360 s << '}'; 5361 return s; 5362} 5363 5364std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value) 5365{ 5366 s << "VkImportMemoryFdInfoKHR = {\n"; 5367 s << "\tsType = " << value.sType << '\n'; 5368 s << "\tpNext = " << value.pNext << '\n'; 5369 s << "\thandleType = " << value.handleType << '\n'; 5370 s << "\tfd = " << value.fd << '\n'; 5371 s << '}'; 5372 return s; 5373} 5374 5375std::ostream& operator<< (std::ostream& s, const VkMemoryFdPropertiesKHR& value) 5376{ 5377 s << "VkMemoryFdPropertiesKHR = {\n"; 5378 s << "\tsType = " << value.sType << '\n'; 5379 s << "\tpNext = " << value.pNext << '\n'; 5380 s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; 5381 s << '}'; 5382 return s; 5383} 5384 5385std::ostream& operator<< (std::ostream& s, const VkMemoryGetFdInfoKHR& value) 5386{ 5387 s << "VkMemoryGetFdInfoKHR = {\n"; 5388 s << "\tsType = " << value.sType << '\n'; 5389 s << "\tpNext = " << value.pNext << '\n'; 5390 s << "\tmemory = " << value.memory << '\n'; 5391 s << "\thandleType = " << value.handleType << '\n'; 5392 s << '}'; 5393 return s; 5394} 5395 5396std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalSemaphoreInfo& value) 5397{ 5398 s << "VkPhysicalDeviceExternalSemaphoreInfo = {\n"; 5399 s << "\tsType = " << value.sType << '\n'; 5400 s << "\tpNext = " << value.pNext << '\n'; 5401 s << "\thandleType = " << value.handleType << '\n'; 5402 s << '}'; 5403 return s; 5404} 5405 5406std::ostream& operator<< (std::ostream& s, const VkExternalSemaphoreProperties& value) 5407{ 5408 s << "VkExternalSemaphoreProperties = {\n"; 5409 s << "\tsType = " << value.sType << '\n'; 5410 s << "\tpNext = " << value.pNext << '\n'; 5411 s << "\texportFromImportedHandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n'; 5412 s << "\tcompatibleHandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n'; 5413 s << "\texternalSemaphoreFeatures = " << getExternalSemaphoreFeatureFlagsStr(value.externalSemaphoreFeatures) << '\n'; 5414 s << '}'; 5415 return s; 5416} 5417 5418std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreCreateInfo& value) 5419{ 5420 s << "VkExportSemaphoreCreateInfo = {\n"; 5421 s << "\tsType = " << value.sType << '\n'; 5422 s << "\tpNext = " << value.pNext << '\n'; 5423 s << "\thandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.handleTypes) << '\n'; 5424 s << '}'; 5425 return s; 5426} 5427 5428std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreFdInfoKHR& value) 5429{ 5430 s << "VkImportSemaphoreFdInfoKHR = {\n"; 5431 s << "\tsType = " << value.sType << '\n'; 5432 s << "\tpNext = " << value.pNext << '\n'; 5433 s << "\tsemaphore = " << value.semaphore << '\n'; 5434 s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n'; 5435 s << "\thandleType = " << value.handleType << '\n'; 5436 s << "\tfd = " << value.fd << '\n'; 5437 s << '}'; 5438 return s; 5439} 5440 5441std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetFdInfoKHR& value) 5442{ 5443 s << "VkSemaphoreGetFdInfoKHR = {\n"; 5444 s << "\tsType = " << value.sType << '\n'; 5445 s << "\tpNext = " << value.pNext << '\n'; 5446 s << "\tsemaphore = " << value.semaphore << '\n'; 5447 s << "\thandleType = " << value.handleType << '\n'; 5448 s << '}'; 5449 return s; 5450} 5451 5452std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalFenceInfo& value) 5453{ 5454 s << "VkPhysicalDeviceExternalFenceInfo = {\n"; 5455 s << "\tsType = " << value.sType << '\n'; 5456 s << "\tpNext = " << value.pNext << '\n'; 5457 s << "\thandleType = " << value.handleType << '\n'; 5458 s << '}'; 5459 return s; 5460} 5461 5462std::ostream& operator<< (std::ostream& s, const VkExternalFenceProperties& value) 5463{ 5464 s << "VkExternalFenceProperties = {\n"; 5465 s << "\tsType = " << value.sType << '\n'; 5466 s << "\tpNext = " << value.pNext << '\n'; 5467 s << "\texportFromImportedHandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n'; 5468 s << "\tcompatibleHandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n'; 5469 s << "\texternalFenceFeatures = " << getExternalFenceFeatureFlagsStr(value.externalFenceFeatures) << '\n'; 5470 s << '}'; 5471 return s; 5472} 5473 5474std::ostream& operator<< (std::ostream& s, const VkExportFenceCreateInfo& value) 5475{ 5476 s << "VkExportFenceCreateInfo = {\n"; 5477 s << "\tsType = " << value.sType << '\n'; 5478 s << "\tpNext = " << value.pNext << '\n'; 5479 s << "\thandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.handleTypes) << '\n'; 5480 s << '}'; 5481 return s; 5482} 5483 5484std::ostream& operator<< (std::ostream& s, const VkImportFenceFdInfoKHR& value) 5485{ 5486 s << "VkImportFenceFdInfoKHR = {\n"; 5487 s << "\tsType = " << value.sType << '\n'; 5488 s << "\tpNext = " << value.pNext << '\n'; 5489 s << "\tfence = " << value.fence << '\n'; 5490 s << "\tflags = " << getFenceImportFlagsStr(value.flags) << '\n'; 5491 s << "\thandleType = " << value.handleType << '\n'; 5492 s << "\tfd = " << value.fd << '\n'; 5493 s << '}'; 5494 return s; 5495} 5496 5497std::ostream& operator<< (std::ostream& s, const VkFenceGetFdInfoKHR& value) 5498{ 5499 s << "VkFenceGetFdInfoKHR = {\n"; 5500 s << "\tsType = " << value.sType << '\n'; 5501 s << "\tpNext = " << value.pNext << '\n'; 5502 s << "\tfence = " << value.fence << '\n'; 5503 s << "\thandleType = " << value.handleType << '\n'; 5504 s << '}'; 5505 return s; 5506} 5507 5508std::ostream& operator<< (std::ostream& s, const VkExportFenceSciSyncInfoNV& value) 5509{ 5510 s << "VkExportFenceSciSyncInfoNV = {\n"; 5511 s << "\tsType = " << value.sType << '\n'; 5512 s << "\tpNext = " << value.pNext << '\n'; 5513 s << "\tpAttributes = " << value.pAttributes << '\n'; 5514 s << '}'; 5515 return s; 5516} 5517 5518std::ostream& operator<< (std::ostream& s, const VkImportFenceSciSyncInfoNV& value) 5519{ 5520 s << "VkImportFenceSciSyncInfoNV = {\n"; 5521 s << "\tsType = " << value.sType << '\n'; 5522 s << "\tpNext = " << value.pNext << '\n'; 5523 s << "\tfence = " << value.fence << '\n'; 5524 s << "\thandleType = " << value.handleType << '\n'; 5525 s << "\thandle = " << value.handle << '\n'; 5526 s << '}'; 5527 return s; 5528} 5529 5530std::ostream& operator<< (std::ostream& s, const VkFenceGetSciSyncInfoNV& value) 5531{ 5532 s << "VkFenceGetSciSyncInfoNV = {\n"; 5533 s << "\tsType = " << value.sType << '\n'; 5534 s << "\tpNext = " << value.pNext << '\n'; 5535 s << "\tfence = " << value.fence << '\n'; 5536 s << "\thandleType = " << value.handleType << '\n'; 5537 s << '}'; 5538 return s; 5539} 5540 5541std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreSciSyncInfoNV& value) 5542{ 5543 s << "VkExportSemaphoreSciSyncInfoNV = {\n"; 5544 s << "\tsType = " << value.sType << '\n'; 5545 s << "\tpNext = " << value.pNext << '\n'; 5546 s << "\tpAttributes = " << value.pAttributes << '\n'; 5547 s << '}'; 5548 return s; 5549} 5550 5551std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreSciSyncInfoNV& value) 5552{ 5553 s << "VkImportSemaphoreSciSyncInfoNV = {\n"; 5554 s << "\tsType = " << value.sType << '\n'; 5555 s << "\tpNext = " << value.pNext << '\n'; 5556 s << "\tsemaphore = " << value.semaphore << '\n'; 5557 s << "\thandleType = " << value.handleType << '\n'; 5558 s << "\thandle = " << value.handle << '\n'; 5559 s << '}'; 5560 return s; 5561} 5562 5563std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetSciSyncInfoNV& value) 5564{ 5565 s << "VkSemaphoreGetSciSyncInfoNV = {\n"; 5566 s << "\tsType = " << value.sType << '\n'; 5567 s << "\tpNext = " << value.pNext << '\n'; 5568 s << "\tsemaphore = " << value.semaphore << '\n'; 5569 s << "\thandleType = " << value.handleType << '\n'; 5570 s << '}'; 5571 return s; 5572} 5573 5574std::ostream& operator<< (std::ostream& s, const VkSciSyncAttributesInfoNV& value) 5575{ 5576 s << "VkSciSyncAttributesInfoNV = {\n"; 5577 s << "\tsType = " << value.sType << '\n'; 5578 s << "\tpNext = " << value.pNext << '\n'; 5579 s << "\tclientType = " << value.clientType << '\n'; 5580 s << "\tprimitiveType = " << value.primitiveType << '\n'; 5581 s << '}'; 5582 return s; 5583} 5584 5585std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalSciSyncFeaturesNV& value) 5586{ 5587 s << "VkPhysicalDeviceExternalSciSyncFeaturesNV = {\n"; 5588 s << "\tsType = " << value.sType << '\n'; 5589 s << "\tpNext = " << value.pNext << '\n'; 5590 s << "\tsciSyncFence = " << value.sciSyncFence << '\n'; 5591 s << "\tsciSyncSemaphore = " << value.sciSyncSemaphore << '\n'; 5592 s << "\tsciSyncImport = " << value.sciSyncImport << '\n'; 5593 s << "\tsciSyncExport = " << value.sciSyncExport << '\n'; 5594 s << '}'; 5595 return s; 5596} 5597 5598std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalSciSync2FeaturesNV& value) 5599{ 5600 s << "VkPhysicalDeviceExternalSciSync2FeaturesNV = {\n"; 5601 s << "\tsType = " << value.sType << '\n'; 5602 s << "\tpNext = " << value.pNext << '\n'; 5603 s << "\tsciSyncFence = " << value.sciSyncFence << '\n'; 5604 s << "\tsciSyncSemaphore2 = " << value.sciSyncSemaphore2 << '\n'; 5605 s << "\tsciSyncImport = " << value.sciSyncImport << '\n'; 5606 s << "\tsciSyncExport = " << value.sciSyncExport << '\n'; 5607 s << '}'; 5608 return s; 5609} 5610 5611std::ostream& operator<< (std::ostream& s, const VkSemaphoreSciSyncPoolCreateInfoNV& value) 5612{ 5613 s << "VkSemaphoreSciSyncPoolCreateInfoNV = {\n"; 5614 s << "\tsType = " << value.sType << '\n'; 5615 s << "\tpNext = " << value.pNext << '\n'; 5616 s << "\thandle = " << value.handle << '\n'; 5617 s << '}'; 5618 return s; 5619} 5620 5621std::ostream& operator<< (std::ostream& s, const VkSemaphoreSciSyncCreateInfoNV& value) 5622{ 5623 s << "VkSemaphoreSciSyncCreateInfoNV = {\n"; 5624 s << "\tsType = " << value.sType << '\n'; 5625 s << "\tpNext = " << value.pNext << '\n'; 5626 s << "\tsemaphorePool = " << value.semaphorePool << '\n'; 5627 s << "\tpFence = " << value.pFence << '\n'; 5628 s << '}'; 5629 return s; 5630} 5631 5632std::ostream& operator<< (std::ostream& s, const VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV& value) 5633{ 5634 s << "VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV = {\n"; 5635 s << "\tsType = " << value.sType << '\n'; 5636 s << "\tpNext = " << value.pNext << '\n'; 5637 s << "\tsemaphoreSciSyncPoolRequestCount = " << value.semaphoreSciSyncPoolRequestCount << '\n'; 5638 s << '}'; 5639 return s; 5640} 5641 5642std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewFeatures& value) 5643{ 5644 s << "VkPhysicalDeviceMultiviewFeatures = {\n"; 5645 s << "\tsType = " << value.sType << '\n'; 5646 s << "\tpNext = " << value.pNext << '\n'; 5647 s << "\tmultiview = " << value.multiview << '\n'; 5648 s << "\tmultiviewGeometryShader = " << value.multiviewGeometryShader << '\n'; 5649 s << "\tmultiviewTessellationShader = " << value.multiviewTessellationShader << '\n'; 5650 s << '}'; 5651 return s; 5652} 5653 5654std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewProperties& value) 5655{ 5656 s << "VkPhysicalDeviceMultiviewProperties = {\n"; 5657 s << "\tsType = " << value.sType << '\n'; 5658 s << "\tpNext = " << value.pNext << '\n'; 5659 s << "\tmaxMultiviewViewCount = " << value.maxMultiviewViewCount << '\n'; 5660 s << "\tmaxMultiviewInstanceIndex = " << value.maxMultiviewInstanceIndex << '\n'; 5661 s << '}'; 5662 return s; 5663} 5664 5665std::ostream& operator<< (std::ostream& s, const VkRenderPassMultiviewCreateInfo& value) 5666{ 5667 s << "VkRenderPassMultiviewCreateInfo = {\n"; 5668 s << "\tsType = " << value.sType << '\n'; 5669 s << "\tpNext = " << value.pNext << '\n'; 5670 s << "\tsubpassCount = " << value.subpassCount << '\n'; 5671 s << "\tpViewMasks = " << value.pViewMasks << '\n'; 5672 s << "\tdependencyCount = " << value.dependencyCount << '\n'; 5673 s << "\tpViewOffsets = " << value.pViewOffsets << '\n'; 5674 s << "\tcorrelationMaskCount = " << value.correlationMaskCount << '\n'; 5675 s << "\tpCorrelationMasks = " << value.pCorrelationMasks << '\n'; 5676 s << '}'; 5677 return s; 5678} 5679 5680std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2EXT& value) 5681{ 5682 s << "VkSurfaceCapabilities2EXT = {\n"; 5683 s << "\tsType = " << value.sType << '\n'; 5684 s << "\tpNext = " << value.pNext << '\n'; 5685 s << "\tminImageCount = " << value.minImageCount << '\n'; 5686 s << "\tmaxImageCount = " << value.maxImageCount << '\n'; 5687 s << "\tcurrentExtent = " << value.currentExtent << '\n'; 5688 s << "\tminImageExtent = " << value.minImageExtent << '\n'; 5689 s << "\tmaxImageExtent = " << value.maxImageExtent << '\n'; 5690 s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; 5691 s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; 5692 s << "\tcurrentTransform = " << value.currentTransform << '\n'; 5693 s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n'; 5694 s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n'; 5695 s << "\tsupportedSurfaceCounters = " << getSurfaceCounterFlagsEXTStr(value.supportedSurfaceCounters) << '\n'; 5696 s << '}'; 5697 return s; 5698} 5699 5700std::ostream& operator<< (std::ostream& s, const VkDisplayPowerInfoEXT& value) 5701{ 5702 s << "VkDisplayPowerInfoEXT = {\n"; 5703 s << "\tsType = " << value.sType << '\n'; 5704 s << "\tpNext = " << value.pNext << '\n'; 5705 s << "\tpowerState = " << value.powerState << '\n'; 5706 s << '}'; 5707 return s; 5708} 5709 5710std::ostream& operator<< (std::ostream& s, const VkDeviceEventInfoEXT& value) 5711{ 5712 s << "VkDeviceEventInfoEXT = {\n"; 5713 s << "\tsType = " << value.sType << '\n'; 5714 s << "\tpNext = " << value.pNext << '\n'; 5715 s << "\tdeviceEvent = " << value.deviceEvent << '\n'; 5716 s << '}'; 5717 return s; 5718} 5719 5720std::ostream& operator<< (std::ostream& s, const VkDisplayEventInfoEXT& value) 5721{ 5722 s << "VkDisplayEventInfoEXT = {\n"; 5723 s << "\tsType = " << value.sType << '\n'; 5724 s << "\tpNext = " << value.pNext << '\n'; 5725 s << "\tdisplayEvent = " << value.displayEvent << '\n'; 5726 s << '}'; 5727 return s; 5728} 5729 5730std::ostream& operator<< (std::ostream& s, const VkSwapchainCounterCreateInfoEXT& value) 5731{ 5732 s << "VkSwapchainCounterCreateInfoEXT = {\n"; 5733 s << "\tsType = " << value.sType << '\n'; 5734 s << "\tpNext = " << value.pNext << '\n'; 5735 s << "\tsurfaceCounters = " << getSurfaceCounterFlagsEXTStr(value.surfaceCounters) << '\n'; 5736 s << '}'; 5737 return s; 5738} 5739 5740std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGroupProperties& value) 5741{ 5742 s << "VkPhysicalDeviceGroupProperties = {\n"; 5743 s << "\tsType = " << value.sType << '\n'; 5744 s << "\tpNext = " << value.pNext << '\n'; 5745 s << "\tphysicalDeviceCount = " << value.physicalDeviceCount << '\n'; 5746 s << "\tphysicalDevices = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.physicalDevices), DE_ARRAY_END(value.physicalDevices)) << '\n'; 5747 s << "\tsubsetAllocation = " << value.subsetAllocation << '\n'; 5748 s << '}'; 5749 return s; 5750} 5751 5752std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateFlagsInfo& value) 5753{ 5754 s << "VkMemoryAllocateFlagsInfo = {\n"; 5755 s << "\tsType = " << value.sType << '\n'; 5756 s << "\tpNext = " << value.pNext << '\n'; 5757 s << "\tflags = " << getMemoryAllocateFlagsStr(value.flags) << '\n'; 5758 s << "\tdeviceMask = " << value.deviceMask << '\n'; 5759 s << '}'; 5760 return s; 5761} 5762 5763std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryInfo& value) 5764{ 5765 s << "VkBindBufferMemoryInfo = {\n"; 5766 s << "\tsType = " << value.sType << '\n'; 5767 s << "\tpNext = " << value.pNext << '\n'; 5768 s << "\tbuffer = " << value.buffer << '\n'; 5769 s << "\tmemory = " << value.memory << '\n'; 5770 s << "\tmemoryOffset = " << value.memoryOffset << '\n'; 5771 s << '}'; 5772 return s; 5773} 5774 5775std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryDeviceGroupInfo& value) 5776{ 5777 s << "VkBindBufferMemoryDeviceGroupInfo = {\n"; 5778 s << "\tsType = " << value.sType << '\n'; 5779 s << "\tpNext = " << value.pNext << '\n'; 5780 s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n'; 5781 s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n'; 5782 s << '}'; 5783 return s; 5784} 5785 5786std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryInfo& value) 5787{ 5788 s << "VkBindImageMemoryInfo = {\n"; 5789 s << "\tsType = " << value.sType << '\n'; 5790 s << "\tpNext = " << value.pNext << '\n'; 5791 s << "\timage = " << value.image << '\n'; 5792 s << "\tmemory = " << value.memory << '\n'; 5793 s << "\tmemoryOffset = " << value.memoryOffset << '\n'; 5794 s << '}'; 5795 return s; 5796} 5797 5798std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryDeviceGroupInfo& value) 5799{ 5800 s << "VkBindImageMemoryDeviceGroupInfo = {\n"; 5801 s << "\tsType = " << value.sType << '\n'; 5802 s << "\tpNext = " << value.pNext << '\n'; 5803 s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n'; 5804 s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n'; 5805 s << "\tsplitInstanceBindRegionCount = " << value.splitInstanceBindRegionCount << '\n'; 5806 s << "\tpSplitInstanceBindRegions = " << value.pSplitInstanceBindRegions << '\n'; 5807 s << '}'; 5808 return s; 5809} 5810 5811std::ostream& operator<< (std::ostream& s, const VkDeviceGroupRenderPassBeginInfo& value) 5812{ 5813 s << "VkDeviceGroupRenderPassBeginInfo = {\n"; 5814 s << "\tsType = " << value.sType << '\n'; 5815 s << "\tpNext = " << value.pNext << '\n'; 5816 s << "\tdeviceMask = " << value.deviceMask << '\n'; 5817 s << "\tdeviceRenderAreaCount = " << value.deviceRenderAreaCount << '\n'; 5818 s << "\tpDeviceRenderAreas = " << value.pDeviceRenderAreas << '\n'; 5819 s << '}'; 5820 return s; 5821} 5822 5823std::ostream& operator<< (std::ostream& s, const VkDeviceGroupCommandBufferBeginInfo& value) 5824{ 5825 s << "VkDeviceGroupCommandBufferBeginInfo = {\n"; 5826 s << "\tsType = " << value.sType << '\n'; 5827 s << "\tpNext = " << value.pNext << '\n'; 5828 s << "\tdeviceMask = " << value.deviceMask << '\n'; 5829 s << '}'; 5830 return s; 5831} 5832 5833std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSubmitInfo& value) 5834{ 5835 s << "VkDeviceGroupSubmitInfo = {\n"; 5836 s << "\tsType = " << value.sType << '\n'; 5837 s << "\tpNext = " << value.pNext << '\n'; 5838 s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; 5839 s << "\tpWaitSemaphoreDeviceIndices = " << value.pWaitSemaphoreDeviceIndices << '\n'; 5840 s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; 5841 s << "\tpCommandBufferDeviceMasks = " << value.pCommandBufferDeviceMasks << '\n'; 5842 s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; 5843 s << "\tpSignalSemaphoreDeviceIndices = " << value.pSignalSemaphoreDeviceIndices << '\n'; 5844 s << '}'; 5845 return s; 5846} 5847 5848std::ostream& operator<< (std::ostream& s, const VkDeviceGroupBindSparseInfo& value) 5849{ 5850 s << "VkDeviceGroupBindSparseInfo = {\n"; 5851 s << "\tsType = " << value.sType << '\n'; 5852 s << "\tpNext = " << value.pNext << '\n'; 5853 s << "\tresourceDeviceIndex = " << value.resourceDeviceIndex << '\n'; 5854 s << "\tmemoryDeviceIndex = " << value.memoryDeviceIndex << '\n'; 5855 s << '}'; 5856 return s; 5857} 5858 5859std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value) 5860{ 5861 s << "VkDeviceGroupPresentCapabilitiesKHR = {\n"; 5862 s << "\tsType = " << value.sType << '\n'; 5863 s << "\tpNext = " << value.pNext << '\n'; 5864 s << "\tpresentMask = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.presentMask), DE_ARRAY_END(value.presentMask)) << '\n'; 5865 s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n'; 5866 s << '}'; 5867 return s; 5868} 5869 5870std::ostream& operator<< (std::ostream& s, const VkImageSwapchainCreateInfoKHR& value) 5871{ 5872 s << "VkImageSwapchainCreateInfoKHR = {\n"; 5873 s << "\tsType = " << value.sType << '\n'; 5874 s << "\tpNext = " << value.pNext << '\n'; 5875 s << "\tswapchain = " << value.swapchain << '\n'; 5876 s << '}'; 5877 return s; 5878} 5879 5880std::ostream& operator<< (std::ostream& s, const VkBindImageMemorySwapchainInfoKHR& value) 5881{ 5882 s << "VkBindImageMemorySwapchainInfoKHR = {\n"; 5883 s << "\tsType = " << value.sType << '\n'; 5884 s << "\tpNext = " << value.pNext << '\n'; 5885 s << "\tswapchain = " << value.swapchain << '\n'; 5886 s << "\timageIndex = " << value.imageIndex << '\n'; 5887 s << '}'; 5888 return s; 5889} 5890 5891std::ostream& operator<< (std::ostream& s, const VkAcquireNextImageInfoKHR& value) 5892{ 5893 s << "VkAcquireNextImageInfoKHR = {\n"; 5894 s << "\tsType = " << value.sType << '\n'; 5895 s << "\tpNext = " << value.pNext << '\n'; 5896 s << "\tswapchain = " << value.swapchain << '\n'; 5897 s << "\ttimeout = " << value.timeout << '\n'; 5898 s << "\tsemaphore = " << value.semaphore << '\n'; 5899 s << "\tfence = " << value.fence << '\n'; 5900 s << "\tdeviceMask = " << value.deviceMask << '\n'; 5901 s << '}'; 5902 return s; 5903} 5904 5905std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentInfoKHR& value) 5906{ 5907 s << "VkDeviceGroupPresentInfoKHR = {\n"; 5908 s << "\tsType = " << value.sType << '\n'; 5909 s << "\tpNext = " << value.pNext << '\n'; 5910 s << "\tswapchainCount = " << value.swapchainCount << '\n'; 5911 s << "\tpDeviceMasks = " << value.pDeviceMasks << '\n'; 5912 s << "\tmode = " << value.mode << '\n'; 5913 s << '}'; 5914 return s; 5915} 5916 5917std::ostream& operator<< (std::ostream& s, const VkDeviceGroupDeviceCreateInfo& value) 5918{ 5919 s << "VkDeviceGroupDeviceCreateInfo = {\n"; 5920 s << "\tsType = " << value.sType << '\n'; 5921 s << "\tpNext = " << value.pNext << '\n'; 5922 s << "\tphysicalDeviceCount = " << value.physicalDeviceCount << '\n'; 5923 s << "\tpPhysicalDevices = " << value.pPhysicalDevices << '\n'; 5924 s << '}'; 5925 return s; 5926} 5927 5928std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value) 5929{ 5930 s << "VkDeviceGroupSwapchainCreateInfoKHR = {\n"; 5931 s << "\tsType = " << value.sType << '\n'; 5932 s << "\tpNext = " << value.pNext << '\n'; 5933 s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n'; 5934 s << '}'; 5935 return s; 5936} 5937 5938std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateEntry& value) 5939{ 5940 s << "VkDescriptorUpdateTemplateEntry = {\n"; 5941 s << "\tdstBinding = " << value.dstBinding << '\n'; 5942 s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; 5943 s << "\tdescriptorCount = " << value.descriptorCount << '\n'; 5944 s << "\tdescriptorType = " << value.descriptorType << '\n'; 5945 s << "\toffset = " << value.offset << '\n'; 5946 s << "\tstride = " << value.stride << '\n'; 5947 s << '}'; 5948 return s; 5949} 5950 5951std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateCreateInfo& value) 5952{ 5953 s << "VkDescriptorUpdateTemplateCreateInfo = {\n"; 5954 s << "\tsType = " << value.sType << '\n'; 5955 s << "\tpNext = " << value.pNext << '\n'; 5956 s << "\tflags = " << getDescriptorUpdateTemplateCreateFlagsStr(value.flags) << '\n'; 5957 s << "\tdescriptorUpdateEntryCount = " << value.descriptorUpdateEntryCount << '\n'; 5958 s << "\tpDescriptorUpdateEntries = " << value.pDescriptorUpdateEntries << '\n'; 5959 s << "\ttemplateType = " << value.templateType << '\n'; 5960 s << "\tdescriptorSetLayout = " << value.descriptorSetLayout << '\n'; 5961 s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; 5962 s << "\tpipelineLayout = " << value.pipelineLayout << '\n'; 5963 s << "\tset = " << value.set << '\n'; 5964 s << '}'; 5965 return s; 5966} 5967 5968std::ostream& operator<< (std::ostream& s, const VkXYColorEXT& value) 5969{ 5970 s << "VkXYColorEXT = {\n"; 5971 s << "\tx = " << value.x << '\n'; 5972 s << "\ty = " << value.y << '\n'; 5973 s << '}'; 5974 return s; 5975} 5976 5977std::ostream& operator<< (std::ostream& s, const VkHdrMetadataEXT& value) 5978{ 5979 s << "VkHdrMetadataEXT = {\n"; 5980 s << "\tsType = " << value.sType << '\n'; 5981 s << "\tpNext = " << value.pNext << '\n'; 5982 s << "\tdisplayPrimaryRed = " << value.displayPrimaryRed << '\n'; 5983 s << "\tdisplayPrimaryGreen = " << value.displayPrimaryGreen << '\n'; 5984 s << "\tdisplayPrimaryBlue = " << value.displayPrimaryBlue << '\n'; 5985 s << "\twhitePoint = " << value.whitePoint << '\n'; 5986 s << "\tmaxLuminance = " << value.maxLuminance << '\n'; 5987 s << "\tminLuminance = " << value.minLuminance << '\n'; 5988 s << "\tmaxContentLightLevel = " << value.maxContentLightLevel << '\n'; 5989 s << "\tmaxFrameAverageLightLevel = " << value.maxFrameAverageLightLevel << '\n'; 5990 s << '}'; 5991 return s; 5992} 5993 5994std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiscardRectanglePropertiesEXT& value) 5995{ 5996 s << "VkPhysicalDeviceDiscardRectanglePropertiesEXT = {\n"; 5997 s << "\tsType = " << value.sType << '\n'; 5998 s << "\tpNext = " << value.pNext << '\n'; 5999 s << "\tmaxDiscardRectangles = " << value.maxDiscardRectangles << '\n'; 6000 s << '}'; 6001 return s; 6002} 6003 6004std::ostream& operator<< (std::ostream& s, const VkPipelineDiscardRectangleStateCreateInfoEXT& value) 6005{ 6006 s << "VkPipelineDiscardRectangleStateCreateInfoEXT = {\n"; 6007 s << "\tsType = " << value.sType << '\n'; 6008 s << "\tpNext = " << value.pNext << '\n'; 6009 s << "\tflags = " << getPipelineDiscardRectangleStateCreateFlagsEXTStr(value.flags) << '\n'; 6010 s << "\tdiscardRectangleMode = " << value.discardRectangleMode << '\n'; 6011 s << "\tdiscardRectangleCount = " << value.discardRectangleCount << '\n'; 6012 s << "\tpDiscardRectangles = " << value.pDiscardRectangles << '\n'; 6013 s << '}'; 6014 return s; 6015} 6016 6017std::ostream& operator<< (std::ostream& s, const VkInputAttachmentAspectReference& value) 6018{ 6019 s << "VkInputAttachmentAspectReference = {\n"; 6020 s << "\tsubpass = " << value.subpass << '\n'; 6021 s << "\tinputAttachmentIndex = " << value.inputAttachmentIndex << '\n'; 6022 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 6023 s << '}'; 6024 return s; 6025} 6026 6027std::ostream& operator<< (std::ostream& s, const VkRenderPassInputAttachmentAspectCreateInfo& value) 6028{ 6029 s << "VkRenderPassInputAttachmentAspectCreateInfo = {\n"; 6030 s << "\tsType = " << value.sType << '\n'; 6031 s << "\tpNext = " << value.pNext << '\n'; 6032 s << "\taspectReferenceCount = " << value.aspectReferenceCount << '\n'; 6033 s << "\tpAspectReferences = " << value.pAspectReferences << '\n'; 6034 s << '}'; 6035 return s; 6036} 6037 6038std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value) 6039{ 6040 s << "VkPhysicalDeviceSurfaceInfo2KHR = {\n"; 6041 s << "\tsType = " << value.sType << '\n'; 6042 s << "\tpNext = " << value.pNext << '\n'; 6043 s << "\tsurface = " << value.surface << '\n'; 6044 s << '}'; 6045 return s; 6046} 6047 6048std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2KHR& value) 6049{ 6050 s << "VkSurfaceCapabilities2KHR = {\n"; 6051 s << "\tsType = " << value.sType << '\n'; 6052 s << "\tpNext = " << value.pNext << '\n'; 6053 s << "\tsurfaceCapabilities = " << value.surfaceCapabilities << '\n'; 6054 s << '}'; 6055 return s; 6056} 6057 6058std::ostream& operator<< (std::ostream& s, const VkSurfaceFormat2KHR& value) 6059{ 6060 s << "VkSurfaceFormat2KHR = {\n"; 6061 s << "\tsType = " << value.sType << '\n'; 6062 s << "\tpNext = " << value.pNext << '\n'; 6063 s << "\tsurfaceFormat = " << value.surfaceFormat << '\n'; 6064 s << '}'; 6065 return s; 6066} 6067 6068std::ostream& operator<< (std::ostream& s, const VkDisplayProperties2KHR& value) 6069{ 6070 s << "VkDisplayProperties2KHR = {\n"; 6071 s << "\tsType = " << value.sType << '\n'; 6072 s << "\tpNext = " << value.pNext << '\n'; 6073 s << "\tdisplayProperties = " << value.displayProperties << '\n'; 6074 s << '}'; 6075 return s; 6076} 6077 6078std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneProperties2KHR& value) 6079{ 6080 s << "VkDisplayPlaneProperties2KHR = {\n"; 6081 s << "\tsType = " << value.sType << '\n'; 6082 s << "\tpNext = " << value.pNext << '\n'; 6083 s << "\tdisplayPlaneProperties = " << value.displayPlaneProperties << '\n'; 6084 s << '}'; 6085 return s; 6086} 6087 6088std::ostream& operator<< (std::ostream& s, const VkDisplayModeProperties2KHR& value) 6089{ 6090 s << "VkDisplayModeProperties2KHR = {\n"; 6091 s << "\tsType = " << value.sType << '\n'; 6092 s << "\tpNext = " << value.pNext << '\n'; 6093 s << "\tdisplayModeProperties = " << value.displayModeProperties << '\n'; 6094 s << '}'; 6095 return s; 6096} 6097 6098std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneInfo2KHR& value) 6099{ 6100 s << "VkDisplayPlaneInfo2KHR = {\n"; 6101 s << "\tsType = " << value.sType << '\n'; 6102 s << "\tpNext = " << value.pNext << '\n'; 6103 s << "\tmode = " << value.mode << '\n'; 6104 s << "\tplaneIndex = " << value.planeIndex << '\n'; 6105 s << '}'; 6106 return s; 6107} 6108 6109std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value) 6110{ 6111 s << "VkDisplayPlaneCapabilities2KHR = {\n"; 6112 s << "\tsType = " << value.sType << '\n'; 6113 s << "\tpNext = " << value.pNext << '\n'; 6114 s << "\tcapabilities = " << value.capabilities << '\n'; 6115 s << '}'; 6116 return s; 6117} 6118 6119std::ostream& operator<< (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value) 6120{ 6121 s << "VkSharedPresentSurfaceCapabilitiesKHR = {\n"; 6122 s << "\tsType = " << value.sType << '\n'; 6123 s << "\tpNext = " << value.pNext << '\n'; 6124 s << "\tsharedPresentSupportedUsageFlags = " << getImageUsageFlagsStr(value.sharedPresentSupportedUsageFlags) << '\n'; 6125 s << '}'; 6126 return s; 6127} 6128 6129std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice16BitStorageFeatures& value) 6130{ 6131 s << "VkPhysicalDevice16BitStorageFeatures = {\n"; 6132 s << "\tsType = " << value.sType << '\n'; 6133 s << "\tpNext = " << value.pNext << '\n'; 6134 s << "\tstorageBuffer16BitAccess = " << value.storageBuffer16BitAccess << '\n'; 6135 s << "\tuniformAndStorageBuffer16BitAccess = " << value.uniformAndStorageBuffer16BitAccess << '\n'; 6136 s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n'; 6137 s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\n'; 6138 s << '}'; 6139 return s; 6140} 6141 6142std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value) 6143{ 6144 s << "VkPhysicalDeviceSubgroupProperties = {\n"; 6145 s << "\tsType = " << value.sType << '\n'; 6146 s << "\tpNext = " << value.pNext << '\n'; 6147 s << "\tsubgroupSize = " << value.subgroupSize << '\n'; 6148 s << "\tsupportedStages = " << getShaderStageFlagsStr(value.supportedStages) << '\n'; 6149 s << "\tsupportedOperations = " << getSubgroupFeatureFlagsStr(value.supportedOperations) << '\n'; 6150 s << "\tquadOperationsInAllStages = " << value.quadOperationsInAllStages << '\n'; 6151 s << '}'; 6152 return s; 6153} 6154 6155std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& value) 6156{ 6157 s << "VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = {\n"; 6158 s << "\tsType = " << value.sType << '\n'; 6159 s << "\tpNext = " << value.pNext << '\n'; 6160 s << "\tshaderSubgroupExtendedTypes = " << value.shaderSubgroupExtendedTypes << '\n'; 6161 s << '}'; 6162 return s; 6163} 6164 6165std::ostream& operator<< (std::ostream& s, const VkBufferMemoryRequirementsInfo2& value) 6166{ 6167 s << "VkBufferMemoryRequirementsInfo2 = {\n"; 6168 s << "\tsType = " << value.sType << '\n'; 6169 s << "\tpNext = " << value.pNext << '\n'; 6170 s << "\tbuffer = " << value.buffer << '\n'; 6171 s << '}'; 6172 return s; 6173} 6174 6175std::ostream& operator<< (std::ostream& s, const VkImageMemoryRequirementsInfo2& value) 6176{ 6177 s << "VkImageMemoryRequirementsInfo2 = {\n"; 6178 s << "\tsType = " << value.sType << '\n'; 6179 s << "\tpNext = " << value.pNext << '\n'; 6180 s << "\timage = " << value.image << '\n'; 6181 s << '}'; 6182 return s; 6183} 6184 6185std::ostream& operator<< (std::ostream& s, const VkImageSparseMemoryRequirementsInfo2& value) 6186{ 6187 s << "VkImageSparseMemoryRequirementsInfo2 = {\n"; 6188 s << "\tsType = " << value.sType << '\n'; 6189 s << "\tpNext = " << value.pNext << '\n'; 6190 s << "\timage = " << value.image << '\n'; 6191 s << '}'; 6192 return s; 6193} 6194 6195std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements2& value) 6196{ 6197 s << "VkMemoryRequirements2 = {\n"; 6198 s << "\tsType = " << value.sType << '\n'; 6199 s << "\tpNext = " << value.pNext << '\n'; 6200 s << "\tmemoryRequirements = " << value.memoryRequirements << '\n'; 6201 s << '}'; 6202 return s; 6203} 6204 6205std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements2& value) 6206{ 6207 s << "VkSparseImageMemoryRequirements2 = {\n"; 6208 s << "\tsType = " << value.sType << '\n'; 6209 s << "\tpNext = " << value.pNext << '\n'; 6210 s << "\tmemoryRequirements = " << value.memoryRequirements << '\n'; 6211 s << '}'; 6212 return s; 6213} 6214 6215std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePointClippingProperties& value) 6216{ 6217 s << "VkPhysicalDevicePointClippingProperties = {\n"; 6218 s << "\tsType = " << value.sType << '\n'; 6219 s << "\tpNext = " << value.pNext << '\n'; 6220 s << "\tpointClippingBehavior = " << value.pointClippingBehavior << '\n'; 6221 s << '}'; 6222 return s; 6223} 6224 6225std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedRequirements& value) 6226{ 6227 s << "VkMemoryDedicatedRequirements = {\n"; 6228 s << "\tsType = " << value.sType << '\n'; 6229 s << "\tpNext = " << value.pNext << '\n'; 6230 s << "\tprefersDedicatedAllocation = " << value.prefersDedicatedAllocation << '\n'; 6231 s << "\trequiresDedicatedAllocation = " << value.requiresDedicatedAllocation << '\n'; 6232 s << '}'; 6233 return s; 6234} 6235 6236std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedAllocateInfo& value) 6237{ 6238 s << "VkMemoryDedicatedAllocateInfo = {\n"; 6239 s << "\tsType = " << value.sType << '\n'; 6240 s << "\tpNext = " << value.pNext << '\n'; 6241 s << "\timage = " << value.image << '\n'; 6242 s << "\tbuffer = " << value.buffer << '\n'; 6243 s << '}'; 6244 return s; 6245} 6246 6247std::ostream& operator<< (std::ostream& s, const VkImageViewUsageCreateInfo& value) 6248{ 6249 s << "VkImageViewUsageCreateInfo = {\n"; 6250 s << "\tsType = " << value.sType << '\n'; 6251 s << "\tpNext = " << value.pNext << '\n'; 6252 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 6253 s << '}'; 6254 return s; 6255} 6256 6257std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationDomainOriginStateCreateInfo& value) 6258{ 6259 s << "VkPipelineTessellationDomainOriginStateCreateInfo = {\n"; 6260 s << "\tsType = " << value.sType << '\n'; 6261 s << "\tpNext = " << value.pNext << '\n'; 6262 s << "\tdomainOrigin = " << value.domainOrigin << '\n'; 6263 s << '}'; 6264 return s; 6265} 6266 6267std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionInfo& value) 6268{ 6269 s << "VkSamplerYcbcrConversionInfo = {\n"; 6270 s << "\tsType = " << value.sType << '\n'; 6271 s << "\tpNext = " << value.pNext << '\n'; 6272 s << "\tconversion = " << value.conversion << '\n'; 6273 s << '}'; 6274 return s; 6275} 6276 6277std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionCreateInfo& value) 6278{ 6279 s << "VkSamplerYcbcrConversionCreateInfo = {\n"; 6280 s << "\tsType = " << value.sType << '\n'; 6281 s << "\tpNext = " << value.pNext << '\n'; 6282 s << "\tformat = " << value.format << '\n'; 6283 s << "\tycbcrModel = " << value.ycbcrModel << '\n'; 6284 s << "\tycbcrRange = " << value.ycbcrRange << '\n'; 6285 s << "\tcomponents = " << value.components << '\n'; 6286 s << "\txChromaOffset = " << value.xChromaOffset << '\n'; 6287 s << "\tyChromaOffset = " << value.yChromaOffset << '\n'; 6288 s << "\tchromaFilter = " << value.chromaFilter << '\n'; 6289 s << "\tforceExplicitReconstruction = " << value.forceExplicitReconstruction << '\n'; 6290 s << '}'; 6291 return s; 6292} 6293 6294std::ostream& operator<< (std::ostream& s, const VkBindImagePlaneMemoryInfo& value) 6295{ 6296 s << "VkBindImagePlaneMemoryInfo = {\n"; 6297 s << "\tsType = " << value.sType << '\n'; 6298 s << "\tpNext = " << value.pNext << '\n'; 6299 s << "\tplaneAspect = " << value.planeAspect << '\n'; 6300 s << '}'; 6301 return s; 6302} 6303 6304std::ostream& operator<< (std::ostream& s, const VkImagePlaneMemoryRequirementsInfo& value) 6305{ 6306 s << "VkImagePlaneMemoryRequirementsInfo = {\n"; 6307 s << "\tsType = " << value.sType << '\n'; 6308 s << "\tpNext = " << value.pNext << '\n'; 6309 s << "\tplaneAspect = " << value.planeAspect << '\n'; 6310 s << '}'; 6311 return s; 6312} 6313 6314std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerYcbcrConversionFeatures& value) 6315{ 6316 s << "VkPhysicalDeviceSamplerYcbcrConversionFeatures = {\n"; 6317 s << "\tsType = " << value.sType << '\n'; 6318 s << "\tpNext = " << value.pNext << '\n'; 6319 s << "\tsamplerYcbcrConversion = " << value.samplerYcbcrConversion << '\n'; 6320 s << '}'; 6321 return s; 6322} 6323 6324std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionImageFormatProperties& value) 6325{ 6326 s << "VkSamplerYcbcrConversionImageFormatProperties = {\n"; 6327 s << "\tsType = " << value.sType << '\n'; 6328 s << "\tpNext = " << value.pNext << '\n'; 6329 s << "\tcombinedImageSamplerDescriptorCount = " << value.combinedImageSamplerDescriptorCount << '\n'; 6330 s << '}'; 6331 return s; 6332} 6333 6334std::ostream& operator<< (std::ostream& s, const VkProtectedSubmitInfo& value) 6335{ 6336 s << "VkProtectedSubmitInfo = {\n"; 6337 s << "\tsType = " << value.sType << '\n'; 6338 s << "\tpNext = " << value.pNext << '\n'; 6339 s << "\tprotectedSubmit = " << value.protectedSubmit << '\n'; 6340 s << '}'; 6341 return s; 6342} 6343 6344std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryFeatures& value) 6345{ 6346 s << "VkPhysicalDeviceProtectedMemoryFeatures = {\n"; 6347 s << "\tsType = " << value.sType << '\n'; 6348 s << "\tpNext = " << value.pNext << '\n'; 6349 s << "\tprotectedMemory = " << value.protectedMemory << '\n'; 6350 s << '}'; 6351 return s; 6352} 6353 6354std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryProperties& value) 6355{ 6356 s << "VkPhysicalDeviceProtectedMemoryProperties = {\n"; 6357 s << "\tsType = " << value.sType << '\n'; 6358 s << "\tpNext = " << value.pNext << '\n'; 6359 s << "\tprotectedNoFault = " << value.protectedNoFault << '\n'; 6360 s << '}'; 6361 return s; 6362} 6363 6364std::ostream& operator<< (std::ostream& s, const VkDeviceQueueInfo2& value) 6365{ 6366 s << "VkDeviceQueueInfo2 = {\n"; 6367 s << "\tsType = " << value.sType << '\n'; 6368 s << "\tpNext = " << value.pNext << '\n'; 6369 s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n'; 6370 s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; 6371 s << "\tqueueIndex = " << value.queueIndex << '\n'; 6372 s << '}'; 6373 return s; 6374} 6375 6376std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerFilterMinmaxProperties& value) 6377{ 6378 s << "VkPhysicalDeviceSamplerFilterMinmaxProperties = {\n"; 6379 s << "\tsType = " << value.sType << '\n'; 6380 s << "\tpNext = " << value.pNext << '\n'; 6381 s << "\tfilterMinmaxSingleComponentFormats = " << value.filterMinmaxSingleComponentFormats << '\n'; 6382 s << "\tfilterMinmaxImageComponentMapping = " << value.filterMinmaxImageComponentMapping << '\n'; 6383 s << '}'; 6384 return s; 6385} 6386 6387std::ostream& operator<< (std::ostream& s, const VkSampleLocationEXT& value) 6388{ 6389 s << "VkSampleLocationEXT = {\n"; 6390 s << "\tx = " << value.x << '\n'; 6391 s << "\ty = " << value.y << '\n'; 6392 s << '}'; 6393 return s; 6394} 6395 6396std::ostream& operator<< (std::ostream& s, const VkSampleLocationsInfoEXT& value) 6397{ 6398 s << "VkSampleLocationsInfoEXT = {\n"; 6399 s << "\tsType = " << value.sType << '\n'; 6400 s << "\tpNext = " << value.pNext << '\n'; 6401 s << "\tsampleLocationsPerPixel = " << value.sampleLocationsPerPixel << '\n'; 6402 s << "\tsampleLocationGridSize = " << value.sampleLocationGridSize << '\n'; 6403 s << "\tsampleLocationsCount = " << value.sampleLocationsCount << '\n'; 6404 s << "\tpSampleLocations = " << value.pSampleLocations << '\n'; 6405 s << '}'; 6406 return s; 6407} 6408 6409std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleLocationsEXT& value) 6410{ 6411 s << "VkAttachmentSampleLocationsEXT = {\n"; 6412 s << "\tattachmentIndex = " << value.attachmentIndex << '\n'; 6413 s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n'; 6414 s << '}'; 6415 return s; 6416} 6417 6418std::ostream& operator<< (std::ostream& s, const VkSubpassSampleLocationsEXT& value) 6419{ 6420 s << "VkSubpassSampleLocationsEXT = {\n"; 6421 s << "\tsubpassIndex = " << value.subpassIndex << '\n'; 6422 s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n'; 6423 s << '}'; 6424 return s; 6425} 6426 6427std::ostream& operator<< (std::ostream& s, const VkRenderPassSampleLocationsBeginInfoEXT& value) 6428{ 6429 s << "VkRenderPassSampleLocationsBeginInfoEXT = {\n"; 6430 s << "\tsType = " << value.sType << '\n'; 6431 s << "\tpNext = " << value.pNext << '\n'; 6432 s << "\tattachmentInitialSampleLocationsCount = " << value.attachmentInitialSampleLocationsCount << '\n'; 6433 s << "\tpAttachmentInitialSampleLocations = " << value.pAttachmentInitialSampleLocations << '\n'; 6434 s << "\tpostSubpassSampleLocationsCount = " << value.postSubpassSampleLocationsCount << '\n'; 6435 s << "\tpPostSubpassSampleLocations = " << value.pPostSubpassSampleLocations << '\n'; 6436 s << '}'; 6437 return s; 6438} 6439 6440std::ostream& operator<< (std::ostream& s, const VkPipelineSampleLocationsStateCreateInfoEXT& value) 6441{ 6442 s << "VkPipelineSampleLocationsStateCreateInfoEXT = {\n"; 6443 s << "\tsType = " << value.sType << '\n'; 6444 s << "\tpNext = " << value.pNext << '\n'; 6445 s << "\tsampleLocationsEnable = " << value.sampleLocationsEnable << '\n'; 6446 s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n'; 6447 s << '}'; 6448 return s; 6449} 6450 6451std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSampleLocationsPropertiesEXT& value) 6452{ 6453 s << "VkPhysicalDeviceSampleLocationsPropertiesEXT = {\n"; 6454 s << "\tsType = " << value.sType << '\n'; 6455 s << "\tpNext = " << value.pNext << '\n'; 6456 s << "\tsampleLocationSampleCounts = " << getSampleCountFlagsStr(value.sampleLocationSampleCounts) << '\n'; 6457 s << "\tmaxSampleLocationGridSize = " << value.maxSampleLocationGridSize << '\n'; 6458 s << "\tsampleLocationCoordinateRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.sampleLocationCoordinateRange), DE_ARRAY_END(value.sampleLocationCoordinateRange)) << '\n'; 6459 s << "\tsampleLocationSubPixelBits = " << value.sampleLocationSubPixelBits << '\n'; 6460 s << "\tvariableSampleLocations = " << value.variableSampleLocations << '\n'; 6461 s << '}'; 6462 return s; 6463} 6464 6465std::ostream& operator<< (std::ostream& s, const VkMultisamplePropertiesEXT& value) 6466{ 6467 s << "VkMultisamplePropertiesEXT = {\n"; 6468 s << "\tsType = " << value.sType << '\n'; 6469 s << "\tpNext = " << value.pNext << '\n'; 6470 s << "\tmaxSampleLocationGridSize = " << value.maxSampleLocationGridSize << '\n'; 6471 s << '}'; 6472 return s; 6473} 6474 6475std::ostream& operator<< (std::ostream& s, const VkSamplerReductionModeCreateInfo& value) 6476{ 6477 s << "VkSamplerReductionModeCreateInfo = {\n"; 6478 s << "\tsType = " << value.sType << '\n'; 6479 s << "\tpNext = " << value.pNext << '\n'; 6480 s << "\treductionMode = " << value.reductionMode << '\n'; 6481 s << '}'; 6482 return s; 6483} 6484 6485std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& value) 6486{ 6487 s << "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = {\n"; 6488 s << "\tsType = " << value.sType << '\n'; 6489 s << "\tpNext = " << value.pNext << '\n'; 6490 s << "\tadvancedBlendCoherentOperations = " << value.advancedBlendCoherentOperations << '\n'; 6491 s << '}'; 6492 return s; 6493} 6494 6495std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& value) 6496{ 6497 s << "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = {\n"; 6498 s << "\tsType = " << value.sType << '\n'; 6499 s << "\tpNext = " << value.pNext << '\n'; 6500 s << "\tadvancedBlendMaxColorAttachments = " << value.advancedBlendMaxColorAttachments << '\n'; 6501 s << "\tadvancedBlendIndependentBlend = " << value.advancedBlendIndependentBlend << '\n'; 6502 s << "\tadvancedBlendNonPremultipliedSrcColor = " << value.advancedBlendNonPremultipliedSrcColor << '\n'; 6503 s << "\tadvancedBlendNonPremultipliedDstColor = " << value.advancedBlendNonPremultipliedDstColor << '\n'; 6504 s << "\tadvancedBlendCorrelatedOverlap = " << value.advancedBlendCorrelatedOverlap << '\n'; 6505 s << "\tadvancedBlendAllOperations = " << value.advancedBlendAllOperations << '\n'; 6506 s << '}'; 6507 return s; 6508} 6509 6510std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAdvancedStateCreateInfoEXT& value) 6511{ 6512 s << "VkPipelineColorBlendAdvancedStateCreateInfoEXT = {\n"; 6513 s << "\tsType = " << value.sType << '\n'; 6514 s << "\tpNext = " << value.pNext << '\n'; 6515 s << "\tsrcPremultiplied = " << value.srcPremultiplied << '\n'; 6516 s << "\tdstPremultiplied = " << value.dstPremultiplied << '\n'; 6517 s << "\tblendOverlap = " << value.blendOverlap << '\n'; 6518 s << '}'; 6519 return s; 6520} 6521 6522std::ostream& operator<< (std::ostream& s, const VkImageFormatListCreateInfo& value) 6523{ 6524 s << "VkImageFormatListCreateInfo = {\n"; 6525 s << "\tsType = " << value.sType << '\n'; 6526 s << "\tpNext = " << value.pNext << '\n'; 6527 s << "\tviewFormatCount = " << value.viewFormatCount << '\n'; 6528 s << "\tpViewFormats = " << value.pViewFormats << '\n'; 6529 s << '}'; 6530 return s; 6531} 6532 6533std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance3Properties& value) 6534{ 6535 s << "VkPhysicalDeviceMaintenance3Properties = {\n"; 6536 s << "\tsType = " << value.sType << '\n'; 6537 s << "\tpNext = " << value.pNext << '\n'; 6538 s << "\tmaxPerSetDescriptors = " << value.maxPerSetDescriptors << '\n'; 6539 s << "\tmaxMemoryAllocationSize = " << value.maxMemoryAllocationSize << '\n'; 6540 s << '}'; 6541 return s; 6542} 6543 6544std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutSupport& value) 6545{ 6546 s << "VkDescriptorSetLayoutSupport = {\n"; 6547 s << "\tsType = " << value.sType << '\n'; 6548 s << "\tpNext = " << value.pNext << '\n'; 6549 s << "\tsupported = " << value.supported << '\n'; 6550 s << '}'; 6551 return s; 6552} 6553 6554std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDrawParametersFeatures& value) 6555{ 6556 s << "VkPhysicalDeviceShaderDrawParametersFeatures = {\n"; 6557 s << "\tsType = " << value.sType << '\n'; 6558 s << "\tpNext = " << value.pNext << '\n'; 6559 s << "\tshaderDrawParameters = " << value.shaderDrawParameters << '\n'; 6560 s << '}'; 6561 return s; 6562} 6563 6564std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderFloat16Int8Features& value) 6565{ 6566 s << "VkPhysicalDeviceShaderFloat16Int8Features = {\n"; 6567 s << "\tsType = " << value.sType << '\n'; 6568 s << "\tpNext = " << value.pNext << '\n'; 6569 s << "\tshaderFloat16 = " << value.shaderFloat16 << '\n'; 6570 s << "\tshaderInt8 = " << value.shaderInt8 << '\n'; 6571 s << '}'; 6572 return s; 6573} 6574 6575std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFloatControlsProperties& value) 6576{ 6577 s << "VkPhysicalDeviceFloatControlsProperties = {\n"; 6578 s << "\tsType = " << value.sType << '\n'; 6579 s << "\tpNext = " << value.pNext << '\n'; 6580 s << "\tdenormBehaviorIndependence = " << value.denormBehaviorIndependence << '\n'; 6581 s << "\troundingModeIndependence = " << value.roundingModeIndependence << '\n'; 6582 s << "\tshaderSignedZeroInfNanPreserveFloat16 = " << value.shaderSignedZeroInfNanPreserveFloat16 << '\n'; 6583 s << "\tshaderSignedZeroInfNanPreserveFloat32 = " << value.shaderSignedZeroInfNanPreserveFloat32 << '\n'; 6584 s << "\tshaderSignedZeroInfNanPreserveFloat64 = " << value.shaderSignedZeroInfNanPreserveFloat64 << '\n'; 6585 s << "\tshaderDenormPreserveFloat16 = " << value.shaderDenormPreserveFloat16 << '\n'; 6586 s << "\tshaderDenormPreserveFloat32 = " << value.shaderDenormPreserveFloat32 << '\n'; 6587 s << "\tshaderDenormPreserveFloat64 = " << value.shaderDenormPreserveFloat64 << '\n'; 6588 s << "\tshaderDenormFlushToZeroFloat16 = " << value.shaderDenormFlushToZeroFloat16 << '\n'; 6589 s << "\tshaderDenormFlushToZeroFloat32 = " << value.shaderDenormFlushToZeroFloat32 << '\n'; 6590 s << "\tshaderDenormFlushToZeroFloat64 = " << value.shaderDenormFlushToZeroFloat64 << '\n'; 6591 s << "\tshaderRoundingModeRTEFloat16 = " << value.shaderRoundingModeRTEFloat16 << '\n'; 6592 s << "\tshaderRoundingModeRTEFloat32 = " << value.shaderRoundingModeRTEFloat32 << '\n'; 6593 s << "\tshaderRoundingModeRTEFloat64 = " << value.shaderRoundingModeRTEFloat64 << '\n'; 6594 s << "\tshaderRoundingModeRTZFloat16 = " << value.shaderRoundingModeRTZFloat16 << '\n'; 6595 s << "\tshaderRoundingModeRTZFloat32 = " << value.shaderRoundingModeRTZFloat32 << '\n'; 6596 s << "\tshaderRoundingModeRTZFloat64 = " << value.shaderRoundingModeRTZFloat64 << '\n'; 6597 s << '}'; 6598 return s; 6599} 6600 6601std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetFeatures& value) 6602{ 6603 s << "VkPhysicalDeviceHostQueryResetFeatures = {\n"; 6604 s << "\tsType = " << value.sType << '\n'; 6605 s << "\tpNext = " << value.pNext << '\n'; 6606 s << "\thostQueryReset = " << value.hostQueryReset << '\n'; 6607 s << '}'; 6608 return s; 6609} 6610 6611std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoKHR& value) 6612{ 6613 s << "VkDeviceQueueGlobalPriorityCreateInfoKHR = {\n"; 6614 s << "\tsType = " << value.sType << '\n'; 6615 s << "\tpNext = " << value.pNext << '\n'; 6616 s << "\tglobalPriority = " << value.globalPriority << '\n'; 6617 s << '}'; 6618 return s; 6619} 6620 6621std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectNameInfoEXT& value) 6622{ 6623 s << "VkDebugUtilsObjectNameInfoEXT = {\n"; 6624 s << "\tsType = " << value.sType << '\n'; 6625 s << "\tpNext = " << value.pNext << '\n'; 6626 s << "\tobjectType = " << value.objectType << '\n'; 6627 s << "\tobjectHandle = " << value.objectHandle << '\n'; 6628 s << "\tpObjectName = " << getCharPtrStr(value.pObjectName) << '\n'; 6629 s << '}'; 6630 return s; 6631} 6632 6633std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value) 6634{ 6635 s << "VkDebugUtilsObjectTagInfoEXT = {\n"; 6636 s << "\tsType = " << value.sType << '\n'; 6637 s << "\tpNext = " << value.pNext << '\n'; 6638 s << "\tobjectType = " << value.objectType << '\n'; 6639 s << "\tobjectHandle = " << value.objectHandle << '\n'; 6640 s << "\ttagName = " << value.tagName << '\n'; 6641 s << "\ttagSize = " << value.tagSize << '\n'; 6642 s << "\tpTag = " << value.pTag << '\n'; 6643 s << '}'; 6644 return s; 6645} 6646 6647std::ostream& operator<< (std::ostream& s, const VkDebugUtilsLabelEXT& value) 6648{ 6649 s << "VkDebugUtilsLabelEXT = {\n"; 6650 s << "\tsType = " << value.sType << '\n'; 6651 s << "\tpNext = " << value.pNext << '\n'; 6652 s << "\tpLabelName = " << getCharPtrStr(value.pLabelName) << '\n'; 6653 s << "\tcolor = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.color), DE_ARRAY_END(value.color)) << '\n'; 6654 s << '}'; 6655 return s; 6656} 6657 6658std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCreateInfoEXT& value) 6659{ 6660 s << "VkDebugUtilsMessengerCreateInfoEXT = {\n"; 6661 s << "\tsType = " << value.sType << '\n'; 6662 s << "\tpNext = " << value.pNext << '\n'; 6663 s << "\tflags = " << getDebugUtilsMessengerCreateFlagsEXTStr(value.flags) << '\n'; 6664 s << "\tmessageSeverity = " << getDebugUtilsMessageSeverityFlagsEXTStr(value.messageSeverity) << '\n'; 6665 s << "\tmessageType = " << getDebugUtilsMessageTypeFlagsEXTStr(value.messageType) << '\n'; 6666 s << "\tpfnUserCallback = " << value.pfnUserCallback << '\n'; 6667 s << "\tpUserData = " << value.pUserData << '\n'; 6668 s << '}'; 6669 return s; 6670} 6671 6672std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCallbackDataEXT& value) 6673{ 6674 s << "VkDebugUtilsMessengerCallbackDataEXT = {\n"; 6675 s << "\tsType = " << value.sType << '\n'; 6676 s << "\tpNext = " << value.pNext << '\n'; 6677 s << "\tflags = " << getDebugUtilsMessengerCallbackDataFlagsEXTStr(value.flags) << '\n'; 6678 s << "\tpMessageIdName = " << getCharPtrStr(value.pMessageIdName) << '\n'; 6679 s << "\tmessageIdNumber = " << value.messageIdNumber << '\n'; 6680 s << "\tpMessage = " << getCharPtrStr(value.pMessage) << '\n'; 6681 s << "\tqueueLabelCount = " << value.queueLabelCount << '\n'; 6682 s << "\tpQueueLabels = " << value.pQueueLabels << '\n'; 6683 s << "\tcmdBufLabelCount = " << value.cmdBufLabelCount << '\n'; 6684 s << "\tpCmdBufLabels = " << value.pCmdBufLabels << '\n'; 6685 s << "\tobjectCount = " << value.objectCount << '\n'; 6686 s << "\tpObjects = " << value.pObjects << '\n'; 6687 s << '}'; 6688 return s; 6689} 6690 6691std::ostream& operator<< (std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value) 6692{ 6693 s << "VkImportMemoryHostPointerInfoEXT = {\n"; 6694 s << "\tsType = " << value.sType << '\n'; 6695 s << "\tpNext = " << value.pNext << '\n'; 6696 s << "\thandleType = " << value.handleType << '\n'; 6697 s << "\tpHostPointer = " << value.pHostPointer << '\n'; 6698 s << '}'; 6699 return s; 6700} 6701 6702std::ostream& operator<< (std::ostream& s, const VkMemoryHostPointerPropertiesEXT& value) 6703{ 6704 s << "VkMemoryHostPointerPropertiesEXT = {\n"; 6705 s << "\tsType = " << value.sType << '\n'; 6706 s << "\tpNext = " << value.pNext << '\n'; 6707 s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; 6708 s << '}'; 6709 return s; 6710} 6711 6712std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& value) 6713{ 6714 s << "VkPhysicalDeviceExternalMemoryHostPropertiesEXT = {\n"; 6715 s << "\tsType = " << value.sType << '\n'; 6716 s << "\tpNext = " << value.pNext << '\n'; 6717 s << "\tminImportedHostPointerAlignment = " << value.minImportedHostPointerAlignment << '\n'; 6718 s << '}'; 6719 return s; 6720} 6721 6722std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT& value) 6723{ 6724 s << "VkPhysicalDeviceConservativeRasterizationPropertiesEXT = {\n"; 6725 s << "\tsType = " << value.sType << '\n'; 6726 s << "\tpNext = " << value.pNext << '\n'; 6727 s << "\tprimitiveOverestimationSize = " << value.primitiveOverestimationSize << '\n'; 6728 s << "\tmaxExtraPrimitiveOverestimationSize = " << value.maxExtraPrimitiveOverestimationSize << '\n'; 6729 s << "\textraPrimitiveOverestimationSizeGranularity = " << value.extraPrimitiveOverestimationSizeGranularity << '\n'; 6730 s << "\tprimitiveUnderestimation = " << value.primitiveUnderestimation << '\n'; 6731 s << "\tconservativePointAndLineRasterization = " << value.conservativePointAndLineRasterization << '\n'; 6732 s << "\tdegenerateTrianglesRasterized = " << value.degenerateTrianglesRasterized << '\n'; 6733 s << "\tdegenerateLinesRasterized = " << value.degenerateLinesRasterized << '\n'; 6734 s << "\tfullyCoveredFragmentShaderInputVariable = " << value.fullyCoveredFragmentShaderInputVariable << '\n'; 6735 s << "\tconservativeRasterizationPostDepthCoverage = " << value.conservativeRasterizationPostDepthCoverage << '\n'; 6736 s << '}'; 6737 return s; 6738} 6739 6740std::ostream& operator<< (std::ostream& s, const VkCalibratedTimestampInfoKHR& value) 6741{ 6742 s << "VkCalibratedTimestampInfoKHR = {\n"; 6743 s << "\tsType = " << value.sType << '\n'; 6744 s << "\tpNext = " << value.pNext << '\n'; 6745 s << "\ttimeDomain = " << value.timeDomain << '\n'; 6746 s << '}'; 6747 return s; 6748} 6749 6750std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationConservativeStateCreateInfoEXT& value) 6751{ 6752 s << "VkPipelineRasterizationConservativeStateCreateInfoEXT = {\n"; 6753 s << "\tsType = " << value.sType << '\n'; 6754 s << "\tpNext = " << value.pNext << '\n'; 6755 s << "\tflags = " << getPipelineRasterizationConservativeStateCreateFlagsEXTStr(value.flags) << '\n'; 6756 s << "\tconservativeRasterizationMode = " << value.conservativeRasterizationMode << '\n'; 6757 s << "\textraPrimitiveOverestimationSize = " << value.extraPrimitiveOverestimationSize << '\n'; 6758 s << '}'; 6759 return s; 6760} 6761 6762std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingFeatures& value) 6763{ 6764 s << "VkPhysicalDeviceDescriptorIndexingFeatures = {\n"; 6765 s << "\tsType = " << value.sType << '\n'; 6766 s << "\tpNext = " << value.pNext << '\n'; 6767 s << "\tshaderInputAttachmentArrayDynamicIndexing = " << value.shaderInputAttachmentArrayDynamicIndexing << '\n'; 6768 s << "\tshaderUniformTexelBufferArrayDynamicIndexing = " << value.shaderUniformTexelBufferArrayDynamicIndexing << '\n'; 6769 s << "\tshaderStorageTexelBufferArrayDynamicIndexing = " << value.shaderStorageTexelBufferArrayDynamicIndexing << '\n'; 6770 s << "\tshaderUniformBufferArrayNonUniformIndexing = " << value.shaderUniformBufferArrayNonUniformIndexing << '\n'; 6771 s << "\tshaderSampledImageArrayNonUniformIndexing = " << value.shaderSampledImageArrayNonUniformIndexing << '\n'; 6772 s << "\tshaderStorageBufferArrayNonUniformIndexing = " << value.shaderStorageBufferArrayNonUniformIndexing << '\n'; 6773 s << "\tshaderStorageImageArrayNonUniformIndexing = " << value.shaderStorageImageArrayNonUniformIndexing << '\n'; 6774 s << "\tshaderInputAttachmentArrayNonUniformIndexing = " << value.shaderInputAttachmentArrayNonUniformIndexing << '\n'; 6775 s << "\tshaderUniformTexelBufferArrayNonUniformIndexing = " << value.shaderUniformTexelBufferArrayNonUniformIndexing << '\n'; 6776 s << "\tshaderStorageTexelBufferArrayNonUniformIndexing = " << value.shaderStorageTexelBufferArrayNonUniformIndexing << '\n'; 6777 s << "\tdescriptorBindingUniformBufferUpdateAfterBind = " << value.descriptorBindingUniformBufferUpdateAfterBind << '\n'; 6778 s << "\tdescriptorBindingSampledImageUpdateAfterBind = " << value.descriptorBindingSampledImageUpdateAfterBind << '\n'; 6779 s << "\tdescriptorBindingStorageImageUpdateAfterBind = " << value.descriptorBindingStorageImageUpdateAfterBind << '\n'; 6780 s << "\tdescriptorBindingStorageBufferUpdateAfterBind = " << value.descriptorBindingStorageBufferUpdateAfterBind << '\n'; 6781 s << "\tdescriptorBindingUniformTexelBufferUpdateAfterBind = " << value.descriptorBindingUniformTexelBufferUpdateAfterBind << '\n'; 6782 s << "\tdescriptorBindingStorageTexelBufferUpdateAfterBind = " << value.descriptorBindingStorageTexelBufferUpdateAfterBind << '\n'; 6783 s << "\tdescriptorBindingUpdateUnusedWhilePending = " << value.descriptorBindingUpdateUnusedWhilePending << '\n'; 6784 s << "\tdescriptorBindingPartiallyBound = " << value.descriptorBindingPartiallyBound << '\n'; 6785 s << "\tdescriptorBindingVariableDescriptorCount = " << value.descriptorBindingVariableDescriptorCount << '\n'; 6786 s << "\truntimeDescriptorArray = " << value.runtimeDescriptorArray << '\n'; 6787 s << '}'; 6788 return s; 6789} 6790 6791std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingProperties& value) 6792{ 6793 s << "VkPhysicalDeviceDescriptorIndexingProperties = {\n"; 6794 s << "\tsType = " << value.sType << '\n'; 6795 s << "\tpNext = " << value.pNext << '\n'; 6796 s << "\tmaxUpdateAfterBindDescriptorsInAllPools = " << value.maxUpdateAfterBindDescriptorsInAllPools << '\n'; 6797 s << "\tshaderUniformBufferArrayNonUniformIndexingNative = " << value.shaderUniformBufferArrayNonUniformIndexingNative << '\n'; 6798 s << "\tshaderSampledImageArrayNonUniformIndexingNative = " << value.shaderSampledImageArrayNonUniformIndexingNative << '\n'; 6799 s << "\tshaderStorageBufferArrayNonUniformIndexingNative = " << value.shaderStorageBufferArrayNonUniformIndexingNative << '\n'; 6800 s << "\tshaderStorageImageArrayNonUniformIndexingNative = " << value.shaderStorageImageArrayNonUniformIndexingNative << '\n'; 6801 s << "\tshaderInputAttachmentArrayNonUniformIndexingNative = " << value.shaderInputAttachmentArrayNonUniformIndexingNative << '\n'; 6802 s << "\trobustBufferAccessUpdateAfterBind = " << value.robustBufferAccessUpdateAfterBind << '\n'; 6803 s << "\tquadDivergentImplicitLod = " << value.quadDivergentImplicitLod << '\n'; 6804 s << "\tmaxPerStageDescriptorUpdateAfterBindSamplers = " << value.maxPerStageDescriptorUpdateAfterBindSamplers << '\n'; 6805 s << "\tmaxPerStageDescriptorUpdateAfterBindUniformBuffers = " << value.maxPerStageDescriptorUpdateAfterBindUniformBuffers << '\n'; 6806 s << "\tmaxPerStageDescriptorUpdateAfterBindStorageBuffers = " << value.maxPerStageDescriptorUpdateAfterBindStorageBuffers << '\n'; 6807 s << "\tmaxPerStageDescriptorUpdateAfterBindSampledImages = " << value.maxPerStageDescriptorUpdateAfterBindSampledImages << '\n'; 6808 s << "\tmaxPerStageDescriptorUpdateAfterBindStorageImages = " << value.maxPerStageDescriptorUpdateAfterBindStorageImages << '\n'; 6809 s << "\tmaxPerStageDescriptorUpdateAfterBindInputAttachments = " << value.maxPerStageDescriptorUpdateAfterBindInputAttachments << '\n'; 6810 s << "\tmaxPerStageUpdateAfterBindResources = " << value.maxPerStageUpdateAfterBindResources << '\n'; 6811 s << "\tmaxDescriptorSetUpdateAfterBindSamplers = " << value.maxDescriptorSetUpdateAfterBindSamplers << '\n'; 6812 s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffers = " << value.maxDescriptorSetUpdateAfterBindUniformBuffers << '\n'; 6813 s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic << '\n'; 6814 s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffers = " << value.maxDescriptorSetUpdateAfterBindStorageBuffers << '\n'; 6815 s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic << '\n'; 6816 s << "\tmaxDescriptorSetUpdateAfterBindSampledImages = " << value.maxDescriptorSetUpdateAfterBindSampledImages << '\n'; 6817 s << "\tmaxDescriptorSetUpdateAfterBindStorageImages = " << value.maxDescriptorSetUpdateAfterBindStorageImages << '\n'; 6818 s << "\tmaxDescriptorSetUpdateAfterBindInputAttachments = " << value.maxDescriptorSetUpdateAfterBindInputAttachments << '\n'; 6819 s << '}'; 6820 return s; 6821} 6822 6823std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBindingFlagsCreateInfo& value) 6824{ 6825 s << "VkDescriptorSetLayoutBindingFlagsCreateInfo = {\n"; 6826 s << "\tsType = " << value.sType << '\n'; 6827 s << "\tpNext = " << value.pNext << '\n'; 6828 s << "\tbindingCount = " << value.bindingCount << '\n'; 6829 s << "\tpBindingFlags = " << getDescriptorBindingFlagsStr(*value.pBindingFlags) << '\n'; 6830 s << '}'; 6831 return s; 6832} 6833 6834std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountAllocateInfo& value) 6835{ 6836 s << "VkDescriptorSetVariableDescriptorCountAllocateInfo = {\n"; 6837 s << "\tsType = " << value.sType << '\n'; 6838 s << "\tpNext = " << value.pNext << '\n'; 6839 s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n'; 6840 s << "\tpDescriptorCounts = " << value.pDescriptorCounts << '\n'; 6841 s << '}'; 6842 return s; 6843} 6844 6845std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountLayoutSupport& value) 6846{ 6847 s << "VkDescriptorSetVariableDescriptorCountLayoutSupport = {\n"; 6848 s << "\tsType = " << value.sType << '\n'; 6849 s << "\tpNext = " << value.pNext << '\n'; 6850 s << "\tmaxVariableDescriptorCount = " << value.maxVariableDescriptorCount << '\n'; 6851 s << '}'; 6852 return s; 6853} 6854 6855std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription2& value) 6856{ 6857 s << "VkAttachmentDescription2 = {\n"; 6858 s << "\tsType = " << value.sType << '\n'; 6859 s << "\tpNext = " << value.pNext << '\n'; 6860 s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n'; 6861 s << "\tformat = " << value.format << '\n'; 6862 s << "\tsamples = " << value.samples << '\n'; 6863 s << "\tloadOp = " << value.loadOp << '\n'; 6864 s << "\tstoreOp = " << value.storeOp << '\n'; 6865 s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n'; 6866 s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n'; 6867 s << "\tinitialLayout = " << value.initialLayout << '\n'; 6868 s << "\tfinalLayout = " << value.finalLayout << '\n'; 6869 s << '}'; 6870 return s; 6871} 6872 6873std::ostream& operator<< (std::ostream& s, const VkAttachmentReference2& value) 6874{ 6875 s << "VkAttachmentReference2 = {\n"; 6876 s << "\tsType = " << value.sType << '\n'; 6877 s << "\tpNext = " << value.pNext << '\n'; 6878 s << "\tattachment = " << value.attachment << '\n'; 6879 s << "\tlayout = " << value.layout << '\n'; 6880 s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; 6881 s << '}'; 6882 return s; 6883} 6884 6885std::ostream& operator<< (std::ostream& s, const VkSubpassDescription2& value) 6886{ 6887 s << "VkSubpassDescription2 = {\n"; 6888 s << "\tsType = " << value.sType << '\n'; 6889 s << "\tpNext = " << value.pNext << '\n'; 6890 s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n'; 6891 s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; 6892 s << "\tviewMask = " << value.viewMask << '\n'; 6893 s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n'; 6894 s << "\tpInputAttachments = " << value.pInputAttachments << '\n'; 6895 s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; 6896 s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; 6897 s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n'; 6898 s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n'; 6899 s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n'; 6900 s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n'; 6901 s << '}'; 6902 return s; 6903} 6904 6905std::ostream& operator<< (std::ostream& s, const VkSubpassDependency2& value) 6906{ 6907 s << "VkSubpassDependency2 = {\n"; 6908 s << "\tsType = " << value.sType << '\n'; 6909 s << "\tpNext = " << value.pNext << '\n'; 6910 s << "\tsrcSubpass = " << value.srcSubpass << '\n'; 6911 s << "\tdstSubpass = " << value.dstSubpass << '\n'; 6912 s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n'; 6913 s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n'; 6914 s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; 6915 s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; 6916 s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; 6917 s << "\tviewOffset = " << value.viewOffset << '\n'; 6918 s << '}'; 6919 return s; 6920} 6921 6922std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo2& value) 6923{ 6924 s << "VkRenderPassCreateInfo2 = {\n"; 6925 s << "\tsType = " << value.sType << '\n'; 6926 s << "\tpNext = " << value.pNext << '\n'; 6927 s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n'; 6928 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 6929 s << "\tpAttachments = " << value.pAttachments << '\n'; 6930 s << "\tsubpassCount = " << value.subpassCount << '\n'; 6931 s << "\tpSubpasses = " << value.pSubpasses << '\n'; 6932 s << "\tdependencyCount = " << value.dependencyCount << '\n'; 6933 s << "\tpDependencies = " << value.pDependencies << '\n'; 6934 s << "\tcorrelatedViewMaskCount = " << value.correlatedViewMaskCount << '\n'; 6935 s << "\tpCorrelatedViewMasks = " << value.pCorrelatedViewMasks << '\n'; 6936 s << '}'; 6937 return s; 6938} 6939 6940std::ostream& operator<< (std::ostream& s, const VkSubpassBeginInfo& value) 6941{ 6942 s << "VkSubpassBeginInfo = {\n"; 6943 s << "\tsType = " << value.sType << '\n'; 6944 s << "\tpNext = " << value.pNext << '\n'; 6945 s << "\tcontents = " << value.contents << '\n'; 6946 s << '}'; 6947 return s; 6948} 6949 6950std::ostream& operator<< (std::ostream& s, const VkSubpassEndInfo& value) 6951{ 6952 s << "VkSubpassEndInfo = {\n"; 6953 s << "\tsType = " << value.sType << '\n'; 6954 s << "\tpNext = " << value.pNext << '\n'; 6955 s << '}'; 6956 return s; 6957} 6958 6959std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreFeatures& value) 6960{ 6961 s << "VkPhysicalDeviceTimelineSemaphoreFeatures = {\n"; 6962 s << "\tsType = " << value.sType << '\n'; 6963 s << "\tpNext = " << value.pNext << '\n'; 6964 s << "\ttimelineSemaphore = " << value.timelineSemaphore << '\n'; 6965 s << '}'; 6966 return s; 6967} 6968 6969std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreProperties& value) 6970{ 6971 s << "VkPhysicalDeviceTimelineSemaphoreProperties = {\n"; 6972 s << "\tsType = " << value.sType << '\n'; 6973 s << "\tpNext = " << value.pNext << '\n'; 6974 s << "\tmaxTimelineSemaphoreValueDifference = " << value.maxTimelineSemaphoreValueDifference << '\n'; 6975 s << '}'; 6976 return s; 6977} 6978 6979std::ostream& operator<< (std::ostream& s, const VkSemaphoreTypeCreateInfo& value) 6980{ 6981 s << "VkSemaphoreTypeCreateInfo = {\n"; 6982 s << "\tsType = " << value.sType << '\n'; 6983 s << "\tpNext = " << value.pNext << '\n'; 6984 s << "\tsemaphoreType = " << value.semaphoreType << '\n'; 6985 s << "\tinitialValue = " << value.initialValue << '\n'; 6986 s << '}'; 6987 return s; 6988} 6989 6990std::ostream& operator<< (std::ostream& s, const VkTimelineSemaphoreSubmitInfo& value) 6991{ 6992 s << "VkTimelineSemaphoreSubmitInfo = {\n"; 6993 s << "\tsType = " << value.sType << '\n'; 6994 s << "\tpNext = " << value.pNext << '\n'; 6995 s << "\twaitSemaphoreValueCount = " << value.waitSemaphoreValueCount << '\n'; 6996 s << "\tpWaitSemaphoreValues = " << value.pWaitSemaphoreValues << '\n'; 6997 s << "\tsignalSemaphoreValueCount = " << value.signalSemaphoreValueCount << '\n'; 6998 s << "\tpSignalSemaphoreValues = " << value.pSignalSemaphoreValues << '\n'; 6999 s << '}'; 7000 return s; 7001} 7002 7003std::ostream& operator<< (std::ostream& s, const VkSemaphoreWaitInfo& value) 7004{ 7005 s << "VkSemaphoreWaitInfo = {\n"; 7006 s << "\tsType = " << value.sType << '\n'; 7007 s << "\tpNext = " << value.pNext << '\n'; 7008 s << "\tflags = " << getSemaphoreWaitFlagsStr(value.flags) << '\n'; 7009 s << "\tsemaphoreCount = " << value.semaphoreCount << '\n'; 7010 s << "\tpSemaphores = " << value.pSemaphores << '\n'; 7011 s << "\tpValues = " << value.pValues << '\n'; 7012 s << '}'; 7013 return s; 7014} 7015 7016std::ostream& operator<< (std::ostream& s, const VkSemaphoreSignalInfo& value) 7017{ 7018 s << "VkSemaphoreSignalInfo = {\n"; 7019 s << "\tsType = " << value.sType << '\n'; 7020 s << "\tpNext = " << value.pNext << '\n'; 7021 s << "\tsemaphore = " << value.semaphore << '\n'; 7022 s << "\tvalue = " << value.value << '\n'; 7023 s << '}'; 7024 return s; 7025} 7026 7027std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDivisorDescriptionKHR& value) 7028{ 7029 s << "VkVertexInputBindingDivisorDescriptionKHR = {\n"; 7030 s << "\tbinding = " << value.binding << '\n'; 7031 s << "\tdivisor = " << value.divisor << '\n'; 7032 s << '}'; 7033 return s; 7034} 7035 7036std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputDivisorStateCreateInfoKHR& value) 7037{ 7038 s << "VkPipelineVertexInputDivisorStateCreateInfoKHR = {\n"; 7039 s << "\tsType = " << value.sType << '\n'; 7040 s << "\tpNext = " << value.pNext << '\n'; 7041 s << "\tvertexBindingDivisorCount = " << value.vertexBindingDivisorCount << '\n'; 7042 s << "\tpVertexBindingDivisors = " << value.pVertexBindingDivisors << '\n'; 7043 s << '}'; 7044 return s; 7045} 7046 7047std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& value) 7048{ 7049 s << "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = {\n"; 7050 s << "\tsType = " << value.sType << '\n'; 7051 s << "\tpNext = " << value.pNext << '\n'; 7052 s << "\tmaxVertexAttribDivisor = " << value.maxVertexAttribDivisor << '\n'; 7053 s << '}'; 7054 return s; 7055} 7056 7057std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePCIBusInfoPropertiesEXT& value) 7058{ 7059 s << "VkPhysicalDevicePCIBusInfoPropertiesEXT = {\n"; 7060 s << "\tsType = " << value.sType << '\n'; 7061 s << "\tpNext = " << value.pNext << '\n'; 7062 s << "\tpciDomain = " << value.pciDomain << '\n'; 7063 s << "\tpciBus = " << value.pciBus << '\n'; 7064 s << "\tpciDevice = " << value.pciDevice << '\n'; 7065 s << "\tpciFunction = " << value.pciFunction << '\n'; 7066 s << '}'; 7067 return s; 7068} 7069 7070std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice8BitStorageFeatures& value) 7071{ 7072 s << "VkPhysicalDevice8BitStorageFeatures = {\n"; 7073 s << "\tsType = " << value.sType << '\n'; 7074 s << "\tpNext = " << value.pNext << '\n'; 7075 s << "\tstorageBuffer8BitAccess = " << value.storageBuffer8BitAccess << '\n'; 7076 s << "\tuniformAndStorageBuffer8BitAccess = " << value.uniformAndStorageBuffer8BitAccess << '\n'; 7077 s << "\tstoragePushConstant8 = " << value.storagePushConstant8 << '\n'; 7078 s << '}'; 7079 return s; 7080} 7081 7082std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkanMemoryModelFeatures& value) 7083{ 7084 s << "VkPhysicalDeviceVulkanMemoryModelFeatures = {\n"; 7085 s << "\tsType = " << value.sType << '\n'; 7086 s << "\tpNext = " << value.pNext << '\n'; 7087 s << "\tvulkanMemoryModel = " << value.vulkanMemoryModel << '\n'; 7088 s << "\tvulkanMemoryModelDeviceScope = " << value.vulkanMemoryModelDeviceScope << '\n'; 7089 s << "\tvulkanMemoryModelAvailabilityVisibilityChains = " << value.vulkanMemoryModelAvailabilityVisibilityChains << '\n'; 7090 s << '}'; 7091 return s; 7092} 7093 7094std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicInt64Features& value) 7095{ 7096 s << "VkPhysicalDeviceShaderAtomicInt64Features = {\n"; 7097 s << "\tsType = " << value.sType << '\n'; 7098 s << "\tpNext = " << value.pNext << '\n'; 7099 s << "\tshaderBufferInt64Atomics = " << value.shaderBufferInt64Atomics << '\n'; 7100 s << "\tshaderSharedInt64Atomics = " << value.shaderSharedInt64Atomics << '\n'; 7101 s << '}'; 7102 return s; 7103} 7104 7105std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& value) 7106{ 7107 s << "VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = {\n"; 7108 s << "\tsType = " << value.sType << '\n'; 7109 s << "\tpNext = " << value.pNext << '\n'; 7110 s << "\tshaderBufferFloat32Atomics = " << value.shaderBufferFloat32Atomics << '\n'; 7111 s << "\tshaderBufferFloat32AtomicAdd = " << value.shaderBufferFloat32AtomicAdd << '\n'; 7112 s << "\tshaderBufferFloat64Atomics = " << value.shaderBufferFloat64Atomics << '\n'; 7113 s << "\tshaderBufferFloat64AtomicAdd = " << value.shaderBufferFloat64AtomicAdd << '\n'; 7114 s << "\tshaderSharedFloat32Atomics = " << value.shaderSharedFloat32Atomics << '\n'; 7115 s << "\tshaderSharedFloat32AtomicAdd = " << value.shaderSharedFloat32AtomicAdd << '\n'; 7116 s << "\tshaderSharedFloat64Atomics = " << value.shaderSharedFloat64Atomics << '\n'; 7117 s << "\tshaderSharedFloat64AtomicAdd = " << value.shaderSharedFloat64AtomicAdd << '\n'; 7118 s << "\tshaderImageFloat32Atomics = " << value.shaderImageFloat32Atomics << '\n'; 7119 s << "\tshaderImageFloat32AtomicAdd = " << value.shaderImageFloat32AtomicAdd << '\n'; 7120 s << "\tsparseImageFloat32Atomics = " << value.sparseImageFloat32Atomics << '\n'; 7121 s << "\tsparseImageFloat32AtomicAdd = " << value.sparseImageFloat32AtomicAdd << '\n'; 7122 s << '}'; 7123 return s; 7124} 7125 7126std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR& value) 7127{ 7128 s << "VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR = {\n"; 7129 s << "\tsType = " << value.sType << '\n'; 7130 s << "\tpNext = " << value.pNext << '\n'; 7131 s << "\tvertexAttributeInstanceRateDivisor = " << value.vertexAttributeInstanceRateDivisor << '\n'; 7132 s << "\tvertexAttributeInstanceRateZeroDivisor = " << value.vertexAttributeInstanceRateZeroDivisor << '\n'; 7133 s << '}'; 7134 return s; 7135} 7136 7137std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointPropertiesNV& value) 7138{ 7139 s << "VkQueueFamilyCheckpointPropertiesNV = {\n"; 7140 s << "\tsType = " << value.sType << '\n'; 7141 s << "\tpNext = " << value.pNext << '\n'; 7142 s << "\tcheckpointExecutionStageMask = " << getPipelineStageFlagsStr(value.checkpointExecutionStageMask) << '\n'; 7143 s << '}'; 7144 return s; 7145} 7146 7147std::ostream& operator<< (std::ostream& s, const VkCheckpointDataNV& value) 7148{ 7149 s << "VkCheckpointDataNV = {\n"; 7150 s << "\tsType = " << value.sType << '\n'; 7151 s << "\tpNext = " << value.pNext << '\n'; 7152 s << "\tstage = " << value.stage << '\n'; 7153 s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n'; 7154 s << '}'; 7155 return s; 7156} 7157 7158std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthStencilResolveProperties& value) 7159{ 7160 s << "VkPhysicalDeviceDepthStencilResolveProperties = {\n"; 7161 s << "\tsType = " << value.sType << '\n'; 7162 s << "\tpNext = " << value.pNext << '\n'; 7163 s << "\tsupportedDepthResolveModes = " << getResolveModeFlagsStr(value.supportedDepthResolveModes) << '\n'; 7164 s << "\tsupportedStencilResolveModes = " << getResolveModeFlagsStr(value.supportedStencilResolveModes) << '\n'; 7165 s << "\tindependentResolveNone = " << value.independentResolveNone << '\n'; 7166 s << "\tindependentResolve = " << value.independentResolve << '\n'; 7167 s << '}'; 7168 return s; 7169} 7170 7171std::ostream& operator<< (std::ostream& s, const VkSubpassDescriptionDepthStencilResolve& value) 7172{ 7173 s << "VkSubpassDescriptionDepthStencilResolve = {\n"; 7174 s << "\tsType = " << value.sType << '\n'; 7175 s << "\tpNext = " << value.pNext << '\n'; 7176 s << "\tdepthResolveMode = " << value.depthResolveMode << '\n'; 7177 s << "\tstencilResolveMode = " << value.stencilResolveMode << '\n'; 7178 s << "\tpDepthStencilResolveAttachment = " << value.pDepthStencilResolveAttachment << '\n'; 7179 s << '}'; 7180 return s; 7181} 7182 7183std::ostream& operator<< (std::ostream& s, const VkImageViewASTCDecodeModeEXT& value) 7184{ 7185 s << "VkImageViewASTCDecodeModeEXT = {\n"; 7186 s << "\tsType = " << value.sType << '\n'; 7187 s << "\tpNext = " << value.pNext << '\n'; 7188 s << "\tdecodeMode = " << value.decodeMode << '\n'; 7189 s << '}'; 7190 return s; 7191} 7192 7193std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceASTCDecodeFeaturesEXT& value) 7194{ 7195 s << "VkPhysicalDeviceASTCDecodeFeaturesEXT = {\n"; 7196 s << "\tsType = " << value.sType << '\n'; 7197 s << "\tpNext = " << value.pNext << '\n'; 7198 s << "\tdecodeModeSharedExponent = " << value.decodeModeSharedExponent << '\n'; 7199 s << '}'; 7200 return s; 7201} 7202 7203std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesListEXT& value) 7204{ 7205 s << "VkDrmFormatModifierPropertiesListEXT = {\n"; 7206 s << "\tsType = " << value.sType << '\n'; 7207 s << "\tpNext = " << value.pNext << '\n'; 7208 s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n'; 7209 s << "\tpDrmFormatModifierProperties = " << value.pDrmFormatModifierProperties << '\n'; 7210 s << '}'; 7211 return s; 7212} 7213 7214std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesEXT& value) 7215{ 7216 s << "VkDrmFormatModifierPropertiesEXT = {\n"; 7217 s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; 7218 s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n'; 7219 s << "\tdrmFormatModifierTilingFeatures = " << getFormatFeatureFlagsStr(value.drmFormatModifierTilingFeatures) << '\n'; 7220 s << '}'; 7221 return s; 7222} 7223 7224std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT& value) 7225{ 7226 s << "VkPhysicalDeviceImageDrmFormatModifierInfoEXT = {\n"; 7227 s << "\tsType = " << value.sType << '\n'; 7228 s << "\tpNext = " << value.pNext << '\n'; 7229 s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; 7230 s << "\tsharingMode = " << value.sharingMode << '\n'; 7231 s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; 7232 s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; 7233 s << '}'; 7234 return s; 7235} 7236 7237std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierListCreateInfoEXT& value) 7238{ 7239 s << "VkImageDrmFormatModifierListCreateInfoEXT = {\n"; 7240 s << "\tsType = " << value.sType << '\n'; 7241 s << "\tpNext = " << value.pNext << '\n'; 7242 s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n'; 7243 s << "\tpDrmFormatModifiers = " << value.pDrmFormatModifiers << '\n'; 7244 s << '}'; 7245 return s; 7246} 7247 7248std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierExplicitCreateInfoEXT& value) 7249{ 7250 s << "VkImageDrmFormatModifierExplicitCreateInfoEXT = {\n"; 7251 s << "\tsType = " << value.sType << '\n'; 7252 s << "\tpNext = " << value.pNext << '\n'; 7253 s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; 7254 s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n'; 7255 s << "\tpPlaneLayouts = " << value.pPlaneLayouts << '\n'; 7256 s << '}'; 7257 return s; 7258} 7259 7260std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierPropertiesEXT& value) 7261{ 7262 s << "VkImageDrmFormatModifierPropertiesEXT = {\n"; 7263 s << "\tsType = " << value.sType << '\n'; 7264 s << "\tpNext = " << value.pNext << '\n'; 7265 s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; 7266 s << '}'; 7267 return s; 7268} 7269 7270std::ostream& operator<< (std::ostream& s, const VkImageStencilUsageCreateInfo& value) 7271{ 7272 s << "VkImageStencilUsageCreateInfo = {\n"; 7273 s << "\tsType = " << value.sType << '\n'; 7274 s << "\tpNext = " << value.pNext << '\n'; 7275 s << "\tstencilUsage = " << getImageUsageFlagsStr(value.stencilUsage) << '\n'; 7276 s << '}'; 7277 return s; 7278} 7279 7280std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceScalarBlockLayoutFeatures& value) 7281{ 7282 s << "VkPhysicalDeviceScalarBlockLayoutFeatures = {\n"; 7283 s << "\tsType = " << value.sType << '\n'; 7284 s << "\tpNext = " << value.pNext << '\n'; 7285 s << "\tscalarBlockLayout = " << value.scalarBlockLayout << '\n'; 7286 s << '}'; 7287 return s; 7288} 7289 7290std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures& value) 7291{ 7292 s << "VkPhysicalDeviceUniformBufferStandardLayoutFeatures = {\n"; 7293 s << "\tsType = " << value.sType << '\n'; 7294 s << "\tpNext = " << value.pNext << '\n'; 7295 s << "\tuniformBufferStandardLayout = " << value.uniformBufferStandardLayout << '\n'; 7296 s << '}'; 7297 return s; 7298} 7299 7300std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipEnableFeaturesEXT& value) 7301{ 7302 s << "VkPhysicalDeviceDepthClipEnableFeaturesEXT = {\n"; 7303 s << "\tsType = " << value.sType << '\n'; 7304 s << "\tpNext = " << value.pNext << '\n'; 7305 s << "\tdepthClipEnable = " << value.depthClipEnable << '\n'; 7306 s << '}'; 7307 return s; 7308} 7309 7310std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationDepthClipStateCreateInfoEXT& value) 7311{ 7312 s << "VkPipelineRasterizationDepthClipStateCreateInfoEXT = {\n"; 7313 s << "\tsType = " << value.sType << '\n'; 7314 s << "\tpNext = " << value.pNext << '\n'; 7315 s << "\tflags = " << getPipelineRasterizationDepthClipStateCreateFlagsEXTStr(value.flags) << '\n'; 7316 s << "\tdepthClipEnable = " << value.depthClipEnable << '\n'; 7317 s << '}'; 7318 return s; 7319} 7320 7321std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryBudgetPropertiesEXT& value) 7322{ 7323 s << "VkPhysicalDeviceMemoryBudgetPropertiesEXT = {\n"; 7324 s << "\tsType = " << value.sType << '\n'; 7325 s << "\tpNext = " << value.pNext << '\n'; 7326 s << "\theapBudget = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.heapBudget), DE_ARRAY_END(value.heapBudget)) << '\n'; 7327 s << "\theapUsage = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.heapUsage), DE_ARRAY_END(value.heapUsage)) << '\n'; 7328 s << '}'; 7329 return s; 7330} 7331 7332std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeatures& value) 7333{ 7334 s << "VkPhysicalDeviceBufferDeviceAddressFeatures = {\n"; 7335 s << "\tsType = " << value.sType << '\n'; 7336 s << "\tpNext = " << value.pNext << '\n'; 7337 s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n'; 7338 s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n'; 7339 s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n'; 7340 s << '}'; 7341 return s; 7342} 7343 7344std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressInfo& value) 7345{ 7346 s << "VkBufferDeviceAddressInfo = {\n"; 7347 s << "\tsType = " << value.sType << '\n'; 7348 s << "\tpNext = " << value.pNext << '\n'; 7349 s << "\tbuffer = " << value.buffer << '\n'; 7350 s << '}'; 7351 return s; 7352} 7353 7354std::ostream& operator<< (std::ostream& s, const VkBufferOpaqueCaptureAddressCreateInfo& value) 7355{ 7356 s << "VkBufferOpaqueCaptureAddressCreateInfo = {\n"; 7357 s << "\tsType = " << value.sType << '\n'; 7358 s << "\tpNext = " << value.pNext << '\n'; 7359 s << "\topaqueCaptureAddress = " << value.opaqueCaptureAddress << '\n'; 7360 s << '}'; 7361 return s; 7362} 7363 7364std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewImageFormatInfoEXT& value) 7365{ 7366 s << "VkPhysicalDeviceImageViewImageFormatInfoEXT = {\n"; 7367 s << "\tsType = " << value.sType << '\n'; 7368 s << "\tpNext = " << value.pNext << '\n'; 7369 s << "\timageViewType = " << value.imageViewType << '\n'; 7370 s << '}'; 7371 return s; 7372} 7373 7374std::ostream& operator<< (std::ostream& s, const VkFilterCubicImageViewImageFormatPropertiesEXT& value) 7375{ 7376 s << "VkFilterCubicImageViewImageFormatPropertiesEXT = {\n"; 7377 s << "\tsType = " << value.sType << '\n'; 7378 s << "\tpNext = " << value.pNext << '\n'; 7379 s << "\tfilterCubic = " << value.filterCubic << '\n'; 7380 s << "\tfilterCubicMinmax = " << value.filterCubicMinmax << '\n'; 7381 s << '}'; 7382 return s; 7383} 7384 7385std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImagelessFramebufferFeatures& value) 7386{ 7387 s << "VkPhysicalDeviceImagelessFramebufferFeatures = {\n"; 7388 s << "\tsType = " << value.sType << '\n'; 7389 s << "\tpNext = " << value.pNext << '\n'; 7390 s << "\timagelessFramebuffer = " << value.imagelessFramebuffer << '\n'; 7391 s << '}'; 7392 return s; 7393} 7394 7395std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentsCreateInfo& value) 7396{ 7397 s << "VkFramebufferAttachmentsCreateInfo = {\n"; 7398 s << "\tsType = " << value.sType << '\n'; 7399 s << "\tpNext = " << value.pNext << '\n'; 7400 s << "\tattachmentImageInfoCount = " << value.attachmentImageInfoCount << '\n'; 7401 s << "\tpAttachmentImageInfos = " << value.pAttachmentImageInfos << '\n'; 7402 s << '}'; 7403 return s; 7404} 7405 7406std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentImageInfo& value) 7407{ 7408 s << "VkFramebufferAttachmentImageInfo = {\n"; 7409 s << "\tsType = " << value.sType << '\n'; 7410 s << "\tpNext = " << value.pNext << '\n'; 7411 s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; 7412 s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; 7413 s << "\twidth = " << value.width << '\n'; 7414 s << "\theight = " << value.height << '\n'; 7415 s << "\tlayerCount = " << value.layerCount << '\n'; 7416 s << "\tviewFormatCount = " << value.viewFormatCount << '\n'; 7417 s << "\tpViewFormats = " << value.pViewFormats << '\n'; 7418 s << '}'; 7419 return s; 7420} 7421 7422std::ostream& operator<< (std::ostream& s, const VkRenderPassAttachmentBeginInfo& value) 7423{ 7424 s << "VkRenderPassAttachmentBeginInfo = {\n"; 7425 s << "\tsType = " << value.sType << '\n'; 7426 s << "\tpNext = " << value.pNext << '\n'; 7427 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 7428 s << "\tpAttachments = " << value.pAttachments << '\n'; 7429 s << '}'; 7430 return s; 7431} 7432 7433std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& value) 7434{ 7435 s << "VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = {\n"; 7436 s << "\tsType = " << value.sType << '\n'; 7437 s << "\tpNext = " << value.pNext << '\n'; 7438 s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n'; 7439 s << '}'; 7440 return s; 7441} 7442 7443std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value) 7444{ 7445 s << "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = {\n"; 7446 s << "\tsType = " << value.sType << '\n'; 7447 s << "\tpNext = " << value.pNext << '\n'; 7448 s << "\tycbcrImageArrays = " << value.ycbcrImageArrays << '\n'; 7449 s << '}'; 7450 return s; 7451} 7452 7453std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value) 7454{ 7455 s << "VkPhysicalDevicePerformanceQueryFeaturesKHR = {\n"; 7456 s << "\tsType = " << value.sType << '\n'; 7457 s << "\tpNext = " << value.pNext << '\n'; 7458 s << "\tperformanceCounterQueryPools = " << value.performanceCounterQueryPools << '\n'; 7459 s << "\tperformanceCounterMultipleQueryPools = " << value.performanceCounterMultipleQueryPools << '\n'; 7460 s << '}'; 7461 return s; 7462} 7463 7464std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryPropertiesKHR& value) 7465{ 7466 s << "VkPhysicalDevicePerformanceQueryPropertiesKHR = {\n"; 7467 s << "\tsType = " << value.sType << '\n'; 7468 s << "\tpNext = " << value.pNext << '\n'; 7469 s << "\tallowCommandBufferQueryCopies = " << value.allowCommandBufferQueryCopies << '\n'; 7470 s << '}'; 7471 return s; 7472} 7473 7474std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterKHR& value) 7475{ 7476 s << "VkPerformanceCounterKHR = {\n"; 7477 s << "\tsType = " << value.sType << '\n'; 7478 s << "\tpNext = " << value.pNext << '\n'; 7479 s << "\tunit = " << value.unit << '\n'; 7480 s << "\tscope = " << value.scope << '\n'; 7481 s << "\tstorage = " << value.storage << '\n'; 7482 s << "\tuuid = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.uuid)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.uuid))) << '\n'; 7483 s << '}'; 7484 return s; 7485} 7486 7487std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterDescriptionKHR& value) 7488{ 7489 s << "VkPerformanceCounterDescriptionKHR = {\n"; 7490 s << "\tsType = " << value.sType << '\n'; 7491 s << "\tpNext = " << value.pNext << '\n'; 7492 s << "\tflags = " << getPerformanceCounterDescriptionFlagsKHRStr(value.flags) << '\n'; 7493 s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.name))) << '\n'; 7494 s << "\tcategory = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.category)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.category))) << '\n'; 7495 s << "\tdescription = " << (const char*)value.description << '\n'; 7496 s << '}'; 7497 return s; 7498} 7499 7500std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceCreateInfoKHR& value) 7501{ 7502 s << "VkQueryPoolPerformanceCreateInfoKHR = {\n"; 7503 s << "\tsType = " << value.sType << '\n'; 7504 s << "\tpNext = " << value.pNext << '\n'; 7505 s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; 7506 s << "\tcounterIndexCount = " << value.counterIndexCount << '\n'; 7507 s << "\tpCounterIndices = " << value.pCounterIndices << '\n'; 7508 s << '}'; 7509 return s; 7510} 7511 7512std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterResultKHR& value) 7513{ 7514 s << "VkPerformanceCounterResultKHR = {\n"; 7515 s << "\tint32 = " << value.int32 << '\n'; 7516 s << "\tint64 = " << value.int64 << '\n'; 7517 s << "\tuint32 = " << value.uint32 << '\n'; 7518 s << "\tuint64 = " << value.uint64 << '\n'; 7519 s << "\tfloat32 = " << value.float32 << '\n'; 7520 s << "\tfloat64 = " << value.float64 << '\n'; 7521 s << '}'; 7522 return s; 7523} 7524 7525std::ostream& operator<< (std::ostream& s, const VkAcquireProfilingLockInfoKHR& value) 7526{ 7527 s << "VkAcquireProfilingLockInfoKHR = {\n"; 7528 s << "\tsType = " << value.sType << '\n'; 7529 s << "\tpNext = " << value.pNext << '\n'; 7530 s << "\tflags = " << getAcquireProfilingLockFlagsKHRStr(value.flags) << '\n'; 7531 s << "\ttimeout = " << value.timeout << '\n'; 7532 s << '}'; 7533 return s; 7534} 7535 7536std::ostream& operator<< (std::ostream& s, const VkPerformanceQuerySubmitInfoKHR& value) 7537{ 7538 s << "VkPerformanceQuerySubmitInfoKHR = {\n"; 7539 s << "\tsType = " << value.sType << '\n'; 7540 s << "\tpNext = " << value.pNext << '\n'; 7541 s << "\tcounterPassIndex = " << value.counterPassIndex << '\n'; 7542 s << '}'; 7543 return s; 7544} 7545 7546std::ostream& operator<< (std::ostream& s, const VkPerformanceQueryReservationInfoKHR& value) 7547{ 7548 s << "VkPerformanceQueryReservationInfoKHR = {\n"; 7549 s << "\tsType = " << value.sType << '\n'; 7550 s << "\tpNext = " << value.pNext << '\n'; 7551 s << "\tmaxPerformanceQueriesPerPool = " << value.maxPerformanceQueriesPerPool << '\n'; 7552 s << '}'; 7553 return s; 7554} 7555 7556std::ostream& operator<< (std::ostream& s, const VkHeadlessSurfaceCreateInfoEXT& value) 7557{ 7558 s << "VkHeadlessSurfaceCreateInfoEXT = {\n"; 7559 s << "\tsType = " << value.sType << '\n'; 7560 s << "\tpNext = " << value.pNext << '\n'; 7561 s << "\tflags = " << getHeadlessSurfaceCreateFlagsEXTStr(value.flags) << '\n'; 7562 s << '}'; 7563 return s; 7564} 7565 7566std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderClockFeaturesKHR& value) 7567{ 7568 s << "VkPhysicalDeviceShaderClockFeaturesKHR = {\n"; 7569 s << "\tsType = " << value.sType << '\n'; 7570 s << "\tpNext = " << value.pNext << '\n'; 7571 s << "\tshaderSubgroupClock = " << value.shaderSubgroupClock << '\n'; 7572 s << "\tshaderDeviceClock = " << value.shaderDeviceClock << '\n'; 7573 s << '}'; 7574 return s; 7575} 7576 7577std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIndexTypeUint8FeaturesKHR& value) 7578{ 7579 s << "VkPhysicalDeviceIndexTypeUint8FeaturesKHR = {\n"; 7580 s << "\tsType = " << value.sType << '\n'; 7581 s << "\tpNext = " << value.pNext << '\n'; 7582 s << "\tindexTypeUint8 = " << value.indexTypeUint8 << '\n'; 7583 s << '}'; 7584 return s; 7585} 7586 7587std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& value) 7588{ 7589 s << "VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = {\n"; 7590 s << "\tsType = " << value.sType << '\n'; 7591 s << "\tpNext = " << value.pNext << '\n'; 7592 s << "\tfragmentShaderSampleInterlock = " << value.fragmentShaderSampleInterlock << '\n'; 7593 s << "\tfragmentShaderPixelInterlock = " << value.fragmentShaderPixelInterlock << '\n'; 7594 s << "\tfragmentShaderShadingRateInterlock = " << value.fragmentShaderShadingRateInterlock << '\n'; 7595 s << '}'; 7596 return s; 7597} 7598 7599std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& value) 7600{ 7601 s << "VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = {\n"; 7602 s << "\tsType = " << value.sType << '\n'; 7603 s << "\tpNext = " << value.pNext << '\n'; 7604 s << "\tseparateDepthStencilLayouts = " << value.separateDepthStencilLayouts << '\n'; 7605 s << '}'; 7606 return s; 7607} 7608 7609std::ostream& operator<< (std::ostream& s, const VkAttachmentReferenceStencilLayout& value) 7610{ 7611 s << "VkAttachmentReferenceStencilLayout = {\n"; 7612 s << "\tsType = " << value.sType << '\n'; 7613 s << "\tpNext = " << value.pNext << '\n'; 7614 s << "\tstencilLayout = " << value.stencilLayout << '\n'; 7615 s << '}'; 7616 return s; 7617} 7618 7619std::ostream& operator<< (std::ostream& s, const VkAttachmentDescriptionStencilLayout& value) 7620{ 7621 s << "VkAttachmentDescriptionStencilLayout = {\n"; 7622 s << "\tsType = " << value.sType << '\n'; 7623 s << "\tpNext = " << value.pNext << '\n'; 7624 s << "\tstencilInitialLayout = " << value.stencilInitialLayout << '\n'; 7625 s << "\tstencilFinalLayout = " << value.stencilFinalLayout << '\n'; 7626 s << '}'; 7627 return s; 7628} 7629 7630std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& value) 7631{ 7632 s << "VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = {\n"; 7633 s << "\tsType = " << value.sType << '\n'; 7634 s << "\tpNext = " << value.pNext << '\n'; 7635 s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n'; 7636 s << '}'; 7637 return s; 7638} 7639 7640std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& value) 7641{ 7642 s << "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = {\n"; 7643 s << "\tsType = " << value.sType << '\n'; 7644 s << "\tpNext = " << value.pNext << '\n'; 7645 s << "\ttexelBufferAlignment = " << value.texelBufferAlignment << '\n'; 7646 s << '}'; 7647 return s; 7648} 7649 7650std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& value) 7651{ 7652 s << "VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = {\n"; 7653 s << "\tsType = " << value.sType << '\n'; 7654 s << "\tpNext = " << value.pNext << '\n'; 7655 s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n'; 7656 s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n'; 7657 s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n'; 7658 s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n'; 7659 s << '}'; 7660 return s; 7661} 7662 7663std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& value) 7664{ 7665 s << "VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = {\n"; 7666 s << "\tsType = " << value.sType << '\n'; 7667 s << "\tpNext = " << value.pNext << '\n'; 7668 s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n'; 7669 s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n'; 7670 s << '}'; 7671 return s; 7672} 7673 7674std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& value) 7675{ 7676 s << "VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = {\n"; 7677 s << "\tsType = " << value.sType << '\n'; 7678 s << "\tpNext = " << value.pNext << '\n'; 7679 s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n'; 7680 s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n'; 7681 s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n'; 7682 s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n'; 7683 s << '}'; 7684 return s; 7685} 7686 7687std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& value) 7688{ 7689 s << "VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = {\n"; 7690 s << "\tsType = " << value.sType << '\n'; 7691 s << "\tpNext = " << value.pNext << '\n'; 7692 s << "\trequiredSubgroupSize = " << value.requiredSubgroupSize << '\n'; 7693 s << '}'; 7694 return s; 7695} 7696 7697std::ostream& operator<< (std::ostream& s, const VkMemoryOpaqueCaptureAddressAllocateInfo& value) 7698{ 7699 s << "VkMemoryOpaqueCaptureAddressAllocateInfo = {\n"; 7700 s << "\tsType = " << value.sType << '\n'; 7701 s << "\tpNext = " << value.pNext << '\n'; 7702 s << "\topaqueCaptureAddress = " << value.opaqueCaptureAddress << '\n'; 7703 s << '}'; 7704 return s; 7705} 7706 7707std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOpaqueCaptureAddressInfo& value) 7708{ 7709 s << "VkDeviceMemoryOpaqueCaptureAddressInfo = {\n"; 7710 s << "\tsType = " << value.sType << '\n'; 7711 s << "\tpNext = " << value.pNext << '\n'; 7712 s << "\tmemory = " << value.memory << '\n'; 7713 s << '}'; 7714 return s; 7715} 7716 7717std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationFeaturesKHR& value) 7718{ 7719 s << "VkPhysicalDeviceLineRasterizationFeaturesKHR = {\n"; 7720 s << "\tsType = " << value.sType << '\n'; 7721 s << "\tpNext = " << value.pNext << '\n'; 7722 s << "\trectangularLines = " << value.rectangularLines << '\n'; 7723 s << "\tbresenhamLines = " << value.bresenhamLines << '\n'; 7724 s << "\tsmoothLines = " << value.smoothLines << '\n'; 7725 s << "\tstippledRectangularLines = " << value.stippledRectangularLines << '\n'; 7726 s << "\tstippledBresenhamLines = " << value.stippledBresenhamLines << '\n'; 7727 s << "\tstippledSmoothLines = " << value.stippledSmoothLines << '\n'; 7728 s << '}'; 7729 return s; 7730} 7731 7732std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationPropertiesKHR& value) 7733{ 7734 s << "VkPhysicalDeviceLineRasterizationPropertiesKHR = {\n"; 7735 s << "\tsType = " << value.sType << '\n'; 7736 s << "\tpNext = " << value.pNext << '\n'; 7737 s << "\tlineSubPixelPrecisionBits = " << value.lineSubPixelPrecisionBits << '\n'; 7738 s << '}'; 7739 return s; 7740} 7741 7742std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationLineStateCreateInfoKHR& value) 7743{ 7744 s << "VkPipelineRasterizationLineStateCreateInfoKHR = {\n"; 7745 s << "\tsType = " << value.sType << '\n'; 7746 s << "\tpNext = " << value.pNext << '\n'; 7747 s << "\tlineRasterizationMode = " << value.lineRasterizationMode << '\n'; 7748 s << "\tstippledLineEnable = " << value.stippledLineEnable << '\n'; 7749 s << "\tlineStippleFactor = " << value.lineStippleFactor << '\n'; 7750 s << "\tlineStipplePattern = " << value.lineStipplePattern << '\n'; 7751 s << '}'; 7752 return s; 7753} 7754 7755std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Features& value) 7756{ 7757 s << "VkPhysicalDeviceVulkan11Features = {\n"; 7758 s << "\tsType = " << value.sType << '\n'; 7759 s << "\tpNext = " << value.pNext << '\n'; 7760 s << "\tstorageBuffer16BitAccess = " << value.storageBuffer16BitAccess << '\n'; 7761 s << "\tuniformAndStorageBuffer16BitAccess = " << value.uniformAndStorageBuffer16BitAccess << '\n'; 7762 s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n'; 7763 s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\n'; 7764 s << "\tmultiview = " << value.multiview << '\n'; 7765 s << "\tmultiviewGeometryShader = " << value.multiviewGeometryShader << '\n'; 7766 s << "\tmultiviewTessellationShader = " << value.multiviewTessellationShader << '\n'; 7767 s << "\tvariablePointersStorageBuffer = " << value.variablePointersStorageBuffer << '\n'; 7768 s << "\tvariablePointers = " << value.variablePointers << '\n'; 7769 s << "\tprotectedMemory = " << value.protectedMemory << '\n'; 7770 s << "\tsamplerYcbcrConversion = " << value.samplerYcbcrConversion << '\n'; 7771 s << "\tshaderDrawParameters = " << value.shaderDrawParameters << '\n'; 7772 s << '}'; 7773 return s; 7774} 7775 7776std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Properties& value) 7777{ 7778 s << "VkPhysicalDeviceVulkan11Properties = {\n"; 7779 s << "\tsType = " << value.sType << '\n'; 7780 s << "\tpNext = " << value.pNext << '\n'; 7781 s << "\tdeviceUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceUUID))) << '\n'; 7782 s << "\tdriverUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.driverUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.driverUUID))) << '\n'; 7783 s << "\tdeviceLUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.deviceLUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.deviceLUID))) << '\n'; 7784 s << "\tdeviceNodeMask = " << value.deviceNodeMask << '\n'; 7785 s << "\tdeviceLUIDValid = " << value.deviceLUIDValid << '\n'; 7786 s << "\tsubgroupSize = " << value.subgroupSize << '\n'; 7787 s << "\tsubgroupSupportedStages = " << getShaderStageFlagsStr(value.subgroupSupportedStages) << '\n'; 7788 s << "\tsubgroupSupportedOperations = " << getSubgroupFeatureFlagsStr(value.subgroupSupportedOperations) << '\n'; 7789 s << "\tsubgroupQuadOperationsInAllStages = " << value.subgroupQuadOperationsInAllStages << '\n'; 7790 s << "\tpointClippingBehavior = " << value.pointClippingBehavior << '\n'; 7791 s << "\tmaxMultiviewViewCount = " << value.maxMultiviewViewCount << '\n'; 7792 s << "\tmaxMultiviewInstanceIndex = " << value.maxMultiviewInstanceIndex << '\n'; 7793 s << "\tprotectedNoFault = " << value.protectedNoFault << '\n'; 7794 s << "\tmaxPerSetDescriptors = " << value.maxPerSetDescriptors << '\n'; 7795 s << "\tmaxMemoryAllocationSize = " << value.maxMemoryAllocationSize << '\n'; 7796 s << '}'; 7797 return s; 7798} 7799 7800std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Features& value) 7801{ 7802 s << "VkPhysicalDeviceVulkan12Features = {\n"; 7803 s << "\tsType = " << value.sType << '\n'; 7804 s << "\tpNext = " << value.pNext << '\n'; 7805 s << "\tsamplerMirrorClampToEdge = " << value.samplerMirrorClampToEdge << '\n'; 7806 s << "\tdrawIndirectCount = " << value.drawIndirectCount << '\n'; 7807 s << "\tstorageBuffer8BitAccess = " << value.storageBuffer8BitAccess << '\n'; 7808 s << "\tuniformAndStorageBuffer8BitAccess = " << value.uniformAndStorageBuffer8BitAccess << '\n'; 7809 s << "\tstoragePushConstant8 = " << value.storagePushConstant8 << '\n'; 7810 s << "\tshaderBufferInt64Atomics = " << value.shaderBufferInt64Atomics << '\n'; 7811 s << "\tshaderSharedInt64Atomics = " << value.shaderSharedInt64Atomics << '\n'; 7812 s << "\tshaderFloat16 = " << value.shaderFloat16 << '\n'; 7813 s << "\tshaderInt8 = " << value.shaderInt8 << '\n'; 7814 s << "\tdescriptorIndexing = " << value.descriptorIndexing << '\n'; 7815 s << "\tshaderInputAttachmentArrayDynamicIndexing = " << value.shaderInputAttachmentArrayDynamicIndexing << '\n'; 7816 s << "\tshaderUniformTexelBufferArrayDynamicIndexing = " << value.shaderUniformTexelBufferArrayDynamicIndexing << '\n'; 7817 s << "\tshaderStorageTexelBufferArrayDynamicIndexing = " << value.shaderStorageTexelBufferArrayDynamicIndexing << '\n'; 7818 s << "\tshaderUniformBufferArrayNonUniformIndexing = " << value.shaderUniformBufferArrayNonUniformIndexing << '\n'; 7819 s << "\tshaderSampledImageArrayNonUniformIndexing = " << value.shaderSampledImageArrayNonUniformIndexing << '\n'; 7820 s << "\tshaderStorageBufferArrayNonUniformIndexing = " << value.shaderStorageBufferArrayNonUniformIndexing << '\n'; 7821 s << "\tshaderStorageImageArrayNonUniformIndexing = " << value.shaderStorageImageArrayNonUniformIndexing << '\n'; 7822 s << "\tshaderInputAttachmentArrayNonUniformIndexing = " << value.shaderInputAttachmentArrayNonUniformIndexing << '\n'; 7823 s << "\tshaderUniformTexelBufferArrayNonUniformIndexing = " << value.shaderUniformTexelBufferArrayNonUniformIndexing << '\n'; 7824 s << "\tshaderStorageTexelBufferArrayNonUniformIndexing = " << value.shaderStorageTexelBufferArrayNonUniformIndexing << '\n'; 7825 s << "\tdescriptorBindingUniformBufferUpdateAfterBind = " << value.descriptorBindingUniformBufferUpdateAfterBind << '\n'; 7826 s << "\tdescriptorBindingSampledImageUpdateAfterBind = " << value.descriptorBindingSampledImageUpdateAfterBind << '\n'; 7827 s << "\tdescriptorBindingStorageImageUpdateAfterBind = " << value.descriptorBindingStorageImageUpdateAfterBind << '\n'; 7828 s << "\tdescriptorBindingStorageBufferUpdateAfterBind = " << value.descriptorBindingStorageBufferUpdateAfterBind << '\n'; 7829 s << "\tdescriptorBindingUniformTexelBufferUpdateAfterBind = " << value.descriptorBindingUniformTexelBufferUpdateAfterBind << '\n'; 7830 s << "\tdescriptorBindingStorageTexelBufferUpdateAfterBind = " << value.descriptorBindingStorageTexelBufferUpdateAfterBind << '\n'; 7831 s << "\tdescriptorBindingUpdateUnusedWhilePending = " << value.descriptorBindingUpdateUnusedWhilePending << '\n'; 7832 s << "\tdescriptorBindingPartiallyBound = " << value.descriptorBindingPartiallyBound << '\n'; 7833 s << "\tdescriptorBindingVariableDescriptorCount = " << value.descriptorBindingVariableDescriptorCount << '\n'; 7834 s << "\truntimeDescriptorArray = " << value.runtimeDescriptorArray << '\n'; 7835 s << "\tsamplerFilterMinmax = " << value.samplerFilterMinmax << '\n'; 7836 s << "\tscalarBlockLayout = " << value.scalarBlockLayout << '\n'; 7837 s << "\timagelessFramebuffer = " << value.imagelessFramebuffer << '\n'; 7838 s << "\tuniformBufferStandardLayout = " << value.uniformBufferStandardLayout << '\n'; 7839 s << "\tshaderSubgroupExtendedTypes = " << value.shaderSubgroupExtendedTypes << '\n'; 7840 s << "\tseparateDepthStencilLayouts = " << value.separateDepthStencilLayouts << '\n'; 7841 s << "\thostQueryReset = " << value.hostQueryReset << '\n'; 7842 s << "\ttimelineSemaphore = " << value.timelineSemaphore << '\n'; 7843 s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n'; 7844 s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n'; 7845 s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n'; 7846 s << "\tvulkanMemoryModel = " << value.vulkanMemoryModel << '\n'; 7847 s << "\tvulkanMemoryModelDeviceScope = " << value.vulkanMemoryModelDeviceScope << '\n'; 7848 s << "\tvulkanMemoryModelAvailabilityVisibilityChains = " << value.vulkanMemoryModelAvailabilityVisibilityChains << '\n'; 7849 s << "\tshaderOutputViewportIndex = " << value.shaderOutputViewportIndex << '\n'; 7850 s << "\tshaderOutputLayer = " << value.shaderOutputLayer << '\n'; 7851 s << "\tsubgroupBroadcastDynamicId = " << value.subgroupBroadcastDynamicId << '\n'; 7852 s << '}'; 7853 return s; 7854} 7855 7856std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Properties& value) 7857{ 7858 s << "VkPhysicalDeviceVulkan12Properties = {\n"; 7859 s << "\tsType = " << value.sType << '\n'; 7860 s << "\tpNext = " << value.pNext << '\n'; 7861 s << "\tdriverID = " << value.driverID << '\n'; 7862 s << "\tdriverName = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverName)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverName))) << '\n'; 7863 s << "\tdriverInfo = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<char>(DE_ARRAY_BEGIN(value.driverInfo)), tcu::Format::HexIterator<char>(DE_ARRAY_END(value.driverInfo))) << '\n'; 7864 s << "\tconformanceVersion = " << value.conformanceVersion << '\n'; 7865 s << "\tdenormBehaviorIndependence = " << value.denormBehaviorIndependence << '\n'; 7866 s << "\troundingModeIndependence = " << value.roundingModeIndependence << '\n'; 7867 s << "\tshaderSignedZeroInfNanPreserveFloat16 = " << value.shaderSignedZeroInfNanPreserveFloat16 << '\n'; 7868 s << "\tshaderSignedZeroInfNanPreserveFloat32 = " << value.shaderSignedZeroInfNanPreserveFloat32 << '\n'; 7869 s << "\tshaderSignedZeroInfNanPreserveFloat64 = " << value.shaderSignedZeroInfNanPreserveFloat64 << '\n'; 7870 s << "\tshaderDenormPreserveFloat16 = " << value.shaderDenormPreserveFloat16 << '\n'; 7871 s << "\tshaderDenormPreserveFloat32 = " << value.shaderDenormPreserveFloat32 << '\n'; 7872 s << "\tshaderDenormPreserveFloat64 = " << value.shaderDenormPreserveFloat64 << '\n'; 7873 s << "\tshaderDenormFlushToZeroFloat16 = " << value.shaderDenormFlushToZeroFloat16 << '\n'; 7874 s << "\tshaderDenormFlushToZeroFloat32 = " << value.shaderDenormFlushToZeroFloat32 << '\n'; 7875 s << "\tshaderDenormFlushToZeroFloat64 = " << value.shaderDenormFlushToZeroFloat64 << '\n'; 7876 s << "\tshaderRoundingModeRTEFloat16 = " << value.shaderRoundingModeRTEFloat16 << '\n'; 7877 s << "\tshaderRoundingModeRTEFloat32 = " << value.shaderRoundingModeRTEFloat32 << '\n'; 7878 s << "\tshaderRoundingModeRTEFloat64 = " << value.shaderRoundingModeRTEFloat64 << '\n'; 7879 s << "\tshaderRoundingModeRTZFloat16 = " << value.shaderRoundingModeRTZFloat16 << '\n'; 7880 s << "\tshaderRoundingModeRTZFloat32 = " << value.shaderRoundingModeRTZFloat32 << '\n'; 7881 s << "\tshaderRoundingModeRTZFloat64 = " << value.shaderRoundingModeRTZFloat64 << '\n'; 7882 s << "\tmaxUpdateAfterBindDescriptorsInAllPools = " << value.maxUpdateAfterBindDescriptorsInAllPools << '\n'; 7883 s << "\tshaderUniformBufferArrayNonUniformIndexingNative = " << value.shaderUniformBufferArrayNonUniformIndexingNative << '\n'; 7884 s << "\tshaderSampledImageArrayNonUniformIndexingNative = " << value.shaderSampledImageArrayNonUniformIndexingNative << '\n'; 7885 s << "\tshaderStorageBufferArrayNonUniformIndexingNative = " << value.shaderStorageBufferArrayNonUniformIndexingNative << '\n'; 7886 s << "\tshaderStorageImageArrayNonUniformIndexingNative = " << value.shaderStorageImageArrayNonUniformIndexingNative << '\n'; 7887 s << "\tshaderInputAttachmentArrayNonUniformIndexingNative = " << value.shaderInputAttachmentArrayNonUniformIndexingNative << '\n'; 7888 s << "\trobustBufferAccessUpdateAfterBind = " << value.robustBufferAccessUpdateAfterBind << '\n'; 7889 s << "\tquadDivergentImplicitLod = " << value.quadDivergentImplicitLod << '\n'; 7890 s << "\tmaxPerStageDescriptorUpdateAfterBindSamplers = " << value.maxPerStageDescriptorUpdateAfterBindSamplers << '\n'; 7891 s << "\tmaxPerStageDescriptorUpdateAfterBindUniformBuffers = " << value.maxPerStageDescriptorUpdateAfterBindUniformBuffers << '\n'; 7892 s << "\tmaxPerStageDescriptorUpdateAfterBindStorageBuffers = " << value.maxPerStageDescriptorUpdateAfterBindStorageBuffers << '\n'; 7893 s << "\tmaxPerStageDescriptorUpdateAfterBindSampledImages = " << value.maxPerStageDescriptorUpdateAfterBindSampledImages << '\n'; 7894 s << "\tmaxPerStageDescriptorUpdateAfterBindStorageImages = " << value.maxPerStageDescriptorUpdateAfterBindStorageImages << '\n'; 7895 s << "\tmaxPerStageDescriptorUpdateAfterBindInputAttachments = " << value.maxPerStageDescriptorUpdateAfterBindInputAttachments << '\n'; 7896 s << "\tmaxPerStageUpdateAfterBindResources = " << value.maxPerStageUpdateAfterBindResources << '\n'; 7897 s << "\tmaxDescriptorSetUpdateAfterBindSamplers = " << value.maxDescriptorSetUpdateAfterBindSamplers << '\n'; 7898 s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffers = " << value.maxDescriptorSetUpdateAfterBindUniformBuffers << '\n'; 7899 s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic << '\n'; 7900 s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffers = " << value.maxDescriptorSetUpdateAfterBindStorageBuffers << '\n'; 7901 s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic << '\n'; 7902 s << "\tmaxDescriptorSetUpdateAfterBindSampledImages = " << value.maxDescriptorSetUpdateAfterBindSampledImages << '\n'; 7903 s << "\tmaxDescriptorSetUpdateAfterBindStorageImages = " << value.maxDescriptorSetUpdateAfterBindStorageImages << '\n'; 7904 s << "\tmaxDescriptorSetUpdateAfterBindInputAttachments = " << value.maxDescriptorSetUpdateAfterBindInputAttachments << '\n'; 7905 s << "\tsupportedDepthResolveModes = " << getResolveModeFlagsStr(value.supportedDepthResolveModes) << '\n'; 7906 s << "\tsupportedStencilResolveModes = " << getResolveModeFlagsStr(value.supportedStencilResolveModes) << '\n'; 7907 s << "\tindependentResolveNone = " << value.independentResolveNone << '\n'; 7908 s << "\tindependentResolve = " << value.independentResolve << '\n'; 7909 s << "\tfilterMinmaxSingleComponentFormats = " << value.filterMinmaxSingleComponentFormats << '\n'; 7910 s << "\tfilterMinmaxImageComponentMapping = " << value.filterMinmaxImageComponentMapping << '\n'; 7911 s << "\tmaxTimelineSemaphoreValueDifference = " << value.maxTimelineSemaphoreValueDifference << '\n'; 7912 s << "\tframebufferIntegerColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferIntegerColorSampleCounts) << '\n'; 7913 s << '}'; 7914 return s; 7915} 7916 7917std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Features& value) 7918{ 7919 s << "VkPhysicalDeviceVulkan13Features = {\n"; 7920 s << "\tsType = " << value.sType << '\n'; 7921 s << "\tpNext = " << value.pNext << '\n'; 7922 s << "\trobustImageAccess = " << value.robustImageAccess << '\n'; 7923 s << "\tinlineUniformBlock = " << value.inlineUniformBlock << '\n'; 7924 s << "\tdescriptorBindingInlineUniformBlockUpdateAfterBind = " << value.descriptorBindingInlineUniformBlockUpdateAfterBind << '\n'; 7925 s << "\tpipelineCreationCacheControl = " << value.pipelineCreationCacheControl << '\n'; 7926 s << "\tprivateData = " << value.privateData << '\n'; 7927 s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n'; 7928 s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n'; 7929 s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n'; 7930 s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n'; 7931 s << "\tsynchronization2 = " << value.synchronization2 << '\n'; 7932 s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n'; 7933 s << "\tshaderZeroInitializeWorkgroupMemory = " << value.shaderZeroInitializeWorkgroupMemory << '\n'; 7934 s << "\tdynamicRendering = " << value.dynamicRendering << '\n'; 7935 s << "\tshaderIntegerDotProduct = " << value.shaderIntegerDotProduct << '\n'; 7936 s << "\tmaintenance4 = " << value.maintenance4 << '\n'; 7937 s << '}'; 7938 return s; 7939} 7940 7941std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Properties& value) 7942{ 7943 s << "VkPhysicalDeviceVulkan13Properties = {\n"; 7944 s << "\tsType = " << value.sType << '\n'; 7945 s << "\tpNext = " << value.pNext << '\n'; 7946 s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n'; 7947 s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n'; 7948 s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n'; 7949 s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n'; 7950 s << "\tmaxInlineUniformBlockSize = " << value.maxInlineUniformBlockSize << '\n'; 7951 s << "\tmaxPerStageDescriptorInlineUniformBlocks = " << value.maxPerStageDescriptorInlineUniformBlocks << '\n'; 7952 s << "\tmaxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = " << value.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks << '\n'; 7953 s << "\tmaxDescriptorSetInlineUniformBlocks = " << value.maxDescriptorSetInlineUniformBlocks << '\n'; 7954 s << "\tmaxDescriptorSetUpdateAfterBindInlineUniformBlocks = " << value.maxDescriptorSetUpdateAfterBindInlineUniformBlocks << '\n'; 7955 s << "\tmaxInlineUniformTotalSize = " << value.maxInlineUniformTotalSize << '\n'; 7956 s << "\tintegerDotProduct8BitUnsignedAccelerated = " << value.integerDotProduct8BitUnsignedAccelerated << '\n'; 7957 s << "\tintegerDotProduct8BitSignedAccelerated = " << value.integerDotProduct8BitSignedAccelerated << '\n'; 7958 s << "\tintegerDotProduct8BitMixedSignednessAccelerated = " << value.integerDotProduct8BitMixedSignednessAccelerated << '\n'; 7959 s << "\tintegerDotProduct4x8BitPackedUnsignedAccelerated = " << value.integerDotProduct4x8BitPackedUnsignedAccelerated << '\n'; 7960 s << "\tintegerDotProduct4x8BitPackedSignedAccelerated = " << value.integerDotProduct4x8BitPackedSignedAccelerated << '\n'; 7961 s << "\tintegerDotProduct4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProduct4x8BitPackedMixedSignednessAccelerated << '\n'; 7962 s << "\tintegerDotProduct16BitUnsignedAccelerated = " << value.integerDotProduct16BitUnsignedAccelerated << '\n'; 7963 s << "\tintegerDotProduct16BitSignedAccelerated = " << value.integerDotProduct16BitSignedAccelerated << '\n'; 7964 s << "\tintegerDotProduct16BitMixedSignednessAccelerated = " << value.integerDotProduct16BitMixedSignednessAccelerated << '\n'; 7965 s << "\tintegerDotProduct32BitUnsignedAccelerated = " << value.integerDotProduct32BitUnsignedAccelerated << '\n'; 7966 s << "\tintegerDotProduct32BitSignedAccelerated = " << value.integerDotProduct32BitSignedAccelerated << '\n'; 7967 s << "\tintegerDotProduct32BitMixedSignednessAccelerated = " << value.integerDotProduct32BitMixedSignednessAccelerated << '\n'; 7968 s << "\tintegerDotProduct64BitUnsignedAccelerated = " << value.integerDotProduct64BitUnsignedAccelerated << '\n'; 7969 s << "\tintegerDotProduct64BitSignedAccelerated = " << value.integerDotProduct64BitSignedAccelerated << '\n'; 7970 s << "\tintegerDotProduct64BitMixedSignednessAccelerated = " << value.integerDotProduct64BitMixedSignednessAccelerated << '\n'; 7971 s << "\tintegerDotProductAccumulatingSaturating8BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated << '\n'; 7972 s << "\tintegerDotProductAccumulatingSaturating8BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitSignedAccelerated << '\n'; 7973 s << "\tintegerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated << '\n'; 7974 s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated << '\n'; 7975 s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated << '\n'; 7976 s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated << '\n'; 7977 s << "\tintegerDotProductAccumulatingSaturating16BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated << '\n'; 7978 s << "\tintegerDotProductAccumulatingSaturating16BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitSignedAccelerated << '\n'; 7979 s << "\tintegerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated << '\n'; 7980 s << "\tintegerDotProductAccumulatingSaturating32BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated << '\n'; 7981 s << "\tintegerDotProductAccumulatingSaturating32BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitSignedAccelerated << '\n'; 7982 s << "\tintegerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated << '\n'; 7983 s << "\tintegerDotProductAccumulatingSaturating64BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated << '\n'; 7984 s << "\tintegerDotProductAccumulatingSaturating64BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitSignedAccelerated << '\n'; 7985 s << "\tintegerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated << '\n'; 7986 s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n'; 7987 s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n'; 7988 s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n'; 7989 s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n'; 7990 s << "\tmaxBufferSize = " << value.maxBufferSize << '\n'; 7991 s << '}'; 7992 return s; 7993} 7994 7995std::ostream& operator<< (std::ostream& s, const VkFaultData& value) 7996{ 7997 s << "VkFaultData = {\n"; 7998 s << "\tsType = " << value.sType << '\n'; 7999 s << "\tpNext = " << value.pNext << '\n'; 8000 s << "\tfaultLevel = " << value.faultLevel << '\n'; 8001 s << "\tfaultType = " << value.faultType << '\n'; 8002 s << '}'; 8003 return s; 8004} 8005 8006std::ostream& operator<< (std::ostream& s, const VkFaultCallbackInfo& value) 8007{ 8008 s << "VkFaultCallbackInfo = {\n"; 8009 s << "\tsType = " << value.sType << '\n'; 8010 s << "\tpNext = " << value.pNext << '\n'; 8011 s << "\tfaultCount = " << value.faultCount << '\n'; 8012 s << "\tpFaults = " << value.pFaults << '\n'; 8013 s << "\tpfnFaultCallback = " << value.pfnFaultCallback << '\n'; 8014 s << '}'; 8015 return s; 8016} 8017 8018std::ostream& operator<< (std::ostream& s, const VkSamplerCustomBorderColorCreateInfoEXT& value) 8019{ 8020 s << "VkSamplerCustomBorderColorCreateInfoEXT = {\n"; 8021 s << "\tsType = " << value.sType << '\n'; 8022 s << "\tpNext = " << value.pNext << '\n'; 8023 s << "\tcustomBorderColor = " << value.customBorderColor << '\n'; 8024 s << "\tformat = " << value.format << '\n'; 8025 s << '}'; 8026 return s; 8027} 8028 8029std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorPropertiesEXT& value) 8030{ 8031 s << "VkPhysicalDeviceCustomBorderColorPropertiesEXT = {\n"; 8032 s << "\tsType = " << value.sType << '\n'; 8033 s << "\tpNext = " << value.pNext << '\n'; 8034 s << "\tmaxCustomBorderColorSamplers = " << value.maxCustomBorderColorSamplers << '\n'; 8035 s << '}'; 8036 return s; 8037} 8038 8039std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorFeaturesEXT& value) 8040{ 8041 s << "VkPhysicalDeviceCustomBorderColorFeaturesEXT = {\n"; 8042 s << "\tsType = " << value.sType << '\n'; 8043 s << "\tpNext = " << value.pNext << '\n'; 8044 s << "\tcustomBorderColors = " << value.customBorderColors << '\n'; 8045 s << "\tcustomBorderColorWithoutFormat = " << value.customBorderColorWithoutFormat << '\n'; 8046 s << '}'; 8047 return s; 8048} 8049 8050std::ostream& operator<< (std::ostream& s, const VkRefreshObjectKHR& value) 8051{ 8052 s << "VkRefreshObjectKHR = {\n"; 8053 s << "\tobjectType = " << value.objectType << '\n'; 8054 s << "\tobjectHandle = " << value.objectHandle << '\n'; 8055 s << "\tflags = " << getRefreshObjectFlagsKHRStr(value.flags) << '\n'; 8056 s << '}'; 8057 return s; 8058} 8059 8060std::ostream& operator<< (std::ostream& s, const VkRefreshObjectListKHR& value) 8061{ 8062 s << "VkRefreshObjectListKHR = {\n"; 8063 s << "\tsType = " << value.sType << '\n'; 8064 s << "\tpNext = " << value.pNext << '\n'; 8065 s << "\tobjectCount = " << value.objectCount << '\n'; 8066 s << "\tpObjects = " << value.pObjects << '\n'; 8067 s << '}'; 8068 return s; 8069} 8070 8071std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& value) 8072{ 8073 s << "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = {\n"; 8074 s << "\tsType = " << value.sType << '\n'; 8075 s << "\tpNext = " << value.pNext << '\n'; 8076 s << "\textendedDynamicState = " << value.extendedDynamicState << '\n'; 8077 s << '}'; 8078 return s; 8079} 8080 8081std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value) 8082{ 8083 s << "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = {\n"; 8084 s << "\tsType = " << value.sType << '\n'; 8085 s << "\tpNext = " << value.pNext << '\n'; 8086 s << "\textendedDynamicState2 = " << value.extendedDynamicState2 << '\n'; 8087 s << "\textendedDynamicState2LogicOp = " << value.extendedDynamicState2LogicOp << '\n'; 8088 s << "\textendedDynamicState2PatchControlPoints = " << value.extendedDynamicState2PatchControlPoints << '\n'; 8089 s << '}'; 8090 return s; 8091} 8092 8093std::ostream& operator<< (std::ostream& s, const VkPipelineOfflineCreateInfo& value) 8094{ 8095 s << "VkPipelineOfflineCreateInfo = {\n"; 8096 s << "\tsType = " << value.sType << '\n'; 8097 s << "\tpNext = " << value.pNext << '\n'; 8098 s << "\tpipelineIdentifier = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineIdentifier)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineIdentifier))) << '\n'; 8099 s << "\tmatchControl = " << value.matchControl << '\n'; 8100 s << "\tpoolEntrySize = " << value.poolEntrySize << '\n'; 8101 s << '}'; 8102 return s; 8103} 8104 8105std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2FeaturesEXT& value) 8106{ 8107 s << "VkPhysicalDeviceRobustness2FeaturesEXT = {\n"; 8108 s << "\tsType = " << value.sType << '\n'; 8109 s << "\tpNext = " << value.pNext << '\n'; 8110 s << "\trobustBufferAccess2 = " << value.robustBufferAccess2 << '\n'; 8111 s << "\trobustImageAccess2 = " << value.robustImageAccess2 << '\n'; 8112 s << "\tnullDescriptor = " << value.nullDescriptor << '\n'; 8113 s << '}'; 8114 return s; 8115} 8116 8117std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2PropertiesEXT& value) 8118{ 8119 s << "VkPhysicalDeviceRobustness2PropertiesEXT = {\n"; 8120 s << "\tsType = " << value.sType << '\n'; 8121 s << "\tpNext = " << value.pNext << '\n'; 8122 s << "\trobustStorageBufferAccessSizeAlignment = " << value.robustStorageBufferAccessSizeAlignment << '\n'; 8123 s << "\trobustUniformBufferAccessSizeAlignment = " << value.robustUniformBufferAccessSizeAlignment << '\n'; 8124 s << '}'; 8125 return s; 8126} 8127 8128std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageRobustnessFeaturesEXT& value) 8129{ 8130 s << "VkPhysicalDeviceImageRobustnessFeaturesEXT = {\n"; 8131 s << "\tsType = " << value.sType << '\n'; 8132 s << "\tpNext = " << value.pNext << '\n'; 8133 s << "\trobustImageAccess = " << value.robustImageAccess << '\n'; 8134 s << '}'; 8135 return s; 8136} 8137 8138std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value) 8139{ 8140 s << "VkPhysicalDevice4444FormatsFeaturesEXT = {\n"; 8141 s << "\tsType = " << value.sType << '\n'; 8142 s << "\tpNext = " << value.pNext << '\n'; 8143 s << "\tformatA4R4G4B4 = " << value.formatA4R4G4B4 << '\n'; 8144 s << "\tformatA4B4G4R4 = " << value.formatA4B4G4R4 << '\n'; 8145 s << '}'; 8146 return s; 8147} 8148 8149std::ostream& operator<< (std::ostream& s, const VkBufferCopy2KHR& value) 8150{ 8151 s << "VkBufferCopy2KHR = {\n"; 8152 s << "\tsType = " << value.sType << '\n'; 8153 s << "\tpNext = " << value.pNext << '\n'; 8154 s << "\tsrcOffset = " << value.srcOffset << '\n'; 8155 s << "\tdstOffset = " << value.dstOffset << '\n'; 8156 s << "\tsize = " << value.size << '\n'; 8157 s << '}'; 8158 return s; 8159} 8160 8161std::ostream& operator<< (std::ostream& s, const VkImageCopy2KHR& value) 8162{ 8163 s << "VkImageCopy2KHR = {\n"; 8164 s << "\tsType = " << value.sType << '\n'; 8165 s << "\tpNext = " << value.pNext << '\n'; 8166 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 8167 s << "\tsrcOffset = " << value.srcOffset << '\n'; 8168 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 8169 s << "\tdstOffset = " << value.dstOffset << '\n'; 8170 s << "\textent = " << value.extent << '\n'; 8171 s << '}'; 8172 return s; 8173} 8174 8175std::ostream& operator<< (std::ostream& s, const VkImageBlit2KHR& value) 8176{ 8177 s << "VkImageBlit2KHR = {\n"; 8178 s << "\tsType = " << value.sType << '\n'; 8179 s << "\tpNext = " << value.pNext << '\n'; 8180 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 8181 s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n'; 8182 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 8183 s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n'; 8184 s << '}'; 8185 return s; 8186} 8187 8188std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy2KHR& value) 8189{ 8190 s << "VkBufferImageCopy2KHR = {\n"; 8191 s << "\tsType = " << value.sType << '\n'; 8192 s << "\tpNext = " << value.pNext << '\n'; 8193 s << "\tbufferOffset = " << value.bufferOffset << '\n'; 8194 s << "\tbufferRowLength = " << value.bufferRowLength << '\n'; 8195 s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n'; 8196 s << "\timageSubresource = " << value.imageSubresource << '\n'; 8197 s << "\timageOffset = " << value.imageOffset << '\n'; 8198 s << "\timageExtent = " << value.imageExtent << '\n'; 8199 s << '}'; 8200 return s; 8201} 8202 8203std::ostream& operator<< (std::ostream& s, const VkImageResolve2KHR& value) 8204{ 8205 s << "VkImageResolve2KHR = {\n"; 8206 s << "\tsType = " << value.sType << '\n'; 8207 s << "\tpNext = " << value.pNext << '\n'; 8208 s << "\tsrcSubresource = " << value.srcSubresource << '\n'; 8209 s << "\tsrcOffset = " << value.srcOffset << '\n'; 8210 s << "\tdstSubresource = " << value.dstSubresource << '\n'; 8211 s << "\tdstOffset = " << value.dstOffset << '\n'; 8212 s << "\textent = " << value.extent << '\n'; 8213 s << '}'; 8214 return s; 8215} 8216 8217std::ostream& operator<< (std::ostream& s, const VkCopyBufferInfo2KHR& value) 8218{ 8219 s << "VkCopyBufferInfo2KHR = {\n"; 8220 s << "\tsType = " << value.sType << '\n'; 8221 s << "\tpNext = " << value.pNext << '\n'; 8222 s << "\tsrcBuffer = " << value.srcBuffer << '\n'; 8223 s << "\tdstBuffer = " << value.dstBuffer << '\n'; 8224 s << "\tregionCount = " << value.regionCount << '\n'; 8225 s << "\tpRegions = " << value.pRegions << '\n'; 8226 s << '}'; 8227 return s; 8228} 8229 8230std::ostream& operator<< (std::ostream& s, const VkCopyImageInfo2KHR& value) 8231{ 8232 s << "VkCopyImageInfo2KHR = {\n"; 8233 s << "\tsType = " << value.sType << '\n'; 8234 s << "\tpNext = " << value.pNext << '\n'; 8235 s << "\tsrcImage = " << value.srcImage << '\n'; 8236 s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; 8237 s << "\tdstImage = " << value.dstImage << '\n'; 8238 s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; 8239 s << "\tregionCount = " << value.regionCount << '\n'; 8240 s << "\tpRegions = " << value.pRegions << '\n'; 8241 s << '}'; 8242 return s; 8243} 8244 8245std::ostream& operator<< (std::ostream& s, const VkBlitImageInfo2KHR& value) 8246{ 8247 s << "VkBlitImageInfo2KHR = {\n"; 8248 s << "\tsType = " << value.sType << '\n'; 8249 s << "\tpNext = " << value.pNext << '\n'; 8250 s << "\tsrcImage = " << value.srcImage << '\n'; 8251 s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; 8252 s << "\tdstImage = " << value.dstImage << '\n'; 8253 s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; 8254 s << "\tregionCount = " << value.regionCount << '\n'; 8255 s << "\tpRegions = " << value.pRegions << '\n'; 8256 s << "\tfilter = " << value.filter << '\n'; 8257 s << '}'; 8258 return s; 8259} 8260 8261std::ostream& operator<< (std::ostream& s, const VkCopyBufferToImageInfo2KHR& value) 8262{ 8263 s << "VkCopyBufferToImageInfo2KHR = {\n"; 8264 s << "\tsType = " << value.sType << '\n'; 8265 s << "\tpNext = " << value.pNext << '\n'; 8266 s << "\tsrcBuffer = " << value.srcBuffer << '\n'; 8267 s << "\tdstImage = " << value.dstImage << '\n'; 8268 s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; 8269 s << "\tregionCount = " << value.regionCount << '\n'; 8270 s << "\tpRegions = " << value.pRegions << '\n'; 8271 s << '}'; 8272 return s; 8273} 8274 8275std::ostream& operator<< (std::ostream& s, const VkCopyImageToBufferInfo2KHR& value) 8276{ 8277 s << "VkCopyImageToBufferInfo2KHR = {\n"; 8278 s << "\tsType = " << value.sType << '\n'; 8279 s << "\tpNext = " << value.pNext << '\n'; 8280 s << "\tsrcImage = " << value.srcImage << '\n'; 8281 s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; 8282 s << "\tdstBuffer = " << value.dstBuffer << '\n'; 8283 s << "\tregionCount = " << value.regionCount << '\n'; 8284 s << "\tpRegions = " << value.pRegions << '\n'; 8285 s << '}'; 8286 return s; 8287} 8288 8289std::ostream& operator<< (std::ostream& s, const VkResolveImageInfo2KHR& value) 8290{ 8291 s << "VkResolveImageInfo2KHR = {\n"; 8292 s << "\tsType = " << value.sType << '\n'; 8293 s << "\tpNext = " << value.pNext << '\n'; 8294 s << "\tsrcImage = " << value.srcImage << '\n'; 8295 s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; 8296 s << "\tdstImage = " << value.dstImage << '\n'; 8297 s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; 8298 s << "\tregionCount = " << value.regionCount << '\n'; 8299 s << "\tpRegions = " << value.pRegions << '\n'; 8300 s << '}'; 8301 return s; 8302} 8303 8304std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& value) 8305{ 8306 s << "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT = {\n"; 8307 s << "\tsType = " << value.sType << '\n'; 8308 s << "\tpNext = " << value.pNext << '\n'; 8309 s << "\tshaderImageInt64Atomics = " << value.shaderImageInt64Atomics << '\n'; 8310 s << "\tsparseImageInt64Atomics = " << value.sparseImageInt64Atomics << '\n'; 8311 s << '}'; 8312 return s; 8313} 8314 8315std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value) 8316{ 8317 s << "VkFragmentShadingRateAttachmentInfoKHR = {\n"; 8318 s << "\tsType = " << value.sType << '\n'; 8319 s << "\tpNext = " << value.pNext << '\n'; 8320 s << "\tpFragmentShadingRateAttachment = " << value.pFragmentShadingRateAttachment << '\n'; 8321 s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n'; 8322 s << '}'; 8323 return s; 8324} 8325 8326std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateStateCreateInfoKHR& value) 8327{ 8328 s << "VkPipelineFragmentShadingRateStateCreateInfoKHR = {\n"; 8329 s << "\tsType = " << value.sType << '\n'; 8330 s << "\tpNext = " << value.pNext << '\n'; 8331 s << "\tfragmentSize = " << value.fragmentSize << '\n'; 8332 s << "\tcombinerOps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.combinerOps), DE_ARRAY_END(value.combinerOps)) << '\n'; 8333 s << '}'; 8334 return s; 8335} 8336 8337std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& value) 8338{ 8339 s << "VkPhysicalDeviceFragmentShadingRateFeaturesKHR = {\n"; 8340 s << "\tsType = " << value.sType << '\n'; 8341 s << "\tpNext = " << value.pNext << '\n'; 8342 s << "\tpipelineFragmentShadingRate = " << value.pipelineFragmentShadingRate << '\n'; 8343 s << "\tprimitiveFragmentShadingRate = " << value.primitiveFragmentShadingRate << '\n'; 8344 s << "\tattachmentFragmentShadingRate = " << value.attachmentFragmentShadingRate << '\n'; 8345 s << '}'; 8346 return s; 8347} 8348 8349std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& value) 8350{ 8351 s << "VkPhysicalDeviceFragmentShadingRatePropertiesKHR = {\n"; 8352 s << "\tsType = " << value.sType << '\n'; 8353 s << "\tpNext = " << value.pNext << '\n'; 8354 s << "\tminFragmentShadingRateAttachmentTexelSize = " << value.minFragmentShadingRateAttachmentTexelSize << '\n'; 8355 s << "\tmaxFragmentShadingRateAttachmentTexelSize = " << value.maxFragmentShadingRateAttachmentTexelSize << '\n'; 8356 s << "\tmaxFragmentShadingRateAttachmentTexelSizeAspectRatio = " << value.maxFragmentShadingRateAttachmentTexelSizeAspectRatio << '\n'; 8357 s << "\tprimitiveFragmentShadingRateWithMultipleViewports = " << value.primitiveFragmentShadingRateWithMultipleViewports << '\n'; 8358 s << "\tlayeredShadingRateAttachments = " << value.layeredShadingRateAttachments << '\n'; 8359 s << "\tfragmentShadingRateNonTrivialCombinerOps = " << value.fragmentShadingRateNonTrivialCombinerOps << '\n'; 8360 s << "\tmaxFragmentSize = " << value.maxFragmentSize << '\n'; 8361 s << "\tmaxFragmentSizeAspectRatio = " << value.maxFragmentSizeAspectRatio << '\n'; 8362 s << "\tmaxFragmentShadingRateCoverageSamples = " << value.maxFragmentShadingRateCoverageSamples << '\n'; 8363 s << "\tmaxFragmentShadingRateRasterizationSamples = " << value.maxFragmentShadingRateRasterizationSamples << '\n'; 8364 s << "\tfragmentShadingRateWithShaderDepthStencilWrites = " << value.fragmentShadingRateWithShaderDepthStencilWrites << '\n'; 8365 s << "\tfragmentShadingRateWithSampleMask = " << value.fragmentShadingRateWithSampleMask << '\n'; 8366 s << "\tfragmentShadingRateWithShaderSampleMask = " << value.fragmentShadingRateWithShaderSampleMask << '\n'; 8367 s << "\tfragmentShadingRateWithConservativeRasterization = " << value.fragmentShadingRateWithConservativeRasterization << '\n'; 8368 s << "\tfragmentShadingRateWithFragmentShaderInterlock = " << value.fragmentShadingRateWithFragmentShaderInterlock << '\n'; 8369 s << "\tfragmentShadingRateWithCustomSampleLocations = " << value.fragmentShadingRateWithCustomSampleLocations << '\n'; 8370 s << "\tfragmentShadingRateStrictMultiplyCombiner = " << value.fragmentShadingRateStrictMultiplyCombiner << '\n'; 8371 s << '}'; 8372 return s; 8373} 8374 8375std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateKHR& value) 8376{ 8377 s << "VkPhysicalDeviceFragmentShadingRateKHR = {\n"; 8378 s << "\tsType = " << value.sType << '\n'; 8379 s << "\tpNext = " << value.pNext << '\n'; 8380 s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n'; 8381 s << "\tfragmentSize = " << value.fragmentSize << '\n'; 8382 s << '}'; 8383 return s; 8384} 8385 8386std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR& value) 8387{ 8388 s << "VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = {\n"; 8389 s << "\tsType = " << value.sType << '\n'; 8390 s << "\tpNext = " << value.pNext << '\n'; 8391 s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n'; 8392 s << '}'; 8393 return s; 8394} 8395 8396std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value) 8397{ 8398 s << "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT = {\n"; 8399 s << "\tsType = " << value.sType << '\n'; 8400 s << "\tpNext = " << value.pNext << '\n'; 8401 s << "\tvertexInputDynamicState = " << value.vertexInputDynamicState << '\n'; 8402 s << '}'; 8403 return s; 8404} 8405 8406std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription2EXT& value) 8407{ 8408 s << "VkVertexInputBindingDescription2EXT = {\n"; 8409 s << "\tsType = " << value.sType << '\n'; 8410 s << "\tpNext = " << value.pNext << '\n'; 8411 s << "\tbinding = " << value.binding << '\n'; 8412 s << "\tstride = " << value.stride << '\n'; 8413 s << "\tinputRate = " << value.inputRate << '\n'; 8414 s << "\tdivisor = " << value.divisor << '\n'; 8415 s << '}'; 8416 return s; 8417} 8418 8419std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription2EXT& value) 8420{ 8421 s << "VkVertexInputAttributeDescription2EXT = {\n"; 8422 s << "\tsType = " << value.sType << '\n'; 8423 s << "\tpNext = " << value.pNext << '\n'; 8424 s << "\tlocation = " << value.location << '\n'; 8425 s << "\tbinding = " << value.binding << '\n'; 8426 s << "\tformat = " << value.format << '\n'; 8427 s << "\toffset = " << value.offset << '\n'; 8428 s << '}'; 8429 return s; 8430} 8431 8432std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value) 8433{ 8434 s << "VkPhysicalDeviceColorWriteEnableFeaturesEXT = {\n"; 8435 s << "\tsType = " << value.sType << '\n'; 8436 s << "\tpNext = " << value.pNext << '\n'; 8437 s << "\tcolorWriteEnable = " << value.colorWriteEnable << '\n'; 8438 s << '}'; 8439 return s; 8440} 8441 8442std::ostream& operator<< (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value) 8443{ 8444 s << "VkPipelineColorWriteCreateInfoEXT = {\n"; 8445 s << "\tsType = " << value.sType << '\n'; 8446 s << "\tpNext = " << value.pNext << '\n'; 8447 s << "\tattachmentCount = " << value.attachmentCount << '\n'; 8448 s << "\tpColorWriteEnables = " << value.pColorWriteEnables << '\n'; 8449 s << '}'; 8450 return s; 8451} 8452 8453std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier2KHR& value) 8454{ 8455 s << "VkMemoryBarrier2KHR = {\n"; 8456 s << "\tsType = " << value.sType << '\n'; 8457 s << "\tpNext = " << value.pNext << '\n'; 8458 s << "\tsrcStageMask = " << getPipelineStageFlags2Str(value.srcStageMask) << '\n'; 8459 s << "\tsrcAccessMask = " << getAccessFlags2Str(value.srcAccessMask) << '\n'; 8460 s << "\tdstStageMask = " << getPipelineStageFlags2Str(value.dstStageMask) << '\n'; 8461 s << "\tdstAccessMask = " << getAccessFlags2Str(value.dstAccessMask) << '\n'; 8462 s << '}'; 8463 return s; 8464} 8465 8466std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier2KHR& value) 8467{ 8468 s << "VkImageMemoryBarrier2KHR = {\n"; 8469 s << "\tsType = " << value.sType << '\n'; 8470 s << "\tpNext = " << value.pNext << '\n'; 8471 s << "\tsrcStageMask = " << getPipelineStageFlags2Str(value.srcStageMask) << '\n'; 8472 s << "\tsrcAccessMask = " << getAccessFlags2Str(value.srcAccessMask) << '\n'; 8473 s << "\tdstStageMask = " << getPipelineStageFlags2Str(value.dstStageMask) << '\n'; 8474 s << "\tdstAccessMask = " << getAccessFlags2Str(value.dstAccessMask) << '\n'; 8475 s << "\toldLayout = " << value.oldLayout << '\n'; 8476 s << "\tnewLayout = " << value.newLayout << '\n'; 8477 s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; 8478 s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; 8479 s << "\timage = " << value.image << '\n'; 8480 s << "\tsubresourceRange = " << value.subresourceRange << '\n'; 8481 s << '}'; 8482 return s; 8483} 8484 8485std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier2KHR& value) 8486{ 8487 s << "VkBufferMemoryBarrier2KHR = {\n"; 8488 s << "\tsType = " << value.sType << '\n'; 8489 s << "\tpNext = " << value.pNext << '\n'; 8490 s << "\tsrcStageMask = " << getPipelineStageFlags2Str(value.srcStageMask) << '\n'; 8491 s << "\tsrcAccessMask = " << getAccessFlags2Str(value.srcAccessMask) << '\n'; 8492 s << "\tdstStageMask = " << getPipelineStageFlags2Str(value.dstStageMask) << '\n'; 8493 s << "\tdstAccessMask = " << getAccessFlags2Str(value.dstAccessMask) << '\n'; 8494 s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; 8495 s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; 8496 s << "\tbuffer = " << value.buffer << '\n'; 8497 s << "\toffset = " << value.offset << '\n'; 8498 s << "\tsize = " << value.size << '\n'; 8499 s << '}'; 8500 return s; 8501} 8502 8503std::ostream& operator<< (std::ostream& s, const VkDependencyInfoKHR& value) 8504{ 8505 s << "VkDependencyInfoKHR = {\n"; 8506 s << "\tsType = " << value.sType << '\n'; 8507 s << "\tpNext = " << value.pNext << '\n'; 8508 s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; 8509 s << "\tmemoryBarrierCount = " << value.memoryBarrierCount << '\n'; 8510 s << "\tpMemoryBarriers = " << value.pMemoryBarriers << '\n'; 8511 s << "\tbufferMemoryBarrierCount = " << value.bufferMemoryBarrierCount << '\n'; 8512 s << "\tpBufferMemoryBarriers = " << value.pBufferMemoryBarriers << '\n'; 8513 s << "\timageMemoryBarrierCount = " << value.imageMemoryBarrierCount << '\n'; 8514 s << "\tpImageMemoryBarriers = " << value.pImageMemoryBarriers << '\n'; 8515 s << '}'; 8516 return s; 8517} 8518 8519std::ostream& operator<< (std::ostream& s, const VkSemaphoreSubmitInfoKHR& value) 8520{ 8521 s << "VkSemaphoreSubmitInfoKHR = {\n"; 8522 s << "\tsType = " << value.sType << '\n'; 8523 s << "\tpNext = " << value.pNext << '\n'; 8524 s << "\tsemaphore = " << value.semaphore << '\n'; 8525 s << "\tvalue = " << value.value << '\n'; 8526 s << "\tstageMask = " << getPipelineStageFlags2Str(value.stageMask) << '\n'; 8527 s << "\tdeviceIndex = " << value.deviceIndex << '\n'; 8528 s << '}'; 8529 return s; 8530} 8531 8532std::ostream& operator<< (std::ostream& s, const VkCommandBufferSubmitInfoKHR& value) 8533{ 8534 s << "VkCommandBufferSubmitInfoKHR = {\n"; 8535 s << "\tsType = " << value.sType << '\n'; 8536 s << "\tpNext = " << value.pNext << '\n'; 8537 s << "\tcommandBuffer = " << value.commandBuffer << '\n'; 8538 s << "\tdeviceMask = " << value.deviceMask << '\n'; 8539 s << '}'; 8540 return s; 8541} 8542 8543std::ostream& operator<< (std::ostream& s, const VkSubmitInfo2KHR& value) 8544{ 8545 s << "VkSubmitInfo2KHR = {\n"; 8546 s << "\tsType = " << value.sType << '\n'; 8547 s << "\tpNext = " << value.pNext << '\n'; 8548 s << "\tflags = " << getSubmitFlagsStr(value.flags) << '\n'; 8549 s << "\twaitSemaphoreInfoCount = " << value.waitSemaphoreInfoCount << '\n'; 8550 s << "\tpWaitSemaphoreInfos = " << value.pWaitSemaphoreInfos << '\n'; 8551 s << "\tcommandBufferInfoCount = " << value.commandBufferInfoCount << '\n'; 8552 s << "\tpCommandBufferInfos = " << value.pCommandBufferInfos << '\n'; 8553 s << "\tsignalSemaphoreInfoCount = " << value.signalSemaphoreInfoCount << '\n'; 8554 s << "\tpSignalSemaphoreInfos = " << value.pSignalSemaphoreInfos << '\n'; 8555 s << '}'; 8556 return s; 8557} 8558 8559std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value) 8560{ 8561 s << "VkQueueFamilyCheckpointProperties2NV = {\n"; 8562 s << "\tsType = " << value.sType << '\n'; 8563 s << "\tpNext = " << value.pNext << '\n'; 8564 s << "\tcheckpointExecutionStageMask = " << getPipelineStageFlags2Str(value.checkpointExecutionStageMask) << '\n'; 8565 s << '}'; 8566 return s; 8567} 8568 8569std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value) 8570{ 8571 s << "VkCheckpointData2NV = {\n"; 8572 s << "\tsType = " << value.sType << '\n'; 8573 s << "\tpNext = " << value.pNext << '\n'; 8574 s << "\tstage = " << getPipelineStageFlags2Str(value.stage) << '\n'; 8575 s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n'; 8576 s << '}'; 8577 return s; 8578} 8579 8580std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSynchronization2FeaturesKHR& value) 8581{ 8582 s << "VkPhysicalDeviceSynchronization2FeaturesKHR = {\n"; 8583 s << "\tsType = " << value.sType << '\n'; 8584 s << "\tpNext = " << value.pNext << '\n'; 8585 s << "\tsynchronization2 = " << value.synchronization2 << '\n'; 8586 s << '}'; 8587 return s; 8588} 8589 8590std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkanSC10Properties& value) 8591{ 8592 s << "VkPhysicalDeviceVulkanSC10Properties = {\n"; 8593 s << "\tsType = " << value.sType << '\n'; 8594 s << "\tpNext = " << value.pNext << '\n'; 8595 s << "\tdeviceNoDynamicHostAllocations = " << value.deviceNoDynamicHostAllocations << '\n'; 8596 s << "\tdeviceDestroyFreesMemory = " << value.deviceDestroyFreesMemory << '\n'; 8597 s << "\tcommandPoolMultipleCommandBuffersRecording = " << value.commandPoolMultipleCommandBuffersRecording << '\n'; 8598 s << "\tcommandPoolResetCommandBuffer = " << value.commandPoolResetCommandBuffer << '\n'; 8599 s << "\tcommandBufferSimultaneousUse = " << value.commandBufferSimultaneousUse << '\n'; 8600 s << "\tsecondaryCommandBufferNullOrImagelessFramebuffer = " << value.secondaryCommandBufferNullOrImagelessFramebuffer << '\n'; 8601 s << "\trecycleDescriptorSetMemory = " << value.recycleDescriptorSetMemory << '\n'; 8602 s << "\trecyclePipelineMemory = " << value.recyclePipelineMemory << '\n'; 8603 s << "\tmaxRenderPassSubpasses = " << value.maxRenderPassSubpasses << '\n'; 8604 s << "\tmaxRenderPassDependencies = " << value.maxRenderPassDependencies << '\n'; 8605 s << "\tmaxSubpassInputAttachments = " << value.maxSubpassInputAttachments << '\n'; 8606 s << "\tmaxSubpassPreserveAttachments = " << value.maxSubpassPreserveAttachments << '\n'; 8607 s << "\tmaxFramebufferAttachments = " << value.maxFramebufferAttachments << '\n'; 8608 s << "\tmaxDescriptorSetLayoutBindings = " << value.maxDescriptorSetLayoutBindings << '\n'; 8609 s << "\tmaxQueryFaultCount = " << value.maxQueryFaultCount << '\n'; 8610 s << "\tmaxCallbackFaultCount = " << value.maxCallbackFaultCount << '\n'; 8611 s << "\tmaxCommandPoolCommandBuffers = " << value.maxCommandPoolCommandBuffers << '\n'; 8612 s << "\tmaxCommandBufferSize = " << value.maxCommandBufferSize << '\n'; 8613 s << '}'; 8614 return s; 8615} 8616 8617std::ostream& operator<< (std::ostream& s, const VkPipelinePoolSize& value) 8618{ 8619 s << "VkPipelinePoolSize = {\n"; 8620 s << "\tsType = " << value.sType << '\n'; 8621 s << "\tpNext = " << value.pNext << '\n'; 8622 s << "\tpoolEntrySize = " << value.poolEntrySize << '\n'; 8623 s << "\tpoolEntryCount = " << value.poolEntryCount << '\n'; 8624 s << '}'; 8625 return s; 8626} 8627 8628std::ostream& operator<< (std::ostream& s, const VkDeviceObjectReservationCreateInfo& value) 8629{ 8630 s << "VkDeviceObjectReservationCreateInfo = {\n"; 8631 s << "\tsType = " << value.sType << '\n'; 8632 s << "\tpNext = " << value.pNext << '\n'; 8633 s << "\tpipelineCacheCreateInfoCount = " << value.pipelineCacheCreateInfoCount << '\n'; 8634 s << "\tpPipelineCacheCreateInfos = " << value.pPipelineCacheCreateInfos << '\n'; 8635 s << "\tpipelinePoolSizeCount = " << value.pipelinePoolSizeCount << '\n'; 8636 s << "\tpPipelinePoolSizes = " << value.pPipelinePoolSizes << '\n'; 8637 s << "\tsemaphoreRequestCount = " << value.semaphoreRequestCount << '\n'; 8638 s << "\tcommandBufferRequestCount = " << value.commandBufferRequestCount << '\n'; 8639 s << "\tfenceRequestCount = " << value.fenceRequestCount << '\n'; 8640 s << "\tdeviceMemoryRequestCount = " << value.deviceMemoryRequestCount << '\n'; 8641 s << "\tbufferRequestCount = " << value.bufferRequestCount << '\n'; 8642 s << "\timageRequestCount = " << value.imageRequestCount << '\n'; 8643 s << "\teventRequestCount = " << value.eventRequestCount << '\n'; 8644 s << "\tqueryPoolRequestCount = " << value.queryPoolRequestCount << '\n'; 8645 s << "\tbufferViewRequestCount = " << value.bufferViewRequestCount << '\n'; 8646 s << "\timageViewRequestCount = " << value.imageViewRequestCount << '\n'; 8647 s << "\tlayeredImageViewRequestCount = " << value.layeredImageViewRequestCount << '\n'; 8648 s << "\tpipelineCacheRequestCount = " << value.pipelineCacheRequestCount << '\n'; 8649 s << "\tpipelineLayoutRequestCount = " << value.pipelineLayoutRequestCount << '\n'; 8650 s << "\trenderPassRequestCount = " << value.renderPassRequestCount << '\n'; 8651 s << "\tgraphicsPipelineRequestCount = " << value.graphicsPipelineRequestCount << '\n'; 8652 s << "\tcomputePipelineRequestCount = " << value.computePipelineRequestCount << '\n'; 8653 s << "\tdescriptorSetLayoutRequestCount = " << value.descriptorSetLayoutRequestCount << '\n'; 8654 s << "\tsamplerRequestCount = " << value.samplerRequestCount << '\n'; 8655 s << "\tdescriptorPoolRequestCount = " << value.descriptorPoolRequestCount << '\n'; 8656 s << "\tdescriptorSetRequestCount = " << value.descriptorSetRequestCount << '\n'; 8657 s << "\tframebufferRequestCount = " << value.framebufferRequestCount << '\n'; 8658 s << "\tcommandPoolRequestCount = " << value.commandPoolRequestCount << '\n'; 8659 s << "\tsamplerYcbcrConversionRequestCount = " << value.samplerYcbcrConversionRequestCount << '\n'; 8660 s << "\tsurfaceRequestCount = " << value.surfaceRequestCount << '\n'; 8661 s << "\tswapchainRequestCount = " << value.swapchainRequestCount << '\n'; 8662 s << "\tdisplayModeRequestCount = " << value.displayModeRequestCount << '\n'; 8663 s << "\tsubpassDescriptionRequestCount = " << value.subpassDescriptionRequestCount << '\n'; 8664 s << "\tattachmentDescriptionRequestCount = " << value.attachmentDescriptionRequestCount << '\n'; 8665 s << "\tdescriptorSetLayoutBindingRequestCount = " << value.descriptorSetLayoutBindingRequestCount << '\n'; 8666 s << "\tdescriptorSetLayoutBindingLimit = " << value.descriptorSetLayoutBindingLimit << '\n'; 8667 s << "\tmaxImageViewMipLevels = " << value.maxImageViewMipLevels << '\n'; 8668 s << "\tmaxImageViewArrayLayers = " << value.maxImageViewArrayLayers << '\n'; 8669 s << "\tmaxLayeredImageViewMipLevels = " << value.maxLayeredImageViewMipLevels << '\n'; 8670 s << "\tmaxOcclusionQueriesPerPool = " << value.maxOcclusionQueriesPerPool << '\n'; 8671 s << "\tmaxPipelineStatisticsQueriesPerPool = " << value.maxPipelineStatisticsQueriesPerPool << '\n'; 8672 s << "\tmaxTimestampQueriesPerPool = " << value.maxTimestampQueriesPerPool << '\n'; 8673 s << "\tmaxImmutableSamplersPerDescriptorSetLayout = " << value.maxImmutableSamplersPerDescriptorSetLayout << '\n'; 8674 s << '}'; 8675 return s; 8676} 8677 8678std::ostream& operator<< (std::ostream& s, const VkCommandPoolMemoryReservationCreateInfo& value) 8679{ 8680 s << "VkCommandPoolMemoryReservationCreateInfo = {\n"; 8681 s << "\tsType = " << value.sType << '\n'; 8682 s << "\tpNext = " << value.pNext << '\n'; 8683 s << "\tcommandPoolReservedSize = " << value.commandPoolReservedSize << '\n'; 8684 s << "\tcommandPoolMaxCommandBuffers = " << value.commandPoolMaxCommandBuffers << '\n'; 8685 s << '}'; 8686 return s; 8687} 8688 8689std::ostream& operator<< (std::ostream& s, const VkCommandPoolMemoryConsumption& value) 8690{ 8691 s << "VkCommandPoolMemoryConsumption = {\n"; 8692 s << "\tsType = " << value.sType << '\n'; 8693 s << "\tpNext = " << value.pNext << '\n'; 8694 s << "\tcommandPoolAllocated = " << value.commandPoolAllocated << '\n'; 8695 s << "\tcommandPoolReservedSize = " << value.commandPoolReservedSize << '\n'; 8696 s << "\tcommandBufferAllocated = " << value.commandBufferAllocated << '\n'; 8697 s << '}'; 8698 return s; 8699} 8700 8701std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkanSC10Features& value) 8702{ 8703 s << "VkPhysicalDeviceVulkanSC10Features = {\n"; 8704 s << "\tsType = " << value.sType << '\n'; 8705 s << "\tpNext = " << value.pNext << '\n'; 8706 s << "\tshaderAtomicInstructions = " << value.shaderAtomicInstructions << '\n'; 8707 s << '}'; 8708 return s; 8709} 8710 8711std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& value) 8712{ 8713 s << "VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = {\n"; 8714 s << "\tsType = " << value.sType << '\n'; 8715 s << "\tpNext = " << value.pNext << '\n'; 8716 s << "\tycbcr2plane444Formats = " << value.ycbcr2plane444Formats << '\n'; 8717 s << '}'; 8718 return s; 8719} 8720 8721std::ostream& operator<< (std::ostream& s, const VkFormatProperties3KHR& value) 8722{ 8723 s << "VkFormatProperties3KHR = {\n"; 8724 s << "\tsType = " << value.sType << '\n'; 8725 s << "\tpNext = " << value.pNext << '\n'; 8726 s << "\tlinearTilingFeatures = " << getFormatFeatureFlags2Str(value.linearTilingFeatures) << '\n'; 8727 s << "\toptimalTilingFeatures = " << getFormatFeatureFlags2Str(value.optimalTilingFeatures) << '\n'; 8728 s << "\tbufferFeatures = " << getFormatFeatureFlags2Str(value.bufferFeatures) << '\n'; 8729 s << '}'; 8730 return s; 8731} 8732 8733std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesList2EXT& value) 8734{ 8735 s << "VkDrmFormatModifierPropertiesList2EXT = {\n"; 8736 s << "\tsType = " << value.sType << '\n'; 8737 s << "\tpNext = " << value.pNext << '\n'; 8738 s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n'; 8739 s << "\tpDrmFormatModifierProperties = " << value.pDrmFormatModifierProperties << '\n'; 8740 s << '}'; 8741 return s; 8742} 8743 8744std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierProperties2EXT& value) 8745{ 8746 s << "VkDrmFormatModifierProperties2EXT = {\n"; 8747 s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; 8748 s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n'; 8749 s << "\tdrmFormatModifierTilingFeatures = " << getFormatFeatureFlags2Str(value.drmFormatModifierTilingFeatures) << '\n'; 8750 s << '}'; 8751 return s; 8752} 8753 8754std::ostream& operator<< (std::ostream& s, const VkImportScreenBufferInfoQNX& value) 8755{ 8756 s << "VkImportScreenBufferInfoQNX = {\n"; 8757 s << "\tsType = " << value.sType << '\n'; 8758 s << "\tpNext = " << value.pNext << '\n'; 8759 s << "\tbuffer = " << value.buffer << '\n'; 8760 s << '}'; 8761 return s; 8762} 8763 8764std::ostream& operator<< (std::ostream& s, const VkScreenBufferPropertiesQNX& value) 8765{ 8766 s << "VkScreenBufferPropertiesQNX = {\n"; 8767 s << "\tsType = " << value.sType << '\n'; 8768 s << "\tpNext = " << value.pNext << '\n'; 8769 s << "\tallocationSize = " << value.allocationSize << '\n'; 8770 s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; 8771 s << '}'; 8772 return s; 8773} 8774 8775std::ostream& operator<< (std::ostream& s, const VkScreenBufferFormatPropertiesQNX& value) 8776{ 8777 s << "VkScreenBufferFormatPropertiesQNX = {\n"; 8778 s << "\tsType = " << value.sType << '\n'; 8779 s << "\tpNext = " << value.pNext << '\n'; 8780 s << "\tformat = " << value.format << '\n'; 8781 s << "\texternalFormat = " << value.externalFormat << '\n'; 8782 s << "\tscreenUsage = " << value.screenUsage << '\n'; 8783 s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n'; 8784 s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n'; 8785 s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n'; 8786 s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n'; 8787 s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n'; 8788 s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n'; 8789 s << '}'; 8790 return s; 8791} 8792 8793std::ostream& operator<< (std::ostream& s, const VkExternalFormatQNX& value) 8794{ 8795 s << "VkExternalFormatQNX = {\n"; 8796 s << "\tsType = " << value.sType << '\n'; 8797 s << "\tpNext = " << value.pNext << '\n'; 8798 s << "\texternalFormat = " << value.externalFormat << '\n'; 8799 s << '}'; 8800 return s; 8801} 8802 8803std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX& value) 8804{ 8805 s << "VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX = {\n"; 8806 s << "\tsType = " << value.sType << '\n'; 8807 s << "\tpNext = " << value.pNext << '\n'; 8808 s << "\tscreenBufferImport = " << value.screenBufferImport << '\n'; 8809 s << '}'; 8810 return s; 8811} 8812