[{"data":1,"prerenderedAt":7143},["ShallowReactive",2],{"$flTTP1ACxoY3JWxDGBY-XekRsZsxpvIpMBaq215gW9ag":3,"$fGGa3jm2fyiZgwLdx4RmmiEvaouuONKLYoKH9T7IQulI":271,"$fbIZZjEMMaCfbdCK8a1CcyNqgXXi6DqmU73tUcZqRNCM":1886},[4,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,237,241,244,247,250,253,256,259,262,265,268],{"index":5,"title":6,"id":7,"appendix":8},0,"Preamble","preamble",false,{"index":10,"title":11,"id":12,"appendix":8},1,"Introduction","introduction",{"index":14,"title":15,"id":16,"appendix":8},2,"Fundamentals","fundamentals",{"index":18,"title":19,"id":20,"appendix":8},3,"Initialization","initialization",{"index":22,"title":23,"id":24,"appendix":8},4,"Devices and Queues","devsandqueues",{"index":26,"title":27,"id":28,"appendix":8},5,"Command Buffers","commandbuffers",{"index":30,"title":31,"id":32,"appendix":8},6,"Synchronization and Cache Control","synchronization",{"index":34,"title":35,"id":36,"appendix":8},7,"Render Pass","renderpass",{"index":38,"title":39,"id":40,"appendix":8},8,"Shaders","shaders",{"index":42,"title":43,"id":44,"appendix":8},9,"Pipelines","pipelines",{"index":46,"title":47,"id":48,"appendix":8},10,"Memory Allocation","memory",{"index":50,"title":51,"id":52,"appendix":8},11,"Resource Creation","resources",{"index":54,"title":55,"id":56,"appendix":8},12,"Images","images",{"index":58,"title":59,"id":60,"appendix":8},13,"Samplers","samplers",{"index":62,"title":63,"id":64,"appendix":8},14,"Resource Descriptors","descriptors",{"index":66,"title":67,"id":68,"appendix":8},15,"Descriptor Heaps","descriptorheaps",{"index":70,"title":71,"id":72,"appendix":8},16,"Descriptor Sets","descriptors-sets",{"index":74,"title":75,"id":76,"appendix":8},17,"Descriptor Buffers","descriptorbuffers",{"index":78,"title":79,"id":80,"appendix":8},18,"Shader Interfaces","interfaces",{"index":82,"title":83,"id":84,"appendix":8},19,"Sampling","textures",{"index":86,"title":87,"id":88,"appendix":8},20,"Fragment Density Map Operations","fragmentdensitymapops",{"index":90,"title":91,"id":92,"appendix":8},21,"Tensor Operations","tensors",{"index":94,"title":95,"id":96,"appendix":8},22,"Queries","queries",{"index":98,"title":99,"id":100,"appendix":8},23,"Clear Commands","clears",{"index":102,"title":103,"id":104,"appendix":8},24,"Copy Commands","copies",{"index":106,"title":107,"id":108,"appendix":8},25,"Drawing Commands","drawing",{"index":110,"title":111,"id":112,"appendix":8},26,"Fixed-Function Vertex Processing","fxvertex",{"index":114,"title":115,"id":116,"appendix":8},27,"Tessellation","tessellation",{"index":118,"title":119,"id":120,"appendix":8},28,"Geometry Shading","geometry",{"index":122,"title":123,"id":124,"appendix":8},29,"Mesh Shading","mesh",{"index":126,"title":127,"id":128,"appendix":8},30,"Cluster Culling Shading","cluster-culling",{"index":130,"title":131,"id":132,"appendix":8},31,"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":134,"title":135,"id":136,"appendix":8},32,"Rasterization","primsrast",{"index":138,"title":139,"id":140,"appendix":8},33,"Fragment Operations","fragops",{"index":142,"title":143,"id":144,"appendix":8},34,"The Framebuffer","framebuffer",{"index":146,"title":147,"id":148,"appendix":8},35,"Dispatching Commands","dispatch",{"index":150,"title":151,"id":152,"appendix":8},36,"Device-Generated Commands","device-generated-commands",{"index":154,"title":155,"id":156,"appendix":8},37,"Sparse Resources","sparsememory",{"index":158,"title":159,"id":160,"appendix":8},38,"Window System Integration (WSI)","wsi",{"index":162,"title":163,"id":164,"appendix":8},39,"Deferred Host Operations","deferred-host-operations",{"index":166,"title":167,"id":168,"appendix":8},40,"Private Data","private-data",{"index":170,"title":171,"id":172,"appendix":8},41,"Acceleration Structures","acceleration-structure",{"index":174,"title":175,"id":176,"appendix":8},42,"Compressed triangle data","compressed-triangle-data",{"index":178,"title":179,"id":180,"appendix":8},43,"Micromap","micromap",{"index":182,"title":183,"id":184,"appendix":8},44,"Ray Traversal","ray-traversal",{"index":186,"title":187,"id":188,"appendix":8},45,"Ray Tracing","ray-tracing",{"index":190,"title":191,"id":192,"appendix":8},46,"Memory Decompression","memory-decompression",{"index":194,"title":195,"id":196,"appendix":8},47,"Video Coding","video-coding",{"index":198,"title":199,"id":200,"appendix":8},48,"Optical Flow","opticalflow",{"index":202,"title":203,"id":204,"appendix":8},49,"Execution Graphs","executiongraphs",{"index":206,"title":207,"id":208,"appendix":8},50,"External Compute Queues","external-compute-queues",{"index":210,"title":211,"id":212,"appendix":8},51,"Data graphs","graphs",{"index":214,"title":215,"id":216,"appendix":8},52,"Extending Vulkan","extendingvulkan",{"index":218,"title":219,"id":220,"appendix":8},53,"Features","features",{"index":222,"title":223,"id":224,"appendix":8},54,"Limits","limits",{"index":226,"title":227,"id":228,"appendix":8},55,"Formats","formats",{"index":230,"title":231,"id":232,"appendix":8},56,"Additional Capabilities","capabilities",{"index":234,"title":235,"id":236,"appendix":8},57,"Debugging","debugging",{"index":5,"title":238,"id":239,"appendix":240},"Vulkan Environment for SPIR-V","spirvenv",true,{"index":10,"title":242,"id":243,"appendix":240},"Memory Model","memory-model",{"index":14,"title":245,"id":246,"appendix":240},"Compressed Image Formats","compressed_image_formats",{"index":18,"title":248,"id":249,"appendix":240},"Core Revisions (Informative)","versions",{"index":22,"title":251,"id":252,"appendix":240},"Layers & Extensions (Informative)","extensions",{"index":26,"title":254,"id":255,"appendix":240},"Vulkan Roadmap Milestones","roadmap",{"index":30,"title":257,"id":258,"appendix":240},"Legacy and Superseded Functionality","legacy",{"index":34,"title":260,"id":261,"appendix":240},"API Boilerplate","boilerplate",{"index":38,"title":263,"id":264,"appendix":240},"Invariance","invariance",{"index":42,"title":266,"id":267,"appendix":240},"Lexicon","lexicon",{"index":46,"title":269,"id":270,"appendix":240},"Credits (Informative)","credits",[272,280,285,290,295,298,303,306,309,312,316,320,323,326,329,331,333,336,339,343,345,349,351,354,356,359,367,371,377,381,384,389,393,397,401,403,407,410,414,419,426,432,434,438,444,447,451,456,460,464,468,472,475,478,481,487,490,493,497,501,506,510,513,515,520,523,528,534,538,542,546,549,555,558,562,565,569,572,576,579,583,587,590,595,600,603,606,611,614,618,623,628,632,636,640,644,649,653,657,660,663,667,670,673,676,680,685,689,692,696,701,705,710,713,717,720,725,729,733,736,740,745,748,753,757,760,763,767,771,775,780,784,787,792,796,801,805,808,812,816,820,823,825,830,834,838,841,844,847,850,853,856,859,862,865,868,871,875,879,882,885,888,891,894,897,900,903,907,911,916,919,924,927,930,933,936,938,942,947,951,955,959,961,965,968,971,978,982,986,990,996,998,1002,1006,1009,1012,1016,1021,1026,1032,1036,1038,1042,1045,1050,1054,1059,1063,1067,1069,1072,1075,1077,1081,1084,1087,1091,1096,1100,1104,1106,1111,1115,1119,1122,1126,1128,1130,1133,1135,1138,1141,1145,1149,1151,1155,1158,1162,1165,1167,1170,1174,1176,1180,1183,1186,1189,1193,1196,1199,1201,1204,1206,1209,1213,1216,1218,1221,1223,1225,1227,1230,1234,1237,1240,1244,1248,1251,1254,1256,1259,1261,1263,1267,1271,1274,1277,1281,1284,1289,1294,1296,1300,1304,1307,1311,1314,1316,1320,1324,1326,1328,1333,1336,1340,1344,1347,1350,1353,1356,1359,1361,1364,1368,1371,1374,1378,1381,1385,1389,1392,1395,1398,1401,1404,1408,1411,1414,1416,1418,1423,1424,1427,1431,1434,1437,1440,1443,1446,1448,1452,1455,1458,1461,1465,1469,1471,1473,1476,1480,1482,1486,1489,1491,1494,1498,1502,1504,1508,1511,1514,1517,1520,1524,1529,1534,1538,1544,1548,1550,1554,1558,1561,1564,1568,1572,1576,1579,1582,1585,1589,1591,1596,1600,1602,1608,1611,1614,1617,1621,1624,1628,1633,1636,1639,1642,1643,1646,1648,1651,1653,1655,1658,1661,1664,1667,1670,1673,1675,1679,1683,1687,1691,1694,1697,1701,1704,1708,1712,1716,1718,1722,1726,1730,1733,1736,1739,1742,1745,1748,1751,1754,1757,1760,1763,1766,1769,1772,1775,1780,1783,1786,1789,1792,1796,1799,1803,1807,1810,1813,1816,1819,1822,1825,1829,1834,1837,1840,1843,1849,1853,1857,1861,1866,1870,1874,1877,1881],{"number":273,"type":274,"author":275,"provisional":240,"depends":276,"platform":277,"contact":278,"extension":279,"proposal":240},479,"device","AMD","VK_KHR_acceleration_structure+(VK_KHR_maintenance5,VK_VERSION_1_4)","provisional","Stu Smith @stu-s","VK_AMDX_dense_geometry_format",{"number":281,"type":274,"author":275,"provisional":240,"depends":282,"platform":277,"contact":283,"extension":284,"proposal":240},135,"((VK_KHR_synchronization2+VK_KHR_spirv_1_4+VK_EXT_extended_dynamic_state),VK_VERSION_1_3)+VK_KHR_maintenance5+VK_KHR_pipeline_library","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":286,"type":274,"author":275,"provisional":8,"depends":287,"contact":288,"extension":289,"proposal":240},477,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Stu Smith","VK_AMD_anti_lag",{"number":291,"type":274,"author":275,"provisional":8,"specialuse":292,"contact":293,"extension":294,"proposal":8},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":296,"type":274,"author":275,"provisional":8,"depends":287,"contact":283,"extension":297,"proposal":8},230,"VK_AMD_device_coherent_memory",{"number":299,"type":274,"author":275,"provisional":8,"depends":300,"contact":301,"extension":302,"proposal":8},214,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain","Matthaeus G. Chajdas @anteru","VK_AMD_display_native_hdr",{"number":142,"type":274,"author":275,"promotedto":304,"provisional":8,"contact":293,"extension":305,"proposal":8},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":110,"type":274,"author":275,"provisional":8,"contact":307,"extension":308,"proposal":8},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":154,"type":274,"author":275,"deprecatedby":310,"provisional":8,"contact":307,"extension":311,"proposal":8},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":313,"type":274,"author":275,"deprecatedby":310,"provisional":8,"contact":314,"extension":315,"proposal":8},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":317,"type":274,"author":275,"provisional":8,"contact":318,"extension":319,"proposal":8},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":321,"type":274,"author":275,"provisional":8,"contact":301,"extension":322,"proposal":8},137,"VK_AMD_mixed_attachment_samples",{"number":150,"type":274,"author":275,"obsoletedby":324,"provisional":8,"contact":301,"extension":325,"proposal":8},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":327,"type":274,"author":275,"provisional":8,"contact":301,"extension":328,"proposal":8},184,"VK_AMD_pipeline_compiler_control",{"number":82,"type":274,"author":275,"provisional":8,"contact":293,"extension":330,"proposal":8},"VK_AMD_rasterization_order",{"number":158,"type":274,"author":275,"provisional":8,"contact":307,"extension":332,"proposal":8},"VK_AMD_shader_ballot",{"number":334,"type":274,"author":275,"provisional":8,"depends":287,"contact":318,"extension":335,"proposal":8},186,"VK_AMD_shader_core_properties",{"number":337,"type":274,"author":275,"provisional":8,"depends":335,"contact":301,"extension":338,"proposal":8},228,"VK_AMD_shader_core_properties2",{"number":340,"type":274,"author":341,"provisional":8,"depends":287,"contact":283,"extension":342,"proposal":240},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":94,"type":274,"author":275,"provisional":8,"contact":314,"extension":344,"proposal":8},"VK_AMD_shader_explicit_vertex_parameter",{"number":346,"type":274,"author":275,"provisional":8,"contact":347,"extension":348,"proposal":8},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":194,"type":274,"author":275,"provisional":8,"contact":307,"extension":350,"proposal":8},"VK_AMD_shader_image_load_store_lod",{"number":178,"type":274,"author":275,"provisional":8,"specialuse":292,"contact":352,"extension":353,"proposal":8},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":90,"type":274,"author":275,"provisional":8,"contact":314,"extension":355,"proposal":8},"VK_AMD_shader_trinary_minmax",{"number":174,"type":274,"author":275,"provisional":8,"depends":287,"contact":357,"extension":358,"proposal":8},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":360,"type":274,"author":361,"provisional":8,"depends":362,"platform":363,"specialuse":364,"contact":365,"extension":366,"proposal":240},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":368,"type":274,"author":361,"provisional":8,"depends":369,"platform":363,"contact":370,"extension":362,"proposal":8},130,"((VK_KHR_sampler_ycbcr_conversion+VK_KHR_external_memory+VK_KHR_dedicated_allocation),VK_VERSION_1_1)+VK_EXT_queue_family_foreign","Jesse Hall @critsec",{"number":372,"type":274,"author":373,"provisional":8,"depends":374,"contact":375,"extension":376,"proposal":8},508,"ARM","VK_VERSION_1_3+VK_KHR_maintenance5+VK_KHR_deferred_host_operations","Kevin Petit @kpet","VK_ARM_data_graph",{"number":378,"type":274,"author":373,"provisional":8,"depends":287,"contact":379,"extension":380,"proposal":8},610,"Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_format_pack",{"number":382,"type":274,"author":373,"provisional":8,"depends":287,"specialuse":292,"contact":379,"extension":383,"proposal":240},606,"VK_ARM_performance_counters_by_region",{"number":385,"type":274,"author":373,"provisional":8,"depends":386,"contact":387,"extension":388,"proposal":240},597,"VK_EXT_opacity_micromap","Mathieu Robart @mathieurobart-arm","VK_ARM_pipeline_opacity_micromap",{"number":390,"type":274,"author":373,"promotedto":391,"provisional":8,"depends":287,"contact":379,"extension":392,"proposal":8},343,"VK_EXT_rasterization_order_attachment_access","VK_ARM_rasterization_order_attachment_access",{"number":394,"type":274,"author":373,"provisional":8,"depends":395,"contact":379,"extension":396,"proposal":240},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":398,"type":274,"author":373,"provisional":8,"depends":399,"contact":375,"extension":400,"proposal":8},418,"VK_ARM_shader_core_builtins","VK_ARM_scheduling_controls",{"number":402,"type":274,"author":373,"provisional":8,"depends":287,"contact":375,"extension":399,"proposal":8},498,{"number":404,"type":274,"author":373,"provisional":8,"depends":405,"contact":379,"extension":406,"proposal":8},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":408,"type":274,"author":373,"provisional":8,"depends":287,"specialuse":292,"contact":379,"extension":409,"proposal":240},608,"VK_ARM_shader_instrumentation",{"number":411,"type":274,"author":373,"provisional":8,"depends":412,"contact":375,"extension":413,"proposal":240},461,"VK_VERSION_1_3","VK_ARM_tensors",{"number":415,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":287,"ratified":416,"contact":417,"extension":418,"proposal":8},341,"vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":420,"type":421,"author":341,"provisional":8,"depends":422,"ratified":423,"contact":424,"extension":425,"proposal":8},286,"instance","VK_EXT_direct_mode_display","vulkan","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":427,"type":421,"author":428,"provisional":8,"depends":422,"platform":429,"ratified":423,"contact":430,"extension":431,"proposal":8},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":433,"proposal":8},"VK_EXT_application_parameters",{"number":435,"type":274,"author":373,"provisional":8,"depends":287,"ratified":436,"contact":379,"extension":437,"proposal":8},68,"vulkan,vulkansc","VK_EXT_astc_decode_mode",{"number":439,"type":274,"author":341,"provisional":8,"depends":440,"ratified":423,"specialuse":441,"contact":442,"extension":443,"proposal":240},525,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_attachment_feedback_loop_layout","glemulation,d3demulation","Mike Blumenkrantz @zmike","VK_EXT_attachment_feedback_loop_dynamic_state",{"number":445,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":441,"contact":417,"extension":446,"proposal":240},340,"VK_EXT_attachment_feedback_loop_layout",{"number":448,"type":274,"author":428,"provisional":8,"depends":287,"ratified":436,"contact":449,"extension":450,"proposal":8},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":452,"type":274,"author":341,"provisional":8,"depends":453,"ratified":423,"specialuse":441,"contact":454,"extension":455,"proposal":8},412,"VK_EXT_custom_border_color","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":457,"type":274,"author":428,"deprecatedby":458,"provisional":8,"depends":287,"contact":449,"extension":459,"proposal":8},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":461,"type":274,"author":341,"promotedto":462,"provisional":8,"depends":287,"contact":293,"extension":463,"proposal":240},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":465,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"contact":466,"extension":467,"proposal":8},382,"Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":469,"type":274,"author":428,"provisional":8,"depends":287,"ratified":423,"contact":470,"extension":471,"proposal":8},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":473,"type":274,"author":428,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":474,"proposal":8},102,"VK_EXT_conservative_rasterization",{"number":476,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"specialuse":441,"contact":477,"extension":453,"proposal":8},288,"Liam Middlebrook @liam-middlebrook",{"number":479,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":442,"extension":480,"proposal":240},629,"VK_EXT_custom_resolve",{"number":98,"type":274,"author":482,"promotedto":483,"provisional":8,"depends":484,"specialuse":236,"contact":485,"extension":486,"proposal":8},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":54,"type":421,"author":488,"deprecatedby":483,"provisional":8,"specialuse":236,"contact":489,"extension":484,"proposal":8},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":491,"type":421,"author":341,"provisional":8,"ratified":436,"specialuse":236,"contact":492,"extension":483,"proposal":8},129,"Mark Young @marky-lunarg",{"number":494,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":495,"contact":417,"extension":496,"proposal":240},284,"d3demulation","VK_EXT_depth_bias_control",{"number":498,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":499,"extension":500,"proposal":240},583,"Jules Blok @jules","VK_EXT_depth_clamp_control",{"number":502,"type":274,"author":341,"promotedto":503,"provisional":8,"depends":287,"ratified":423,"contact":504,"extension":505,"proposal":8},422,"VK_KHR_depth_clamp_zero_one","Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":507,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":364,"contact":508,"extension":509,"proposal":8},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":511,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"specialuse":495,"contact":454,"extension":512,"proposal":8},103,"VK_EXT_depth_clip_enable",{"number":62,"type":274,"author":428,"provisional":8,"ratified":436,"contact":454,"extension":514,"proposal":8},"VK_EXT_depth_range_unrestricted",{"number":516,"type":274,"author":341,"deprecatedby":517,"provisional":8,"depends":518,"ratified":423,"contact":283,"extension":519,"proposal":240},317,"VK_EXT_descriptor_heap","((((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_buffer_device_address+VK_EXT_descriptor_indexing),VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_EXT_descriptor_buffer",{"number":521,"type":274,"author":341,"provisional":8,"depends":522,"ratified":423,"contact":283,"extension":517,"proposal":240},136,"VK_KHR_maintenance5+(VK_KHR_buffer_device_address,VK_VERSION_1_2)",{"number":524,"type":274,"author":428,"promotedto":525,"provisional":8,"depends":526,"ratified":423,"contact":449,"extension":527,"proposal":8},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":529,"type":274,"author":341,"provisional":8,"depends":530,"ratified":423,"specialuse":531,"contact":532,"extension":533,"proposal":8},355,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_debug_utils","debugging,devtools","Ralph Potter gitlab:@r_potter","VK_EXT_device_address_binding_report",{"number":535,"type":274,"author":341,"promotedto":536,"provisional":8,"depends":287,"ratified":423,"contact":532,"extension":537,"proposal":240},342,"VK_KHR_device_fault","VK_EXT_device_fault",{"number":539,"type":274,"author":341,"provisional":8,"depends":540,"ratified":423,"contact":442,"extension":541,"proposal":240},573,"((VK_KHR_buffer_device_address,VK_VERSION_1_2)+VK_KHR_maintenance5),VK_VERSION_1_3","VK_EXT_device_generated_commands",{"number":543,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":292,"contact":544,"extension":545,"proposal":8},285,"Yiwei Zhang @zzyiwei","VK_EXT_device_memory_report",{"number":547,"type":421,"author":428,"provisional":8,"depends":548,"ratified":436,"contact":430,"extension":422,"proposal":8},89,"VK_KHR_display",{"number":550,"type":421,"author":341,"provisional":8,"depends":551,"platform":552,"ratified":423,"contact":553,"extension":554,"proposal":8},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":556,"type":274,"author":428,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":557,"proposal":8},100,"VK_EXT_discard_rectangles",{"number":559,"type":274,"author":428,"provisional":8,"depends":560,"ratified":436,"contact":430,"extension":561,"proposal":8},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":563,"type":421,"author":428,"provisional":8,"depends":548,"ratified":436,"contact":430,"extension":564,"proposal":8},91,"VK_EXT_display_surface_counter",{"number":566,"type":274,"author":341,"provisional":8,"depends":567,"ratified":423,"contact":454,"extension":568,"proposal":240},500,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_dynamic_rendering),VK_VERSION_1_3","VK_EXT_dynamic_rendering_unused_attachments",{"number":570,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":571,"proposal":8},268,"VK_EXT_extended_dynamic_state",{"number":573,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":287,"ratified":436,"contact":574,"extension":575,"proposal":8},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":577,"type":274,"author":428,"provisional":8,"depends":287,"ratified":423,"contact":454,"extension":578,"proposal":240},456,"VK_EXT_extended_dynamic_state3",{"number":580,"type":274,"author":341,"provisional":8,"depends":581,"ratified":423,"contact":430,"extension":582,"proposal":240},454,"VK_KHR_external_memory,VK_VERSION_1_1","VK_EXT_external_memory_acquire_unmodified",{"number":584,"type":274,"author":341,"provisional":8,"depends":585,"ratified":436,"contact":430,"extension":586,"proposal":8},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":588,"type":274,"author":341,"provisional":8,"depends":581,"ratified":436,"contact":293,"extension":589,"proposal":8},179,"VK_EXT_external_memory_host",{"number":591,"type":274,"author":341,"provisional":8,"depends":581,"platform":592,"ratified":423,"contact":593,"extension":594,"proposal":240},603,"metal","Aitor Camacho Larrondo @aitor-lunarg","VK_EXT_external_memory_metal",{"number":596,"type":274,"author":597,"provisional":8,"ratified":436,"contact":598,"extension":599,"proposal":8},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":601,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":598,"extension":602,"proposal":8},219,"VK_EXT_fragment_density_map",{"number":604,"type":274,"author":341,"provisional":8,"depends":602,"ratified":423,"contact":598,"extension":605,"proposal":8},333,"VK_EXT_fragment_density_map2",{"number":607,"type":274,"author":341,"provisional":8,"depends":608,"ratified":423,"contact":609,"extension":610,"proposal":240},620,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map+(VK_KHR_create_renderpass2,VK_VERSION_1_2)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)","Connor Abbott @cwabbott0","VK_EXT_fragment_density_map_offset",{"number":612,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":613,"proposal":8},252,"VK_EXT_fragment_shader_interlock",{"number":615,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":616,"extension":617,"proposal":240},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":619,"type":274,"author":341,"provisional":8,"depends":620,"platform":621,"ratified":423,"contact":430,"extension":622,"proposal":8},256,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_surface+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain","win32","VK_EXT_full_screen_exclusive",{"number":624,"type":274,"author":341,"promotedto":625,"provisional":8,"contact":626,"extension":627,"proposal":8},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":629,"type":274,"author":341,"promotedto":625,"provisional":8,"depends":630,"contact":544,"extension":631,"proposal":8},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":633,"type":274,"author":275,"provisional":8,"depends":634,"ratified":423,"contact":283,"extension":635,"proposal":240},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":637,"type":274,"author":488,"provisional":8,"depends":638,"ratified":436,"contact":489,"extension":639,"proposal":8},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":641,"type":421,"author":341,"provisional":8,"depends":551,"ratified":436,"contact":642,"extension":643,"proposal":8},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":645,"type":274,"author":341,"promotedto":646,"provisional":8,"depends":647,"ratified":423,"contact":508,"extension":648,"proposal":240},271,"VK_VERSION_1_4","((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_copy_commands2+VK_KHR_format_feature_flags2),VK_VERSION_1_3","VK_EXT_host_image_copy",{"number":650,"type":274,"author":341,"promotedto":525,"provisional":8,"depends":287,"contact":651,"extension":652,"proposal":8},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":654,"type":274,"author":341,"provisional":8,"depends":655,"ratified":423,"specialuse":364,"contact":442,"extension":656,"proposal":240},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":658,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":379,"extension":659,"proposal":240},339,"VK_EXT_image_compression_control",{"number":661,"type":274,"author":341,"provisional":8,"depends":659,"ratified":423,"contact":379,"extension":662,"proposal":8},438,"VK_EXT_image_compression_control_swapchain",{"number":664,"type":274,"author":341,"provisional":8,"depends":665,"ratified":436,"contact":430,"extension":666,"proposal":8},159,"(((VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_sampler_ycbcr_conversion),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2","VK_EXT_image_drm_format_modifier",{"number":668,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":287,"ratified":416,"contact":504,"extension":669,"proposal":8},336,"VK_EXT_image_robustness",{"number":671,"type":274,"author":341,"provisional":8,"depends":655,"ratified":423,"specialuse":495,"contact":442,"extension":672,"proposal":240},419,"VK_EXT_image_sliced_view_of_3d",{"number":674,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":417,"extension":675,"proposal":8},392,"VK_EXT_image_view_min_lod",{"number":677,"type":274,"author":341,"promotedto":678,"provisional":8,"depends":287,"contact":454,"extension":679,"proposal":8},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":681,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":682,"contact":683,"extension":684,"proposal":8},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":686,"type":421,"author":341,"provisional":8,"ratified":436,"contact":687,"extension":688,"proposal":240},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":690,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":364,"contact":508,"extension":691,"proposal":240},466,"VK_EXT_legacy_dithering",{"number":693,"type":274,"author":341,"provisional":8,"depends":694,"ratified":423,"specialuse":364,"contact":442,"extension":695,"proposal":240},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":697,"type":274,"author":341,"promotedto":698,"provisional":8,"depends":287,"specialuse":699,"contact":449,"extension":700,"proposal":8},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":702,"type":274,"author":341,"promotedto":703,"provisional":8,"ratified":423,"contact":508,"extension":704,"proposal":8},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":706,"type":274,"author":341,"provisional":8,"depends":707,"ratified":423,"contact":708,"extension":709,"proposal":240},273,"VK_KHR_map_memory2,VK_VERSION_1_4","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":711,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"contact":449,"extension":712,"proposal":8},238,"VK_EXT_memory_budget",{"number":714,"type":274,"author":341,"provisional":8,"depends":715,"ratified":423,"contact":574,"extension":716,"proposal":240},551,"VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address","VK_EXT_memory_decompression",{"number":718,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":719,"proposal":8},239,"VK_EXT_memory_priority",{"number":721,"type":274,"author":341,"provisional":8,"depends":722,"ratified":423,"contact":723,"extension":724,"proposal":240},329,"VK_KHR_spirv_1_4,VK_VERSION_1_2","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":726,"type":274,"author":341,"provisional":8,"platform":592,"ratified":423,"contact":727,"extension":728,"proposal":240},312,"Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":730,"type":421,"author":341,"provisional":8,"depends":551,"platform":592,"ratified":423,"contact":731,"extension":732,"proposal":8},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":734,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":442,"extension":735,"proposal":8},393,"VK_EXT_multi_draw",{"number":737,"type":274,"author":341,"provisional":8,"depends":738,"ratified":423,"contact":508,"extension":739,"proposal":240},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":741,"type":274,"author":341,"provisional":8,"depends":742,"ratified":423,"specialuse":495,"contact":743,"extension":744,"proposal":240},495,"VK_KHR_maintenance3,VK_VERSION_1_1","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":746,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":454,"extension":747,"proposal":8},452,"VK_EXT_nested_command_buffer",{"number":749,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":750,"contact":751,"extension":752,"proposal":240},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":754,"type":274,"author":341,"provisional":8,"depends":755,"ratified":423,"contact":756,"extension":386,"proposal":240},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness",{"number":758,"type":274,"author":341,"provisional":8,"depends":719,"ratified":423,"contact":454,"extension":759,"proposal":8},413,"VK_EXT_pageable_device_local_memory",{"number":761,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"contact":301,"extension":762,"proposal":8},213,"VK_EXT_pci_bus_info",{"number":764,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":765,"extension":766,"proposal":8},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":768,"type":274,"author":275,"promotedto":412,"provisional":8,"depends":287,"contact":769,"extension":770,"proposal":8},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":772,"type":274,"author":488,"promotedto":412,"provisional":8,"specialuse":292,"contact":773,"extension":774,"proposal":8},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":776,"type":274,"author":341,"provisional":8,"depends":777,"ratified":423,"contact":778,"extension":779,"proposal":240},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":781,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":782,"extension":783,"proposal":8},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":785,"type":274,"author":341,"promotedto":646,"provisional":8,"depends":287,"ratified":423,"contact":508,"extension":786,"proposal":240},467,"VK_EXT_pipeline_protected_access",{"number":788,"type":274,"author":789,"promotedto":646,"provisional":8,"depends":287,"ratified":423,"contact":790,"extension":791,"proposal":8},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":793,"type":274,"author":428,"provisional":8,"ratified":436,"contact":794,"extension":795,"proposal":8},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":797,"type":274,"author":341,"promotedto":798,"provisional":8,"depends":638,"ratified":423,"contact":799,"extension":800,"proposal":240},362,"VK_KHR_present_mode_fifo_latest_ready","Lionel Duc @nvlduc","VK_EXT_present_mode_fifo_latest_ready",{"number":802,"type":274,"author":341,"provisional":8,"depends":803,"ratified":423,"contact":799,"extension":804,"proposal":240},209,"VK_KHR_swapchain+VK_KHR_present_id2+VK_KHR_get_surface_capabilities2+VK_KHR_calibrated_timestamps","VK_EXT_present_timing",{"number":806,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":364,"contact":508,"extension":807,"proposal":8},357,"VK_EXT_primitive_topology_list_restart",{"number":809,"type":274,"author":341,"provisional":8,"depends":810,"ratified":423,"specialuse":364,"contact":508,"extension":811,"proposal":240},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":813,"type":274,"author":428,"promotedto":412,"provisional":8,"depends":287,"contact":814,"extension":815,"proposal":8},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":817,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"specialuse":364,"contact":818,"extension":819,"proposal":8},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":821,"type":274,"author":341,"provisional":8,"depends":581,"ratified":436,"contact":430,"extension":822,"proposal":8},127,"VK_EXT_queue_family_foreign",{"number":824,"type":274,"author":373,"provisional":8,"depends":287,"ratified":423,"contact":379,"extension":391,"proposal":240},464,{"number":826,"type":274,"author":341,"provisional":8,"depends":827,"ratified":423,"contact":828,"extension":829,"proposal":240},582,"VK_KHR_ray_tracing_pipeline","Eric Werness @ewerness-nv","VK_EXT_ray_tracing_invocation_reorder",{"number":831,"type":274,"author":341,"provisional":8,"depends":832,"ratified":423,"contact":379,"extension":833,"proposal":8},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":835,"type":274,"author":341,"promotedto":836,"provisional":8,"depends":287,"ratified":436,"contact":477,"extension":837,"proposal":8},287,"VK_KHR_robustness2","VK_EXT_robustness2",{"number":839,"type":274,"author":275,"provisional":8,"depends":287,"ratified":436,"contact":293,"extension":840,"proposal":8},144,"VK_EXT_sample_locations",{"number":842,"type":274,"author":428,"promotedto":525,"provisional":8,"depends":287,"contact":449,"extension":843,"proposal":8},131,"VK_EXT_sampler_filter_minmax",{"number":845,"type":274,"author":341,"promotedto":525,"provisional":8,"depends":287,"contact":283,"extension":846,"proposal":8},222,"VK_EXT_scalar_block_layout",{"number":848,"type":274,"author":341,"promotedto":525,"provisional":8,"contact":293,"extension":849,"proposal":8},247,"VK_EXT_separate_stencil_usage",{"number":851,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":852,"proposal":240},628,"VK_EXT_shader_64bit_indexing",{"number":854,"type":274,"author":428,"provisional":8,"depends":287,"ratified":436,"contact":574,"extension":855,"proposal":8},261,"VK_EXT_shader_atomic_float",{"number":857,"type":274,"author":341,"provisional":8,"depends":855,"ratified":423,"contact":708,"extension":858,"proposal":8},274,"VK_EXT_shader_atomic_float2",{"number":860,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":287,"ratified":416,"contact":449,"extension":861,"proposal":8},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":863,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":375,"extension":864,"proposal":240},568,"VK_EXT_shader_float8",{"number":866,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"contact":283,"extension":867,"proposal":8},235,"VK_EXT_shader_image_atomic_int64",{"number":869,"type":274,"author":341,"provisional":8,"depends":525,"ratified":423,"contact":449,"extension":870,"proposal":240},636,"VK_EXT_shader_long_vector",{"number":872,"type":274,"author":341,"provisional":8,"depends":873,"ratified":423,"contact":778,"extension":874,"proposal":240},463,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_pipeline_creation_cache_control),VK_VERSION_1_3","VK_EXT_shader_module_identifier",{"number":876,"type":274,"author":341,"provisional":8,"depends":567,"ratified":423,"contact":877,"extension":878,"proposal":240},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":880,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":375,"extension":881,"proposal":240},565,"VK_EXT_shader_replicated_composites",{"number":883,"type":274,"author":341,"provisional":8,"ratified":436,"contact":307,"extension":884,"proposal":8},141,"VK_EXT_shader_stencil_export",{"number":886,"type":274,"author":428,"deprecatedby":525,"provisional":8,"contact":794,"extension":887,"proposal":8},65,"VK_EXT_shader_subgroup_ballot",{"number":889,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":890,"proposal":8},663,"VK_EXT_shader_subgroup_partitioned",{"number":892,"type":274,"author":428,"deprecatedby":405,"provisional":8,"contact":794,"extension":893,"proposal":8},66,"VK_EXT_shader_subgroup_vote",{"number":895,"type":274,"author":341,"provisional":8,"depends":412,"ratified":423,"contact":379,"extension":896,"proposal":240},396,"VK_EXT_shader_tile_image",{"number":898,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":454,"extension":899,"proposal":240},643,"VK_EXT_shader_uniform_buffer_unsized_array",{"number":901,"type":274,"author":428,"promotedto":525,"provisional":8,"contact":794,"extension":902,"proposal":8},163,"VK_EXT_shader_viewport_index_layer",{"number":904,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":405,"ratified":416,"contact":905,"extension":906,"proposal":8},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":908,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":909,"extension":910,"proposal":240},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":912,"type":421,"author":341,"promotedto":913,"provisional":8,"depends":914,"ratified":423,"contact":508,"extension":915,"proposal":240},275,"VK_KHR_surface_maintenance1","VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":917,"type":421,"author":488,"provisional":8,"depends":551,"ratified":436,"contact":489,"extension":918,"proposal":8},105,"VK_EXT_swapchain_colorspace",{"number":920,"type":274,"author":341,"promotedto":921,"provisional":8,"depends":922,"ratified":423,"contact":508,"extension":923,"proposal":240},276,"VK_KHR_swapchain_maintenance1","VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":925,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":287,"ratified":416,"contact":449,"extension":926,"proposal":8},282,"VK_EXT_texel_buffer_alignment",{"number":928,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":379,"extension":929,"proposal":240},289,"VK_EXT_texture_compression_astc_3d",{"number":931,"type":274,"author":373,"promotedto":412,"provisional":8,"depends":287,"ratified":416,"contact":379,"extension":932,"proposal":8},67,"VK_EXT_texture_compression_astc_hdr",{"number":934,"type":274,"author":341,"promotedto":412,"provisional":8,"contact":283,"extension":935,"proposal":8},246,"VK_EXT_tooling_info",{"number":122,"type":274,"author":428,"provisional":8,"depends":287,"ratified":423,"specialuse":937,"contact":454,"extension":810,"proposal":8},"glemulation,d3demulation,devtools",{"number":939,"type":274,"author":488,"provisional":8,"ratified":423,"contact":940,"extension":941,"proposal":8},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":943,"type":421,"author":944,"deprecatedby":688,"provisional":8,"ratified":423,"specialuse":236,"contact":945,"extension":946,"proposal":8},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":948,"type":421,"author":488,"deprecatedby":688,"provisional":8,"specialuse":236,"contact":949,"extension":950,"proposal":8},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":952,"type":274,"author":428,"promotedto":953,"provisional":8,"depends":287,"contact":470,"extension":954,"proposal":8},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":956,"type":274,"author":341,"promotedto":957,"provisional":8,"depends":287,"contact":454,"extension":958,"proposal":8},609,"VK_KHR_maintenance9","VK_EXT_vertex_attribute_robustness",{"number":960,"type":274,"author":341,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":694,"proposal":8},353,{"number":962,"type":274,"author":341,"promotedto":412,"provisional":8,"depends":832,"ratified":416,"contact":963,"extension":964,"proposal":8},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":966,"type":274,"author":341,"provisional":8,"depends":832,"ratified":436,"contact":454,"extension":967,"proposal":8},253,"VK_EXT_ycbcr_image_arrays",{"number":969,"type":274,"author":341,"provisional":8,"depends":287,"ratified":423,"contact":442,"extension":970,"proposal":240},621,"VK_EXT_zero_initialize_device_memory",{"number":972,"type":274,"author":973,"provisional":8,"depends":974,"platform":975,"contact":976,"extension":977,"proposal":8},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":979,"type":274,"author":973,"provisional":8,"depends":980,"platform":975,"contact":976,"extension":981,"proposal":8},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":983,"type":274,"author":973,"provisional":8,"depends":984,"platform":975,"contact":976,"extension":985,"proposal":8},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":987,"type":421,"author":973,"provisional":8,"depends":551,"platform":975,"contact":988,"extension":989,"proposal":8},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":991,"type":274,"author":992,"provisional":8,"depends":993,"platform":994,"contact":773,"extension":995,"proposal":8},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":206,"type":421,"author":992,"provisional":8,"depends":551,"platform":994,"contact":773,"extension":997,"proposal":8},"VK_GGP_stream_descriptor_surface",{"number":999,"type":274,"author":488,"provisional":8,"contact":1000,"extension":1001,"proposal":8},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":1003,"type":274,"author":488,"provisional":8,"depends":638,"contact":1004,"extension":1005,"proposal":8},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":1007,"type":274,"author":488,"provisional":8,"contact":1000,"extension":1008,"proposal":8},224,"VK_GOOGLE_hlsl_functionality1",{"number":1010,"type":421,"author":488,"provisional":8,"depends":551,"specialuse":364,"contact":508,"extension":1011,"proposal":240},434,"VK_GOOGLE_surfaceless_query",{"number":1013,"type":274,"author":488,"provisional":8,"contact":1014,"extension":1015,"proposal":8},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":1017,"type":274,"author":1018,"provisional":8,"depends":287,"contact":1019,"extension":1020,"proposal":240},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":1022,"type":274,"author":1018,"provisional":8,"depends":1023,"contact":1024,"extension":1025,"proposal":8},591,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_swapchain+VK_EXT_hdr_metadata","Zehui Lin @bactlink","VK_HUAWEI_hdr_vivid",{"number":1027,"type":274,"author":1028,"provisional":8,"depends":1029,"contact":1030,"extension":1031,"proposal":240},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":1033,"type":274,"author":1018,"provisional":8,"depends":1034,"contact":1030,"extension":1035,"proposal":8},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":70,"type":274,"author":789,"provisional":8,"contact":283,"extension":1037,"proposal":8},"VK_IMG_filter_cubic",{"number":226,"type":274,"author":789,"deprecatedby":1039,"provisional":8,"contact":1040,"extension":1041,"proposal":8},null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":1043,"type":274,"author":789,"provisional":8,"depends":287,"specialuse":364,"contact":616,"extension":1044,"proposal":8},111,"VK_IMG_relaxed_line_rasterization",{"number":1046,"type":274,"author":1047,"provisional":8,"specialuse":292,"contact":1048,"extension":1049,"proposal":8},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":1051,"type":274,"author":1047,"provisional":8,"depends":287,"contact":1052,"extension":1053,"proposal":8},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":1055,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1057,"ratified":423,"contact":379,"extension":1058,"proposal":8},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":1060,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1057,"ratified":423,"contact":1061,"extension":1062,"proposal":8},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":1064,"type":274,"author":1056,"provisional":8,"depends":1065,"ratified":423,"contact":794,"extension":1066,"proposal":8},151,"((VK_VERSION_1_1+VK_EXT_descriptor_indexing+VK_KHR_buffer_device_address),VK_VERSION_1_2)+VK_KHR_deferred_host_operations","VK_KHR_acceleration_structure",{"number":42,"type":421,"author":1056,"provisional":8,"depends":551,"platform":363,"ratified":423,"contact":370,"extension":1068,"proposal":8},"VK_KHR_android_surface",{"number":1070,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":283,"extension":1071,"proposal":8},158,"VK_KHR_bind_memory2",{"number":1073,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1074,"ratified":423,"contact":449,"extension":458,"proposal":8},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":1076,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":436,"contact":683,"extension":462,"proposal":8},544,{"number":1078,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":1079,"extension":1080,"proposal":240},512,"Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":1082,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":375,"extension":1083,"proposal":240},507,"VK_KHR_cooperative_matrix",{"number":1085,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":287,"ratified":436,"contact":598,"extension":1086,"proposal":8},338,"VK_KHR_copy_commands2",{"number":1088,"type":274,"author":1056,"provisional":8,"depends":1089,"ratified":423,"contact":574,"extension":1090,"proposal":240},550,"(VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_KHR_copy_memory_indirect",{"number":1092,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1093,"ratified":423,"contact":1094,"extension":1095,"proposal":8},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":1097,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1098,"ratified":423,"contact":430,"extension":1099,"proposal":8},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":1101,"type":274,"author":1056,"provisional":8,"ratified":423,"contact":1102,"extension":1103,"proposal":8},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":1105,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":504,"extension":503,"proposal":8},605,{"number":1107,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1108,"ratified":423,"contact":1109,"extension":1110,"proposal":8},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":1112,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":1113,"extension":1114,"proposal":8},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":1116,"type":274,"author":1056,"provisional":8,"depends":1117,"ratified":423,"contact":283,"extension":1118,"proposal":240},319,"((((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_buffer_device_address),VK_VERSION_1_2)+VK_KHR_synchronization2+VK_EXT_extended_dynamic_state),VK_VERSION_1_3","VK_KHR_device_address_commands",{"number":1120,"type":274,"author":1056,"provisional":8,"depends":1121,"ratified":423,"contact":532,"extension":536,"proposal":240},574,"VK_KHR_get_physical_device_properties2",{"number":1123,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1124,"ratified":423,"contact":449,"extension":1125,"proposal":8},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":1127,"type":421,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":449,"extension":1124,"proposal":8},71,{"number":18,"type":421,"author":1056,"provisional":8,"depends":551,"ratified":436,"contact":1129,"extension":548,"proposal":8},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":22,"type":274,"author":1056,"provisional":8,"depends":1131,"ratified":436,"contact":430,"extension":1132,"proposal":8},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":1134,"type":274,"author":1056,"promotedto":525,"provisional":8,"ratified":423,"contact":454,"extension":304,"proposal":8},170,{"number":1136,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":293,"extension":1137,"proposal":8},197,"VK_KHR_driver_properties",{"number":186,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":1139,"ratified":423,"contact":283,"extension":1140,"proposal":240},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":1142,"type":274,"author":275,"promotedto":646,"provisional":8,"depends":1143,"ratified":423,"contact":283,"extension":1144,"proposal":240},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":1146,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1147,"ratified":423,"contact":370,"extension":1148,"proposal":8},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":1150,"type":421,"author":1056,"promotedto":405,"provisional":8,"depends":287,"ratified":423,"contact":370,"extension":1147,"proposal":8},113,{"number":1152,"type":274,"author":1056,"provisional":8,"depends":1153,"ratified":436,"contact":370,"extension":1154,"proposal":8},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":1156,"type":274,"author":1056,"provisional":8,"depends":1148,"platform":621,"ratified":423,"contact":370,"extension":1157,"proposal":8},115,"VK_KHR_external_fence_win32",{"number":1159,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1160,"ratified":423,"contact":430,"extension":1161,"proposal":8},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":1163,"type":421,"author":1056,"promotedto":405,"provisional":8,"depends":287,"ratified":423,"contact":430,"extension":1164,"proposal":8},72,"VK_KHR_external_memory_capabilities",{"number":1166,"type":274,"author":1056,"provisional":8,"depends":581,"ratified":436,"contact":430,"extension":585,"proposal":8},75,{"number":1168,"type":274,"author":1056,"provisional":8,"depends":581,"platform":621,"ratified":423,"contact":430,"extension":1169,"proposal":8},74,"VK_KHR_external_memory_win32",{"number":1171,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1172,"ratified":423,"contact":430,"extension":1173,"proposal":8},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":1175,"type":421,"author":1056,"promotedto":405,"provisional":8,"depends":287,"ratified":423,"contact":430,"extension":1172,"proposal":8},77,{"number":1177,"type":274,"author":1056,"provisional":8,"depends":1178,"ratified":436,"contact":430,"extension":1179,"proposal":8},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":1181,"type":274,"author":1056,"provisional":8,"depends":1173,"platform":621,"ratified":423,"contact":430,"extension":1182,"proposal":8},79,"VK_KHR_external_semaphore_win32",{"number":1184,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":287,"ratified":423,"contact":1048,"extension":1185,"proposal":8},361,"VK_KHR_format_feature_flags2",{"number":1187,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":288,"extension":1188,"proposal":240},323,"VK_KHR_fragment_shader_barycentric",{"number":1190,"type":274,"author":1056,"provisional":8,"depends":1191,"ratified":436,"contact":283,"extension":1192,"proposal":240},227,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_create_renderpass2),VK_VERSION_1_2","VK_KHR_fragment_shading_rate",{"number":1194,"type":421,"author":1056,"provisional":8,"depends":548,"ratified":436,"contact":430,"extension":1195,"proposal":8},122,"VK_KHR_get_display_properties2",{"number":1197,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":708,"extension":1198,"proposal":8},147,"VK_KHR_get_memory_requirements2",{"number":1200,"type":421,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":449,"extension":1121,"proposal":8},60,{"number":1202,"type":421,"author":1056,"provisional":8,"depends":551,"ratified":436,"contact":430,"extension":1203,"proposal":8},120,"VK_KHR_get_surface_capabilities2",{"number":1205,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":436,"contact":283,"extension":625,"proposal":8},189,{"number":1207,"type":274,"author":1056,"promotedto":525,"provisional":8,"ratified":423,"contact":708,"extension":1208,"proposal":8},148,"VK_KHR_image_format_list",{"number":1210,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1211,"ratified":423,"contact":1094,"extension":1212,"proposal":8},109,"(((VK_KHR_get_physical_device_properties2+VK_KHR_maintenance2),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2","VK_KHR_imageless_framebuffer",{"number":1214,"type":274,"author":1056,"provisional":8,"depends":638,"ratified":436,"contact":1004,"extension":1215,"proposal":8},85,"VK_KHR_incremental_present",{"number":1217,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":678,"proposal":8},534,{"number":1219,"type":274,"author":1056,"provisional":8,"depends":405,"ratified":423,"contact":508,"extension":1220,"proposal":240},505,"VK_KHR_internally_synchronized_queues",{"number":1222,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":436,"contact":454,"extension":698,"proposal":8},535,{"number":1224,"type":274,"author":1056,"promotedto":646,"provisional":8,"ratified":423,"contact":508,"extension":703,"proposal":240},527,{"number":1226,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":454,"extension":324,"proposal":8},70,{"number":1228,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":442,"extension":1229,"proposal":240},631,"VK_KHR_maintenance10",{"number":1231,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":1232,"extension":1233,"proposal":8},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":1235,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":1236,"proposal":8},169,"VK_KHR_maintenance3",{"number":1238,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":405,"ratified":423,"contact":454,"extension":1239,"proposal":8},414,"VK_KHR_maintenance4",{"number":1241,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":1242,"ratified":423,"contact":278,"extension":1243,"proposal":240},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","VK_KHR_maintenance5",{"number":1245,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":405,"ratified":423,"contact":1246,"extension":1247,"proposal":240},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":1249,"type":274,"author":1056,"provisional":8,"depends":405,"ratified":423,"contact":442,"extension":1250,"proposal":240},563,"VK_KHR_maintenance7",{"number":1252,"type":274,"author":1056,"provisional":8,"depends":405,"ratified":423,"contact":442,"extension":1253,"proposal":240},575,"VK_KHR_maintenance8",{"number":1255,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":442,"extension":957,"proposal":240},585,{"number":1257,"type":274,"author":1056,"promotedto":646,"provisional":8,"ratified":423,"contact":708,"extension":1258,"proposal":240},272,"VK_KHR_map_memory2",{"number":222,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":1260,"proposal":8},"VK_KHR_multiview",{"extension":1262,"proposal":8},"VK_KHR_object_refresh",{"number":1264,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":436,"specialuse":292,"contact":1265,"extension":1266,"proposal":8},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":1268,"type":274,"author":1056,"provisional":8,"depends":1269,"ratified":423,"contact":278,"extension":1270,"proposal":240},484,"VK_KHR_maintenance5,VK_VERSION_1_4","VK_KHR_pipeline_binary",{"number":1272,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"specialuse":292,"contact":708,"extension":1273,"proposal":8},270,"VK_KHR_pipeline_executable_properties",{"number":1275,"type":274,"author":1056,"provisional":8,"ratified":423,"contact":723,"extension":1276,"proposal":8},291,"VK_KHR_pipeline_library",{"number":1278,"type":421,"author":1056,"provisional":8,"ratified":423,"contact":1279,"extension":1280,"proposal":8},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":1282,"type":274,"author":1056,"provisional":240,"depends":287,"platform":277,"ratified":423,"contact":727,"extension":1283,"proposal":8},164,"VK_KHR_portability_subset",{"number":1285,"type":274,"author":1056,"provisional":8,"depends":1286,"ratified":423,"contact":1287,"extension":1288,"proposal":8},295,"VK_KHR_swapchain+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","Keith Packard @keithp","VK_KHR_present_id",{"number":1290,"type":274,"author":1056,"provisional":8,"depends":1291,"ratified":423,"contact":1292,"extension":1293,"proposal":240},480,"VK_KHR_get_surface_capabilities2+VK_KHR_surface+VK_KHR_swapchain","Daniel Stone","VK_KHR_present_id2",{"number":1295,"type":274,"author":1056,"provisional":8,"depends":638,"ratified":423,"contact":799,"extension":798,"proposal":240},622,{"number":1297,"type":274,"author":1056,"provisional":8,"depends":1298,"ratified":423,"contact":1287,"extension":1299,"proposal":8},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":1301,"type":274,"author":1056,"provisional":8,"depends":1302,"ratified":423,"contact":1292,"extension":1303,"proposal":240},481,"VK_KHR_get_surface_capabilities2+VK_KHR_surface+VK_KHR_swapchain+VK_KHR_present_id2","VK_KHR_present_wait2",{"number":1305,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":1306,"proposal":8},81,"VK_KHR_push_descriptor",{"number":1308,"type":274,"author":1056,"provisional":8,"depends":1309,"ratified":423,"contact":794,"extension":1310,"proposal":8},349,"(VK_KHR_spirv_1_4,VK_VERSION_1_2)+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":1312,"type":274,"author":1056,"provisional":8,"depends":1066,"ratified":423,"contact":794,"extension":1313,"proposal":8},387,"VK_KHR_ray_tracing_maintenance1",{"number":1315,"type":274,"author":1056,"provisional":8,"depends":1309,"ratified":423,"contact":794,"extension":827,"proposal":8},348,{"number":1317,"type":274,"author":1056,"provisional":8,"depends":1066,"ratified":423,"contact":1318,"extension":1319,"proposal":240},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":1321,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":1322,"extension":1323,"proposal":8},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":1325,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":454,"extension":836,"proposal":8},613,{"number":66,"type":274,"author":1056,"promotedto":525,"provisional":8,"ratified":423,"contact":283,"extension":1327,"proposal":8},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":1329,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1330,"ratified":423,"contact":1331,"extension":1332,"proposal":8},157,"(VK_KHR_maintenance1+VK_KHR_bind_memory2+VK_KHR_get_memory_requirements2+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","Andrew Garrard @fluppeteer","VK_KHR_sampler_ycbcr_conversion",{"number":1334,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1191,"ratified":423,"contact":454,"extension":1335,"proposal":8},242,"VK_KHR_separate_depth_stencil_layouts",{"number":1337,"type":274,"author":1056,"provisional":8,"depends":1338,"ratified":423,"contact":283,"extension":1339,"proposal":240},234,"VK_KHR_get_physical_device_properties2+VK_KHR_device_fault+VK_KHR_shader_constant_data","VK_KHR_shader_abort",{"number":1341,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":1342,"extension":1343,"proposal":8},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":1345,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":283,"extension":1346,"proposal":240},142,"VK_KHR_shader_bfloat16",{"number":1348,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":436,"contact":1342,"extension":1349,"proposal":8},182,"VK_KHR_shader_clock",{"number":1351,"type":274,"author":1056,"provisional":8,"ratified":423,"contact":283,"extension":1352,"proposal":240},232,"VK_KHR_shader_constant_data",{"number":1354,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":794,"extension":1355,"proposal":8},64,"VK_KHR_shader_draw_parameters",{"number":1357,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":423,"contact":375,"extension":1358,"proposal":240},545,"VK_KHR_shader_expect_assume",{"number":1360,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":1061,"extension":310,"proposal":8},83,{"number":1362,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":1061,"extension":1363,"proposal":8},198,"VK_KHR_shader_float_controls",{"number":1365,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":1366,"ratified":423,"contact":504,"extension":1367,"proposal":240},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":1369,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":504,"extension":1370,"proposal":240},580,"VK_KHR_shader_fma",{"number":1372,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":287,"ratified":423,"contact":375,"extension":1373,"proposal":240},281,"VK_KHR_shader_integer_dot_product",{"number":1375,"type":274,"author":1056,"provisional":8,"depends":405,"ratified":423,"contact":1376,"extension":1377,"proposal":240},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":1379,"type":274,"author":1056,"promotedto":412,"provisional":8,"ratified":423,"contact":485,"extension":1380,"proposal":8},294,"VK_KHR_shader_non_semantic_info",{"number":1382,"type":274,"author":1056,"provisional":8,"depends":1383,"ratified":423,"contact":283,"extension":1384,"proposal":240},236,"((VK_VERSION_1_1+VK_KHR_vulkan_memory_model),VK_VERSION_1_2)+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":1386,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":1387,"extension":1388,"proposal":240},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":1390,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":405,"ratified":423,"contact":905,"extension":1391,"proposal":8},176,"VK_KHR_shader_subgroup_extended_types",{"number":1393,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":423,"contact":375,"extension":1394,"proposal":240},417,"VK_KHR_shader_subgroup_rotate",{"number":1396,"type":274,"author":1056,"provisional":8,"depends":405,"ratified":423,"contact":1376,"extension":1397,"proposal":8},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":1399,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":287,"ratified":436,"contact":370,"extension":1400,"proposal":8},216,"VK_KHR_shader_terminate_invocation",{"number":1402,"type":274,"author":1056,"provisional":8,"depends":1121,"ratified":423,"contact":1376,"extension":1403,"proposal":240},388,"VK_KHR_shader_untyped_pointers",{"number":1405,"type":274,"author":1056,"provisional":8,"depends":1406,"ratified":436,"contact":1265,"extension":1407,"proposal":8},112,"VK_KHR_swapchain+VK_KHR_get_surface_capabilities2+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_KHR_shared_presentable_image",{"number":1409,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":1366,"ratified":423,"contact":370,"extension":1410,"proposal":8},237,"VK_KHR_spirv_1_4",{"number":1412,"type":274,"author":1056,"promotedto":405,"provisional":8,"ratified":423,"contact":1061,"extension":1413,"proposal":8},132,"VK_KHR_storage_buffer_storage_class",{"number":10,"type":421,"author":1056,"provisional":8,"ratified":436,"contact":1415,"extension":551,"proposal":8},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":1417,"type":421,"author":1056,"provisional":8,"depends":914,"ratified":423,"contact":508,"extension":913,"proposal":240},487,{"number":1419,"type":421,"author":1056,"provisional":8,"depends":1420,"ratified":423,"contact":1421,"extension":1422,"proposal":8},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":14,"type":274,"author":1056,"provisional":8,"depends":551,"ratified":436,"contact":1415,"extension":638,"proposal":8},{"number":1425,"type":274,"author":1056,"provisional":8,"depends":1426,"ratified":423,"contact":508,"extension":921,"proposal":240},488,"VK_KHR_swapchain+VK_KHR_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)",{"number":1428,"type":274,"author":1056,"provisional":8,"depends":1429,"ratified":436,"contact":293,"extension":1430,"proposal":8},201,"VK_KHR_swapchain+(VK_KHR_maintenance2,VK_VERSION_1_1)+(VK_KHR_image_format_list,VK_VERSION_1_2)","VK_KHR_swapchain_mutable_format",{"number":1432,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":287,"ratified":436,"contact":283,"extension":1433,"proposal":8},315,"VK_KHR_synchronization2",{"number":1435,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":708,"extension":1436,"proposal":8},208,"VK_KHR_timeline_semaphore",{"number":1438,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":508,"extension":1439,"proposal":240},528,"VK_KHR_unified_image_layouts",{"number":1441,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":504,"extension":1442,"proposal":8},254,"VK_KHR_uniform_buffer_standard_layout",{"number":1444,"type":274,"author":1056,"promotedto":405,"provisional":8,"depends":1057,"ratified":423,"contact":370,"extension":1445,"proposal":8},121,"VK_KHR_variable_pointers",{"number":1447,"type":274,"author":1056,"promotedto":646,"provisional":8,"depends":287,"ratified":436,"contact":508,"extension":953,"proposal":240},526,{"number":1449,"type":274,"author":1056,"provisional":8,"depends":1450,"ratified":423,"contact":683,"extension":1451,"proposal":240},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":170,"type":274,"author":1056,"provisional":8,"depends":1450,"ratified":423,"contact":1453,"extension":1454,"proposal":240},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":1456,"type":274,"author":1056,"provisional":8,"depends":1450,"ratified":423,"contact":1453,"extension":1457,"proposal":240},188,"VK_KHR_video_decode_h265",{"number":106,"type":274,"author":1056,"provisional":8,"depends":1459,"ratified":423,"contact":1460,"extension":1450,"proposal":240},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":1462,"type":274,"author":1056,"provisional":8,"depends":1450,"ratified":423,"contact":1463,"extension":1464,"proposal":240},515,"Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_decode_vp9",{"number":1466,"type":274,"author":1056,"provisional":8,"depends":1467,"ratified":423,"contact":683,"extension":1468,"proposal":240},514,"VK_KHR_video_encode_queue","VK_KHR_video_encode_av1",{"number":162,"type":274,"author":1056,"provisional":8,"depends":1467,"ratified":423,"contact":1463,"extension":1470,"proposal":240},"VK_KHR_video_encode_h264",{"number":166,"type":274,"author":1056,"provisional":8,"depends":1467,"ratified":423,"contact":1463,"extension":1472,"proposal":240},"VK_KHR_video_encode_h265",{"number":1474,"type":274,"author":1056,"provisional":8,"depends":1467,"ratified":423,"contact":1463,"extension":1475,"proposal":240},553,"VK_KHR_video_encode_intra_refresh",{"number":1477,"type":274,"author":1056,"provisional":8,"depends":1478,"ratified":423,"contact":1463,"extension":1479,"proposal":240},554,"VK_KHR_video_encode_queue+(VK_KHR_format_feature_flags2,VK_VERSION_1_3)","VK_KHR_video_encode_quantization_map",{"number":1481,"type":274,"author":1056,"provisional":8,"depends":1459,"ratified":423,"contact":1463,"extension":1467,"proposal":240},300,{"number":1483,"type":274,"author":1056,"provisional":8,"depends":1484,"ratified":423,"contact":683,"extension":1485,"proposal":240},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":1487,"type":274,"author":1056,"provisional":8,"depends":1484,"ratified":423,"contact":683,"extension":1488,"proposal":240},587,"VK_KHR_video_maintenance2",{"number":102,"type":274,"author":1056,"provisional":8,"depends":1490,"ratified":423,"contact":963,"extension":1484,"proposal":240},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":1492,"type":274,"author":1056,"promotedto":525,"provisional":8,"depends":287,"ratified":423,"contact":449,"extension":1493,"proposal":8},212,"VK_KHR_vulkan_memory_model",{"number":34,"type":421,"author":1056,"provisional":8,"depends":551,"platform":1495,"ratified":423,"contact":1496,"extension":1497,"proposal":8},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":1499,"type":274,"author":1056,"provisional":8,"depends":1169,"platform":621,"ratified":423,"contact":1500,"extension":1501,"proposal":8},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":46,"type":421,"author":1056,"provisional":8,"depends":551,"platform":621,"ratified":423,"contact":1496,"extension":1503,"proposal":8},"VK_KHR_win32_surface",{"number":1505,"type":274,"author":1056,"provisional":8,"depends":287,"ratified":423,"contact":1506,"extension":1507,"proposal":8},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":30,"type":421,"author":1056,"provisional":8,"depends":551,"platform":1509,"ratified":423,"contact":1496,"extension":1510,"proposal":8},"xcb","VK_KHR_xcb_surface",{"number":26,"type":421,"author":1056,"provisional":8,"depends":551,"platform":1512,"ratified":423,"contact":1496,"extension":1513,"proposal":8},"xlib","VK_KHR_xlib_surface",{"number":1515,"type":274,"author":1056,"promotedto":412,"provisional":8,"depends":287,"ratified":423,"contact":1376,"extension":1516,"proposal":8},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":1518,"type":421,"author":944,"provisional":8,"contact":1279,"extension":1519,"proposal":240},460,"VK_LUNARG_direct_driver_loading",{"number":1521,"type":274,"author":1522,"provisional":8,"depends":287,"specialuse":495,"contact":778,"extension":1523,"proposal":8},576,"MESA","VK_MESA_image_alignment_control",{"number":1525,"type":274,"author":1526,"provisional":8,"depends":287,"contact":1527,"extension":1528,"proposal":240},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":1530,"type":421,"author":1531,"deprecatedby":732,"provisional":8,"depends":551,"platform":1532,"contact":727,"extension":1533,"proposal":8},123,"MVK","ios","VK_MVK_ios_surface",{"number":1535,"type":421,"author":1531,"deprecatedby":732,"provisional":8,"depends":551,"platform":1536,"contact":727,"extension":1537,"proposal":8},124,"macos","VK_MVK_macos_surface",{"number":1539,"type":421,"author":1540,"provisional":8,"depends":551,"platform":1541,"contact":1542,"extension":1543,"proposal":8},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":126,"type":274,"author":1545,"provisional":8,"contact":1546,"extension":1547,"proposal":8},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":130,"type":274,"author":1545,"provisional":8,"contact":828,"extension":1549,"proposal":8},"VK_NVX_image_view_handle",{"number":1551,"type":274,"author":1545,"provisional":8,"depends":1552,"contact":449,"extension":1553,"proposal":8},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":1555,"type":274,"author":428,"provisional":8,"depends":422,"platform":621,"contact":1556,"extension":1557,"proposal":8},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":1559,"type":274,"author":428,"provisional":8,"contact":828,"extension":1560,"proposal":8},88,"VK_NV_clip_space_w_scaling",{"number":1562,"type":274,"author":428,"provisional":8,"depends":1066,"contact":470,"extension":1563,"proposal":240},570,"VK_NV_cluster_acceleration_structure",{"number":1565,"type":274,"author":428,"provisional":8,"depends":287,"contact":1566,"extension":1567,"proposal":8},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":1569,"type":274,"author":428,"provisional":8,"depends":287,"contact":1570,"extension":1571,"proposal":240},646,"Chris Lentini @clentini","VK_NV_compute_occupancy_priority",{"number":1573,"type":274,"author":428,"promotedto":1080,"provisional":8,"depends":287,"contact":1574,"extension":1575,"proposal":8},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":1577,"type":274,"author":428,"provisional":8,"depends":287,"contact":449,"extension":1578,"proposal":8},250,"VK_NV_cooperative_matrix",{"number":1580,"type":274,"author":428,"provisional":8,"depends":1083,"contact":449,"extension":1581,"proposal":240},594,"VK_NV_cooperative_matrix2",{"number":1583,"type":274,"author":428,"provisional":8,"depends":287,"contact":449,"extension":1584,"proposal":240},492,"VK_NV_cooperative_vector",{"number":1586,"type":274,"author":428,"promotedto":1090,"provisional":8,"depends":1587,"contact":574,"extension":1588,"proposal":8},427,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_copy_memory_indirect",{"number":210,"type":274,"author":428,"provisional":8,"depends":287,"contact":794,"extension":1590,"proposal":8},"VK_NV_corner_sampled_image",{"number":1592,"type":274,"author":428,"provisional":8,"depends":1593,"contact":1594,"extension":1595,"proposal":8},251,"VK_NV_framebuffer_mixed_samples+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","Kedarnath Thangudu @kthangudu","VK_NV_coverage_reduction_mode",{"number":1597,"type":274,"author":428,"provisional":240,"depends":287,"platform":277,"contact":1598,"extension":1599,"proposal":8},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":114,"type":274,"author":428,"deprecatedby":1099,"provisional":8,"contact":449,"extension":1601,"proposal":8},"VK_NV_dedicated_allocation",{"number":1603,"type":274,"author":1604,"provisional":8,"depends":1605,"contact":1606,"extension":1607,"proposal":8},241,"NVIDIA","(VK_KHR_dedicated_allocation+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","Nuno Subtil @nsubtil","VK_NV_dedicated_allocation_image_aliasing",{"number":1609,"type":274,"author":428,"provisional":8,"depends":405,"contact":454,"extension":1610,"proposal":8},547,"VK_NV_descriptor_pool_overallocation",{"number":1612,"type":274,"author":1604,"provisional":8,"depends":287,"contact":1606,"extension":1613,"proposal":8},207,"VK_NV_device_diagnostic_checkpoints",{"number":1615,"type":274,"author":428,"provisional":8,"depends":287,"contact":1594,"extension":1616,"proposal":8},301,"VK_NV_device_diagnostics_config",{"number":1618,"type":274,"author":428,"provisional":8,"depends":1619,"contact":723,"extension":1620,"proposal":8},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":1622,"type":274,"author":428,"provisional":8,"depends":1620,"contact":574,"extension":1623,"proposal":8},429,"VK_NV_device_generated_commands_compute",{"number":1625,"type":274,"author":428,"deprecatedby":1563,"provisional":240,"depends":386,"platform":277,"contact":1626,"extension":1627,"proposal":8},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":1629,"type":421,"author":428,"provisional":8,"depends":1630,"contact":1631,"extension":1632,"proposal":240},552,"VK_KHR_display+VK_KHR_get_display_properties2","Russell Chou @russellcnv","VK_NV_display_stereo",{"number":1634,"type":274,"author":428,"provisional":8,"depends":287,"contact":1631,"extension":1635,"proposal":8},493,"VK_NV_extended_sparse_address_space",{"number":1637,"type":274,"author":428,"provisional":8,"contact":1570,"extension":1638,"proposal":240},557,"VK_NV_external_compute_queue",{"number":234,"type":274,"author":428,"deprecatedby":1161,"provisional":8,"depends":1640,"contact":430,"extension":1641,"proposal":8},"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":230,"type":421,"author":428,"deprecatedby":1164,"provisional":8,"contact":430,"extension":1640,"proposal":8},{"number":1644,"type":274,"author":428,"provisional":8,"depends":581,"contact":1500,"extension":1645,"proposal":8},372,"VK_NV_external_memory_rdma",{"extension":1647,"proposal":8},"VK_NV_external_memory_sci_buf",{"number":1649,"type":274,"author":428,"deprecatedby":1169,"provisional":8,"depends":1641,"platform":621,"contact":430,"extension":1650,"proposal":8},58,"VK_NV_external_memory_win32",{"extension":1652,"proposal":8},"VK_NV_external_sci_sync",{"extension":1654,"proposal":8},"VK_NV_external_sci_sync2",{"number":1656,"type":274,"author":428,"provisional":8,"contact":449,"extension":1657,"proposal":8},154,"VK_NV_fill_rectangle",{"number":1659,"type":274,"author":428,"provisional":8,"contact":449,"extension":1660,"proposal":8},150,"VK_NV_fragment_coverage_to_color",{"number":1662,"type":274,"author":428,"promotedto":1188,"provisional":8,"depends":287,"contact":1574,"extension":1663,"proposal":8},204,"VK_NV_fragment_shader_barycentric",{"number":1665,"type":274,"author":428,"provisional":8,"depends":1192,"contact":1574,"extension":1666,"proposal":8},327,"VK_NV_fragment_shading_rate_enums",{"number":1668,"type":274,"author":428,"provisional":8,"contact":449,"extension":1669,"proposal":8},153,"VK_NV_framebuffer_mixed_samples",{"number":1671,"type":274,"author":428,"provisional":8,"contact":794,"extension":1672,"proposal":8},96,"VK_NV_geometry_shader_passthrough",{"number":58,"type":274,"author":428,"deprecatedby":1039,"provisional":8,"contact":454,"extension":1674,"proposal":8},"VK_NV_glsl_shader",{"number":1676,"type":274,"author":428,"provisional":8,"depends":287,"contact":1677,"extension":1678,"proposal":8},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":1680,"type":274,"author":1604,"provisional":8,"depends":287,"contact":1681,"extension":1682,"proposal":8},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":1684,"type":274,"author":428,"provisional":8,"contact":1685,"extension":1686,"proposal":8},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":1688,"type":274,"author":428,"provisional":8,"depends":1689,"contact":1685,"extension":1690,"proposal":8},506,"(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_KHR_present_id,VK_KHR_present_id2)","VK_NV_low_latency2",{"number":1692,"type":274,"author":428,"promotedto":716,"provisional":8,"depends":1587,"contact":574,"extension":1693,"proposal":8},428,"VK_NV_memory_decompression",{"number":1695,"type":274,"author":428,"provisional":8,"depends":287,"contact":723,"extension":1696,"proposal":8},203,"VK_NV_mesh_shader",{"number":1698,"type":274,"author":428,"provisional":8,"depends":1699,"contact":1500,"extension":1700,"proposal":8},465,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_format_feature_flags2+VK_KHR_synchronization2),VK_VERSION_1_3","VK_NV_optical_flow",{"number":1702,"type":274,"author":428,"provisional":8,"depends":1066,"contact":470,"extension":1703,"proposal":240},571,"VK_NV_partitioned_acceleration_structure",{"number":1705,"type":274,"author":428,"provisional":8,"depends":1706,"contact":454,"extension":1707,"proposal":8},517,"VK_KHR_maintenance6,VK_VERSION_1_4","VK_NV_per_stage_descriptor_set",{"number":1709,"type":274,"author":428,"provisional":8,"depends":620,"contact":1710,"extension":1711,"proposal":8},293,"Liya Li @liyli","VK_NV_present_barrier",{"number":1713,"type":274,"author":428,"provisional":8,"depends":287,"contact":1714,"extension":1715,"proposal":8},614,"Charles Hansen @chansen","VK_NV_present_metering",{"extension":1717,"proposal":8},"VK_NV_private_vendor_info",{"number":1719,"type":274,"author":428,"provisional":8,"contact":1720,"extension":1721,"proposal":240},581,"Vassili Nikolaev @vasnik1","VK_NV_push_constant_bank",{"number":1723,"type":274,"author":428,"provisional":8,"depends":287,"contact":1724,"extension":1725,"proposal":8},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":1727,"type":274,"author":428,"deprecatedby":827,"provisional":8,"depends":1728,"contact":828,"extension":1729,"proposal":8},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":1731,"type":274,"author":428,"promotedto":829,"provisional":8,"depends":827,"contact":828,"extension":1732,"proposal":8},491,"VK_NV_ray_tracing_invocation_reorder",{"number":1734,"type":274,"author":428,"provisional":8,"depends":827,"contact":470,"extension":1735,"proposal":240},430,"VK_NV_ray_tracing_linear_swept_spheres",{"number":1737,"type":274,"author":428,"provisional":8,"depends":827,"contact":1318,"extension":1738,"proposal":8},328,"VK_NV_ray_tracing_motion_blur",{"number":1740,"type":274,"author":428,"provisional":8,"depends":287,"contact":574,"extension":1741,"proposal":240},569,"VK_NV_ray_tracing_validation",{"number":1743,"type":274,"author":428,"provisional":8,"depends":287,"contact":1594,"extension":1744,"proposal":8},167,"VK_NV_representative_fragment_test",{"number":1746,"type":274,"author":428,"provisional":8,"contact":454,"extension":1747,"proposal":8},95,"VK_NV_sample_mask_override_coverage",{"number":1749,"type":274,"author":428,"provisional":8,"depends":287,"contact":1574,"extension":1750,"proposal":8},206,"VK_NV_scissor_exclusive",{"number":1752,"type":274,"author":428,"provisional":8,"depends":287,"contact":449,"extension":1753,"proposal":8},564,"VK_NV_shader_atomic_float16_vector",{"number":1755,"type":274,"author":428,"provisional":8,"depends":287,"contact":1574,"extension":1756,"proposal":8},205,"VK_NV_shader_image_footprint",{"number":1758,"type":274,"author":428,"provisional":8,"depends":405,"contact":794,"extension":1759,"proposal":8},155,"VK_NV_shader_sm_builtins",{"number":1761,"type":274,"author":428,"promotedto":890,"provisional":8,"depends":405,"contact":449,"extension":1762,"proposal":8},199,"VK_NV_shader_subgroup_partitioned",{"number":1764,"type":274,"author":428,"provisional":8,"depends":287,"contact":1574,"extension":1765,"proposal":8},165,"VK_NV_shading_rate_image",{"number":1767,"type":274,"author":428,"provisional":8,"contact":794,"extension":1768,"proposal":8},97,"VK_NV_viewport_array2",{"number":1770,"type":274,"author":428,"provisional":8,"contact":454,"extension":1771,"proposal":8},99,"VK_NV_viewport_swizzle",{"number":1773,"type":274,"author":428,"promotedto":1501,"provisional":8,"depends":1650,"platform":621,"contact":1500,"extension":1774,"proposal":8},59,"VK_NV_win32_keyed_mutex",{"number":1776,"type":274,"author":1018,"provisional":8,"depends":369,"platform":1777,"contact":1778,"extension":1779,"proposal":8},453,"ohos","Weilan Chen @wchen-h","VK_OHOS_external_memory",{"number":1781,"type":274,"author":1018,"provisional":8,"platform":1777,"contact":1778,"extension":1782,"proposal":8},589,"VK_OHOS_native_buffer",{"number":1784,"type":421,"author":1018,"provisional":8,"depends":551,"platform":1777,"contact":1778,"extension":1785,"proposal":8},588,"VK_OHOS_surface",{"number":1787,"type":274,"author":597,"provisional":8,"depends":1083,"contact":598,"extension":1788,"proposal":240},173,"VK_QCOM_cooperative_matrix_conversion",{"number":1790,"type":274,"author":597,"provisional":8,"depends":376,"contact":598,"extension":1791,"proposal":240},630,"VK_QCOM_data_graph_model",{"number":1793,"type":274,"author":597,"provisional":8,"depends":1794,"contact":598,"extension":1795,"proposal":8},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":1797,"type":274,"author":597,"provisional":8,"depends":599,"contact":598,"extension":1798,"proposal":8},520,"VK_QCOM_filter_cubic_weights",{"number":1800,"type":274,"author":597,"promotedto":610,"provisional":8,"depends":1801,"contact":598,"extension":1802,"proposal":8},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":1804,"type":274,"author":597,"provisional":8,"depends":1805,"contact":598,"extension":1806,"proposal":240},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":1808,"type":274,"author":597,"provisional":8,"depends":1806,"contact":598,"extension":1809,"proposal":8},519,"VK_QCOM_image_processing2",{"number":1811,"type":274,"author":597,"provisional":8,"depends":287,"contact":598,"extension":1812,"proposal":8},511,"VK_QCOM_multiview_per_view_render_areas",{"number":1814,"type":274,"author":597,"provisional":8,"depends":287,"contact":598,"extension":1815,"proposal":8},489,"VK_QCOM_multiview_per_view_viewports",{"number":1817,"type":274,"author":597,"promotedto":480,"provisional":8,"contact":598,"extension":1818,"proposal":8},172,"VK_QCOM_render_pass_shader_resolve",{"number":1820,"type":274,"author":597,"provisional":8,"contact":598,"extension":1821,"proposal":8},302,"VK_QCOM_render_pass_store_ops",{"number":1823,"type":274,"author":597,"provisional":8,"contact":598,"extension":1824,"proposal":8},283,"VK_QCOM_render_pass_transform",{"number":1826,"type":274,"author":597,"provisional":8,"depends":1827,"contact":598,"extension":1828,"proposal":8},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":1830,"type":274,"author":597,"provisional":8,"depends":1831,"contact":1832,"extension":1833,"proposal":240},548,"(VK_KHR_get_memory_requirements2+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","Patrick Boyle @pboyleQCOM","VK_QCOM_tile_memory_heap",{"number":1835,"type":274,"author":597,"provisional":8,"depends":287,"contact":598,"extension":1836,"proposal":240},485,"VK_QCOM_tile_properties",{"number":1838,"type":274,"author":597,"provisional":8,"depends":1836,"contact":598,"extension":1839,"proposal":240},310,"VK_QCOM_tile_shading",{"number":1841,"type":274,"author":597,"provisional":8,"depends":287,"contact":598,"extension":1842,"proposal":8},521,"VK_QCOM_ycbcr_degamma",{"number":1844,"type":274,"author":1845,"provisional":8,"depends":369,"platform":1846,"contact":1847,"extension":1848,"proposal":8},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":1850,"type":421,"author":1845,"provisional":8,"depends":551,"platform":1846,"contact":1851,"extension":1852,"proposal":8},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":1854,"type":274,"author":1855,"provisional":8,"depends":287,"contact":532,"extension":1856,"proposal":8},486,"SEC","VK_SEC_amigo_profiling",{"number":1858,"type":274,"author":1855,"provisional":8,"depends":287,"contact":1859,"extension":1860,"proposal":8},638,"Chris Hambacher @chambacher","VK_SEC_pipeline_cache_incremental_mode",{"number":1862,"type":421,"author":1855,"provisional":8,"depends":551,"platform":1863,"contact":1864,"extension":1865,"proposal":8},665,"ubm","Minji Choe @minjichoe","VK_SEC_ubm_surface",{"number":1867,"type":274,"author":1868,"provisional":8,"depends":287,"specialuse":495,"contact":778,"extension":1869,"proposal":8},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":1871,"type":274,"author":1868,"provisional":8,"depends":1872,"contact":609,"extension":1873,"proposal":8},612,"(VK_KHR_maintenance5,VK_VERSION_1_4)+VK_EXT_fragment_density_map","VK_VALVE_fragment_density_map_layered",{"number":1875,"type":274,"author":1868,"promotedto":744,"provisional":8,"depends":1236,"specialuse":495,"contact":743,"extension":1876,"proposal":8},352,"VK_VALVE_mutable_descriptor_type",{"number":1878,"type":274,"author":1868,"provisional":8,"depends":1879,"contact":751,"extension":1880,"proposal":8},674,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+(VK_KHR_shader_float16_int8,VK_VERSION_1_2)","VK_VALVE_shader_mixed_float_dot_product",{"number":1882,"type":274,"author":1868,"provisional":8,"depends":1883,"contact":1884,"extension":1885,"proposal":8},391,"VK_KHR_video_encode_queue+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","Autumn Ashton @misyltoad","VK_VALVE_video_encode_rgb_conversion",{"title":1887,"description":1888,"body":1889,"_type":7142,"_id":1887},"VK_KHR_device_fault.proposal","This document outlines functionality to allow applications to query for\ndiagnostic information about device faults following a VK_ERROR_DEVICE_LOST.\nThis mirrors functionality first exposed via VK_EXT_device_fault.",{"type":1890,"children":1891,"toc":7104},"root",[1892,1899,1904,1909,1916,1921,1934,1939,1952,1964,1969,1975,1980,1987,2008,2014,2019,2031,2054,2059,2065,2070,2076,2081,2086,2091,2096,2102,2115,2121,2127,2140,2167,2184,2208,2325,2360,2365,2375,2408,2432,2452,2457,2462,2603,2614,2773,2807,2818,2829,2840,2851,2862,2881,2886,2957,2968,2989,2996,3038,3044,3049,3302,3307,3327,3421,3427,3432,3443,3455,3522,3541,3552,3638,3643,3663,3688,3693,3698,3737,3743,3755,3838,3849,3860,3871,3881,3886,3947,3952,3963,3975,3985,3991,3997,4079,4085,4525,4531,4536,4992,4997,5260,5265,5769,5774,6775,6781,6787,6797,6803,6808,6815,6825,6831,6841,6850,6856,6875,6887,6894,6900,6905,6912,6918,6923,6930,6936,6941,6947,6952,6957,6970,6979,6985,6990,6997,7003,7008,7013,7019,7024,7029,7036,7042,7054,7063,7069,7074,7087,7093,7098],{"type":1893,"tag":1894,"props":1895,"children":1896},"element","p",{},[1897],{"type":1898,"value":1888},"text",{"type":1893,"tag":1894,"props":1900,"children":1901},{},[1902],{"type":1898,"value":1903},"It also extends this functionality to allow drivers to report faults which may\nnormally be handled internally and not reported as device lost errors.",{"type":1893,"tag":1894,"props":1905,"children":1906},{},[1907],{"type":1898,"value":1908},"Additionally, it allows for reporting faults which are provoked asynchronously by a\nsubmitted command buffer, but were not triggered until after the queue submit\nhad returned.",{"type":1893,"tag":1910,"props":1911,"children":1913},"h2",{"id":1912},"_problem_statement",[1914],{"type":1898,"value":1915},"Problem Statement",{"type":1893,"tag":1894,"props":1917,"children":1918},{},[1919],{"type":1898,"value":1920},"A number of issues, including invalid application behavior, driver bugs,\nhardware bugs, and physical failures may cause the device to fault.\nWhen this happens, submitted work may not run to completion in which case\nany outputs will have undefined contents.",{"type":1893,"tag":1894,"props":1922,"children":1923},{},[1924,1926,1932],{"type":1898,"value":1925},"Such faults may or may not be reported as device lost errors.\nSpecifically, an implementation can choose to not report device lost if\nit expects that work submitted in the future will run successfully, i.e.,\nif the fault is ",{"type":1893,"tag":1927,"props":1928,"children":1929},"em",{},[1930],{"type":1898,"value":1931},"recoverable",{"type":1898,"value":1933}," and does not cause the device to become unable\nto process future submits ('lost').",{"type":1893,"tag":1894,"props":1935,"children":1936},{},[1937],{"type":1898,"value":1938},"Device lost errors are very disruptive because they are 'sticky' and require\nthat the logical device is recreated before the error state is cleared.\nIn practice, many applications are not written to gracefully recover from\nthese errors.\nFor these reasons, 'hiding' any recoverable faults occur can be a\npragmatic choice.",{"type":1893,"tag":1894,"props":1940,"children":1941},{},[1942,1944,1950],{"type":1898,"value":1943},"The ",{"type":1893,"tag":1945,"props":1946,"children":1948},"code",{"className":1947},[],[1949],{"type":1898,"value":537},{"type":1898,"value":1951}," extension was introduced to help diagnose device\nlost errors, which can be challenging to resolve.\nBut this extension cannot be used to diagnose hidden recoverable faults\nbecause it requires that the device is already in the lost state.",{"type":1893,"tag":1894,"props":1953,"children":1954},{},[1955,1957,1962],{"type":1898,"value":1956},"This proposal aims to encompass the functionality provided by\n",{"type":1893,"tag":1945,"props":1958,"children":1960},{"className":1959},[],[1961],{"type":1898,"value":537},{"type":1898,"value":1963}," whilst widening the scope to provide application\ndevelopers with a method to receive notifications and information about\nfault events irrespective of whether or not they resulted in a device lost\nerror.",{"type":1893,"tag":1894,"props":1965,"children":1966},{},[1967],{"type":1898,"value":1968},"Such information could be used by a developer to diagnose visual artifacts,\nperformance issues or as input to telemetry.",{"type":1893,"tag":1910,"props":1970,"children":1972},{"id":1971},"_solution_space",[1973],{"type":1898,"value":1974},"Solution Space",{"type":1893,"tag":1894,"props":1976,"children":1977},{},[1978],{"type":1898,"value":1979},"Several options have been considered.",{"type":1893,"tag":1981,"props":1982,"children":1984},"h3",{"id":1983},"_allow_vkgetdevicefaultinfoextkhr_to_be_called_ad_hoc_polling",[1985],{"type":1898,"value":1986},"Allow vkGetDeviceFaultInfoEXT/KHR() to be called ad-hoc (Polling)",{"type":1893,"tag":1894,"props":1988,"children":1989},{},[1990,1992,1998,2000,2006],{"type":1898,"value":1991},"An alternative could be to just promote ",{"type":1893,"tag":1945,"props":1993,"children":1995},{"className":1994},[],[1996],{"type":1898,"value":1997},"vkGetDeviceFaultInfoEXT",{"type":1898,"value":1999}," to KHR &\nallow ",{"type":1893,"tag":1945,"props":2001,"children":2003},{"className":2002},[],[2004],{"type":1898,"value":2005},"vkGetDeviceFaultInfoKHR",{"type":1898,"value":2007}," to be called before the device is in the\n'lost' state - however, that does not support any form of blocking query,\nso would incur more CPU overhead for polling to be effective, and would not\ndifferentiate device lost & masked faults.",{"type":1893,"tag":1981,"props":2009,"children":2011},{"id":2010},"_introduce_a_new_error_code",[2012],{"type":1898,"value":2013},"Introduce a new error code",{"type":1893,"tag":1894,"props":2015,"children":2016},{},[2017],{"type":1898,"value":2018},"This option would introduce a new error code (e.g., \"VK_ERROR_RECOVERABLE_FAULT_KHR\")\nthat could be returned by the same API commands that can return VK_ERROR_DEVICE_LOST.",{"type":1893,"tag":1894,"props":2020,"children":2021},{},[2022,2024,2029],{"type":1898,"value":2023},"The error would ",{"type":1893,"tag":1927,"props":2025,"children":2026},{},[2027],{"type":1898,"value":2028},"not",{"type":1898,"value":2030}," put the logical device in a permanent 'lost' state, but\nwould either:",{"type":1893,"tag":2032,"props":2033,"children":2034},"ul",{},[2035,2041],{"type":1893,"tag":2036,"props":2037,"children":2038},"li",{},[2039],{"type":1898,"value":2040},"be reported as a one-time event (like other errors)",{"type":1893,"tag":2036,"props":2042,"children":2043},{},[2044,2046,2052],{"type":1898,"value":2045},"be reported until explicitly acknowledged and cleared (e.g., by calling a\nnew command like ",{"type":1893,"tag":1945,"props":2047,"children":2049},{"className":2048},[],[2050],{"type":1898,"value":2051},"vkDeviceRecoverKHR",{"type":1898,"value":2053},")",{"type":1893,"tag":1894,"props":2055,"children":2056},{},[2057],{"type":1898,"value":2058},"The downside to this option is that many applications are not written to handle\nany runtime errors, which means that in practice any such error would result\nin application termination.",{"type":1893,"tag":1981,"props":2060,"children":2062},{"id":2061},"_introduce_an_extended_reporting_mechanism_polling_with_timeout",[2063],{"type":1898,"value":2064},"Introduce an extended reporting mechanism: Polling With Timeout",{"type":1893,"tag":1894,"props":2066,"children":2067},{},[2068],{"type":1898,"value":2069},"This option adds to the capability of the previous \"Polling\" option to allow\nblocking waits. This would allow applications to dispatch a low CPU usage\nfault catcher thread, whilst still having a firm entry/exit point into the\ndriver.",{"type":1893,"tag":1981,"props":2071,"children":2073},{"id":2072},"_introduce_an_extended_reporting_mechanism_callbacks",[2074],{"type":1898,"value":2075},"Introduce an extended reporting mechanism: Callbacks",{"type":1893,"tag":1894,"props":2077,"children":2078},{},[2079],{"type":1898,"value":2080},"This option adds a callback to return information on\nfaults.",{"type":1893,"tag":1894,"props":2082,"children":2083},{},[2084],{"type":1898,"value":2085},"This information provided by the callback mechanism is the same as for the polling approach.",{"type":1893,"tag":1894,"props":2087,"children":2088},{},[2089],{"type":1898,"value":2090},"The benefits of the callback mechanism would be that the application would be\nnotified immediately when events occur, rather than manually polling.",{"type":1893,"tag":1894,"props":2092,"children":2093},{},[2094],{"type":1898,"value":2095},"Disadvantage would be in complexity of threading behavior - to ensure prompt\ncallback delivery, it implies a driver-side thread and providing guarantees\nas to application thread calling state at the point of dispatch would be\ndifficult.",{"type":1893,"tag":1910,"props":2097,"children":2099},{"id":2098},"_proposal",[2100],{"type":1898,"value":2101},"Proposal",{"type":1893,"tag":1894,"props":2103,"children":2104},{},[2105,2107,2113],{"type":1898,"value":2106},"From the solution space previously detailed, the option\n",{"type":1893,"tag":2108,"props":2109,"children":2111},"a",{"href":2110},"/404#_introduce_an_extended_reporting_mechanism_polling_with_timeout",[2112],{"type":1898,"value":2061},{"type":1898,"value":2114}," was\nselected as delivering many of the asynchronous delivery advantages of callbacks\nwhilst still providing a deterministic entry point to the driver with\nguaranteed delivery thread context, whilst being less intrusive/problematic in\nterms of required application-side support than adding additional error codes.",{"type":1893,"tag":1981,"props":2116,"children":2118},{"id":2117},"_api_features",[2119],{"type":1898,"value":2120},"API Features",{"type":1893,"tag":1981,"props":2122,"children":2124},{"id":2123},"_querying_for_fault_information",[2125],{"type":1898,"value":2126},"Querying for Fault Information",{"type":1893,"tag":1894,"props":2128,"children":2129},{},[2130,2132,2138],{"type":1898,"value":2131},"Applications can query for the presence of fault reports and corresponding diagnostic\ninformation at any time by calling ",{"type":1893,"tag":1945,"props":2133,"children":2135},{"className":2134},[],[2136],{"type":1898,"value":2137},"vkGetDeviceFaultReportsKHR",{"type":1898,"value":2139},".",{"type":1893,"tag":1894,"props":2141,"children":2142},{},[2143,2149,2151,2157,2159,2165],{"type":1893,"tag":1945,"props":2144,"children":2146},{"className":2145},[],[2147],{"type":1898,"value":2148},"vkGetDeviceFaultReportsKHR()",{"type":1898,"value":2150}," replaces the old ",{"type":1893,"tag":1945,"props":2152,"children":2154},{"className":2153},[],[2155],{"type":1898,"value":2156},"vkGetDeviceFaultInfoEXT()",{"type":1898,"value":2158}," API\nand aims to unify fault reporting in a more extensible fashion, whilst\nallowing for blocking waits via a ",{"type":1893,"tag":1945,"props":2160,"children":2162},{"className":2161},[],[2163],{"type":1898,"value":2164},"timeout",{"type":1898,"value":2166}," parameter.",{"type":1893,"tag":1894,"props":2168,"children":2169},{},[2170,2175,2177,2182],{"type":1893,"tag":1945,"props":2171,"children":2173},{"className":2172},[],[2174],{"type":1898,"value":2148},{"type":1898,"value":2176}," differs from ",{"type":1893,"tag":1945,"props":2178,"children":2180},{"className":2179},[],[2181],{"type":1898,"value":2156},{"type":1898,"value":2183}," in four\nsignificant ways:",{"type":1893,"tag":2185,"props":2186,"children":2187},"ol",{},[2188,2193,2198,2203],{"type":1893,"tag":2036,"props":2189,"children":2190},{},[2191],{"type":1898,"value":2192},"It may be called at any time, without the requirement for a VK_ERROR_DEVICE_LOST\ncondition to exist prior to the call.",{"type":1893,"tag":2036,"props":2194,"children":2195},{},[2196],{"type":1898,"value":2197},"It may report faults that did not result in a VK_ERROR_DEVICE_LOST condition\n(if enabled via the deviceFaultReportMasked feature).",{"type":1893,"tag":2036,"props":2199,"children":2200},{},[2201],{"type":1898,"value":2202},"It provides support for blocking queries.",{"type":1893,"tag":2036,"props":2204,"children":2205},{},[2206],{"type":1898,"value":2207},"It is not the retrieval API for vendor binary dumps.",{"type":1893,"tag":2209,"props":2210,"children":2215},"pre",{"className":2211,"code":2212,"language":2213,"meta":2214,"style":2214},"language-c shiki shiki-themes github-light-default github-dark-default","// Retrieve fault entries\nVKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultReportsKHR(\n VkDevice device,\n uint64_t timeout,\n uint32_t* pFaultCount,\n VkDeviceFaultReportKHR* pFaultInfos);\n","c","",[2216],{"type":1893,"tag":1945,"props":2217,"children":2218},{"__ignoreMap":2214},[2219,2230,2249,2267,2285,2302],{"type":1893,"tag":2220,"props":2221,"children":2223},"span",{"class":2222,"line":10},"line",[2224],{"type":1893,"tag":2220,"props":2225,"children":2227},{"style":2226},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[2228],{"type":1898,"value":2229},"// Retrieve fault entries\n",{"type":1893,"tag":2220,"props":2231,"children":2232},{"class":2222,"line":14},[2233,2239,2244],{"type":1893,"tag":2220,"props":2234,"children":2236},{"style":2235},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[2237],{"type":1898,"value":2238},"VKAPI_ATTR VkResult VKAPI_CALL ",{"type":1893,"tag":2220,"props":2240,"children":2242},{"style":2241},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[2243],{"type":1898,"value":2137},{"type":1893,"tag":2220,"props":2245,"children":2246},{"style":2235},[2247],{"type":1898,"value":2248},"(\n",{"type":1893,"tag":2220,"props":2250,"children":2251},{"class":2222,"line":18},[2252,2257,2262],{"type":1893,"tag":2220,"props":2253,"children":2254},{"style":2235},[2255],{"type":1898,"value":2256}," VkDevice ",{"type":1893,"tag":2220,"props":2258,"children":2260},{"style":2259},"--shiki-default:#953800;--shiki-dark:#FFA657",[2261],{"type":1898,"value":274},{"type":1893,"tag":2220,"props":2263,"children":2264},{"style":2235},[2265],{"type":1898,"value":2266},",\n",{"type":1893,"tag":2220,"props":2268,"children":2269},{"class":2222,"line":22},[2270,2276,2281],{"type":1893,"tag":2220,"props":2271,"children":2273},{"style":2272},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[2274],{"type":1898,"value":2275}," uint64_t",{"type":1893,"tag":2220,"props":2277,"children":2278},{"style":2259},[2279],{"type":1898,"value":2280}," timeout",{"type":1893,"tag":2220,"props":2282,"children":2283},{"style":2235},[2284],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2286,"children":2287},{"class":2222,"line":26},[2288,2293,2298],{"type":1893,"tag":2220,"props":2289,"children":2290},{"style":2272},[2291],{"type":1898,"value":2292}," uint32_t*",{"type":1893,"tag":2220,"props":2294,"children":2295},{"style":2259},[2296],{"type":1898,"value":2297}," pFaultCount",{"type":1893,"tag":2220,"props":2299,"children":2300},{"style":2235},[2301],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2303,"children":2304},{"class":2222,"line":30},[2305,2310,2315,2320],{"type":1893,"tag":2220,"props":2306,"children":2307},{"style":2235},[2308],{"type":1898,"value":2309}," VkDeviceFaultReportKHR",{"type":1893,"tag":2220,"props":2311,"children":2312},{"style":2272},[2313],{"type":1898,"value":2314},"*",{"type":1893,"tag":2220,"props":2316,"children":2317},{"style":2259},[2318],{"type":1898,"value":2319}," pFaultInfos",{"type":1893,"tag":2220,"props":2321,"children":2322},{"style":2235},[2323],{"type":1898,"value":2324},");\n",{"type":1893,"tag":1894,"props":2326,"children":2327},{},[2328,2330,2335,2337,2343,2345,2351,2353,2358],{"type":1898,"value":2329},"The signature of ",{"type":1893,"tag":1945,"props":2331,"children":2333},{"className":2332},[],[2334],{"type":1898,"value":2137},{"type":1898,"value":2336}," follows the convention of\nexisting query functions (input parameters first), with the third parameter\n",{"type":1893,"tag":1945,"props":2338,"children":2340},{"className":2339},[],[2341],{"type":1898,"value":2342},"pFaultCount",{"type":1898,"value":2344}," providing the size of output array in the subsequent parameter\n",{"type":1893,"tag":1945,"props":2346,"children":2348},{"className":2347},[],[2349],{"type":1898,"value":2350},"pFaultInfos",{"type":1898,"value":2352}," (on input to fault retrieval), returning the number of results\nwritten to ",{"type":1893,"tag":1945,"props":2354,"children":2356},{"className":2355},[],[2357],{"type":1898,"value":2350},{"type":1898,"value":2359}," (on output from fault retrieval), or is populated\nwith the number of available results (on sizing query).",{"type":1893,"tag":1894,"props":2361,"children":2362},{},[2363],{"type":1898,"value":2364},"Faults are returned in order of occurrence.",{"type":1893,"tag":1894,"props":2366,"children":2367},{},[2368,2373],{"type":1893,"tag":1945,"props":2369,"children":2371},{"className":2370},[],[2372],{"type":1898,"value":2342},{"type":1898,"value":2374}," must not be NULL.",{"type":1893,"tag":1894,"props":2376,"children":2377},{},[2378,2383,2385,2391,2393,2399,2401,2406],{"type":1893,"tag":1945,"props":2379,"children":2381},{"className":2380},[],[2382],{"type":1898,"value":2350},{"type":1898,"value":2384}," points to an array of size ",{"type":1893,"tag":1945,"props":2386,"children":2388},{"className":2387},[],[2389],{"type":1898,"value":2390},"*pFaultCount",{"type":1898,"value":2392}," entries to return, or\nNULL. If ",{"type":1893,"tag":1945,"props":2394,"children":2396},{"className":2395},[],[2397],{"type":1898,"value":2398},"pFaultInfos==NULL",{"type":1898,"value":2400},", then the number of available results is returned in\n",{"type":1893,"tag":1945,"props":2402,"children":2404},{"className":2403},[],[2405],{"type":1898,"value":2390},{"type":1898,"value":2407},". The fault entries are returned in order of occurrence.",{"type":1893,"tag":1894,"props":2409,"children":2410},{},[2411,2416,2418,2423,2425,2430],{"type":1893,"tag":1945,"props":2412,"children":2414},{"className":2413},[],[2415],{"type":1898,"value":2164},{"type":1898,"value":2417}," is the timeout period in units of nanoseconds. ",{"type":1893,"tag":1945,"props":2419,"children":2421},{"className":2420},[],[2422],{"type":1898,"value":2164},{"type":1898,"value":2424}," is adjusted\nto the closest value allowed by the implementation-dependent timeout accuracy,\nwhich may be substantially longer than one nanosecond, and may be longer than\nthe requested period. If a zero ",{"type":1893,"tag":1945,"props":2426,"children":2428},{"className":2427},[],[2429],{"type":1898,"value":2164},{"type":1898,"value":2431}," is passed then the function returns\nimmediately irrespective of whether any faults are available.",{"type":1893,"tag":1894,"props":2433,"children":2434},{},[2435,2437,2442,2444,2450],{"type":1898,"value":2436},"The entries returned by ",{"type":1893,"tag":1945,"props":2438,"children":2440},{"className":2439},[],[2441],{"type":1898,"value":2148},{"type":1898,"value":2443}," take the form shown below,\nwith populated fault reporting fields indicated by the ",{"type":1893,"tag":1945,"props":2445,"children":2447},{"className":2446},[],[2448],{"type":1898,"value":2449},"flags",{"type":1898,"value":2451}," field.",{"type":1893,"tag":1894,"props":2453,"children":2454},{},[2455],{"type":1898,"value":2456},"Each individual fault report is returned exactly once.",{"type":1893,"tag":1894,"props":2458,"children":2459},{},[2460],{"type":1898,"value":2461},"vkGetDeviceFaultReportsKHR() can be invoked in parallel from different\nthreads, in which case each invocation for a given device will\nreturn a unique set of reports, with no fault report being returned\nto more than one invocation.",{"type":1893,"tag":2209,"props":2463,"children":2465},{"className":2211,"code":2464,"language":2213,"meta":2214,"style":2214},"typedef struct {\n VkStructureType sType;\n void* pNext;\n VkDeviceFaultFlagsKHR flags; // indicates masking/device-loss/timeout status + which members are populated\n uint64_t groupID; // unique groupID for grouping multiple faults\n char description[VK_MAX_DESCRIPTION_SIZE];\n VkDeviceFaultAddressInfoKHR faultAddressInfo; // flags & VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR\n VkDeviceFaultAddressInfoKHR instructionAddressInfo; // flags & VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR\n VkDeviceFaultVendorInfoKHR vendorInfo; // flags & VK_DEVICE_FAULT_FLAG_VENDOR_KHR\n} VkDeviceFaultInfoKHR;\n",[2466],{"type":1893,"tag":1945,"props":2467,"children":2468},{"__ignoreMap":2214},[2469,2487,2495,2508,2521,2538,2556,2569,2582,2595],{"type":1893,"tag":2220,"props":2470,"children":2471},{"class":2222,"line":10},[2472,2477,2482],{"type":1893,"tag":2220,"props":2473,"children":2474},{"style":2272},[2475],{"type":1898,"value":2476},"typedef",{"type":1893,"tag":2220,"props":2478,"children":2479},{"style":2272},[2480],{"type":1898,"value":2481}," struct",{"type":1893,"tag":2220,"props":2483,"children":2484},{"style":2235},[2485],{"type":1898,"value":2486}," {\n",{"type":1893,"tag":2220,"props":2488,"children":2489},{"class":2222,"line":14},[2490],{"type":1893,"tag":2220,"props":2491,"children":2492},{"style":2235},[2493],{"type":1898,"value":2494}," VkStructureType sType;\n",{"type":1893,"tag":2220,"props":2496,"children":2497},{"class":2222,"line":18},[2498,2503],{"type":1893,"tag":2220,"props":2499,"children":2500},{"style":2272},[2501],{"type":1898,"value":2502}," void*",{"type":1893,"tag":2220,"props":2504,"children":2505},{"style":2235},[2506],{"type":1898,"value":2507}," pNext;\n",{"type":1893,"tag":2220,"props":2509,"children":2510},{"class":2222,"line":22},[2511,2516],{"type":1893,"tag":2220,"props":2512,"children":2513},{"style":2235},[2514],{"type":1898,"value":2515}," VkDeviceFaultFlagsKHR flags;",{"type":1893,"tag":2220,"props":2517,"children":2518},{"style":2226},[2519],{"type":1898,"value":2520}," // indicates masking/device-loss/timeout status + which members are populated\n",{"type":1893,"tag":2220,"props":2522,"children":2523},{"class":2222,"line":26},[2524,2528,2533],{"type":1893,"tag":2220,"props":2525,"children":2526},{"style":2272},[2527],{"type":1898,"value":2275},{"type":1893,"tag":2220,"props":2529,"children":2530},{"style":2235},[2531],{"type":1898,"value":2532}," groupID;",{"type":1893,"tag":2220,"props":2534,"children":2535},{"style":2226},[2536],{"type":1898,"value":2537}," // unique groupID for grouping multiple faults\n",{"type":1893,"tag":2220,"props":2539,"children":2540},{"class":2222,"line":30},[2541,2546,2551],{"type":1893,"tag":2220,"props":2542,"children":2543},{"style":2272},[2544],{"type":1898,"value":2545}," char",{"type":1893,"tag":2220,"props":2547,"children":2548},{"style":2259},[2549],{"type":1898,"value":2550}," description",{"type":1893,"tag":2220,"props":2552,"children":2553},{"style":2235},[2554],{"type":1898,"value":2555},"[VK_MAX_DESCRIPTION_SIZE];\n",{"type":1893,"tag":2220,"props":2557,"children":2558},{"class":2222,"line":34},[2559,2564],{"type":1893,"tag":2220,"props":2560,"children":2561},{"style":2235},[2562],{"type":1898,"value":2563}," VkDeviceFaultAddressInfoKHR faultAddressInfo;",{"type":1893,"tag":2220,"props":2565,"children":2566},{"style":2226},[2567],{"type":1898,"value":2568}," // flags & VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR\n",{"type":1893,"tag":2220,"props":2570,"children":2571},{"class":2222,"line":38},[2572,2577],{"type":1893,"tag":2220,"props":2573,"children":2574},{"style":2235},[2575],{"type":1898,"value":2576}," VkDeviceFaultAddressInfoKHR instructionAddressInfo;",{"type":1893,"tag":2220,"props":2578,"children":2579},{"style":2226},[2580],{"type":1898,"value":2581}," // flags & VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR\n",{"type":1893,"tag":2220,"props":2583,"children":2584},{"class":2222,"line":42},[2585,2590],{"type":1893,"tag":2220,"props":2586,"children":2587},{"style":2235},[2588],{"type":1898,"value":2589}," VkDeviceFaultVendorInfoKHR vendorInfo;",{"type":1893,"tag":2220,"props":2591,"children":2592},{"style":2226},[2593],{"type":1898,"value":2594}," // flags & VK_DEVICE_FAULT_FLAG_VENDOR_KHR\n",{"type":1893,"tag":2220,"props":2596,"children":2597},{"class":2222,"line":46},[2598],{"type":1893,"tag":2220,"props":2599,"children":2600},{"style":2235},[2601],{"type":1898,"value":2602},"} VkDeviceFaultInfoKHR;\n",{"type":1893,"tag":1894,"props":2604,"children":2605},{},[2606,2607,2612],{"type":1898,"value":1943},{"type":1893,"tag":1945,"props":2608,"children":2610},{"className":2609},[],[2611],{"type":1898,"value":2449},{"type":1898,"value":2613}," field is a bitmask of the following values:",{"type":1893,"tag":2209,"props":2615,"children":2617},{"className":2211,"code":2616,"language":2213,"meta":2214,"style":2214},"typedef enum {\n VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR = 1,\n VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR = 2,\n VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR = 4,\n VK_DEVICE_FAULT_FLAG_VENDOR_KHR = 8,\n VK_DEVICE_FAULT_FLAG_WATCHDOG_TIMEOUT_KHR = 16,\n VK_DEVICE_FAULT_FLAG_OVERFLOW_KHR = 32,\n} VkDeviceFaultFlagsKHR;\n",[2618],{"type":1893,"tag":1945,"props":2619,"children":2620},{"__ignoreMap":2214},[2621,2637,2660,2681,2702,2723,2744,2765],{"type":1893,"tag":2220,"props":2622,"children":2623},{"class":2222,"line":10},[2624,2628,2633],{"type":1893,"tag":2220,"props":2625,"children":2626},{"style":2272},[2627],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":2629,"children":2630},{"style":2272},[2631],{"type":1898,"value":2632}," enum",{"type":1893,"tag":2220,"props":2634,"children":2635},{"style":2235},[2636],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":2638,"children":2639},{"class":2222,"line":14},[2640,2645,2650,2656],{"type":1893,"tag":2220,"props":2641,"children":2642},{"style":2235},[2643],{"type":1898,"value":2644}," VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR ",{"type":1893,"tag":2220,"props":2646,"children":2647},{"style":2272},[2648],{"type":1898,"value":2649},"=",{"type":1893,"tag":2220,"props":2651,"children":2653},{"style":2652},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[2654],{"type":1898,"value":2655}," 1",{"type":1893,"tag":2220,"props":2657,"children":2658},{"style":2235},[2659],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2661,"children":2662},{"class":2222,"line":18},[2663,2668,2672,2677],{"type":1893,"tag":2220,"props":2664,"children":2665},{"style":2235},[2666],{"type":1898,"value":2667}," VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR ",{"type":1893,"tag":2220,"props":2669,"children":2670},{"style":2272},[2671],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":2673,"children":2674},{"style":2652},[2675],{"type":1898,"value":2676}," 2",{"type":1893,"tag":2220,"props":2678,"children":2679},{"style":2235},[2680],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2682,"children":2683},{"class":2222,"line":22},[2684,2689,2693,2698],{"type":1893,"tag":2220,"props":2685,"children":2686},{"style":2235},[2687],{"type":1898,"value":2688}," VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR ",{"type":1893,"tag":2220,"props":2690,"children":2691},{"style":2272},[2692],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":2694,"children":2695},{"style":2652},[2696],{"type":1898,"value":2697}," 4",{"type":1893,"tag":2220,"props":2699,"children":2700},{"style":2235},[2701],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2703,"children":2704},{"class":2222,"line":26},[2705,2710,2714,2719],{"type":1893,"tag":2220,"props":2706,"children":2707},{"style":2235},[2708],{"type":1898,"value":2709}," VK_DEVICE_FAULT_FLAG_VENDOR_KHR ",{"type":1893,"tag":2220,"props":2711,"children":2712},{"style":2272},[2713],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":2715,"children":2716},{"style":2652},[2717],{"type":1898,"value":2718}," 8",{"type":1893,"tag":2220,"props":2720,"children":2721},{"style":2235},[2722],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2724,"children":2725},{"class":2222,"line":30},[2726,2731,2735,2740],{"type":1893,"tag":2220,"props":2727,"children":2728},{"style":2235},[2729],{"type":1898,"value":2730}," VK_DEVICE_FAULT_FLAG_WATCHDOG_TIMEOUT_KHR ",{"type":1893,"tag":2220,"props":2732,"children":2733},{"style":2272},[2734],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":2736,"children":2737},{"style":2652},[2738],{"type":1898,"value":2739}," 16",{"type":1893,"tag":2220,"props":2741,"children":2742},{"style":2235},[2743],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2745,"children":2746},{"class":2222,"line":34},[2747,2752,2756,2761],{"type":1893,"tag":2220,"props":2748,"children":2749},{"style":2235},[2750],{"type":1898,"value":2751}," VK_DEVICE_FAULT_FLAG_OVERFLOW_KHR ",{"type":1893,"tag":2220,"props":2753,"children":2754},{"style":2272},[2755],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":2757,"children":2758},{"style":2652},[2759],{"type":1898,"value":2760}," 32",{"type":1893,"tag":2220,"props":2762,"children":2763},{"style":2235},[2764],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":2766,"children":2767},{"class":2222,"line":38},[2768],{"type":1893,"tag":2220,"props":2769,"children":2770},{"style":2235},[2771],{"type":1898,"value":2772},"} VkDeviceFaultFlagsKHR;\n",{"type":1893,"tag":1894,"props":2774,"children":2775},{},[2776,2782,2784,2790,2792,2797,2799,2805],{"type":1893,"tag":1945,"props":2777,"children":2779},{"className":2778},[],[2780],{"type":1898,"value":2781},"VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR",{"type":1898,"value":2783}," is a special flag, indicating that the\nreported fault triggered VK_ERROR_DEVICE_LOST and that no subsequent faults\nwill be returned. If several VkDeviceFaultInfoKHR records are generated by a\nsingle fault which triggers VK_ERROR_DEVICE_LOST, they should be grouped with\na single ",{"type":1893,"tag":1945,"props":2785,"children":2787},{"className":2786},[],[2788],{"type":1898,"value":2789},"groupID",{"type":1898,"value":2791}," and the last entry in the group marked with\n",{"type":1893,"tag":1945,"props":2793,"children":2795},{"className":2794},[],[2796],{"type":1898,"value":2781},{"type":1898,"value":2798},".\nThis flag is also set for faults which have been made fatal via the\n",{"type":1893,"tag":1945,"props":2800,"children":2802},{"className":2801},[],[2803],{"type":1898,"value":2804},"deviceFaultDeviceLostOnMasked",{"type":1898,"value":2806}," feature flag.",{"type":1893,"tag":1894,"props":2808,"children":2809},{},[2810,2816],{"type":1893,"tag":1945,"props":2811,"children":2813},{"className":2812},[],[2814],{"type":1898,"value":2815},"VK_DEVICE_FAULT_FLAG_OVERFLOW_KHR",{"type":1898,"value":2817}," is a special flag, indicating that an\ninternal fault log buffer overflow has occurred in the driver. For example,\nif it implemented the fault record as a ring buffer, it has reached capacity\nup and is utilizing an LRU scheme so is overwriting older fault records.\nThis flag is only set on the first fault entry read following missed faults due to an overflow.",{"type":1893,"tag":1894,"props":2819,"children":2820},{},[2821,2827],{"type":1893,"tag":1945,"props":2822,"children":2824},{"className":2823},[],[2825],{"type":1898,"value":2826},"VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR",{"type":1898,"value":2828}," indicates that the\nVkDeviceFaultInfoKHR faultAddressInfo field has been populated.",{"type":1893,"tag":1894,"props":2830,"children":2831},{},[2832,2838],{"type":1893,"tag":1945,"props":2833,"children":2835},{"className":2834},[],[2836],{"type":1898,"value":2837},"VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR",{"type":1898,"value":2839}," indicates that the\nVkDeviceFaultInfoKHR instructionAddressInfo field has been populated.",{"type":1893,"tag":1894,"props":2841,"children":2842},{},[2843,2849],{"type":1893,"tag":1945,"props":2844,"children":2846},{"className":2845},[],[2847],{"type":1898,"value":2848},"VK_DEVICE_FAULT_FLAG_VENDOR_KHR",{"type":1898,"value":2850}," indicates that the VkDeviceFaultInfoKHR\nvendorInfo field has been populated.",{"type":1893,"tag":1894,"props":2852,"children":2853},{},[2854,2860],{"type":1893,"tag":1945,"props":2855,"children":2857},{"className":2856},[],[2858],{"type":1898,"value":2859},"VK_DEVICE_FAULT_FLAG_WATCHDOG_TIMEOUT_KHR",{"type":1898,"value":2861}," indicates that a GPU timeout\nhas occurred (further information may be supplied via platform specific\nextensions to the VkDeviceFaultInfoKHR structure’s pNext chain).",{"type":1893,"tag":1894,"props":2863,"children":2864},{},[2865,2867,2872,2874,2879],{"type":1898,"value":2866},"A ",{"type":1893,"tag":1945,"props":2868,"children":2870},{"className":2869},[],[2871],{"type":1898,"value":2789},{"type":1898,"value":2873}," field is included to allow association of multiple faults to a\nsingle event (eg. where multiple page faults are triggered from a single\nevent), and should be monotonically incrementing. Where an implementation\nis unable to group events, the ",{"type":1893,"tag":1945,"props":2875,"children":2877},{"className":2876},[],[2878],{"type":1898,"value":2789},{"type":1898,"value":2880}," should increment for every\nreported event.",{"type":1893,"tag":1894,"props":2882,"children":2883},{},[2884],{"type":1898,"value":2885},"The VkDeviceFaultVendorInfoKHR structure is a direct promotion/alias of the existing\nVkDeviceFaultVendorInfoEXT structure:",{"type":1893,"tag":2209,"props":2887,"children":2889},{"className":2211,"code":2888,"language":2213,"meta":2214,"style":2214},"typedef struct VkDeviceFaultVendorInfoKHR {\n char description[VK_MAX_DESCRIPTION_SIZE];\n uint64_t vendorFaultCode;\n uint64_t vendorFaultData;\n} VkDeviceFaultVendorInfoKHR;\n",[2890],{"type":1893,"tag":1945,"props":2891,"children":2892},{"__ignoreMap":2214},[2893,2909,2925,2937,2949],{"type":1893,"tag":2220,"props":2894,"children":2895},{"class":2222,"line":10},[2896,2900,2904],{"type":1893,"tag":2220,"props":2897,"children":2898},{"style":2272},[2899],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":2901,"children":2902},{"style":2272},[2903],{"type":1898,"value":2481},{"type":1893,"tag":2220,"props":2905,"children":2906},{"style":2235},[2907],{"type":1898,"value":2908}," VkDeviceFaultVendorInfoKHR {\n",{"type":1893,"tag":2220,"props":2910,"children":2911},{"class":2222,"line":14},[2912,2916,2921],{"type":1893,"tag":2220,"props":2913,"children":2914},{"style":2272},[2915],{"type":1898,"value":2545},{"type":1893,"tag":2220,"props":2917,"children":2918},{"style":2259},[2919],{"type":1898,"value":2920}," description",{"type":1893,"tag":2220,"props":2922,"children":2923},{"style":2235},[2924],{"type":1898,"value":2555},{"type":1893,"tag":2220,"props":2926,"children":2927},{"class":2222,"line":18},[2928,2932],{"type":1893,"tag":2220,"props":2929,"children":2930},{"style":2272},[2931],{"type":1898,"value":2275},{"type":1893,"tag":2220,"props":2933,"children":2934},{"style":2235},[2935],{"type":1898,"value":2936}," vendorFaultCode;\n",{"type":1893,"tag":2220,"props":2938,"children":2939},{"class":2222,"line":22},[2940,2944],{"type":1893,"tag":2220,"props":2941,"children":2942},{"style":2272},[2943],{"type":1898,"value":2275},{"type":1893,"tag":2220,"props":2945,"children":2946},{"style":2235},[2947],{"type":1898,"value":2948}," vendorFaultData;\n",{"type":1893,"tag":2220,"props":2950,"children":2951},{"class":2222,"line":26},[2952],{"type":1893,"tag":2220,"props":2953,"children":2954},{"style":2235},[2955],{"type":1898,"value":2956},"} VkDeviceFaultVendorInfoKHR;\n",{"type":1893,"tag":1894,"props":2958,"children":2959},{},[2960,2966],{"type":1893,"tag":1945,"props":2961,"children":2963},{"className":2962},[],[2964],{"type":1898,"value":2965},"description",{"type":1898,"value":2967}," must be a null-terminated UTF-8 string, and may provide a human readable description\nof the fault.",{"type":1893,"tag":1894,"props":2969,"children":2970},{},[2971,2973,2979,2981,2987],{"type":1898,"value":2972},"The exact meaning/values of the ",{"type":1893,"tag":1945,"props":2974,"children":2976},{"className":2975},[],[2977],{"type":1898,"value":2978},"vendorFaultCode",{"type":1898,"value":2980}," and ",{"type":1893,"tag":1945,"props":2982,"children":2984},{"className":2983},[],[2985],{"type":1898,"value":2986},"vendorFaultData",{"type":1898,"value":2988}," fields\nare vendor-defined.",{"type":1893,"tag":2990,"props":2991,"children":2993},"h4",{"id":2992},"_return_values",[2994],{"type":1898,"value":2995},"Return values",{"type":1893,"tag":2032,"props":2997,"children":2998},{},[2999,3010,3021],{"type":1893,"tag":2036,"props":3000,"children":3001},{},[3002,3008],{"type":1893,"tag":1945,"props":3003,"children":3005},{"className":3004},[],[3006],{"type":1898,"value":3007},"VK_SUCCESS",{"type":1898,"value":3009}," is returned if the query completed within the specified timeout\nperiod and at least one fault information was returned.",{"type":1893,"tag":2036,"props":3011,"children":3012},{},[3013,3019],{"type":1893,"tag":1945,"props":3014,"children":3016},{"className":3015},[],[3017],{"type":1898,"value":3018},"VK_TIMEOUT",{"type":1898,"value":3020}," is returned if no fault information is available within the\nspecified timeout period, even in the case that timeout was zero and no wait\nwas actually performed.",{"type":1893,"tag":2036,"props":3022,"children":3023},{},[3024,3030,3032,3037],{"type":1893,"tag":1945,"props":3025,"children":3027},{"className":3026},[],[3028],{"type":1898,"value":3029},"VK_INCOMPLETE",{"type":1898,"value":3031}," is returned if more fault reports are available than space\ngiven in the ",{"type":1893,"tag":1945,"props":3033,"children":3035},{"className":3034},[],[3036],{"type":1898,"value":2342},{"type":1898,"value":2166},{"type":1893,"tag":1981,"props":3039,"children":3041},{"id":3040},"_interpreting_gpu_virtual_addresses",[3042],{"type":1898,"value":3043},"Interpreting GPU Virtual Addresses",{"type":1893,"tag":1894,"props":3045,"children":3046},{},[3047],{"type":1898,"value":3048},"Implementations may return information on both page faults generated by invalid\nmemory accesses, and instruction pointers indicating the instructions executing\nat the time of the fault.",{"type":1893,"tag":2209,"props":3050,"children":3052},{"className":2211,"code":3051,"language":2213,"meta":2214,"style":2214},"typedef enum VkDeviceFaultAddressTypeKHR {\n VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR = 0,\n VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR = 1,\n VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR = 2,\n VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR = 3,\n VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR = 4,\n VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR = 5,\n VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR = 6,\n VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF\n} VkDeviceFaultAddressTypeKHR;\n\ntypedef struct VkDeviceFaultAddressInfoKHR {\n VkDeviceFaultAddressTypeKHR addressType;\n VkDeviceAddress reportedAddress;\n VkDeviceSize addressPrecision;\n} VkDeviceFaultAddressInfoKHR;\n",[3053],{"type":1893,"tag":1945,"props":3054,"children":3055},{"__ignoreMap":2214},[3056,3072,3093,3113,3133,3154,3174,3195,3216,3238,3246,3254,3270,3278,3286,3294],{"type":1893,"tag":2220,"props":3057,"children":3058},{"class":2222,"line":10},[3059,3063,3067],{"type":1893,"tag":2220,"props":3060,"children":3061},{"style":2272},[3062],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":3064,"children":3065},{"style":2272},[3066],{"type":1898,"value":2632},{"type":1893,"tag":2220,"props":3068,"children":3069},{"style":2235},[3070],{"type":1898,"value":3071}," VkDeviceFaultAddressTypeKHR {\n",{"type":1893,"tag":2220,"props":3073,"children":3074},{"class":2222,"line":14},[3075,3080,3084,3089],{"type":1893,"tag":2220,"props":3076,"children":3077},{"style":2235},[3078],{"type":1898,"value":3079}," VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR ",{"type":1893,"tag":2220,"props":3081,"children":3082},{"style":2272},[3083],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3085,"children":3086},{"style":2652},[3087],{"type":1898,"value":3088}," 0",{"type":1893,"tag":2220,"props":3090,"children":3091},{"style":2235},[3092],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3094,"children":3095},{"class":2222,"line":18},[3096,3101,3105,3109],{"type":1893,"tag":2220,"props":3097,"children":3098},{"style":2235},[3099],{"type":1898,"value":3100}," VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR ",{"type":1893,"tag":2220,"props":3102,"children":3103},{"style":2272},[3104],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3106,"children":3107},{"style":2652},[3108],{"type":1898,"value":2655},{"type":1893,"tag":2220,"props":3110,"children":3111},{"style":2235},[3112],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3114,"children":3115},{"class":2222,"line":22},[3116,3121,3125,3129],{"type":1893,"tag":2220,"props":3117,"children":3118},{"style":2235},[3119],{"type":1898,"value":3120}," VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR ",{"type":1893,"tag":2220,"props":3122,"children":3123},{"style":2272},[3124],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3126,"children":3127},{"style":2652},[3128],{"type":1898,"value":2676},{"type":1893,"tag":2220,"props":3130,"children":3131},{"style":2235},[3132],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3134,"children":3135},{"class":2222,"line":26},[3136,3141,3145,3150],{"type":1893,"tag":2220,"props":3137,"children":3138},{"style":2235},[3139],{"type":1898,"value":3140}," VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR ",{"type":1893,"tag":2220,"props":3142,"children":3143},{"style":2272},[3144],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3146,"children":3147},{"style":2652},[3148],{"type":1898,"value":3149}," 3",{"type":1893,"tag":2220,"props":3151,"children":3152},{"style":2235},[3153],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3155,"children":3156},{"class":2222,"line":30},[3157,3162,3166,3170],{"type":1893,"tag":2220,"props":3158,"children":3159},{"style":2235},[3160],{"type":1898,"value":3161}," VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR ",{"type":1893,"tag":2220,"props":3163,"children":3164},{"style":2272},[3165],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3167,"children":3168},{"style":2652},[3169],{"type":1898,"value":2697},{"type":1893,"tag":2220,"props":3171,"children":3172},{"style":2235},[3173],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3175,"children":3176},{"class":2222,"line":34},[3177,3182,3186,3191],{"type":1893,"tag":2220,"props":3178,"children":3179},{"style":2235},[3180],{"type":1898,"value":3181}," VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR ",{"type":1893,"tag":2220,"props":3183,"children":3184},{"style":2272},[3185],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3187,"children":3188},{"style":2652},[3189],{"type":1898,"value":3190}," 5",{"type":1893,"tag":2220,"props":3192,"children":3193},{"style":2235},[3194],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3196,"children":3197},{"class":2222,"line":38},[3198,3203,3207,3212],{"type":1893,"tag":2220,"props":3199,"children":3200},{"style":2235},[3201],{"type":1898,"value":3202}," VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR ",{"type":1893,"tag":2220,"props":3204,"children":3205},{"style":2272},[3206],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3208,"children":3209},{"style":2652},[3210],{"type":1898,"value":3211}," 6",{"type":1893,"tag":2220,"props":3213,"children":3214},{"style":2235},[3215],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3217,"children":3218},{"class":2222,"line":42},[3219,3224,3228,3233],{"type":1893,"tag":2220,"props":3220,"children":3221},{"style":2235},[3222],{"type":1898,"value":3223}," VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_KHR ",{"type":1893,"tag":2220,"props":3225,"children":3226},{"style":2272},[3227],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3229,"children":3230},{"style":2272},[3231],{"type":1898,"value":3232}," 0x",{"type":1893,"tag":2220,"props":3234,"children":3235},{"style":2652},[3236],{"type":1898,"value":3237},"7FFFFFFF\n",{"type":1893,"tag":2220,"props":3239,"children":3240},{"class":2222,"line":46},[3241],{"type":1893,"tag":2220,"props":3242,"children":3243},{"style":2235},[3244],{"type":1898,"value":3245},"} VkDeviceFaultAddressTypeKHR;\n",{"type":1893,"tag":2220,"props":3247,"children":3248},{"class":2222,"line":50},[3249],{"type":1893,"tag":2220,"props":3250,"children":3251},{"emptyLinePlaceholder":240},[3252],{"type":1898,"value":3253},"\n",{"type":1893,"tag":2220,"props":3255,"children":3256},{"class":2222,"line":54},[3257,3261,3265],{"type":1893,"tag":2220,"props":3258,"children":3259},{"style":2272},[3260],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":3262,"children":3263},{"style":2272},[3264],{"type":1898,"value":2481},{"type":1893,"tag":2220,"props":3266,"children":3267},{"style":2235},[3268],{"type":1898,"value":3269}," VkDeviceFaultAddressInfoKHR {\n",{"type":1893,"tag":2220,"props":3271,"children":3272},{"class":2222,"line":58},[3273],{"type":1893,"tag":2220,"props":3274,"children":3275},{"style":2235},[3276],{"type":1898,"value":3277}," VkDeviceFaultAddressTypeKHR addressType;\n",{"type":1893,"tag":2220,"props":3279,"children":3280},{"class":2222,"line":62},[3281],{"type":1893,"tag":2220,"props":3282,"children":3283},{"style":2235},[3284],{"type":1898,"value":3285}," VkDeviceAddress reportedAddress;\n",{"type":1893,"tag":2220,"props":3287,"children":3288},{"class":2222,"line":66},[3289],{"type":1893,"tag":2220,"props":3290,"children":3291},{"style":2235},[3292],{"type":1898,"value":3293}," VkDeviceSize addressPrecision;\n",{"type":1893,"tag":2220,"props":3295,"children":3296},{"class":2222,"line":70},[3297],{"type":1893,"tag":2220,"props":3298,"children":3299},{"style":2235},[3300],{"type":1898,"value":3301},"} VkDeviceFaultAddressInfoKHR;\n",{"type":1893,"tag":1894,"props":3303,"children":3304},{},[3305],{"type":1898,"value":3306},"Page addresses and instruction pointers are reported as GPU virtual addresses,\nand additional extensions or vendor tools may be required in order to correlate\nthese extensions with individual Vulkan objects.",{"type":1893,"tag":1894,"props":3308,"children":3309},{},[3310,3312,3318,3319,3325],{"type":1898,"value":3311},"Implementations may only be able to report these addresses with limited\nprecision. The combination of ",{"type":1893,"tag":1945,"props":3313,"children":3315},{"className":3314},[],[3316],{"type":1898,"value":3317},"reportedAddress",{"type":1898,"value":2980},{"type":1893,"tag":1945,"props":3320,"children":3322},{"className":3321},[],[3323],{"type":1898,"value":3324},"addressPrecision",{"type":1898,"value":3326},"\nallow the possible range of addresses to be calculated, such that:",{"type":1893,"tag":2209,"props":3328,"children":3332},{"className":3329,"code":3330,"language":3331,"meta":2214,"style":2214},"language-c++ shiki shiki-themes github-light-default github-dark-default","lower_address = (pInfo->reportedAddress & ~(pInfo->addressPrecision-1))\nupper_address = (pInfo->reportedAddress | (pInfo->addressPrecision-1))\n","c++",[3333],{"type":1893,"tag":1945,"props":3334,"children":3335},{"__ignoreMap":2214},[3336,3383],{"type":1893,"tag":2220,"props":3337,"children":3338},{"class":2222,"line":10},[3339,3344,3348,3353,3358,3363,3368,3373,3378],{"type":1893,"tag":2220,"props":3340,"children":3341},{"style":2235},[3342],{"type":1898,"value":3343},"lower_address ",{"type":1893,"tag":2220,"props":3345,"children":3346},{"style":2272},[3347],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3349,"children":3350},{"style":2235},[3351],{"type":1898,"value":3352}," (pInfo->reportedAddress ",{"type":1893,"tag":2220,"props":3354,"children":3355},{"style":2272},[3356],{"type":1898,"value":3357},"&",{"type":1893,"tag":2220,"props":3359,"children":3360},{"style":2272},[3361],{"type":1898,"value":3362}," ~",{"type":1893,"tag":2220,"props":3364,"children":3365},{"style":2235},[3366],{"type":1898,"value":3367},"(pInfo->addressPrecision",{"type":1893,"tag":2220,"props":3369,"children":3370},{"style":2272},[3371],{"type":1898,"value":3372},"-",{"type":1893,"tag":2220,"props":3374,"children":3375},{"style":2652},[3376],{"type":1898,"value":3377},"1",{"type":1893,"tag":2220,"props":3379,"children":3380},{"style":2235},[3381],{"type":1898,"value":3382},"))\n",{"type":1893,"tag":2220,"props":3384,"children":3385},{"class":2222,"line":14},[3386,3391,3395,3399,3404,3409,3413,3417],{"type":1893,"tag":2220,"props":3387,"children":3388},{"style":2235},[3389],{"type":1898,"value":3390},"upper_address ",{"type":1893,"tag":2220,"props":3392,"children":3393},{"style":2272},[3394],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":3396,"children":3397},{"style":2235},[3398],{"type":1898,"value":3352},{"type":1893,"tag":2220,"props":3400,"children":3401},{"style":2272},[3402],{"type":1898,"value":3403},"|",{"type":1893,"tag":2220,"props":3405,"children":3406},{"style":2235},[3407],{"type":1898,"value":3408}," (pInfo->addressPrecision",{"type":1893,"tag":2220,"props":3410,"children":3411},{"style":2272},[3412],{"type":1898,"value":3372},{"type":1893,"tag":2220,"props":3414,"children":3415},{"style":2652},[3416],{"type":1898,"value":3377},{"type":1893,"tag":2220,"props":3418,"children":3419},{"style":2235},[3420],{"type":1898,"value":3382},{"type":1893,"tag":1981,"props":3422,"children":3424},{"id":3423},"_retrieving_the_vendor_binaries_and_other_fault_debug_information",[3425],{"type":1898,"value":3426},"Retrieving the Vendor Binaries and other Fault Debug information",{"type":1893,"tag":1894,"props":3428,"children":3429},{},[3430],{"type":1898,"value":3431},"Making the vendor binary retrieval a distinct API allows us to restrict its\nusage to only situations where VK_ERROR_DEVICE_LOST has been returned.",{"type":1893,"tag":1894,"props":3433,"children":3434},{},[3435,3441],{"type":1893,"tag":1945,"props":3436,"children":3438},{"className":3437},[],[3439],{"type":1898,"value":3440},"vkGetDeviceFaultDebugInfoKHR()",{"type":1898,"value":3442}," returns a single vendor binary which\nreflects the state of the device when device loss occurred.\nVendor binary availability does not persist beyond device destruction.",{"type":1893,"tag":1894,"props":3444,"children":3445},{},[3446,3448,3453],{"type":1898,"value":3447},"Once a vendor binary has been retrieved, repeated calls to\n",{"type":1893,"tag":1945,"props":3449,"children":3451},{"className":3450},[],[3452],{"type":1898,"value":3440},{"type":1898,"value":3454}," will return the same vendor binary.",{"type":1893,"tag":2209,"props":3456,"children":3458},{"className":2211,"code":3457,"language":2213,"meta":2214,"style":2214},"// Retrieve Extended Fault Info (Vendor Binary Dump, etc)\nVKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultDebugInfoKHR(\n VkDevice device,\n VkDeviceFaultDebugInfoKHR *pDebugInfo);\n",[3459],{"type":1893,"tag":1945,"props":3460,"children":3461},{"__ignoreMap":2214},[3462,3470,3486,3501],{"type":1893,"tag":2220,"props":3463,"children":3464},{"class":2222,"line":10},[3465],{"type":1893,"tag":2220,"props":3466,"children":3467},{"style":2226},[3468],{"type":1898,"value":3469},"// Retrieve Extended Fault Info (Vendor Binary Dump, etc)\n",{"type":1893,"tag":2220,"props":3471,"children":3472},{"class":2222,"line":14},[3473,3477,3482],{"type":1893,"tag":2220,"props":3474,"children":3475},{"style":2235},[3476],{"type":1898,"value":2238},{"type":1893,"tag":2220,"props":3478,"children":3479},{"style":2241},[3480],{"type":1898,"value":3481},"vkGetDeviceFaultDebugInfoKHR",{"type":1893,"tag":2220,"props":3483,"children":3484},{"style":2235},[3485],{"type":1898,"value":2248},{"type":1893,"tag":2220,"props":3487,"children":3488},{"class":2222,"line":18},[3489,3493,3497],{"type":1893,"tag":2220,"props":3490,"children":3491},{"style":2235},[3492],{"type":1898,"value":2256},{"type":1893,"tag":2220,"props":3494,"children":3495},{"style":2259},[3496],{"type":1898,"value":274},{"type":1893,"tag":2220,"props":3498,"children":3499},{"style":2235},[3500],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":3502,"children":3503},{"class":2222,"line":22},[3504,3509,3513,3518],{"type":1893,"tag":2220,"props":3505,"children":3506},{"style":2235},[3507],{"type":1898,"value":3508}," VkDeviceFaultDebugInfoKHR ",{"type":1893,"tag":2220,"props":3510,"children":3511},{"style":2272},[3512],{"type":1898,"value":2314},{"type":1893,"tag":2220,"props":3514,"children":3515},{"style":2259},[3516],{"type":1898,"value":3517},"pDebugInfo",{"type":1893,"tag":2220,"props":3519,"children":3520},{"style":2235},[3521],{"type":1898,"value":2324},{"type":1893,"tag":1894,"props":3523,"children":3524},{},[3525,3527,3532,3534,3539],{"type":1898,"value":3526},"Where ",{"type":1893,"tag":1945,"props":3528,"children":3530},{"className":3529},[],[3531],{"type":1898,"value":274},{"type":1898,"value":3533}," is a device which must have returned VK_ERROR_DEVICE_LOST\nand ",{"type":1893,"tag":1945,"props":3535,"children":3537},{"className":3536},[],[3538],{"type":1898,"value":3517},{"type":1898,"value":3540}," must be a pointer to a VkDeviceFaultDebugInfoKHR structure.",{"type":1893,"tag":1894,"props":3542,"children":3543},{},[3544,3546,3551],{"type":1898,"value":3545},"In cases where the application will destroy/recreate the device, it is the\nresponsibility of the application code to ensure that the device is not\ndestroyed prior to calling ",{"type":1893,"tag":1945,"props":3547,"children":3549},{"className":3548},[],[3550],{"type":1898,"value":3440},{"type":1898,"value":2139},{"type":1893,"tag":2209,"props":3553,"children":3555},{"className":2211,"code":3554,"language":2213,"meta":2214,"style":2214},"typedef struct VkDeviceFaultDebugInfoKHR {\n VkStructureType sType;\n void* pNext; // Can chain VkDeviceFaultShaderAbortMessageCountsKHR and/or VkDeviceFaultShaderAbortMessageInfoKHR on this\n uint32_t vendorBinarySize;\n void* pVendorBinary; // If vendorBinarySize is non-zero, pVendorBinary must not be NULL and must point to a buffer of size vendorBinarySize.\n} VkDeviceFaultDebugInfoKHR;\n",[3556],{"type":1893,"tag":1945,"props":3557,"children":3558},{"__ignoreMap":2214},[3559,3575,3583,3600,3613,3630],{"type":1893,"tag":2220,"props":3560,"children":3561},{"class":2222,"line":10},[3562,3566,3570],{"type":1893,"tag":2220,"props":3563,"children":3564},{"style":2272},[3565],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":3567,"children":3568},{"style":2272},[3569],{"type":1898,"value":2481},{"type":1893,"tag":2220,"props":3571,"children":3572},{"style":2235},[3573],{"type":1898,"value":3574}," VkDeviceFaultDebugInfoKHR {\n",{"type":1893,"tag":2220,"props":3576,"children":3577},{"class":2222,"line":14},[3578],{"type":1893,"tag":2220,"props":3579,"children":3580},{"style":2235},[3581],{"type":1898,"value":3582}," VkStructureType sType;\n",{"type":1893,"tag":2220,"props":3584,"children":3585},{"class":2222,"line":18},[3586,3590,3595],{"type":1893,"tag":2220,"props":3587,"children":3588},{"style":2272},[3589],{"type":1898,"value":2502},{"type":1893,"tag":2220,"props":3591,"children":3592},{"style":2235},[3593],{"type":1898,"value":3594}," pNext;",{"type":1893,"tag":2220,"props":3596,"children":3597},{"style":2226},[3598],{"type":1898,"value":3599}," // Can chain VkDeviceFaultShaderAbortMessageCountsKHR and/or VkDeviceFaultShaderAbortMessageInfoKHR on this\n",{"type":1893,"tag":2220,"props":3601,"children":3602},{"class":2222,"line":22},[3603,3608],{"type":1893,"tag":2220,"props":3604,"children":3605},{"style":2272},[3606],{"type":1898,"value":3607}," uint32_t",{"type":1893,"tag":2220,"props":3609,"children":3610},{"style":2235},[3611],{"type":1898,"value":3612}," vendorBinarySize;\n",{"type":1893,"tag":2220,"props":3614,"children":3615},{"class":2222,"line":26},[3616,3620,3625],{"type":1893,"tag":2220,"props":3617,"children":3618},{"style":2272},[3619],{"type":1898,"value":2502},{"type":1893,"tag":2220,"props":3621,"children":3622},{"style":2235},[3623],{"type":1898,"value":3624}," pVendorBinary;",{"type":1893,"tag":2220,"props":3626,"children":3627},{"style":2226},[3628],{"type":1898,"value":3629}," // If vendorBinarySize is non-zero, pVendorBinary must not be NULL and must point to a buffer of size vendorBinarySize.\n",{"type":1893,"tag":2220,"props":3631,"children":3632},{"class":2222,"line":30},[3633],{"type":1893,"tag":2220,"props":3634,"children":3635},{"style":2235},[3636],{"type":1898,"value":3637},"} VkDeviceFaultDebugInfoKHR;\n",{"type":1893,"tag":1894,"props":3639,"children":3640},{},[3641],{"type":1898,"value":3642},"The vendor binary is retrieved via a VkDeviceFaultDebugInfoKHR structure,\nwhich may be extended via the pNext chain to retrieve further information\n(for example, via the shader abort extension).",{"type":1893,"tag":1894,"props":3644,"children":3645},{},[3646,3647,3653,3655,3661],{"type":1898,"value":1943},{"type":1893,"tag":1945,"props":3648,"children":3650},{"className":3649},[],[3651],{"type":1898,"value":3652},"VkDeviceFaultDebugInfoKHR",{"type":1898,"value":3654}," structure follows the convention of\nexisting query functions, where the ",{"type":1893,"tag":1945,"props":3656,"children":3658},{"className":3657},[],[3659],{"type":1898,"value":3660},"vendorBinarySize",{"type":1898,"value":3662}," field indicates\nsize of output array (pVendorBinary) in bytes, the number of bytes written, or\nis populated by the driver with the number of bytes required to retrieve the\nvendor binary blob.",{"type":1893,"tag":1894,"props":3664,"children":3665},{},[3666,3672,3674,3679,3681,3686],{"type":1893,"tag":1945,"props":3667,"children":3669},{"className":3668},[],[3670],{"type":1898,"value":3671},"pVendorBinary",{"type":1898,"value":3673}," points to a buffer of size ",{"type":1893,"tag":1945,"props":3675,"children":3677},{"className":3676},[],[3678],{"type":1898,"value":3660},{"type":1898,"value":3680}," bytes, or NULL\nfor a sizing query in which case the ",{"type":1893,"tag":1945,"props":3682,"children":3684},{"className":3683},[],[3685],{"type":1898,"value":3660},{"type":1898,"value":3687}," field is populated with\nthe number of bytes required for retrieval.",{"type":1893,"tag":1894,"props":3689,"children":3690},{},[3691],{"type":1898,"value":3692},"VkDeviceFaultDebugInfoKHR may be extended to retrieve further information relating to device loss, for example using a VkDeviceFaultShaderAbortMessageInfoKHR structure where VK_KHR_shader_abort is in use.\nstate debug information via the pNext chain (for example, by VK_KHR_shader_abort)",{"type":1893,"tag":2990,"props":3694,"children":3696},{"id":3695},"_return_values_2",[3697],{"type":1898,"value":2995},{"type":1893,"tag":2032,"props":3699,"children":3700},{},[3701,3726],{"type":1893,"tag":2036,"props":3702,"children":3703},{},[3704,3709,3711,3717,3719,3725],{"type":1893,"tag":1945,"props":3705,"children":3707},{"className":3706},[],[3708],{"type":1898,"value":3007},{"type":1898,"value":3710}," is returned if a valid vendor binary has been returned in\n",{"type":1893,"tag":1945,"props":3712,"children":3714},{"className":3713},[],[3715],{"type":1898,"value":3716},"*pVendorBinaryData",{"type":1898,"value":3718}," or if pVendorBinaryData is null and the size of the vendor\nbinary has been returned in ",{"type":1893,"tag":1945,"props":3720,"children":3722},{"className":3721},[],[3723],{"type":1898,"value":3724},"*pVendorBinarySize",{"type":1898,"value":2139},{"type":1893,"tag":2036,"props":3727,"children":3728},{},[3729,3735],{"type":1893,"tag":1945,"props":3730,"children":3732},{"className":3731},[],[3733],{"type":1898,"value":3734},"VK_ERROR_NOT_ENOUGH_SPACE_KHR",{"type":1898,"value":3736}," is returned if not enough space was provided\nfor the vendor binary to be returned.",{"type":1893,"tag":1981,"props":3738,"children":3740},{"id":3739},"_vk_khr_device_fault_feature_flags",[3741],{"type":1898,"value":3742},"VK_KHR_device_fault Feature Flags",{"type":1893,"tag":1894,"props":3744,"children":3745},{},[3746,3748,3753],{"type":1898,"value":3747},"The following features are exposed by the ",{"type":1893,"tag":1945,"props":3749,"children":3751},{"className":3750},[],[3752],{"type":1898,"value":536},{"type":1898,"value":3754}," extension:",{"type":1893,"tag":2209,"props":3756,"children":3758},{"className":2211,"code":3757,"language":2213,"meta":2214,"style":2214},"typedef struct VkPhysicalDeviceFaultFeaturesKHR {\n VkStructureType sType;\n void* pNext;\n VkBool32 deviceFault;\n VkBool32 deviceFaultVendorBinary;\n VKBool32 deviceFaultReportMasked;\n VKBool32 deviceFaultDeviceLostOnMasked;\n} VkPhysicalDeviceFaultFeaturesKHR;\n",[3759],{"type":1893,"tag":1945,"props":3760,"children":3761},{"__ignoreMap":2214},[3762,3778,3786,3798,3806,3814,3822,3830],{"type":1893,"tag":2220,"props":3763,"children":3764},{"class":2222,"line":10},[3765,3769,3773],{"type":1893,"tag":2220,"props":3766,"children":3767},{"style":2272},[3768],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":3770,"children":3771},{"style":2272},[3772],{"type":1898,"value":2481},{"type":1893,"tag":2220,"props":3774,"children":3775},{"style":2235},[3776],{"type":1898,"value":3777}," VkPhysicalDeviceFaultFeaturesKHR {\n",{"type":1893,"tag":2220,"props":3779,"children":3780},{"class":2222,"line":14},[3781],{"type":1893,"tag":2220,"props":3782,"children":3783},{"style":2235},[3784],{"type":1898,"value":3785}," VkStructureType sType;\n",{"type":1893,"tag":2220,"props":3787,"children":3788},{"class":2222,"line":18},[3789,3793],{"type":1893,"tag":2220,"props":3790,"children":3791},{"style":2272},[3792],{"type":1898,"value":2502},{"type":1893,"tag":2220,"props":3794,"children":3795},{"style":2235},[3796],{"type":1898,"value":3797}," pNext;\n",{"type":1893,"tag":2220,"props":3799,"children":3800},{"class":2222,"line":22},[3801],{"type":1893,"tag":2220,"props":3802,"children":3803},{"style":2235},[3804],{"type":1898,"value":3805}," VkBool32 deviceFault;\n",{"type":1893,"tag":2220,"props":3807,"children":3808},{"class":2222,"line":26},[3809],{"type":1893,"tag":2220,"props":3810,"children":3811},{"style":2235},[3812],{"type":1898,"value":3813}," VkBool32 deviceFaultVendorBinary;\n",{"type":1893,"tag":2220,"props":3815,"children":3816},{"class":2222,"line":30},[3817],{"type":1893,"tag":2220,"props":3818,"children":3819},{"style":2235},[3820],{"type":1898,"value":3821}," VKBool32 deviceFaultReportMasked;\n",{"type":1893,"tag":2220,"props":3823,"children":3824},{"class":2222,"line":34},[3825],{"type":1893,"tag":2220,"props":3826,"children":3827},{"style":2235},[3828],{"type":1898,"value":3829}," VKBool32 deviceFaultDeviceLostOnMasked;\n",{"type":1893,"tag":2220,"props":3831,"children":3832},{"class":2222,"line":38},[3833],{"type":1893,"tag":2220,"props":3834,"children":3835},{"style":2235},[3836],{"type":1898,"value":3837},"} VkPhysicalDeviceFaultFeaturesKHR;\n",{"type":1893,"tag":1894,"props":3839,"children":3840},{},[3841,3847],{"type":1893,"tag":1945,"props":3842,"children":3844},{"className":3843},[],[3845],{"type":1898,"value":3846},"deviceFault",{"type":1898,"value":3848}," is the main feature enabling this extension’s functionality and\nmust be supported if this extension is supported.",{"type":1893,"tag":1894,"props":3850,"children":3851},{},[3852,3858],{"type":1893,"tag":1945,"props":3853,"children":3855},{"className":3854},[],[3856],{"type":1898,"value":3857},"deviceFaultVendorBinary",{"type":1898,"value":3859}," is an optional feature that enables support for\nvendor-specific binary crash dumps, which may be interpreted via external vendor\ntools. These are only generated after device-loss.",{"type":1893,"tag":1894,"props":3861,"children":3862},{},[3863,3869],{"type":1893,"tag":1945,"props":3864,"children":3866},{"className":3865},[],[3867],{"type":1898,"value":3868},"deviceFaultReportMasked",{"type":1898,"value":3870}," is an optional feature which enables faults that\nwould normally be masked by the implementation (ie. automatically recovered by\nthe driver internally without the application receiving a VK_ERROR_DEVICE_LOST\nerror) to be reported via this extension even if they did not result\nin a VK_ERROR_DEVICE_LOST condition being returned to the application.",{"type":1893,"tag":1894,"props":3872,"children":3873},{},[3874,3879],{"type":1893,"tag":1945,"props":3875,"children":3877},{"className":3876},[],[3878],{"type":1898,"value":2804},{"type":1898,"value":3880}," is an optional feature that if supported\n& enabled, causes the driver to return VK_ERROR_DEVICE_LOST for faults which\nwould otherwise be masked by the implementation.",{"type":1893,"tag":1981,"props":3882,"children":3884},{"id":3883},"_limits",[3885],{"type":1898,"value":223},{"type":1893,"tag":2209,"props":3887,"children":3889},{"className":2211,"code":3888,"language":2213,"meta":2214,"style":2214},"typedef struct VkPhysicalDeviceFaultPropertiesKHR {\n VkStructureType sType;\n void* pNext;\n uint32_t maxDeviceFaultCount;\n} VkPhysicalDeviceFaultPropertiesKHR;\n",[3890],{"type":1893,"tag":1945,"props":3891,"children":3892},{"__ignoreMap":2214},[3893,3909,3916,3927,3939],{"type":1893,"tag":2220,"props":3894,"children":3895},{"class":2222,"line":10},[3896,3900,3904],{"type":1893,"tag":2220,"props":3897,"children":3898},{"style":2272},[3899],{"type":1898,"value":2476},{"type":1893,"tag":2220,"props":3901,"children":3902},{"style":2272},[3903],{"type":1898,"value":2481},{"type":1893,"tag":2220,"props":3905,"children":3906},{"style":2235},[3907],{"type":1898,"value":3908}," VkPhysicalDeviceFaultPropertiesKHR {\n",{"type":1893,"tag":2220,"props":3910,"children":3911},{"class":2222,"line":14},[3912],{"type":1893,"tag":2220,"props":3913,"children":3914},{"style":2235},[3915],{"type":1898,"value":3785},{"type":1893,"tag":2220,"props":3917,"children":3918},{"class":2222,"line":18},[3919,3923],{"type":1893,"tag":2220,"props":3920,"children":3921},{"style":2272},[3922],{"type":1898,"value":2502},{"type":1893,"tag":2220,"props":3924,"children":3925},{"style":2235},[3926],{"type":1898,"value":3797},{"type":1893,"tag":2220,"props":3928,"children":3929},{"class":2222,"line":22},[3930,3934],{"type":1893,"tag":2220,"props":3931,"children":3932},{"style":2272},[3933],{"type":1898,"value":3607},{"type":1893,"tag":2220,"props":3935,"children":3936},{"style":2235},[3937],{"type":1898,"value":3938}," maxDeviceFaultCount;\n",{"type":1893,"tag":2220,"props":3940,"children":3941},{"class":2222,"line":26},[3942],{"type":1893,"tag":2220,"props":3943,"children":3944},{"style":2235},[3945],{"type":1898,"value":3946},"} VkPhysicalDeviceFaultPropertiesKHR;\n",{"type":1893,"tag":1894,"props":3948,"children":3949},{},[3950],{"type":1898,"value":3951},"Implementations are expected to retain fault reports in a fixed size buffer.",{"type":1893,"tag":1894,"props":3953,"children":3954},{},[3955,3961],{"type":1893,"tag":1945,"props":3956,"children":3958},{"className":3957},[],[3959],{"type":1898,"value":3960},"maxDeviceFaultCount",{"type":1898,"value":3962}," is the maximum number of faults for which an implementations\nis required to retain information. If the number of faults generated exceeds this\nlimit, then the oldest records will be overwritten.",{"type":1893,"tag":1894,"props":3964,"children":3965},{},[3966,3968,3973],{"type":1898,"value":3967},"Querying for faults via ",{"type":1893,"tag":1945,"props":3969,"children":3971},{"className":3970},[],[3972],{"type":1898,"value":2148},{"type":1898,"value":3974}," will drain records from the\nfault buffer, freeing space for new records.",{"type":1893,"tag":1894,"props":3976,"children":3977},{},[3978,3983],{"type":1893,"tag":1945,"props":3979,"children":3981},{"className":3980},[],[3982],{"type":1898,"value":3960},{"type":1898,"value":3984}," must be greater than or equal to 1.",{"type":1893,"tag":1910,"props":3986,"children":3988},{"id":3987},"_examples",[3989],{"type":1898,"value":3990},"Examples",{"type":1893,"tag":1981,"props":3992,"children":3994},{"id":3993},"_enabling_extension",[3995],{"type":1898,"value":3996},"Enabling Extension",{"type":1893,"tag":2209,"props":3998,"children":4000},{"className":2211,"code":3999,"language":2213,"meta":2214,"style":2214}," VkPhysicalDeviceFaultFeaturesKHR deviceDeviceFaultFeatures = {};\n deviceDeviceFaultFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR;\n deviceDeviceFaultFeatures.deviceFault = VK_TRUE;\n deviceDeviceFaultFeatures.deviceFaultReportMasked = VK_TRUE;\n //...\n",[4001],{"type":1893,"tag":1945,"props":4002,"children":4003},{"__ignoreMap":2214},[4004,4021,4038,4055,4071],{"type":1893,"tag":2220,"props":4005,"children":4006},{"class":2222,"line":10},[4007,4012,4016],{"type":1893,"tag":2220,"props":4008,"children":4009},{"style":2235},[4010],{"type":1898,"value":4011}," VkPhysicalDeviceFaultFeaturesKHR deviceDeviceFaultFeatures ",{"type":1893,"tag":2220,"props":4013,"children":4014},{"style":2272},[4015],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4017,"children":4018},{"style":2235},[4019],{"type":1898,"value":4020}," {};\n",{"type":1893,"tag":2220,"props":4022,"children":4023},{"class":2222,"line":14},[4024,4029,4033],{"type":1893,"tag":2220,"props":4025,"children":4026},{"style":2235},[4027],{"type":1898,"value":4028}," deviceDeviceFaultFeatures.sType ",{"type":1893,"tag":2220,"props":4030,"children":4031},{"style":2272},[4032],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4034,"children":4035},{"style":2235},[4036],{"type":1898,"value":4037}," VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR;\n",{"type":1893,"tag":2220,"props":4039,"children":4040},{"class":2222,"line":18},[4041,4046,4050],{"type":1893,"tag":2220,"props":4042,"children":4043},{"style":2235},[4044],{"type":1898,"value":4045}," deviceDeviceFaultFeatures.deviceFault ",{"type":1893,"tag":2220,"props":4047,"children":4048},{"style":2272},[4049],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4051,"children":4052},{"style":2235},[4053],{"type":1898,"value":4054}," VK_TRUE;\n",{"type":1893,"tag":2220,"props":4056,"children":4057},{"class":2222,"line":22},[4058,4063,4067],{"type":1893,"tag":2220,"props":4059,"children":4060},{"style":2235},[4061],{"type":1898,"value":4062}," deviceDeviceFaultFeatures.deviceFaultReportMasked ",{"type":1893,"tag":2220,"props":4064,"children":4065},{"style":2272},[4066],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4068,"children":4069},{"style":2235},[4070],{"type":1898,"value":4054},{"type":1893,"tag":2220,"props":4072,"children":4073},{"class":2222,"line":26},[4074],{"type":1893,"tag":2220,"props":4075,"children":4076},{"style":2226},[4077],{"type":1898,"value":4078}," //...\n",{"type":1893,"tag":1981,"props":4080,"children":4082},{"id":4081},"_polling_for_faults",[4083],{"type":1898,"value":4084},"Polling for Faults",{"type":1893,"tag":2209,"props":4086,"children":4088},{"className":2211,"code":4087,"language":2213,"meta":2214,"style":2214},"// Query number of available results\nuint32_t faultCounts;\nif ((vkGetDeviceFaultReportsKHR(device, 0, &faultCounts, NULL) == VK_SUCCESS)\n && (faultCounts)) {\n // Allocate output arrays and query fault data\n VkDeviceFaultInfoKHR *pFaultInfo;\n pFaultInfo = (VkDeviceFaultInfoKHR*)calloc(faultCounts, sizeof(VkDeviceFaultInfoKHR));\n for(int n = 0; n \u003C faultCounts; n++) {\n pFaultInfo[n].sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR;\n }\n vkGetDeviceFaultReportsKHR(device, 0, &faultCounts, pFaultInfo);\n if (((r == VK_SUCCESS) || (r == VK_INCOMPLETE)) && (faultCount)) {\n // a fault is returned, do something with it\n } else if (r == VK_TIMEOUT) {\n // not an error, but a chance to exit if this is being run on a thread\n } else {\n // do something about the error return?\n }\n free(pFaultInfo);\n}\n",[4089],{"type":1893,"tag":1945,"props":4090,"children":4091},{"__ignoreMap":2214},[4092,4100,4113,4178,4191,4199,4216,4261,4317,4339,4347,4376,4427,4435,4466,4474,4489,4497,4504,4517],{"type":1893,"tag":2220,"props":4093,"children":4094},{"class":2222,"line":10},[4095],{"type":1893,"tag":2220,"props":4096,"children":4097},{"style":2226},[4098],{"type":1898,"value":4099},"// Query number of available results\n",{"type":1893,"tag":2220,"props":4101,"children":4102},{"class":2222,"line":14},[4103,4108],{"type":1893,"tag":2220,"props":4104,"children":4105},{"style":2272},[4106],{"type":1898,"value":4107},"uint32_t",{"type":1893,"tag":2220,"props":4109,"children":4110},{"style":2235},[4111],{"type":1898,"value":4112}," faultCounts;\n",{"type":1893,"tag":2220,"props":4114,"children":4115},{"class":2222,"line":18},[4116,4121,4126,4130,4135,4140,4145,4149,4154,4158,4163,4168,4173],{"type":1893,"tag":2220,"props":4117,"children":4118},{"style":2272},[4119],{"type":1898,"value":4120},"if",{"type":1893,"tag":2220,"props":4122,"children":4123},{"style":2235},[4124],{"type":1898,"value":4125}," ((",{"type":1893,"tag":2220,"props":4127,"children":4128},{"style":2241},[4129],{"type":1898,"value":2137},{"type":1893,"tag":2220,"props":4131,"children":4132},{"style":2235},[4133],{"type":1898,"value":4134},"(device, ",{"type":1893,"tag":2220,"props":4136,"children":4137},{"style":2652},[4138],{"type":1898,"value":4139},"0",{"type":1893,"tag":2220,"props":4141,"children":4142},{"style":2235},[4143],{"type":1898,"value":4144},", ",{"type":1893,"tag":2220,"props":4146,"children":4147},{"style":2272},[4148],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":4150,"children":4151},{"style":2259},[4152],{"type":1898,"value":4153},"faultCounts",{"type":1893,"tag":2220,"props":4155,"children":4156},{"style":2235},[4157],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":4159,"children":4160},{"style":2652},[4161],{"type":1898,"value":4162},"NULL",{"type":1893,"tag":2220,"props":4164,"children":4165},{"style":2235},[4166],{"type":1898,"value":4167},") ",{"type":1893,"tag":2220,"props":4169,"children":4170},{"style":2272},[4171],{"type":1898,"value":4172},"==",{"type":1893,"tag":2220,"props":4174,"children":4175},{"style":2235},[4176],{"type":1898,"value":4177}," VK_SUCCESS)\n",{"type":1893,"tag":2220,"props":4179,"children":4180},{"class":2222,"line":22},[4181,4186],{"type":1893,"tag":2220,"props":4182,"children":4183},{"style":2272},[4184],{"type":1898,"value":4185}," &&",{"type":1893,"tag":2220,"props":4187,"children":4188},{"style":2235},[4189],{"type":1898,"value":4190}," (faultCounts)) {\n",{"type":1893,"tag":2220,"props":4192,"children":4193},{"class":2222,"line":26},[4194],{"type":1893,"tag":2220,"props":4195,"children":4196},{"style":2226},[4197],{"type":1898,"value":4198}," // Allocate output arrays and query fault data\n",{"type":1893,"tag":2220,"props":4200,"children":4201},{"class":2222,"line":30},[4202,4207,4211],{"type":1893,"tag":2220,"props":4203,"children":4204},{"style":2235},[4205],{"type":1898,"value":4206}," VkDeviceFaultInfoKHR ",{"type":1893,"tag":2220,"props":4208,"children":4209},{"style":2272},[4210],{"type":1898,"value":2314},{"type":1893,"tag":2220,"props":4212,"children":4213},{"style":2235},[4214],{"type":1898,"value":4215},"pFaultInfo;\n",{"type":1893,"tag":2220,"props":4217,"children":4218},{"class":2222,"line":34},[4219,4224,4228,4233,4237,4241,4246,4251,4256],{"type":1893,"tag":2220,"props":4220,"children":4221},{"style":2235},[4222],{"type":1898,"value":4223}," pFaultInfo ",{"type":1893,"tag":2220,"props":4225,"children":4226},{"style":2272},[4227],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4229,"children":4230},{"style":2235},[4231],{"type":1898,"value":4232}," (VkDeviceFaultInfoKHR",{"type":1893,"tag":2220,"props":4234,"children":4235},{"style":2272},[4236],{"type":1898,"value":2314},{"type":1893,"tag":2220,"props":4238,"children":4239},{"style":2235},[4240],{"type":1898,"value":2053},{"type":1893,"tag":2220,"props":4242,"children":4243},{"style":2241},[4244],{"type":1898,"value":4245},"calloc",{"type":1893,"tag":2220,"props":4247,"children":4248},{"style":2235},[4249],{"type":1898,"value":4250},"(faultCounts, ",{"type":1893,"tag":2220,"props":4252,"children":4253},{"style":2272},[4254],{"type":1898,"value":4255},"sizeof",{"type":1893,"tag":2220,"props":4257,"children":4258},{"style":2235},[4259],{"type":1898,"value":4260},"(VkDeviceFaultInfoKHR));\n",{"type":1893,"tag":2220,"props":4262,"children":4263},{"class":2222,"line":38},[4264,4269,4274,4279,4284,4288,4292,4297,4302,4307,4312],{"type":1893,"tag":2220,"props":4265,"children":4266},{"style":2272},[4267],{"type":1898,"value":4268}," for",{"type":1893,"tag":2220,"props":4270,"children":4271},{"style":2235},[4272],{"type":1898,"value":4273},"(",{"type":1893,"tag":2220,"props":4275,"children":4276},{"style":2272},[4277],{"type":1898,"value":4278},"int",{"type":1893,"tag":2220,"props":4280,"children":4281},{"style":2235},[4282],{"type":1898,"value":4283}," n ",{"type":1893,"tag":2220,"props":4285,"children":4286},{"style":2272},[4287],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4289,"children":4290},{"style":2652},[4291],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":4293,"children":4294},{"style":2235},[4295],{"type":1898,"value":4296},"; n ",{"type":1893,"tag":2220,"props":4298,"children":4299},{"style":2272},[4300],{"type":1898,"value":4301},"\u003C",{"type":1893,"tag":2220,"props":4303,"children":4304},{"style":2235},[4305],{"type":1898,"value":4306}," faultCounts; n",{"type":1893,"tag":2220,"props":4308,"children":4309},{"style":2272},[4310],{"type":1898,"value":4311},"++",{"type":1893,"tag":2220,"props":4313,"children":4314},{"style":2235},[4315],{"type":1898,"value":4316},") {\n",{"type":1893,"tag":2220,"props":4318,"children":4319},{"class":2222,"line":42},[4320,4325,4330,4334],{"type":1893,"tag":2220,"props":4321,"children":4322},{"style":2259},[4323],{"type":1898,"value":4324}," pFaultInfo",{"type":1893,"tag":2220,"props":4326,"children":4327},{"style":2235},[4328],{"type":1898,"value":4329},"[n].sType ",{"type":1893,"tag":2220,"props":4331,"children":4332},{"style":2272},[4333],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4335,"children":4336},{"style":2235},[4337],{"type":1898,"value":4338}," VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR;\n",{"type":1893,"tag":2220,"props":4340,"children":4341},{"class":2222,"line":46},[4342],{"type":1893,"tag":2220,"props":4343,"children":4344},{"style":2235},[4345],{"type":1898,"value":4346}," }\n",{"type":1893,"tag":2220,"props":4348,"children":4349},{"class":2222,"line":50},[4350,4355,4359,4363,4367,4371],{"type":1893,"tag":2220,"props":4351,"children":4352},{"style":2241},[4353],{"type":1898,"value":4354}," vkGetDeviceFaultReportsKHR",{"type":1893,"tag":2220,"props":4356,"children":4357},{"style":2235},[4358],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":4360,"children":4361},{"style":2652},[4362],{"type":1898,"value":4139},{"type":1893,"tag":2220,"props":4364,"children":4365},{"style":2235},[4366],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":4368,"children":4369},{"style":2272},[4370],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":4372,"children":4373},{"style":2235},[4374],{"type":1898,"value":4375},"faultCounts, pFaultInfo);\n",{"type":1893,"tag":2220,"props":4377,"children":4378},{"class":2222,"line":54},[4379,4384,4389,4393,4398,4403,4408,4412,4417,4422],{"type":1893,"tag":2220,"props":4380,"children":4381},{"style":2272},[4382],{"type":1898,"value":4383}," if",{"type":1893,"tag":2220,"props":4385,"children":4386},{"style":2235},[4387],{"type":1898,"value":4388}," (((r ",{"type":1893,"tag":2220,"props":4390,"children":4391},{"style":2272},[4392],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4394,"children":4395},{"style":2235},[4396],{"type":1898,"value":4397}," VK_SUCCESS) ",{"type":1893,"tag":2220,"props":4399,"children":4400},{"style":2272},[4401],{"type":1898,"value":4402},"||",{"type":1893,"tag":2220,"props":4404,"children":4405},{"style":2235},[4406],{"type":1898,"value":4407}," (r ",{"type":1893,"tag":2220,"props":4409,"children":4410},{"style":2272},[4411],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4413,"children":4414},{"style":2235},[4415],{"type":1898,"value":4416}," VK_INCOMPLETE)) ",{"type":1893,"tag":2220,"props":4418,"children":4419},{"style":2272},[4420],{"type":1898,"value":4421},"&&",{"type":1893,"tag":2220,"props":4423,"children":4424},{"style":2235},[4425],{"type":1898,"value":4426}," (faultCount)) {\n",{"type":1893,"tag":2220,"props":4428,"children":4429},{"class":2222,"line":58},[4430],{"type":1893,"tag":2220,"props":4431,"children":4432},{"style":2226},[4433],{"type":1898,"value":4434}," // a fault is returned, do something with it\n",{"type":1893,"tag":2220,"props":4436,"children":4437},{"class":2222,"line":62},[4438,4443,4448,4453,4457,4461],{"type":1893,"tag":2220,"props":4439,"children":4440},{"style":2235},[4441],{"type":1898,"value":4442}," } ",{"type":1893,"tag":2220,"props":4444,"children":4445},{"style":2272},[4446],{"type":1898,"value":4447},"else",{"type":1893,"tag":2220,"props":4449,"children":4450},{"style":2272},[4451],{"type":1898,"value":4452}," if",{"type":1893,"tag":2220,"props":4454,"children":4455},{"style":2235},[4456],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":4458,"children":4459},{"style":2272},[4460],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4462,"children":4463},{"style":2235},[4464],{"type":1898,"value":4465}," VK_TIMEOUT) {\n",{"type":1893,"tag":2220,"props":4467,"children":4468},{"class":2222,"line":66},[4469],{"type":1893,"tag":2220,"props":4470,"children":4471},{"style":2226},[4472],{"type":1898,"value":4473}," // not an error, but a chance to exit if this is being run on a thread\n",{"type":1893,"tag":2220,"props":4475,"children":4476},{"class":2222,"line":70},[4477,4481,4485],{"type":1893,"tag":2220,"props":4478,"children":4479},{"style":2235},[4480],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":4482,"children":4483},{"style":2272},[4484],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":4486,"children":4487},{"style":2235},[4488],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":4490,"children":4491},{"class":2222,"line":74},[4492],{"type":1893,"tag":2220,"props":4493,"children":4494},{"style":2226},[4495],{"type":1898,"value":4496}," // do something about the error return?\n",{"type":1893,"tag":2220,"props":4498,"children":4499},{"class":2222,"line":78},[4500],{"type":1893,"tag":2220,"props":4501,"children":4502},{"style":2235},[4503],{"type":1898,"value":4346},{"type":1893,"tag":2220,"props":4505,"children":4506},{"class":2222,"line":82},[4507,4512],{"type":1893,"tag":2220,"props":4508,"children":4509},{"style":2241},[4510],{"type":1898,"value":4511}," free",{"type":1893,"tag":2220,"props":4513,"children":4514},{"style":2235},[4515],{"type":1898,"value":4516},"(pFaultInfo);\n",{"type":1893,"tag":2220,"props":4518,"children":4519},{"class":2222,"line":86},[4520],{"type":1893,"tag":2220,"props":4521,"children":4522},{"style":2235},[4523],{"type":1898,"value":4524},"}\n",{"type":1893,"tag":1981,"props":4526,"children":4528},{"id":4527},"_blocking_to_wait_for_faults",[4529],{"type":1898,"value":4530},"Blocking to wait for faults",{"type":1893,"tag":1894,"props":4532,"children":4533},{},[4534],{"type":1898,"value":4535},"The application may choose to implement a scheme (likely on a separate thread)\nwhich uses a blocking query to wait for fault information to become available.",{"type":1893,"tag":2209,"props":4537,"children":4539},{"className":2211,"code":4538,"language":2213,"meta":2214,"style":2214},"// Query number of available results\nuint32_t faultCount;\n\nwhile(true) {\n // Blocking query for fault counts\n if ((vkGetDeviceFaultReportsKHR(device, 1000, &faultCounts, NULL) == VK_SUCCESS)\n && (faultCounts)) {\n // Allocate output arrays and query fault data\n VkDeviceFaultInfoKHR *pFaultInfo;\n pFaultInfo = (VkDeviceFaultInfoKHR*)calloc(faultCounts, sizeof(VkDeviceFaultInfoKHR));\n for(int n = 0; n \u003C faultCounts; n++) {\n pFaultInfo[n].sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR;\n }\n // Non-blocking query to the number of read faults back, we already know how many\n VkResult r = vkGetDeviceFaultReportsKHR(device, 0, &faultCounts, pFaultInfo);\n if (((r == VK_SUCCESS) || (r == VK_INCOMPLETE)) && (faultCount)) {\n // a fault is returned, do something with it\n } else if (r == VK_TIMEOUT) {\n // not an error, but a chance to exit if this is being run on a thread\n } else {\n // do something about the error return?\n }\n free(pFaultInfo);\n }\n}\n",[4540],{"type":1893,"tag":1945,"props":4541,"children":4542},{"__ignoreMap":2214},[4543,4550,4562,4569,4590,4598,4651,4663,4671,4687,4727,4775,4795,4803,4811,4848,4892,4900,4928,4936,4951,4959,4966,4978,4985],{"type":1893,"tag":2220,"props":4544,"children":4545},{"class":2222,"line":10},[4546],{"type":1893,"tag":2220,"props":4547,"children":4548},{"style":2226},[4549],{"type":1898,"value":4099},{"type":1893,"tag":2220,"props":4551,"children":4552},{"class":2222,"line":14},[4553,4557],{"type":1893,"tag":2220,"props":4554,"children":4555},{"style":2272},[4556],{"type":1898,"value":4107},{"type":1893,"tag":2220,"props":4558,"children":4559},{"style":2235},[4560],{"type":1898,"value":4561}," faultCount;\n",{"type":1893,"tag":2220,"props":4563,"children":4564},{"class":2222,"line":18},[4565],{"type":1893,"tag":2220,"props":4566,"children":4567},{"emptyLinePlaceholder":240},[4568],{"type":1898,"value":3253},{"type":1893,"tag":2220,"props":4570,"children":4571},{"class":2222,"line":22},[4572,4577,4581,4586],{"type":1893,"tag":2220,"props":4573,"children":4574},{"style":2272},[4575],{"type":1898,"value":4576},"while",{"type":1893,"tag":2220,"props":4578,"children":4579},{"style":2235},[4580],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":4582,"children":4583},{"style":2652},[4584],{"type":1898,"value":4585},"true",{"type":1893,"tag":2220,"props":4587,"children":4588},{"style":2235},[4589],{"type":1898,"value":4316},{"type":1893,"tag":2220,"props":4591,"children":4592},{"class":2222,"line":26},[4593],{"type":1893,"tag":2220,"props":4594,"children":4595},{"style":2226},[4596],{"type":1898,"value":4597}," // Blocking query for fault counts\n",{"type":1893,"tag":2220,"props":4599,"children":4600},{"class":2222,"line":30},[4601,4605,4609,4613,4617,4622,4626,4630,4635,4639,4643,4647],{"type":1893,"tag":2220,"props":4602,"children":4603},{"style":2272},[4604],{"type":1898,"value":4383},{"type":1893,"tag":2220,"props":4606,"children":4607},{"style":2235},[4608],{"type":1898,"value":4125},{"type":1893,"tag":2220,"props":4610,"children":4611},{"style":2241},[4612],{"type":1898,"value":2137},{"type":1893,"tag":2220,"props":4614,"children":4615},{"style":2235},[4616],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":4618,"children":4619},{"style":2652},[4620],{"type":1898,"value":4621},"1000",{"type":1893,"tag":2220,"props":4623,"children":4624},{"style":2235},[4625],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":4627,"children":4628},{"style":2272},[4629],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":4631,"children":4632},{"style":2235},[4633],{"type":1898,"value":4634},"faultCounts, ",{"type":1893,"tag":2220,"props":4636,"children":4637},{"style":2652},[4638],{"type":1898,"value":4162},{"type":1893,"tag":2220,"props":4640,"children":4641},{"style":2235},[4642],{"type":1898,"value":4167},{"type":1893,"tag":2220,"props":4644,"children":4645},{"style":2272},[4646],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4648,"children":4649},{"style":2235},[4650],{"type":1898,"value":4177},{"type":1893,"tag":2220,"props":4652,"children":4653},{"class":2222,"line":34},[4654,4659],{"type":1893,"tag":2220,"props":4655,"children":4656},{"style":2272},[4657],{"type":1898,"value":4658}," &&",{"type":1893,"tag":2220,"props":4660,"children":4661},{"style":2235},[4662],{"type":1898,"value":4190},{"type":1893,"tag":2220,"props":4664,"children":4665},{"class":2222,"line":38},[4666],{"type":1893,"tag":2220,"props":4667,"children":4668},{"style":2226},[4669],{"type":1898,"value":4670}," // Allocate output arrays and query fault data\n",{"type":1893,"tag":2220,"props":4672,"children":4673},{"class":2222,"line":42},[4674,4679,4683],{"type":1893,"tag":2220,"props":4675,"children":4676},{"style":2235},[4677],{"type":1898,"value":4678}," VkDeviceFaultInfoKHR ",{"type":1893,"tag":2220,"props":4680,"children":4681},{"style":2272},[4682],{"type":1898,"value":2314},{"type":1893,"tag":2220,"props":4684,"children":4685},{"style":2235},[4686],{"type":1898,"value":4215},{"type":1893,"tag":2220,"props":4688,"children":4689},{"class":2222,"line":46},[4690,4695,4699,4703,4707,4711,4715,4719,4723],{"type":1893,"tag":2220,"props":4691,"children":4692},{"style":2235},[4693],{"type":1898,"value":4694}," pFaultInfo ",{"type":1893,"tag":2220,"props":4696,"children":4697},{"style":2272},[4698],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4700,"children":4701},{"style":2235},[4702],{"type":1898,"value":4232},{"type":1893,"tag":2220,"props":4704,"children":4705},{"style":2272},[4706],{"type":1898,"value":2314},{"type":1893,"tag":2220,"props":4708,"children":4709},{"style":2235},[4710],{"type":1898,"value":2053},{"type":1893,"tag":2220,"props":4712,"children":4713},{"style":2241},[4714],{"type":1898,"value":4245},{"type":1893,"tag":2220,"props":4716,"children":4717},{"style":2235},[4718],{"type":1898,"value":4250},{"type":1893,"tag":2220,"props":4720,"children":4721},{"style":2272},[4722],{"type":1898,"value":4255},{"type":1893,"tag":2220,"props":4724,"children":4725},{"style":2235},[4726],{"type":1898,"value":4260},{"type":1893,"tag":2220,"props":4728,"children":4729},{"class":2222,"line":50},[4730,4735,4739,4743,4747,4751,4755,4759,4763,4767,4771],{"type":1893,"tag":2220,"props":4731,"children":4732},{"style":2272},[4733],{"type":1898,"value":4734}," for",{"type":1893,"tag":2220,"props":4736,"children":4737},{"style":2235},[4738],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":4740,"children":4741},{"style":2272},[4742],{"type":1898,"value":4278},{"type":1893,"tag":2220,"props":4744,"children":4745},{"style":2235},[4746],{"type":1898,"value":4283},{"type":1893,"tag":2220,"props":4748,"children":4749},{"style":2272},[4750],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4752,"children":4753},{"style":2652},[4754],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":4756,"children":4757},{"style":2235},[4758],{"type":1898,"value":4296},{"type":1893,"tag":2220,"props":4760,"children":4761},{"style":2272},[4762],{"type":1898,"value":4301},{"type":1893,"tag":2220,"props":4764,"children":4765},{"style":2235},[4766],{"type":1898,"value":4306},{"type":1893,"tag":2220,"props":4768,"children":4769},{"style":2272},[4770],{"type":1898,"value":4311},{"type":1893,"tag":2220,"props":4772,"children":4773},{"style":2235},[4774],{"type":1898,"value":4316},{"type":1893,"tag":2220,"props":4776,"children":4777},{"class":2222,"line":54},[4778,4783,4787,4791],{"type":1893,"tag":2220,"props":4779,"children":4780},{"style":2259},[4781],{"type":1898,"value":4782}," pFaultInfo",{"type":1893,"tag":2220,"props":4784,"children":4785},{"style":2235},[4786],{"type":1898,"value":4329},{"type":1893,"tag":2220,"props":4788,"children":4789},{"style":2272},[4790],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4792,"children":4793},{"style":2235},[4794],{"type":1898,"value":4338},{"type":1893,"tag":2220,"props":4796,"children":4797},{"class":2222,"line":58},[4798],{"type":1893,"tag":2220,"props":4799,"children":4800},{"style":2235},[4801],{"type":1898,"value":4802}," }\n",{"type":1893,"tag":2220,"props":4804,"children":4805},{"class":2222,"line":62},[4806],{"type":1893,"tag":2220,"props":4807,"children":4808},{"style":2226},[4809],{"type":1898,"value":4810}," // Non-blocking query to the number of read faults back, we already know how many\n",{"type":1893,"tag":2220,"props":4812,"children":4813},{"class":2222,"line":66},[4814,4819,4823,4828,4832,4836,4840,4844],{"type":1893,"tag":2220,"props":4815,"children":4816},{"style":2235},[4817],{"type":1898,"value":4818}," VkResult r ",{"type":1893,"tag":2220,"props":4820,"children":4821},{"style":2272},[4822],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":4824,"children":4825},{"style":2241},[4826],{"type":1898,"value":4827}," vkGetDeviceFaultReportsKHR",{"type":1893,"tag":2220,"props":4829,"children":4830},{"style":2235},[4831],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":4833,"children":4834},{"style":2652},[4835],{"type":1898,"value":4139},{"type":1893,"tag":2220,"props":4837,"children":4838},{"style":2235},[4839],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":4841,"children":4842},{"style":2272},[4843],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":4845,"children":4846},{"style":2235},[4847],{"type":1898,"value":4375},{"type":1893,"tag":2220,"props":4849,"children":4850},{"class":2222,"line":70},[4851,4856,4860,4864,4868,4872,4876,4880,4884,4888],{"type":1893,"tag":2220,"props":4852,"children":4853},{"style":2272},[4854],{"type":1898,"value":4855}," if",{"type":1893,"tag":2220,"props":4857,"children":4858},{"style":2235},[4859],{"type":1898,"value":4388},{"type":1893,"tag":2220,"props":4861,"children":4862},{"style":2272},[4863],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4865,"children":4866},{"style":2235},[4867],{"type":1898,"value":4397},{"type":1893,"tag":2220,"props":4869,"children":4870},{"style":2272},[4871],{"type":1898,"value":4402},{"type":1893,"tag":2220,"props":4873,"children":4874},{"style":2235},[4875],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":4877,"children":4878},{"style":2272},[4879],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4881,"children":4882},{"style":2235},[4883],{"type":1898,"value":4416},{"type":1893,"tag":2220,"props":4885,"children":4886},{"style":2272},[4887],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":4889,"children":4890},{"style":2235},[4891],{"type":1898,"value":4426},{"type":1893,"tag":2220,"props":4893,"children":4894},{"class":2222,"line":74},[4895],{"type":1893,"tag":2220,"props":4896,"children":4897},{"style":2226},[4898],{"type":1898,"value":4899}," // a fault is returned, do something with it\n",{"type":1893,"tag":2220,"props":4901,"children":4902},{"class":2222,"line":78},[4903,4908,4912,4916,4920,4924],{"type":1893,"tag":2220,"props":4904,"children":4905},{"style":2235},[4906],{"type":1898,"value":4907}," } ",{"type":1893,"tag":2220,"props":4909,"children":4910},{"style":2272},[4911],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":4913,"children":4914},{"style":2272},[4915],{"type":1898,"value":4452},{"type":1893,"tag":2220,"props":4917,"children":4918},{"style":2235},[4919],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":4921,"children":4922},{"style":2272},[4923],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":4925,"children":4926},{"style":2235},[4927],{"type":1898,"value":4465},{"type":1893,"tag":2220,"props":4929,"children":4930},{"class":2222,"line":82},[4931],{"type":1893,"tag":2220,"props":4932,"children":4933},{"style":2226},[4934],{"type":1898,"value":4935}," // not an error, but a chance to exit if this is being run on a thread\n",{"type":1893,"tag":2220,"props":4937,"children":4938},{"class":2222,"line":86},[4939,4943,4947],{"type":1893,"tag":2220,"props":4940,"children":4941},{"style":2235},[4942],{"type":1898,"value":4907},{"type":1893,"tag":2220,"props":4944,"children":4945},{"style":2272},[4946],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":4948,"children":4949},{"style":2235},[4950],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":4952,"children":4953},{"class":2222,"line":90},[4954],{"type":1893,"tag":2220,"props":4955,"children":4956},{"style":2226},[4957],{"type":1898,"value":4958}," // do something about the error return?\n",{"type":1893,"tag":2220,"props":4960,"children":4961},{"class":2222,"line":94},[4962],{"type":1893,"tag":2220,"props":4963,"children":4964},{"style":2235},[4965],{"type":1898,"value":4802},{"type":1893,"tag":2220,"props":4967,"children":4968},{"class":2222,"line":98},[4969,4974],{"type":1893,"tag":2220,"props":4970,"children":4971},{"style":2241},[4972],{"type":1898,"value":4973}," free",{"type":1893,"tag":2220,"props":4975,"children":4976},{"style":2235},[4977],{"type":1898,"value":4516},{"type":1893,"tag":2220,"props":4979,"children":4980},{"class":2222,"line":102},[4981],{"type":1893,"tag":2220,"props":4982,"children":4983},{"style":2235},[4984],{"type":1898,"value":4346},{"type":1893,"tag":2220,"props":4986,"children":4987},{"class":2222,"line":106},[4988],{"type":1893,"tag":2220,"props":4989,"children":4990},{"style":2235},[4991],{"type":1898,"value":4524},{"type":1893,"tag":1894,"props":4993,"children":4994},{},[4995],{"type":1898,"value":4996},"Alternative (single query, no dynamic allocation):",{"type":1893,"tag":2209,"props":4998,"children":5000},{"className":2211,"code":4999,"language":2213,"meta":2214,"style":2214},"// Query number of available results\nuint32_t faultCount;\nVkDeviceFaultInfoKHR faultInfo{}\nfaultInfo.sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR;\nwhile(true) {\n // Blocking query for single fault address\n faultCount = 1;\n VkResult r = vkGetDeviceFaultReportsKHR(device, 1000, &faultCount, &faultInfo);\n if (((r == VK_SUCCESS) || (r == VK_INCOMPLETE)) && (faultCount)) {\n // a fault is returned, do something with it\n } else if (r == VK_TIMEOUT) {\n // not an error, but a chance to exit if this is being run on a thread\n } else {\n // do something about the error return?\n }\n}\n",[5001],{"type":1893,"tag":1945,"props":5002,"children":5003},{"__ignoreMap":2214},[5004,5011,5022,5030,5046,5065,5073,5094,5140,5183,5190,5217,5224,5239,5246,5253],{"type":1893,"tag":2220,"props":5005,"children":5006},{"class":2222,"line":10},[5007],{"type":1893,"tag":2220,"props":5008,"children":5009},{"style":2226},[5010],{"type":1898,"value":4099},{"type":1893,"tag":2220,"props":5012,"children":5013},{"class":2222,"line":14},[5014,5018],{"type":1893,"tag":2220,"props":5015,"children":5016},{"style":2272},[5017],{"type":1898,"value":4107},{"type":1893,"tag":2220,"props":5019,"children":5020},{"style":2235},[5021],{"type":1898,"value":4561},{"type":1893,"tag":2220,"props":5023,"children":5024},{"class":2222,"line":18},[5025],{"type":1893,"tag":2220,"props":5026,"children":5027},{"style":2235},[5028],{"type":1898,"value":5029},"VkDeviceFaultInfoKHR faultInfo{}\n",{"type":1893,"tag":2220,"props":5031,"children":5032},{"class":2222,"line":22},[5033,5038,5042],{"type":1893,"tag":2220,"props":5034,"children":5035},{"style":2235},[5036],{"type":1898,"value":5037},"faultInfo.sType ",{"type":1893,"tag":2220,"props":5039,"children":5040},{"style":2272},[5041],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5043,"children":5044},{"style":2235},[5045],{"type":1898,"value":4338},{"type":1893,"tag":2220,"props":5047,"children":5048},{"class":2222,"line":26},[5049,5053,5057,5061],{"type":1893,"tag":2220,"props":5050,"children":5051},{"style":2272},[5052],{"type":1898,"value":4576},{"type":1893,"tag":2220,"props":5054,"children":5055},{"style":2235},[5056],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":5058,"children":5059},{"style":2652},[5060],{"type":1898,"value":4585},{"type":1893,"tag":2220,"props":5062,"children":5063},{"style":2235},[5064],{"type":1898,"value":4316},{"type":1893,"tag":2220,"props":5066,"children":5067},{"class":2222,"line":30},[5068],{"type":1893,"tag":2220,"props":5069,"children":5070},{"style":2226},[5071],{"type":1898,"value":5072}," // Blocking query for single fault address\n",{"type":1893,"tag":2220,"props":5074,"children":5075},{"class":2222,"line":34},[5076,5081,5085,5089],{"type":1893,"tag":2220,"props":5077,"children":5078},{"style":2235},[5079],{"type":1898,"value":5080}," faultCount ",{"type":1893,"tag":2220,"props":5082,"children":5083},{"style":2272},[5084],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5086,"children":5087},{"style":2652},[5088],{"type":1898,"value":2655},{"type":1893,"tag":2220,"props":5090,"children":5091},{"style":2235},[5092],{"type":1898,"value":5093},";\n",{"type":1893,"tag":2220,"props":5095,"children":5096},{"class":2222,"line":38},[5097,5102,5106,5110,5114,5118,5122,5126,5131,5135],{"type":1893,"tag":2220,"props":5098,"children":5099},{"style":2235},[5100],{"type":1898,"value":5101}," VkResult r ",{"type":1893,"tag":2220,"props":5103,"children":5104},{"style":2272},[5105],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5107,"children":5108},{"style":2241},[5109],{"type":1898,"value":4827},{"type":1893,"tag":2220,"props":5111,"children":5112},{"style":2235},[5113],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":5115,"children":5116},{"style":2652},[5117],{"type":1898,"value":4621},{"type":1893,"tag":2220,"props":5119,"children":5120},{"style":2235},[5121],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":5123,"children":5124},{"style":2272},[5125],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5127,"children":5128},{"style":2235},[5129],{"type":1898,"value":5130},"faultCount, ",{"type":1893,"tag":2220,"props":5132,"children":5133},{"style":2272},[5134],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5136,"children":5137},{"style":2235},[5138],{"type":1898,"value":5139},"faultInfo);\n",{"type":1893,"tag":2220,"props":5141,"children":5142},{"class":2222,"line":42},[5143,5147,5151,5155,5159,5163,5167,5171,5175,5179],{"type":1893,"tag":2220,"props":5144,"children":5145},{"style":2272},[5146],{"type":1898,"value":4383},{"type":1893,"tag":2220,"props":5148,"children":5149},{"style":2235},[5150],{"type":1898,"value":4388},{"type":1893,"tag":2220,"props":5152,"children":5153},{"style":2272},[5154],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5156,"children":5157},{"style":2235},[5158],{"type":1898,"value":4397},{"type":1893,"tag":2220,"props":5160,"children":5161},{"style":2272},[5162],{"type":1898,"value":4402},{"type":1893,"tag":2220,"props":5164,"children":5165},{"style":2235},[5166],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":5168,"children":5169},{"style":2272},[5170],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5172,"children":5173},{"style":2235},[5174],{"type":1898,"value":4416},{"type":1893,"tag":2220,"props":5176,"children":5177},{"style":2272},[5178],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":5180,"children":5181},{"style":2235},[5182],{"type":1898,"value":4426},{"type":1893,"tag":2220,"props":5184,"children":5185},{"class":2222,"line":46},[5186],{"type":1893,"tag":2220,"props":5187,"children":5188},{"style":2226},[5189],{"type":1898,"value":4434},{"type":1893,"tag":2220,"props":5191,"children":5192},{"class":2222,"line":50},[5193,5197,5201,5205,5209,5213],{"type":1893,"tag":2220,"props":5194,"children":5195},{"style":2235},[5196],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":5198,"children":5199},{"style":2272},[5200],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":5202,"children":5203},{"style":2272},[5204],{"type":1898,"value":4452},{"type":1893,"tag":2220,"props":5206,"children":5207},{"style":2235},[5208],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":5210,"children":5211},{"style":2272},[5212],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5214,"children":5215},{"style":2235},[5216],{"type":1898,"value":4465},{"type":1893,"tag":2220,"props":5218,"children":5219},{"class":2222,"line":54},[5220],{"type":1893,"tag":2220,"props":5221,"children":5222},{"style":2226},[5223],{"type":1898,"value":4473},{"type":1893,"tag":2220,"props":5225,"children":5226},{"class":2222,"line":58},[5227,5231,5235],{"type":1893,"tag":2220,"props":5228,"children":5229},{"style":2235},[5230],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":5232,"children":5233},{"style":2272},[5234],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":5236,"children":5237},{"style":2235},[5238],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":5240,"children":5241},{"class":2222,"line":62},[5242],{"type":1893,"tag":2220,"props":5243,"children":5244},{"style":2226},[5245],{"type":1898,"value":4496},{"type":1893,"tag":2220,"props":5247,"children":5248},{"class":2222,"line":66},[5249],{"type":1893,"tag":2220,"props":5250,"children":5251},{"style":2235},[5252],{"type":1898,"value":4346},{"type":1893,"tag":2220,"props":5254,"children":5255},{"class":2222,"line":70},[5256],{"type":1893,"tag":2220,"props":5257,"children":5258},{"style":2235},[5259],{"type":1898,"value":4524},{"type":1893,"tag":1894,"props":5261,"children":5262},{},[5263],{"type":1898,"value":5264},"Retrieving Vendor Binary in response to Device Lost:",{"type":1893,"tag":2209,"props":5266,"children":5268},{"className":2211,"code":5267,"language":2213,"meta":2214,"style":2214},"// Query number of available results\nuint32_t faultCount;\nVkDeviceFaultInfoKHR faultInfo{}\nfaultInfo.sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR;\nwhile(true) {\n // Blocking query for single fault address\n faultCount = 1;\n VkResult r = vkGetDeviceFaultReportsKHR(device, 1000, &faultCount, &faultInfo);\n if (((r == VK_SUCCESS) || (r == VK_INCOMPLETE)) && (faultCount)) {\n // a fault is returned, do something with it\n if (faultInfo.flags & VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR) {\n // This is a device lost fault...\n VkDeviceFaultDebugInfoKHR debugInfo = {\n .sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR\n .pNext = NULL,\n .vendorBinarySize = 0,\n .pVendorBinary = NULL\n };\n // Sizing query\n if ((vkGetDeviceFaultDebugInfoKHR(device, &debugInfo) == VK_SUCCESS) && (debugInfo.vendorBinarySize)) {\n debugInfo.pVendorBinary = malloc(debugInfo.vendorBinarySize);\n // Vendor Binary Retrieval\n vkGetDeviceFaultDebugInfoKHR(device, &debugInfo);\n }\n }\n } else if (r == VK_TIMEOUT) {\n // not an error, but a chance to exit if this is being run on a thread\n } else {\n // do something about the error return - possibly nothing at all?\n }\n}\n",[5269],{"type":1893,"tag":1945,"props":5270,"children":5271},{"__ignoreMap":2214},[5272,5279,5290,5297,5312,5331,5338,5357,5400,5443,5450,5471,5479,5495,5512,5533,5553,5570,5578,5586,5632,5654,5662,5683,5691,5698,5725,5732,5747,5755,5762],{"type":1893,"tag":2220,"props":5273,"children":5274},{"class":2222,"line":10},[5275],{"type":1893,"tag":2220,"props":5276,"children":5277},{"style":2226},[5278],{"type":1898,"value":4099},{"type":1893,"tag":2220,"props":5280,"children":5281},{"class":2222,"line":14},[5282,5286],{"type":1893,"tag":2220,"props":5283,"children":5284},{"style":2272},[5285],{"type":1898,"value":4107},{"type":1893,"tag":2220,"props":5287,"children":5288},{"style":2235},[5289],{"type":1898,"value":4561},{"type":1893,"tag":2220,"props":5291,"children":5292},{"class":2222,"line":18},[5293],{"type":1893,"tag":2220,"props":5294,"children":5295},{"style":2235},[5296],{"type":1898,"value":5029},{"type":1893,"tag":2220,"props":5298,"children":5299},{"class":2222,"line":22},[5300,5304,5308],{"type":1893,"tag":2220,"props":5301,"children":5302},{"style":2235},[5303],{"type":1898,"value":5037},{"type":1893,"tag":2220,"props":5305,"children":5306},{"style":2272},[5307],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5309,"children":5310},{"style":2235},[5311],{"type":1898,"value":4338},{"type":1893,"tag":2220,"props":5313,"children":5314},{"class":2222,"line":26},[5315,5319,5323,5327],{"type":1893,"tag":2220,"props":5316,"children":5317},{"style":2272},[5318],{"type":1898,"value":4576},{"type":1893,"tag":2220,"props":5320,"children":5321},{"style":2235},[5322],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":5324,"children":5325},{"style":2652},[5326],{"type":1898,"value":4585},{"type":1893,"tag":2220,"props":5328,"children":5329},{"style":2235},[5330],{"type":1898,"value":4316},{"type":1893,"tag":2220,"props":5332,"children":5333},{"class":2222,"line":30},[5334],{"type":1893,"tag":2220,"props":5335,"children":5336},{"style":2226},[5337],{"type":1898,"value":5072},{"type":1893,"tag":2220,"props":5339,"children":5340},{"class":2222,"line":34},[5341,5345,5349,5353],{"type":1893,"tag":2220,"props":5342,"children":5343},{"style":2235},[5344],{"type":1898,"value":5080},{"type":1893,"tag":2220,"props":5346,"children":5347},{"style":2272},[5348],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5350,"children":5351},{"style":2652},[5352],{"type":1898,"value":2655},{"type":1893,"tag":2220,"props":5354,"children":5355},{"style":2235},[5356],{"type":1898,"value":5093},{"type":1893,"tag":2220,"props":5358,"children":5359},{"class":2222,"line":38},[5360,5364,5368,5372,5376,5380,5384,5388,5392,5396],{"type":1893,"tag":2220,"props":5361,"children":5362},{"style":2235},[5363],{"type":1898,"value":5101},{"type":1893,"tag":2220,"props":5365,"children":5366},{"style":2272},[5367],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5369,"children":5370},{"style":2241},[5371],{"type":1898,"value":4827},{"type":1893,"tag":2220,"props":5373,"children":5374},{"style":2235},[5375],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":5377,"children":5378},{"style":2652},[5379],{"type":1898,"value":4621},{"type":1893,"tag":2220,"props":5381,"children":5382},{"style":2235},[5383],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":5385,"children":5386},{"style":2272},[5387],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5389,"children":5390},{"style":2235},[5391],{"type":1898,"value":5130},{"type":1893,"tag":2220,"props":5393,"children":5394},{"style":2272},[5395],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5397,"children":5398},{"style":2235},[5399],{"type":1898,"value":5139},{"type":1893,"tag":2220,"props":5401,"children":5402},{"class":2222,"line":42},[5403,5407,5411,5415,5419,5423,5427,5431,5435,5439],{"type":1893,"tag":2220,"props":5404,"children":5405},{"style":2272},[5406],{"type":1898,"value":4383},{"type":1893,"tag":2220,"props":5408,"children":5409},{"style":2235},[5410],{"type":1898,"value":4388},{"type":1893,"tag":2220,"props":5412,"children":5413},{"style":2272},[5414],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5416,"children":5417},{"style":2235},[5418],{"type":1898,"value":4397},{"type":1893,"tag":2220,"props":5420,"children":5421},{"style":2272},[5422],{"type":1898,"value":4402},{"type":1893,"tag":2220,"props":5424,"children":5425},{"style":2235},[5426],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":5428,"children":5429},{"style":2272},[5430],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5432,"children":5433},{"style":2235},[5434],{"type":1898,"value":4416},{"type":1893,"tag":2220,"props":5436,"children":5437},{"style":2272},[5438],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":5440,"children":5441},{"style":2235},[5442],{"type":1898,"value":4426},{"type":1893,"tag":2220,"props":5444,"children":5445},{"class":2222,"line":46},[5446],{"type":1893,"tag":2220,"props":5447,"children":5448},{"style":2226},[5449],{"type":1898,"value":4434},{"type":1893,"tag":2220,"props":5451,"children":5452},{"class":2222,"line":50},[5453,5457,5462,5466],{"type":1893,"tag":2220,"props":5454,"children":5455},{"style":2272},[5456],{"type":1898,"value":4855},{"type":1893,"tag":2220,"props":5458,"children":5459},{"style":2235},[5460],{"type":1898,"value":5461}," (faultInfo.flags ",{"type":1893,"tag":2220,"props":5463,"children":5464},{"style":2272},[5465],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5467,"children":5468},{"style":2235},[5469],{"type":1898,"value":5470}," VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR) {\n",{"type":1893,"tag":2220,"props":5472,"children":5473},{"class":2222,"line":54},[5474],{"type":1893,"tag":2220,"props":5475,"children":5476},{"style":2226},[5477],{"type":1898,"value":5478}," // This is a device lost fault...\n",{"type":1893,"tag":2220,"props":5480,"children":5481},{"class":2222,"line":58},[5482,5487,5491],{"type":1893,"tag":2220,"props":5483,"children":5484},{"style":2235},[5485],{"type":1898,"value":5486}," VkDeviceFaultDebugInfoKHR debugInfo ",{"type":1893,"tag":2220,"props":5488,"children":5489},{"style":2272},[5490],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5492,"children":5493},{"style":2235},[5494],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":5496,"children":5497},{"class":2222,"line":62},[5498,5503,5507],{"type":1893,"tag":2220,"props":5499,"children":5500},{"style":2235},[5501],{"type":1898,"value":5502}," .sType ",{"type":1893,"tag":2220,"props":5504,"children":5505},{"style":2272},[5506],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5508,"children":5509},{"style":2235},[5510],{"type":1898,"value":5511}," VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR\n",{"type":1893,"tag":2220,"props":5513,"children":5514},{"class":2222,"line":66},[5515,5520,5524,5529],{"type":1893,"tag":2220,"props":5516,"children":5517},{"style":2235},[5518],{"type":1898,"value":5519}," .pNext ",{"type":1893,"tag":2220,"props":5521,"children":5522},{"style":2272},[5523],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5525,"children":5526},{"style":2652},[5527],{"type":1898,"value":5528}," NULL",{"type":1893,"tag":2220,"props":5530,"children":5531},{"style":2235},[5532],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":5534,"children":5535},{"class":2222,"line":70},[5536,5541,5545,5549],{"type":1893,"tag":2220,"props":5537,"children":5538},{"style":2235},[5539],{"type":1898,"value":5540}," .vendorBinarySize ",{"type":1893,"tag":2220,"props":5542,"children":5543},{"style":2272},[5544],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5546,"children":5547},{"style":2652},[5548],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":5550,"children":5551},{"style":2235},[5552],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":5554,"children":5555},{"class":2222,"line":74},[5556,5561,5565],{"type":1893,"tag":2220,"props":5557,"children":5558},{"style":2235},[5559],{"type":1898,"value":5560}," .pVendorBinary ",{"type":1893,"tag":2220,"props":5562,"children":5563},{"style":2272},[5564],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5566,"children":5567},{"style":2652},[5568],{"type":1898,"value":5569}," NULL\n",{"type":1893,"tag":2220,"props":5571,"children":5572},{"class":2222,"line":78},[5573],{"type":1893,"tag":2220,"props":5574,"children":5575},{"style":2235},[5576],{"type":1898,"value":5577}," };\n",{"type":1893,"tag":2220,"props":5579,"children":5580},{"class":2222,"line":82},[5581],{"type":1893,"tag":2220,"props":5582,"children":5583},{"style":2226},[5584],{"type":1898,"value":5585}," // Sizing query\n",{"type":1893,"tag":2220,"props":5587,"children":5588},{"class":2222,"line":86},[5589,5594,5598,5602,5606,5610,5615,5619,5623,5627],{"type":1893,"tag":2220,"props":5590,"children":5591},{"style":2272},[5592],{"type":1898,"value":5593}," if",{"type":1893,"tag":2220,"props":5595,"children":5596},{"style":2235},[5597],{"type":1898,"value":4125},{"type":1893,"tag":2220,"props":5599,"children":5600},{"style":2241},[5601],{"type":1898,"value":3481},{"type":1893,"tag":2220,"props":5603,"children":5604},{"style":2235},[5605],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":5607,"children":5608},{"style":2272},[5609],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5611,"children":5612},{"style":2235},[5613],{"type":1898,"value":5614},"debugInfo) ",{"type":1893,"tag":2220,"props":5616,"children":5617},{"style":2272},[5618],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5620,"children":5621},{"style":2235},[5622],{"type":1898,"value":4397},{"type":1893,"tag":2220,"props":5624,"children":5625},{"style":2272},[5626],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":5628,"children":5629},{"style":2235},[5630],{"type":1898,"value":5631}," (debugInfo.vendorBinarySize)) {\n",{"type":1893,"tag":2220,"props":5633,"children":5634},{"class":2222,"line":90},[5635,5640,5644,5649],{"type":1893,"tag":2220,"props":5636,"children":5637},{"style":2235},[5638],{"type":1898,"value":5639}," debugInfo.pVendorBinary ",{"type":1893,"tag":2220,"props":5641,"children":5642},{"style":2272},[5643],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5645,"children":5646},{"style":2241},[5647],{"type":1898,"value":5648}," malloc",{"type":1893,"tag":2220,"props":5650,"children":5651},{"style":2235},[5652],{"type":1898,"value":5653},"(debugInfo.vendorBinarySize);\n",{"type":1893,"tag":2220,"props":5655,"children":5656},{"class":2222,"line":94},[5657],{"type":1893,"tag":2220,"props":5658,"children":5659},{"style":2226},[5660],{"type":1898,"value":5661}," // Vendor Binary Retrieval\n",{"type":1893,"tag":2220,"props":5663,"children":5664},{"class":2222,"line":98},[5665,5670,5674,5678],{"type":1893,"tag":2220,"props":5666,"children":5667},{"style":2241},[5668],{"type":1898,"value":5669}," vkGetDeviceFaultDebugInfoKHR",{"type":1893,"tag":2220,"props":5671,"children":5672},{"style":2235},[5673],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":5675,"children":5676},{"style":2272},[5677],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5679,"children":5680},{"style":2235},[5681],{"type":1898,"value":5682},"debugInfo);\n",{"type":1893,"tag":2220,"props":5684,"children":5685},{"class":2222,"line":102},[5686],{"type":1893,"tag":2220,"props":5687,"children":5688},{"style":2235},[5689],{"type":1898,"value":5690}," }\n",{"type":1893,"tag":2220,"props":5692,"children":5693},{"class":2222,"line":106},[5694],{"type":1893,"tag":2220,"props":5695,"children":5696},{"style":2235},[5697],{"type":1898,"value":4802},{"type":1893,"tag":2220,"props":5699,"children":5700},{"class":2222,"line":110},[5701,5705,5709,5713,5717,5721],{"type":1893,"tag":2220,"props":5702,"children":5703},{"style":2235},[5704],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":5706,"children":5707},{"style":2272},[5708],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":5710,"children":5711},{"style":2272},[5712],{"type":1898,"value":4452},{"type":1893,"tag":2220,"props":5714,"children":5715},{"style":2235},[5716],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":5718,"children":5719},{"style":2272},[5720],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5722,"children":5723},{"style":2235},[5724],{"type":1898,"value":4465},{"type":1893,"tag":2220,"props":5726,"children":5727},{"class":2222,"line":114},[5728],{"type":1893,"tag":2220,"props":5729,"children":5730},{"style":2226},[5731],{"type":1898,"value":4473},{"type":1893,"tag":2220,"props":5733,"children":5734},{"class":2222,"line":118},[5735,5739,5743],{"type":1893,"tag":2220,"props":5736,"children":5737},{"style":2235},[5738],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":5740,"children":5741},{"style":2272},[5742],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":5744,"children":5745},{"style":2235},[5746],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":5748,"children":5749},{"class":2222,"line":122},[5750],{"type":1893,"tag":2220,"props":5751,"children":5752},{"style":2226},[5753],{"type":1898,"value":5754}," // do something about the error return - possibly nothing at all?\n",{"type":1893,"tag":2220,"props":5756,"children":5757},{"class":2222,"line":126},[5758],{"type":1893,"tag":2220,"props":5759,"children":5760},{"style":2235},[5761],{"type":1898,"value":4346},{"type":1893,"tag":2220,"props":5763,"children":5764},{"class":2222,"line":130},[5765],{"type":1893,"tag":2220,"props":5766,"children":5767},{"style":2235},[5768],{"type":1898,"value":4524},{"type":1893,"tag":1894,"props":5770,"children":5771},{},[5772],{"type":1898,"value":5773},"Retrieving Shader Abort Messages:",{"type":1893,"tag":2209,"props":5775,"children":5777},{"className":2211,"code":5776,"language":2213,"meta":2214,"style":2214},"// Query number of available results\nuint32_t faultCount;\nVkDeviceFaultInfoKHR faultInfo{}\nfaultInfo.sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR;\nwhile(true) {\n // Blocking query for single fault address\n faultCount = 1;\n VkResult r = vkGetDeviceFaultReportsKHR(device, 1000, &faultCount, &faultInfo);\n if (((r == VK_SUCCESS) || (r == VK_INCOMPLETE)) && (faultCount)) {\n // a fault is returned, do something with it\n if (faultInfo.flags & VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR) {\n // This is a device lost fault... check for shader abort messages\n VkDeviceFaultShaderAbortMessageInfoKHR abortMessageInfo = {\n .sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR,\n .pNext = NULL,\n .messageDataSize = 0,\n .messageData = NULL\n };\n VkDeviceFaultDebugInfoKHR debugInfo = {\n .sType = VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR\n .pNext = &abortMessageInfo, // VkDeviceFaultShaderAbortMessageInfoKHR extends VkDeviceFaultDebugInfoKHR\n .vendorBinarySize = 0,\n .pVendorBinary = NULL\n };\n if ((vkGetDeviceFaultDebugInfoKHR(device, &debugInfo) == VK_SUCCESS) && (abortMessageInfo.messageDataSize)) {\n // There is a shader abort message payload available - allocate space & retrieve it\n abortMessageInfo.messageData = malloc(abortMessageInfo.messageDataSize);\n vkGetDeviceFaultDebugInfoKHR(device, &debugInfo);\n\n // Process each shader abort message\n // NOTE: in this example, up to 20 parameters are supported - this is NOT an API restriction.\n char formattedOutput[1024]; // Formatted message output buffer\n size_t offset = 0; // Offset in message data\n int n = 0; // Number of parameters found\n char *param[20]; // Extracted parameter array\n uint32_t paramSize[20]; // Extracted parameter sizes\n for(n = 0; (n \u003C 20) && (offset \u003C abortMessageInfo.messageDataSize); n++)\n {\n paramSize[n] = *(uint32_t*)&abortMessageInfo.messageData[offset];\n offset += sizeof(uint32_t);\n param[n] = &abortMessageInfo.messageData[offset];\n offset += paramSize[n];\n }\n\n myCustomPrint(param, paramSize, formattedOutput);\n\n free(abortMessageInfo.messageData);\n }\n }\n } else if (r == VK_TIMEOUT) {\n // not an error, but a chance to exit if this is being run on a thread\n } else {\n // do something about the error return - possibly nothing at all?\n }\n}\n",[5778],{"type":1893,"tag":1945,"props":5779,"children":5780},{"__ignoreMap":2214},[5781,5788,5799,5806,5821,5840,5847,5866,5909,5952,5959,5978,5986,6002,6019,6039,6059,6075,6082,6097,6112,6138,6157,6172,6179,6223,6231,6252,6271,6278,6286,6294,6327,6358,6387,6422,6452,6518,6526,6569,6599,6623,6643,6651,6658,6671,6678,6691,6698,6705,6732,6739,6754,6761,6768],{"type":1893,"tag":2220,"props":5782,"children":5783},{"class":2222,"line":10},[5784],{"type":1893,"tag":2220,"props":5785,"children":5786},{"style":2226},[5787],{"type":1898,"value":4099},{"type":1893,"tag":2220,"props":5789,"children":5790},{"class":2222,"line":14},[5791,5795],{"type":1893,"tag":2220,"props":5792,"children":5793},{"style":2272},[5794],{"type":1898,"value":4107},{"type":1893,"tag":2220,"props":5796,"children":5797},{"style":2235},[5798],{"type":1898,"value":4561},{"type":1893,"tag":2220,"props":5800,"children":5801},{"class":2222,"line":18},[5802],{"type":1893,"tag":2220,"props":5803,"children":5804},{"style":2235},[5805],{"type":1898,"value":5029},{"type":1893,"tag":2220,"props":5807,"children":5808},{"class":2222,"line":22},[5809,5813,5817],{"type":1893,"tag":2220,"props":5810,"children":5811},{"style":2235},[5812],{"type":1898,"value":5037},{"type":1893,"tag":2220,"props":5814,"children":5815},{"style":2272},[5816],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5818,"children":5819},{"style":2235},[5820],{"type":1898,"value":4338},{"type":1893,"tag":2220,"props":5822,"children":5823},{"class":2222,"line":26},[5824,5828,5832,5836],{"type":1893,"tag":2220,"props":5825,"children":5826},{"style":2272},[5827],{"type":1898,"value":4576},{"type":1893,"tag":2220,"props":5829,"children":5830},{"style":2235},[5831],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":5833,"children":5834},{"style":2652},[5835],{"type":1898,"value":4585},{"type":1893,"tag":2220,"props":5837,"children":5838},{"style":2235},[5839],{"type":1898,"value":4316},{"type":1893,"tag":2220,"props":5841,"children":5842},{"class":2222,"line":30},[5843],{"type":1893,"tag":2220,"props":5844,"children":5845},{"style":2226},[5846],{"type":1898,"value":5072},{"type":1893,"tag":2220,"props":5848,"children":5849},{"class":2222,"line":34},[5850,5854,5858,5862],{"type":1893,"tag":2220,"props":5851,"children":5852},{"style":2235},[5853],{"type":1898,"value":5080},{"type":1893,"tag":2220,"props":5855,"children":5856},{"style":2272},[5857],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5859,"children":5860},{"style":2652},[5861],{"type":1898,"value":2655},{"type":1893,"tag":2220,"props":5863,"children":5864},{"style":2235},[5865],{"type":1898,"value":5093},{"type":1893,"tag":2220,"props":5867,"children":5868},{"class":2222,"line":38},[5869,5873,5877,5881,5885,5889,5893,5897,5901,5905],{"type":1893,"tag":2220,"props":5870,"children":5871},{"style":2235},[5872],{"type":1898,"value":5101},{"type":1893,"tag":2220,"props":5874,"children":5875},{"style":2272},[5876],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5878,"children":5879},{"style":2241},[5880],{"type":1898,"value":4827},{"type":1893,"tag":2220,"props":5882,"children":5883},{"style":2235},[5884],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":5886,"children":5887},{"style":2652},[5888],{"type":1898,"value":4621},{"type":1893,"tag":2220,"props":5890,"children":5891},{"style":2235},[5892],{"type":1898,"value":4144},{"type":1893,"tag":2220,"props":5894,"children":5895},{"style":2272},[5896],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5898,"children":5899},{"style":2235},[5900],{"type":1898,"value":5130},{"type":1893,"tag":2220,"props":5902,"children":5903},{"style":2272},[5904],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5906,"children":5907},{"style":2235},[5908],{"type":1898,"value":5139},{"type":1893,"tag":2220,"props":5910,"children":5911},{"class":2222,"line":42},[5912,5916,5920,5924,5928,5932,5936,5940,5944,5948],{"type":1893,"tag":2220,"props":5913,"children":5914},{"style":2272},[5915],{"type":1898,"value":4383},{"type":1893,"tag":2220,"props":5917,"children":5918},{"style":2235},[5919],{"type":1898,"value":4388},{"type":1893,"tag":2220,"props":5921,"children":5922},{"style":2272},[5923],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5925,"children":5926},{"style":2235},[5927],{"type":1898,"value":4397},{"type":1893,"tag":2220,"props":5929,"children":5930},{"style":2272},[5931],{"type":1898,"value":4402},{"type":1893,"tag":2220,"props":5933,"children":5934},{"style":2235},[5935],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":5937,"children":5938},{"style":2272},[5939],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":5941,"children":5942},{"style":2235},[5943],{"type":1898,"value":4416},{"type":1893,"tag":2220,"props":5945,"children":5946},{"style":2272},[5947],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":5949,"children":5950},{"style":2235},[5951],{"type":1898,"value":4426},{"type":1893,"tag":2220,"props":5953,"children":5954},{"class":2222,"line":46},[5955],{"type":1893,"tag":2220,"props":5956,"children":5957},{"style":2226},[5958],{"type":1898,"value":4434},{"type":1893,"tag":2220,"props":5960,"children":5961},{"class":2222,"line":50},[5962,5966,5970,5974],{"type":1893,"tag":2220,"props":5963,"children":5964},{"style":2272},[5965],{"type":1898,"value":4855},{"type":1893,"tag":2220,"props":5967,"children":5968},{"style":2235},[5969],{"type":1898,"value":5461},{"type":1893,"tag":2220,"props":5971,"children":5972},{"style":2272},[5973],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":5975,"children":5976},{"style":2235},[5977],{"type":1898,"value":5470},{"type":1893,"tag":2220,"props":5979,"children":5980},{"class":2222,"line":54},[5981],{"type":1893,"tag":2220,"props":5982,"children":5983},{"style":2226},[5984],{"type":1898,"value":5985}," // This is a device lost fault... check for shader abort messages\n",{"type":1893,"tag":2220,"props":5987,"children":5988},{"class":2222,"line":58},[5989,5994,5998],{"type":1893,"tag":2220,"props":5990,"children":5991},{"style":2235},[5992],{"type":1898,"value":5993}," VkDeviceFaultShaderAbortMessageInfoKHR abortMessageInfo ",{"type":1893,"tag":2220,"props":5995,"children":5996},{"style":2272},[5997],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":5999,"children":6000},{"style":2235},[6001],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":6003,"children":6004},{"class":2222,"line":62},[6005,6010,6014],{"type":1893,"tag":2220,"props":6006,"children":6007},{"style":2235},[6008],{"type":1898,"value":6009}," .sType ",{"type":1893,"tag":2220,"props":6011,"children":6012},{"style":2272},[6013],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6015,"children":6016},{"style":2235},[6017],{"type":1898,"value":6018}," VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR,\n",{"type":1893,"tag":2220,"props":6020,"children":6021},{"class":2222,"line":66},[6022,6027,6031,6035],{"type":1893,"tag":2220,"props":6023,"children":6024},{"style":2235},[6025],{"type":1898,"value":6026}," .pNext ",{"type":1893,"tag":2220,"props":6028,"children":6029},{"style":2272},[6030],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6032,"children":6033},{"style":2652},[6034],{"type":1898,"value":5528},{"type":1893,"tag":2220,"props":6036,"children":6037},{"style":2235},[6038],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":6040,"children":6041},{"class":2222,"line":70},[6042,6047,6051,6055],{"type":1893,"tag":2220,"props":6043,"children":6044},{"style":2235},[6045],{"type":1898,"value":6046}," .messageDataSize ",{"type":1893,"tag":2220,"props":6048,"children":6049},{"style":2272},[6050],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6052,"children":6053},{"style":2652},[6054],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":6056,"children":6057},{"style":2235},[6058],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":6060,"children":6061},{"class":2222,"line":74},[6062,6067,6071],{"type":1893,"tag":2220,"props":6063,"children":6064},{"style":2235},[6065],{"type":1898,"value":6066}," .messageData ",{"type":1893,"tag":2220,"props":6068,"children":6069},{"style":2272},[6070],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6072,"children":6073},{"style":2652},[6074],{"type":1898,"value":5569},{"type":1893,"tag":2220,"props":6076,"children":6077},{"class":2222,"line":78},[6078],{"type":1893,"tag":2220,"props":6079,"children":6080},{"style":2235},[6081],{"type":1898,"value":5577},{"type":1893,"tag":2220,"props":6083,"children":6084},{"class":2222,"line":82},[6085,6089,6093],{"type":1893,"tag":2220,"props":6086,"children":6087},{"style":2235},[6088],{"type":1898,"value":5486},{"type":1893,"tag":2220,"props":6090,"children":6091},{"style":2272},[6092],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6094,"children":6095},{"style":2235},[6096],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":6098,"children":6099},{"class":2222,"line":86},[6100,6104,6108],{"type":1893,"tag":2220,"props":6101,"children":6102},{"style":2235},[6103],{"type":1898,"value":6009},{"type":1893,"tag":2220,"props":6105,"children":6106},{"style":2272},[6107],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6109,"children":6110},{"style":2235},[6111],{"type":1898,"value":5511},{"type":1893,"tag":2220,"props":6113,"children":6114},{"class":2222,"line":90},[6115,6119,6123,6128,6133],{"type":1893,"tag":2220,"props":6116,"children":6117},{"style":2235},[6118],{"type":1898,"value":6026},{"type":1893,"tag":2220,"props":6120,"children":6121},{"style":2272},[6122],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6124,"children":6125},{"style":2272},[6126],{"type":1898,"value":6127}," &",{"type":1893,"tag":2220,"props":6129,"children":6130},{"style":2235},[6131],{"type":1898,"value":6132},"abortMessageInfo,",{"type":1893,"tag":2220,"props":6134,"children":6135},{"style":2226},[6136],{"type":1898,"value":6137}," // VkDeviceFaultShaderAbortMessageInfoKHR extends VkDeviceFaultDebugInfoKHR\n",{"type":1893,"tag":2220,"props":6139,"children":6140},{"class":2222,"line":94},[6141,6145,6149,6153],{"type":1893,"tag":2220,"props":6142,"children":6143},{"style":2235},[6144],{"type":1898,"value":5540},{"type":1893,"tag":2220,"props":6146,"children":6147},{"style":2272},[6148],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6150,"children":6151},{"style":2652},[6152],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":6154,"children":6155},{"style":2235},[6156],{"type":1898,"value":2266},{"type":1893,"tag":2220,"props":6158,"children":6159},{"class":2222,"line":98},[6160,6164,6168],{"type":1893,"tag":2220,"props":6161,"children":6162},{"style":2235},[6163],{"type":1898,"value":5560},{"type":1893,"tag":2220,"props":6165,"children":6166},{"style":2272},[6167],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6169,"children":6170},{"style":2652},[6171],{"type":1898,"value":5569},{"type":1893,"tag":2220,"props":6173,"children":6174},{"class":2222,"line":102},[6175],{"type":1893,"tag":2220,"props":6176,"children":6177},{"style":2235},[6178],{"type":1898,"value":5577},{"type":1893,"tag":2220,"props":6180,"children":6181},{"class":2222,"line":106},[6182,6186,6190,6194,6198,6202,6206,6210,6214,6218],{"type":1893,"tag":2220,"props":6183,"children":6184},{"style":2272},[6185],{"type":1898,"value":5593},{"type":1893,"tag":2220,"props":6187,"children":6188},{"style":2235},[6189],{"type":1898,"value":4125},{"type":1893,"tag":2220,"props":6191,"children":6192},{"style":2241},[6193],{"type":1898,"value":3481},{"type":1893,"tag":2220,"props":6195,"children":6196},{"style":2235},[6197],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":6199,"children":6200},{"style":2272},[6201],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":6203,"children":6204},{"style":2235},[6205],{"type":1898,"value":5614},{"type":1893,"tag":2220,"props":6207,"children":6208},{"style":2272},[6209],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":6211,"children":6212},{"style":2235},[6213],{"type":1898,"value":4397},{"type":1893,"tag":2220,"props":6215,"children":6216},{"style":2272},[6217],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":6219,"children":6220},{"style":2235},[6221],{"type":1898,"value":6222}," (abortMessageInfo.messageDataSize)) {\n",{"type":1893,"tag":2220,"props":6224,"children":6225},{"class":2222,"line":110},[6226],{"type":1893,"tag":2220,"props":6227,"children":6228},{"style":2226},[6229],{"type":1898,"value":6230}," // There is a shader abort message payload available - allocate space & retrieve it\n",{"type":1893,"tag":2220,"props":6232,"children":6233},{"class":2222,"line":114},[6234,6239,6243,6247],{"type":1893,"tag":2220,"props":6235,"children":6236},{"style":2235},[6237],{"type":1898,"value":6238}," abortMessageInfo.messageData ",{"type":1893,"tag":2220,"props":6240,"children":6241},{"style":2272},[6242],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6244,"children":6245},{"style":2241},[6246],{"type":1898,"value":5648},{"type":1893,"tag":2220,"props":6248,"children":6249},{"style":2235},[6250],{"type":1898,"value":6251},"(abortMessageInfo.messageDataSize);\n",{"type":1893,"tag":2220,"props":6253,"children":6254},{"class":2222,"line":118},[6255,6259,6263,6267],{"type":1893,"tag":2220,"props":6256,"children":6257},{"style":2241},[6258],{"type":1898,"value":5669},{"type":1893,"tag":2220,"props":6260,"children":6261},{"style":2235},[6262],{"type":1898,"value":4134},{"type":1893,"tag":2220,"props":6264,"children":6265},{"style":2272},[6266],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":6268,"children":6269},{"style":2235},[6270],{"type":1898,"value":5682},{"type":1893,"tag":2220,"props":6272,"children":6273},{"class":2222,"line":122},[6274],{"type":1893,"tag":2220,"props":6275,"children":6276},{"emptyLinePlaceholder":240},[6277],{"type":1898,"value":3253},{"type":1893,"tag":2220,"props":6279,"children":6280},{"class":2222,"line":126},[6281],{"type":1893,"tag":2220,"props":6282,"children":6283},{"style":2226},[6284],{"type":1898,"value":6285}," // Process each shader abort message\n",{"type":1893,"tag":2220,"props":6287,"children":6288},{"class":2222,"line":130},[6289],{"type":1893,"tag":2220,"props":6290,"children":6291},{"style":2226},[6292],{"type":1898,"value":6293}," // NOTE: in this example, up to 20 parameters are supported - this is NOT an API restriction.\n",{"type":1893,"tag":2220,"props":6295,"children":6296},{"class":2222,"line":134},[6297,6302,6307,6312,6317,6322],{"type":1893,"tag":2220,"props":6298,"children":6299},{"style":2272},[6300],{"type":1898,"value":6301}," char",{"type":1893,"tag":2220,"props":6303,"children":6304},{"style":2259},[6305],{"type":1898,"value":6306}," formattedOutput",{"type":1893,"tag":2220,"props":6308,"children":6309},{"style":2235},[6310],{"type":1898,"value":6311},"[",{"type":1893,"tag":2220,"props":6313,"children":6314},{"style":2652},[6315],{"type":1898,"value":6316},"1024",{"type":1893,"tag":2220,"props":6318,"children":6319},{"style":2235},[6320],{"type":1898,"value":6321},"];",{"type":1893,"tag":2220,"props":6323,"children":6324},{"style":2226},[6325],{"type":1898,"value":6326}," // Formatted message output buffer\n",{"type":1893,"tag":2220,"props":6328,"children":6329},{"class":2222,"line":138},[6330,6335,6340,6344,6348,6353],{"type":1893,"tag":2220,"props":6331,"children":6332},{"style":2272},[6333],{"type":1898,"value":6334}," size_t",{"type":1893,"tag":2220,"props":6336,"children":6337},{"style":2235},[6338],{"type":1898,"value":6339}," offset ",{"type":1893,"tag":2220,"props":6341,"children":6342},{"style":2272},[6343],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6345,"children":6346},{"style":2652},[6347],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":6349,"children":6350},{"style":2235},[6351],{"type":1898,"value":6352},";",{"type":1893,"tag":2220,"props":6354,"children":6355},{"style":2226},[6356],{"type":1898,"value":6357}," // Offset in message data\n",{"type":1893,"tag":2220,"props":6359,"children":6360},{"class":2222,"line":142},[6361,6366,6370,6374,6378,6382],{"type":1893,"tag":2220,"props":6362,"children":6363},{"style":2272},[6364],{"type":1898,"value":6365}," int",{"type":1893,"tag":2220,"props":6367,"children":6368},{"style":2235},[6369],{"type":1898,"value":4283},{"type":1893,"tag":2220,"props":6371,"children":6372},{"style":2272},[6373],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6375,"children":6376},{"style":2652},[6377],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":6379,"children":6380},{"style":2235},[6381],{"type":1898,"value":6352},{"type":1893,"tag":2220,"props":6383,"children":6384},{"style":2226},[6385],{"type":1898,"value":6386}," // Number of parameters found\n",{"type":1893,"tag":2220,"props":6388,"children":6389},{"class":2222,"line":146},[6390,6394,6399,6404,6408,6413,6417],{"type":1893,"tag":2220,"props":6391,"children":6392},{"style":2272},[6393],{"type":1898,"value":6301},{"type":1893,"tag":2220,"props":6395,"children":6396},{"style":2272},[6397],{"type":1898,"value":6398}," *",{"type":1893,"tag":2220,"props":6400,"children":6401},{"style":2259},[6402],{"type":1898,"value":6403},"param",{"type":1893,"tag":2220,"props":6405,"children":6406},{"style":2235},[6407],{"type":1898,"value":6311},{"type":1893,"tag":2220,"props":6409,"children":6410},{"style":2652},[6411],{"type":1898,"value":6412},"20",{"type":1893,"tag":2220,"props":6414,"children":6415},{"style":2235},[6416],{"type":1898,"value":6321},{"type":1893,"tag":2220,"props":6418,"children":6419},{"style":2226},[6420],{"type":1898,"value":6421}," // Extracted parameter array\n",{"type":1893,"tag":2220,"props":6423,"children":6424},{"class":2222,"line":150},[6425,6430,6435,6439,6443,6447],{"type":1893,"tag":2220,"props":6426,"children":6427},{"style":2272},[6428],{"type":1898,"value":6429}," uint32_t",{"type":1893,"tag":2220,"props":6431,"children":6432},{"style":2259},[6433],{"type":1898,"value":6434}," paramSize",{"type":1893,"tag":2220,"props":6436,"children":6437},{"style":2235},[6438],{"type":1898,"value":6311},{"type":1893,"tag":2220,"props":6440,"children":6441},{"style":2652},[6442],{"type":1898,"value":6412},{"type":1893,"tag":2220,"props":6444,"children":6445},{"style":2235},[6446],{"type":1898,"value":6321},{"type":1893,"tag":2220,"props":6448,"children":6449},{"style":2226},[6450],{"type":1898,"value":6451}," // Extracted parameter sizes\n",{"type":1893,"tag":2220,"props":6453,"children":6454},{"class":2222,"line":154},[6455,6460,6465,6469,6473,6478,6482,6487,6491,6495,6500,6504,6509,6513],{"type":1893,"tag":2220,"props":6456,"children":6457},{"style":2272},[6458],{"type":1898,"value":6459}," for",{"type":1893,"tag":2220,"props":6461,"children":6462},{"style":2235},[6463],{"type":1898,"value":6464},"(n ",{"type":1893,"tag":2220,"props":6466,"children":6467},{"style":2272},[6468],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6470,"children":6471},{"style":2652},[6472],{"type":1898,"value":3088},{"type":1893,"tag":2220,"props":6474,"children":6475},{"style":2235},[6476],{"type":1898,"value":6477},"; (n ",{"type":1893,"tag":2220,"props":6479,"children":6480},{"style":2272},[6481],{"type":1898,"value":4301},{"type":1893,"tag":2220,"props":6483,"children":6484},{"style":2652},[6485],{"type":1898,"value":6486}," 20",{"type":1893,"tag":2220,"props":6488,"children":6489},{"style":2235},[6490],{"type":1898,"value":4167},{"type":1893,"tag":2220,"props":6492,"children":6493},{"style":2272},[6494],{"type":1898,"value":4421},{"type":1893,"tag":2220,"props":6496,"children":6497},{"style":2235},[6498],{"type":1898,"value":6499}," (offset ",{"type":1893,"tag":2220,"props":6501,"children":6502},{"style":2272},[6503],{"type":1898,"value":4301},{"type":1893,"tag":2220,"props":6505,"children":6506},{"style":2235},[6507],{"type":1898,"value":6508}," abortMessageInfo.messageDataSize); n",{"type":1893,"tag":2220,"props":6510,"children":6511},{"style":2272},[6512],{"type":1898,"value":4311},{"type":1893,"tag":2220,"props":6514,"children":6515},{"style":2235},[6516],{"type":1898,"value":6517},")\n",{"type":1893,"tag":2220,"props":6519,"children":6520},{"class":2222,"line":158},[6521],{"type":1893,"tag":2220,"props":6522,"children":6523},{"style":2235},[6524],{"type":1898,"value":6525}," {\n",{"type":1893,"tag":2220,"props":6527,"children":6528},{"class":2222,"line":162},[6529,6534,6539,6543,6547,6551,6556,6560,6564],{"type":1893,"tag":2220,"props":6530,"children":6531},{"style":2259},[6532],{"type":1898,"value":6533}," paramSize",{"type":1893,"tag":2220,"props":6535,"children":6536},{"style":2235},[6537],{"type":1898,"value":6538},"[n] ",{"type":1893,"tag":2220,"props":6540,"children":6541},{"style":2272},[6542],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6544,"children":6545},{"style":2272},[6546],{"type":1898,"value":6398},{"type":1893,"tag":2220,"props":6548,"children":6549},{"style":2235},[6550],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":6552,"children":6553},{"style":2272},[6554],{"type":1898,"value":6555},"uint32_t*",{"type":1893,"tag":2220,"props":6557,"children":6558},{"style":2235},[6559],{"type":1898,"value":2053},{"type":1893,"tag":2220,"props":6561,"children":6562},{"style":2272},[6563],{"type":1898,"value":3357},{"type":1893,"tag":2220,"props":6565,"children":6566},{"style":2235},[6567],{"type":1898,"value":6568},"abortMessageInfo.messageData[offset];\n",{"type":1893,"tag":2220,"props":6570,"children":6571},{"class":2222,"line":166},[6572,6577,6582,6587,6591,6595],{"type":1893,"tag":2220,"props":6573,"children":6574},{"style":2235},[6575],{"type":1898,"value":6576}," offset ",{"type":1893,"tag":2220,"props":6578,"children":6579},{"style":2272},[6580],{"type":1898,"value":6581},"+=",{"type":1893,"tag":2220,"props":6583,"children":6584},{"style":2272},[6585],{"type":1898,"value":6586}," sizeof",{"type":1893,"tag":2220,"props":6588,"children":6589},{"style":2235},[6590],{"type":1898,"value":4273},{"type":1893,"tag":2220,"props":6592,"children":6593},{"style":2272},[6594],{"type":1898,"value":4107},{"type":1893,"tag":2220,"props":6596,"children":6597},{"style":2235},[6598],{"type":1898,"value":2324},{"type":1893,"tag":2220,"props":6600,"children":6601},{"class":2222,"line":170},[6602,6607,6611,6615,6619],{"type":1893,"tag":2220,"props":6603,"children":6604},{"style":2259},[6605],{"type":1898,"value":6606}," param",{"type":1893,"tag":2220,"props":6608,"children":6609},{"style":2235},[6610],{"type":1898,"value":6538},{"type":1893,"tag":2220,"props":6612,"children":6613},{"style":2272},[6614],{"type":1898,"value":2649},{"type":1893,"tag":2220,"props":6616,"children":6617},{"style":2272},[6618],{"type":1898,"value":6127},{"type":1893,"tag":2220,"props":6620,"children":6621},{"style":2235},[6622],{"type":1898,"value":6568},{"type":1893,"tag":2220,"props":6624,"children":6625},{"class":2222,"line":174},[6626,6630,6634,6638],{"type":1893,"tag":2220,"props":6627,"children":6628},{"style":2235},[6629],{"type":1898,"value":6576},{"type":1893,"tag":2220,"props":6631,"children":6632},{"style":2272},[6633],{"type":1898,"value":6581},{"type":1893,"tag":2220,"props":6635,"children":6636},{"style":2259},[6637],{"type":1898,"value":6434},{"type":1893,"tag":2220,"props":6639,"children":6640},{"style":2235},[6641],{"type":1898,"value":6642},"[n];\n",{"type":1893,"tag":2220,"props":6644,"children":6645},{"class":2222,"line":178},[6646],{"type":1893,"tag":2220,"props":6647,"children":6648},{"style":2235},[6649],{"type":1898,"value":6650}," }\n",{"type":1893,"tag":2220,"props":6652,"children":6653},{"class":2222,"line":182},[6654],{"type":1893,"tag":2220,"props":6655,"children":6656},{"emptyLinePlaceholder":240},[6657],{"type":1898,"value":3253},{"type":1893,"tag":2220,"props":6659,"children":6660},{"class":2222,"line":186},[6661,6666],{"type":1893,"tag":2220,"props":6662,"children":6663},{"style":2241},[6664],{"type":1898,"value":6665}," myCustomPrint",{"type":1893,"tag":2220,"props":6667,"children":6668},{"style":2235},[6669],{"type":1898,"value":6670},"(param, paramSize, formattedOutput);\n",{"type":1893,"tag":2220,"props":6672,"children":6673},{"class":2222,"line":190},[6674],{"type":1893,"tag":2220,"props":6675,"children":6676},{"emptyLinePlaceholder":240},[6677],{"type":1898,"value":3253},{"type":1893,"tag":2220,"props":6679,"children":6680},{"class":2222,"line":194},[6681,6686],{"type":1893,"tag":2220,"props":6682,"children":6683},{"style":2241},[6684],{"type":1898,"value":6685}," free",{"type":1893,"tag":2220,"props":6687,"children":6688},{"style":2235},[6689],{"type":1898,"value":6690},"(abortMessageInfo.messageData);\n",{"type":1893,"tag":2220,"props":6692,"children":6693},{"class":2222,"line":198},[6694],{"type":1893,"tag":2220,"props":6695,"children":6696},{"style":2235},[6697],{"type":1898,"value":5690},{"type":1893,"tag":2220,"props":6699,"children":6700},{"class":2222,"line":202},[6701],{"type":1893,"tag":2220,"props":6702,"children":6703},{"style":2235},[6704],{"type":1898,"value":4802},{"type":1893,"tag":2220,"props":6706,"children":6707},{"class":2222,"line":206},[6708,6712,6716,6720,6724,6728],{"type":1893,"tag":2220,"props":6709,"children":6710},{"style":2235},[6711],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":6713,"children":6714},{"style":2272},[6715],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":6717,"children":6718},{"style":2272},[6719],{"type":1898,"value":4452},{"type":1893,"tag":2220,"props":6721,"children":6722},{"style":2235},[6723],{"type":1898,"value":4407},{"type":1893,"tag":2220,"props":6725,"children":6726},{"style":2272},[6727],{"type":1898,"value":4172},{"type":1893,"tag":2220,"props":6729,"children":6730},{"style":2235},[6731],{"type":1898,"value":4465},{"type":1893,"tag":2220,"props":6733,"children":6734},{"class":2222,"line":210},[6735],{"type":1893,"tag":2220,"props":6736,"children":6737},{"style":2226},[6738],{"type":1898,"value":4473},{"type":1893,"tag":2220,"props":6740,"children":6741},{"class":2222,"line":214},[6742,6746,6750],{"type":1893,"tag":2220,"props":6743,"children":6744},{"style":2235},[6745],{"type":1898,"value":4442},{"type":1893,"tag":2220,"props":6747,"children":6748},{"style":2272},[6749],{"type":1898,"value":4447},{"type":1893,"tag":2220,"props":6751,"children":6752},{"style":2235},[6753],{"type":1898,"value":2486},{"type":1893,"tag":2220,"props":6755,"children":6756},{"class":2222,"line":218},[6757],{"type":1893,"tag":2220,"props":6758,"children":6759},{"style":2226},[6760],{"type":1898,"value":5754},{"type":1893,"tag":2220,"props":6762,"children":6763},{"class":2222,"line":222},[6764],{"type":1893,"tag":2220,"props":6765,"children":6766},{"style":2235},[6767],{"type":1898,"value":4346},{"type":1893,"tag":2220,"props":6769,"children":6770},{"class":2222,"line":226},[6771],{"type":1893,"tag":2220,"props":6772,"children":6773},{"style":2235},[6774],{"type":1898,"value":4524},{"type":1893,"tag":1910,"props":6776,"children":6778},{"id":6777},"_issues",[6779],{"type":1898,"value":6780},"Issues",{"type":1893,"tag":1981,"props":6782,"children":6784},{"id":6783},"_should_the_reporting_mechanism_be_based_on_polling_notifications_or_both",[6785],{"type":1898,"value":6786},"Should the reporting mechanism be based on polling, notifications, or both?",{"type":1893,"tag":1894,"props":6788,"children":6789},{},[6790,6795],{"type":1893,"tag":1927,"props":6791,"children":6792},{},[6793],{"type":1898,"value":6794},"RESOLVED",{"type":1898,"value":6796},": The VulkanSC style notification callbacks are removed from this proposal.",{"type":1893,"tag":1981,"props":6798,"children":6800},{"id":6799},"_what_should_happen_if_there_is_a_mismatch_between_queried_infocount_and_available_infocount",[6801],{"type":1898,"value":6802},"What should happen if there is a mismatch between queried infoCount and available infoCount?",{"type":1893,"tag":1894,"props":6804,"children":6805},{},[6806],{"type":1898,"value":6807},"What happens if you mismatch these counts compared to what is actually available (particularly for vendor binaries).",{"type":1893,"tag":1894,"props":6809,"children":6810},{},[6811],{"type":1893,"tag":1927,"props":6812,"children":6813},{},[6814],{"type":1898,"value":6794},{"type":1893,"tag":1894,"props":6816,"children":6817},{},[6818,6823],{"type":1893,"tag":1945,"props":6819,"children":6821},{"className":6820},[],[6822],{"type":1898,"value":2148},{"type":1898,"value":6824}," should return VK_INCOMPLETE as long as any array (fault addresses or vendor binaries) is not fully drained.",{"type":1893,"tag":1981,"props":6826,"children":6828},{"id":6827},"_what_thread_should_the_callback_be_called_from",[6829],{"type":1898,"value":6830},"What thread should the callback be called from?",{"type":1893,"tag":1894,"props":6832,"children":6833},{},[6834,6839],{"type":1893,"tag":1927,"props":6835,"children":6836},{},[6837],{"type":1898,"value":6838},"PROPOSED",{"type":1898,"value":6840},": The faults will likely be detected asynchronously, we therefore\nallow them to be reported whenever they are detected, and that may happen\non background threads.",{"type":1893,"tag":1894,"props":6842,"children":6843},{},[6844,6848],{"type":1893,"tag":1927,"props":6845,"children":6846},{},[6847],{"type":1898,"value":6794},{"type":1898,"value":6849},": Callbacks removed from scope.",{"type":1893,"tag":1981,"props":6851,"children":6853},{"id":6852},"_can_we_reuse_existing_extensions_and_mechanisms_more_directly",[6854],{"type":1898,"value":6855},"Can we reuse existing extensions and mechanisms more directly?",{"type":1893,"tag":1894,"props":6857,"children":6858},{},[6859,6861,6866,6868,6873],{"type":1898,"value":6860},"This proposal builds on ",{"type":1893,"tag":1945,"props":6862,"children":6864},{"className":6863},[],[6865],{"type":1898,"value":537},{"type":1898,"value":6867},". Therefore, an alternative could\nbe to just allow ",{"type":1893,"tag":1945,"props":6869,"children":6871},{"className":6870},[],[6872],{"type":1898,"value":1997},{"type":1898,"value":6874}," to be called before the device is\nin the 'lost' state - however, that does not support any form of blocking\nquery, so would incur more CPU overhead for polling to be effective.",{"type":1893,"tag":1894,"props":6876,"children":6877},{},[6878,6880,6885],{"type":1898,"value":6879},"Another option was to mirror the Fault Handling mechanism used in Vulkan SC but\nreport a different set of data. However, in common with the modified\n",{"type":1893,"tag":1945,"props":6881,"children":6883},{"className":6882},[],[6884],{"type":1898,"value":537},{"type":1898,"value":6886}," approach, this would also preclude a blocking query\nand has the disadvantage of bringing callbacks back into scope.",{"type":1893,"tag":1894,"props":6888,"children":6889},{},[6890],{"type":1893,"tag":1927,"props":6891,"children":6892},{},[6893],{"type":1898,"value":6794},{"type":1893,"tag":1981,"props":6895,"children":6897},{"id":6896},"_blocking_queries",[6898],{"type":1898,"value":6899},"Blocking Queries",{"type":1893,"tag":1894,"props":6901,"children":6902},{},[6903],{"type":1898,"value":6904},"The timeout parameter added is intended specifically to allow for non-polling\nfault-monitor thread implementations.",{"type":1893,"tag":1894,"props":6906,"children":6907},{},[6908],{"type":1893,"tag":1927,"props":6909,"children":6910},{},[6911],{"type":1898,"value":6794},{"type":1893,"tag":1981,"props":6913,"children":6915},{"id":6914},"_callbacks",[6916],{"type":1898,"value":6917},"Callbacks",{"type":1893,"tag":1894,"props":6919,"children":6920},{},[6921],{"type":1898,"value":6922},"Previous versions of this proposal included callbacks with the statement\n\"The callback may be called from multiple threads simultaneously,\nincluding from a background thread other than the thread calling the Vulkan\ncommands\". This sounded error prone, so for clarity, if callbacks were to be\nsupported they should be serialized by the UMD, with each fault being reported\nonce only via the callback mechanism, rather than allowing for multiple threads\nto be simultaneously reporting possibly overlapping sections of a the fault\nlogs.",{"type":1893,"tag":1894,"props":6924,"children":6925},{},[6926],{"type":1893,"tag":1927,"props":6927,"children":6928},{},[6929],{"type":1898,"value":6794},{"type":1893,"tag":1981,"props":6931,"children":6933},{"id":6932},"_behavior_of_parallel_calls_to_vkgetdevicefaultreportskhr",[6934],{"type":1898,"value":6935},"Behavior of parallel calls to vkGetDeviceFaultReportsKHR()",{"type":1893,"tag":1894,"props":6937,"children":6938},{},[6939],{"type":1898,"value":6940},"How should multiple calls to vkGetDeviceFaultReportsKHR() be handled in\nparallel?",{"type":1893,"tag":1981,"props":6942,"children":6944},{"id":6943},"_fault_log_ring_limits",[6945],{"type":1898,"value":6946},"Fault Log Ring Limits",{"type":1893,"tag":1894,"props":6948,"children":6949},{},[6950],{"type":1898,"value":6951},"Does the driver need to expose the upper limit of recordable non-device lost\nfaults?",{"type":1893,"tag":1894,"props":6953,"children":6954},{},[6955],{"type":1898,"value":6956},"Clarify behavior when app does not query faults rapidly enough and the ring\nlog overflows those limits. Possibilities include:",{"type":1893,"tag":2032,"props":6958,"children":6959},{},[6960,6965],{"type":1893,"tag":2036,"props":6961,"children":6962},{},[6963],{"type":1898,"value":6964},"\"drop subsequent faults, report first encountered\"",{"type":1893,"tag":2036,"props":6966,"children":6967},{},[6968],{"type":1898,"value":6969},"\"LRU ring eviction, drop the oldest fault, always report most recent\".",{"type":1893,"tag":1894,"props":6971,"children":6972},{},[6973,6977],{"type":1893,"tag":1927,"props":6974,"children":6975},{},[6976],{"type":1898,"value":6794},{"type":1898,"value":6978},"\nLRU eviction is required to ensure that a fatal (device lost) error is not\ndropped due to ring overflow.",{"type":1893,"tag":1981,"props":6980,"children":6982},{"id":6981},"_do_we_need_a_properties_struct_to_indicate_the_maximum_number_of_vkdevicefaultaddressinfokhr_and_vkdevicefaultvendorinfokhr_structures",[6983],{"type":1898,"value":6984},"Do we need a properties struct to indicate the maximum number of VkDeviceFaultAddressInfoKHR and VkDeviceFaultVendorInfoKHR structures?",{"type":1893,"tag":1894,"props":6986,"children":6987},{},[6988],{"type":1898,"value":6989},"Yes. Added maxDeviceFaultCount in VkPhysicalDeviceFaultPropertiesKHR structure.",{"type":1893,"tag":1894,"props":6991,"children":6992},{},[6993],{"type":1893,"tag":1927,"props":6994,"children":6995},{},[6996],{"type":1898,"value":6794},{"type":1893,"tag":1981,"props":6998,"children":7000},{"id":6999},"_do_we_need_a_way_to_communicate_overflow_on_vkdevicefaultaddressinfokhr_and_vkdevicefaultvendorinfokhr_ring_buffers",[7001],{"type":1898,"value":7002},"Do we need a way to communicate overflow on VkDeviceFaultAddressInfoKHR and VkDeviceFaultVendorInfoKHR ring buffers?",{"type":1893,"tag":1894,"props":7004,"children":7005},{},[7006],{"type":1898,"value":7007},"Proposal: flag on first returned info following data loss.",{"type":1893,"tag":1894,"props":7009,"children":7010},{},[7011],{"type":1898,"value":7012},"RESOLVED: Added VK_DEVICE_FAULT_FLAG_OVERFLOW_KHR",{"type":1893,"tag":1981,"props":7014,"children":7016},{"id":7015},"_handling_of_vendorbinary_for_non_devicelost_queries",[7017],{"type":1898,"value":7018},"Handling of vendorBinary for non-deviceLost queries",{"type":1893,"tag":1894,"props":7020,"children":7021},{},[7022],{"type":1898,"value":7023},"How should this be treated?",{"type":1893,"tag":1894,"props":7025,"children":7026},{},[7027],{"type":1898,"value":7028},"Proposal: No vendor binaries should be returned unless device lost has been reported.",{"type":1893,"tag":1894,"props":7030,"children":7031},{},[7032],{"type":1893,"tag":1927,"props":7033,"children":7034},{},[7035],{"type":1898,"value":6794},{"type":1893,"tag":1981,"props":7037,"children":7039},{"id":7038},"_should_we_update_the_return_code_for_incomplete_vendor_binaries",[7040],{"type":1898,"value":7041},"Should we update the return code for incomplete vendor binaries?",{"type":1893,"tag":1894,"props":7043,"children":7044},{},[7045,7047,7052],{"type":1898,"value":7046},"Propose yes - Requesting a vendor binary (i.e. passing a non-zero vendor binary size) and then providing insufficient storage should return ",{"type":1893,"tag":1945,"props":7048,"children":7050},{"className":7049},[],[7051],{"type":1898,"value":3734},{"type":1898,"value":7053},". This should occur before any address/vendor info structs are returned (i.e. the fault buffers should not be drained on error)",{"type":1893,"tag":1894,"props":7055,"children":7056},{},[7057,7061],{"type":1893,"tag":1927,"props":7058,"children":7059},{},[7060],{"type":1898,"value":6794},{"type":1898,"value":7062}," in separated vendor binary retrieval API.",{"type":1893,"tag":1910,"props":7064,"children":7066},{"id":7065},"_further_functionality",[7067],{"type":1898,"value":7068},"Further Functionality",{"type":1893,"tag":1894,"props":7070,"children":7071},{},[7072],{"type":1898,"value":7073},"Additional functionality that could be considered:",{"type":1893,"tag":2032,"props":7075,"children":7076},{},[7077,7082],{"type":1893,"tag":2036,"props":7078,"children":7079},{},[7080],{"type":1898,"value":7081},"adding a 'treat faults as errors' option to require that reported fault\nresult in device lost.",{"type":1893,"tag":2036,"props":7083,"children":7084},{},[7085],{"type":1898,"value":7086},"adding parameters to control how many faults the implementation reports\nor tracks.",{"type":1893,"tag":1910,"props":7088,"children":7090},{"id":7089},"_revisions",[7091],{"type":1898,"value":7092},"Revisions",{"type":1893,"tag":1894,"props":7094,"children":7095},{},[7096],{"type":1898,"value":7097},"1.0 Initial version",{"type":1893,"tag":7099,"props":7100,"children":7101},"style",{},[7102],{"type":1898,"value":7103},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":2214,"searchDepth":14,"depth":14,"links":7105},[7106,7107,7113,7121,7126,7140,7141],{"id":1912,"depth":14,"text":1915},{"id":1971,"depth":14,"text":1974,"children":7108},[7109,7110,7111,7112],{"id":1983,"depth":18,"text":1986},{"id":2010,"depth":18,"text":2013},{"id":2061,"depth":18,"text":2064},{"id":2072,"depth":18,"text":2075},{"id":2098,"depth":14,"text":2101,"children":7114},[7115,7116,7117,7118,7119,7120],{"id":2117,"depth":18,"text":2120},{"id":2123,"depth":18,"text":2126},{"id":3040,"depth":18,"text":3043},{"id":3423,"depth":18,"text":3426},{"id":3739,"depth":18,"text":3742},{"id":3883,"depth":18,"text":223},{"id":3987,"depth":14,"text":3990,"children":7122},[7123,7124,7125],{"id":3993,"depth":18,"text":3996},{"id":4081,"depth":18,"text":4084},{"id":4527,"depth":18,"text":4530},{"id":6777,"depth":14,"text":6780,"children":7127},[7128,7129,7130,7131,7132,7133,7134,7135,7136,7137,7138,7139],{"id":6783,"depth":18,"text":6786},{"id":6799,"depth":18,"text":6802},{"id":6827,"depth":18,"text":6830},{"id":6852,"depth":18,"text":6855},{"id":6896,"depth":18,"text":6899},{"id":6914,"depth":18,"text":6917},{"id":6932,"depth":18,"text":6935},{"id":6943,"depth":18,"text":6946},{"id":6981,"depth":18,"text":6984},{"id":6999,"depth":18,"text":7002},{"id":7015,"depth":18,"text":7018},{"id":7038,"depth":18,"text":7041},{"id":7065,"depth":14,"text":7068},{"id":7089,"depth":14,"text":7092},"markdown",1773997361645]