[{"data":1,"prerenderedAt":7561},["ShallowReactive",2],{"$flTTP1ACxoY3JWxDGBY-XekRsZsxpvIpMBaq215gW9ag":3,"$fGGa3jm2fyiZgwLdx4RmmiEvaouuONKLYoKH9T7IQulI":271,"$fGjD4iNzRMUYrUDKB2CH1CEn0_D0qyuqz4FGB3lTm_r4":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":7560,"_id":1887},"VK_KHR_pipeline_binary.proposal","This extension proposes a method to directly retrieve binary data associated with individual pipelines, bypassing the pipeline caching mechanism, and enabling applications to manage caching themselves.",{"type":1890,"children":1891,"toc":7535},"root",[1892,1899,1906,1911,1916,1922,1927,1942,1947,1952,1970,1975,1980,2014,2020,2025,2030,2052,2057,2098,2109,2116,2123,3264,3311,3323,3359,3377,3436,3464,3501,3525,3542,3571,3584,3613,3639,3644,3730,3751,3800,3805,3810,3869,3883,3888,3893,3898,4005,4015,4027,4555,4575,4594,4607,4612,4623,4649,4711,4752,4763,4775,4794,4805,4810,4835,4846,4851,4857,4862,4868,4951,4957,5064,5070,5239,5245,6042,6048,6365,6371,6733,6739,6913,6919,7389,7395,7405,7410,7429,7441,7447,7453,7464,7477,7482,7487,7492,7497,7503,7508,7513,7518,7524,7529],{"type":1893,"tag":1894,"props":1895,"children":1896},"element","p",{},[1897],{"type":1898,"value":1888},"text",{"type":1893,"tag":1900,"props":1901,"children":1903},"h2",{"id":1902},"_problem_statement",[1904],{"type":1898,"value":1905},"Problem Statement",{"type":1893,"tag":1894,"props":1907,"children":1908},{},[1909],{"type":1898,"value":1910},"Vulkan 1.0 introduced the concept of pipeline caches, which were designed to allow drivers to reuse blobs of state or shader code between different pipelines more explicitly.\nThe original idea was that the driver would know best which parts of state could be reused, and applications only needed to manage storage and threading, making the interface fairly straightforward.\nSince then, developers and platforms have found use cases or corner cases which have shown deficiencies in the API, and in many cases have designed their own caching system on top of Vulkan.",{"type":1893,"tag":1894,"props":1912,"children":1913},{},[1914],{"type":1898,"value":1915},"To address these deficiencies, the Vulkan WG has released a number of extensions to change the behavior of caches, fixing issues as they come up.\nThis has meant pipeline caches have become a very complex piece of software, and tweaking them is actually getting more difficult as time goes on.\nIn many cases, we are seeing applications using their own caching mechanisms in ways that require them to actively \"fight\" Vulkan’s caching mechanism to try to get it to do what they want.",{"type":1893,"tag":1900,"props":1917,"children":1919},{"id":1918},"_solution_space",[1920],{"type":1898,"value":1921},"Solution Space",{"type":1893,"tag":1894,"props":1923,"children":1924},{},[1925],{"type":1898,"value":1926},"There are a two key possibilities for solving these issues:",{"type":1893,"tag":1928,"props":1929,"children":1930},"ol",{},[1931,1937],{"type":1893,"tag":1932,"props":1933,"children":1934},"li",{},[1935],{"type":1898,"value":1936},"Continue providing additional functionality",{"type":1893,"tag":1932,"props":1938,"children":1939},{},[1940],{"type":1898,"value":1941},"Enable applications to have more control over caching",{"type":1893,"tag":1894,"props":1943,"children":1944},{},[1945],{"type":1898,"value":1946},"The former approach will continue to show improvements in the ecosystem as new extensions show up in the wild, but it relies on drivers being continually updated for applications to take advantage of new features.\nIt also means that pipeline caches continue to grow in complexity, exacerbating the problem as much as solving it.",{"type":1893,"tag":1894,"props":1948,"children":1949},{},[1950],{"type":1898,"value":1951},"Enabling applications to get more involved with caching could both allow applications to do the caching they want, while also reducing complexity if done carefully.\nWithin this solution space, there are two main possibilities:",{"type":1893,"tag":1928,"props":1953,"children":1954},{},[1955,1960,1965],{"type":1893,"tag":1932,"props":1956,"children":1957},{},[1958],{"type":1898,"value":1959},"Add partial access to the existing caching infrastructure",{"type":1893,"tag":1932,"props":1961,"children":1962},{},[1963],{"type":1898,"value":1964},"e.g. via callbacks",{"type":1893,"tag":1932,"props":1966,"children":1967},{},[1968],{"type":1898,"value":1969},"Provide direct access to pipeline binaries, bypassing the caching infrastructure",{"type":1893,"tag":1894,"props":1971,"children":1972},{},[1973],{"type":1898,"value":1974},"Either approach could work, but the concern with integrating into the existing caching infrastructure is that the infrastructure remains - there is no guarantee that we will not need to add more features in future to solve new problems.\nWith the direct access approach it is slightly harder to express a multi-level caching strategy, but should still be doable.",{"type":1893,"tag":1894,"props":1976,"children":1977},{},[1978],{"type":1898,"value":1979},"The solution should allow an application to:",{"type":1893,"tag":1981,"props":1982,"children":1983},"ul",{},[1984,1989,1994,1999,2004,2009],{"type":1893,"tag":1932,"props":1985,"children":1986},{},[1987],{"type":1898,"value":1988},"Control memory usage such that e.g. an LRU pipeline cache with certain on-disk/memory bounds could be created.",{"type":1893,"tag":1932,"props":1990,"children":1991},{},[1992],{"type":1898,"value":1993},"Interact with an internal driver cache directly in such a way as to be able to avoid potential micro-stutters due to disk I/O\nby doing driver cache look-ups ahead of time, rather than at CreatePipeline time.",{"type":1893,"tag":1932,"props":1995,"children":1996},{},[1997],{"type":1898,"value":1998},"Control whether an internal driver cache exists, including on specialized platforms such as Steam that prepropulate driver caches.",{"type":1893,"tag":1932,"props":2000,"children":2001},{},[2002],{"type":1898,"value":2003},"Deduplicate binaries when they are used in multiple pipelines.",{"type":1893,"tag":1932,"props":2005,"children":2006},{},[2007],{"type":1898,"value":2008},"Create pipelines from binaries without the need to provide SPIR-V.",{"type":1893,"tag":1932,"props":2010,"children":2011},{},[2012],{"type":1898,"value":2013},"Create a caching scheme that is no less efficient than the implementation of the Vulkan pipeline cache.",{"type":1893,"tag":1900,"props":2015,"children":2017},{"id":2016},"_proposal",[2018],{"type":1898,"value":2019},"Proposal",{"type":1893,"tag":1894,"props":2021,"children":2022},{},[2023],{"type":1898,"value":2024},"This proposal allows applications to completely bypass pipeline caching, by obtaining key/data pairs for a pipeline, and allowing applications to manage these in their own caching infrastructure.",{"type":1893,"tag":1894,"props":2026,"children":2027},{},[2028],{"type":1898,"value":2029},"Pipeline binary objects encapsulate data from compiled pipelines, allowing the data to be stored by the application and used to recreate pipelines in the future, without the need for compilation.",{"type":1893,"tag":1894,"props":2031,"children":2032},{},[2033,2035,2041,2043,2050],{"type":1898,"value":2034},"A ",{"type":1893,"tag":2036,"props":2037,"children":2038},"em",{},[2039],{"type":1898,"value":2040},"pipeline key",{"type":1898,"value":2042}," can be queried using a ",{"type":1893,"tag":2044,"props":2045,"children":2047},"code",{"className":2046},[],[2048],{"type":1898,"value":2049},"Vk*PipelineCreateInfo",{"type":1898,"value":2051}," structure, which can then be used by the application to look up the required binary/binaries in its cache.",{"type":1893,"tag":1894,"props":2053,"children":2054},{},[2055],{"type":1898,"value":2056},"Pipeline binary objects can be created in three different ways:",{"type":1893,"tag":1981,"props":2058,"children":2059},{},[2060,2081,2086],{"type":1893,"tag":1932,"props":2061,"children":2062},{},[2063,2065,2071,2073,2079],{"type":1898,"value":2064},"From ",{"type":1893,"tag":2044,"props":2066,"children":2068},{"className":2067},[],[2069],{"type":1898,"value":2070},"VkPipeline",{"type":1898,"value":2072}," objects that were created with the ",{"type":1893,"tag":2044,"props":2074,"children":2076},{"className":2075},[],[2077],{"type":1898,"value":2078},"VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR",{"type":1898,"value":2080}," flag set.",{"type":1893,"tag":1932,"props":2082,"children":2083},{},[2084],{"type":1898,"value":2085},"From data blobs serialized from previous pipeline binary objects.",{"type":1893,"tag":1932,"props":2087,"children":2088},{},[2089,2091,2096],{"type":1898,"value":2090},"By querying an implementation’s internal driver cache, using a ",{"type":1893,"tag":2044,"props":2092,"children":2094},{"className":2093},[],[2095],{"type":1898,"value":2049},{"type":1898,"value":2097}," structure.",{"type":1893,"tag":1894,"props":2099,"children":2100},{},[2101,2102,2107],{"type":1898,"value":2034},{"type":1893,"tag":2036,"props":2103,"children":2104},{},[2105],{"type":1898,"value":2106},"binary key",{"type":1898,"value":2108}," and data blob can be queried for each binary object, allowing deduplication of binaries with identical keys and storing of the data in the application’s cache.",{"type":1893,"tag":2110,"props":2111,"children":2113},"h3",{"id":2112},"_api_changes",[2114],{"type":1898,"value":2115},"API Changes",{"type":1893,"tag":2117,"props":2118,"children":2120},"h4",{"id":2119},"_obtaining_and_using_keydata_pairs",[2121],{"type":1898,"value":2122},"Obtaining and Using Key/Data Pairs",{"type":1893,"tag":2124,"props":2125,"children":2130},"pre",{"className":2126,"code":2127,"language":2128,"meta":2129,"style":2129},"language-c shiki shiki-themes github-light-default github-dark-default","VK_DEFINE_HANDLE(VkPipelineBinaryKHR)\nconst uint32_t VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR = 32;\n\ntypedef struct VkPipelineBinaryKeyKHR {\n VkStructureType sType;\n void* pNext;\n uint32_t keySize;\n uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR];\n} VkPipelineBinaryKeyKHR;\n\ntypedef struct VkPipelineBinaryDataKHR {\n size_t dataSize;\n void* pData;\n} VkPipelineBinaryDataKHR;\n\ntypedef struct VkPipelineBinaryKeysAndDataKHR {\n uint32_t binaryCount;\n const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys;\n const VkPipelineBinaryDataKHR* pPipelineBinaryData;\n} VkPipelineBinaryKeysAndDataKHR;\n\ntypedef struct VkPipelineCreateInfoKHR {\n VkStructureType sType;\n const void* pNext;\n} VkPipelineCreateInfoKHR;\n\ntypedef struct VkPipelineBinaryCreateInfoKHR {\n VkStructureType sType;\n const void* pNext;\n const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo;\n VkPipeline pipeline;\n const VkPipelineCreateInfoKHR* pPipelineCreateInfo;\n} VkPipelineBinaryCreateInfoKHR;\n\ntypedef struct VkPipelineBinaryHandlesInfoKHR {\n VkStructureType sType;\n const void* pNext;\n uint32_t pipelineBinaryCount;\n VkPipelineBinaryKHR* pPipelineBinaries;\n} VkPipelineBinaryHandlesInfoKHR;\n\nVkResult vkCreatePipelineBinariesKHR(\n VkDevice device,\n const VkPipelineBinaryCreateInfoKHR* pCreateInfo,\n const VkAllocationCallbacks* pAllocator,\n VkPipelineBinaryHandlesInfoKHR* pBinaries);\n\nvoid vkDestroyPipelineBinaryKHR(\n VkDevice device,\n VkPipelineBinaryKHR pipelineBinary,\n const VkAllocationCallbacks* pAllocator);\n\nVkResult vkGetPipelineKeyKHR(\n VkDevice device,\n const VkPipelineCreateInfoKHR* pPipelineCreateInfo,\n VkPipelineBinaryKeyKHR* pPipelineKey);\n\ntypedef struct VkPipelineBinaryDataInfoKHR {\n VkStructureType sType;\n const void* pNext;\n VkPipelineBinaryKHR pipelineBinary;\n} VkPipelineBinaryDataInfoKHR;\n\nVkResult vkGetPipelineBinaryDataKHR(\n VkDevice device,\n const VkPipelineBinaryDataInfoKHR* pInfo,\n VkPipelineBinaryKeyKHR* pPipelineBinaryKey,\n size_t* pPipelineBinaryDataSize,\n void* pPipelineBinaryData);\n\ntypedef struct VkReleaseCapturedPipelineDataInfoKHR {\n VkStructureType sType;\n const void* pNext;\n VkPipeline pipeline;\n} VkReleaseCapturedPipelineDataInfoKHR;\n\nVkResult vkReleaseCapturedPipelineDataKHR(\n VkDevice device,\n const VkReleaseCapturedPipelineDataInfoKHR* pInfo,\n const VkAllocationCallbacks* pAllocator);\n","c","",[2131],{"type":1893,"tag":2044,"props":2132,"children":2133},{"__ignoreMap":2129},[2134,2151,2186,2194,2212,2220,2233,2246,2265,2273,2280,2296,2309,2321,2329,2336,2352,2364,2387,2408,2416,2423,2439,2447,2464,2472,2479,2495,2503,2519,2540,2548,2569,2577,2584,2600,2607,2622,2634,2651,2659,2666,2684,2701,2726,2751,2773,2780,2797,2813,2830,2854,2861,2877,2893,2917,2938,2945,2961,2968,2983,2991,2999,3006,3022,3038,3063,3083,3100,3116,3123,3139,3146,3161,3169,3177,3184,3200,3215,3240],{"type":1893,"tag":2135,"props":2136,"children":2138},"span",{"class":2137,"line":10},"line",[2139,2145],{"type":1893,"tag":2135,"props":2140,"children":2142},{"style":2141},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[2143],{"type":1898,"value":2144},"VK_DEFINE_HANDLE",{"type":1893,"tag":2135,"props":2146,"children":2148},{"style":2147},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[2149],{"type":1898,"value":2150},"(VkPipelineBinaryKHR)\n",{"type":1893,"tag":2135,"props":2152,"children":2153},{"class":2137,"line":14},[2154,2160,2165,2170,2175,2181],{"type":1893,"tag":2135,"props":2155,"children":2157},{"style":2156},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[2158],{"type":1898,"value":2159},"const",{"type":1893,"tag":2135,"props":2161,"children":2162},{"style":2156},[2163],{"type":1898,"value":2164}," uint32_t",{"type":1893,"tag":2135,"props":2166,"children":2167},{"style":2147},[2168],{"type":1898,"value":2169}," VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR ",{"type":1893,"tag":2135,"props":2171,"children":2172},{"style":2156},[2173],{"type":1898,"value":2174},"=",{"type":1893,"tag":2135,"props":2176,"children":2178},{"style":2177},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[2179],{"type":1898,"value":2180}," 32",{"type":1893,"tag":2135,"props":2182,"children":2183},{"style":2147},[2184],{"type":1898,"value":2185},";\n",{"type":1893,"tag":2135,"props":2187,"children":2188},{"class":2137,"line":18},[2189],{"type":1893,"tag":2135,"props":2190,"children":2191},{"emptyLinePlaceholder":240},[2192],{"type":1898,"value":2193},"\n",{"type":1893,"tag":2135,"props":2195,"children":2196},{"class":2137,"line":22},[2197,2202,2207],{"type":1893,"tag":2135,"props":2198,"children":2199},{"style":2156},[2200],{"type":1898,"value":2201},"typedef",{"type":1893,"tag":2135,"props":2203,"children":2204},{"style":2156},[2205],{"type":1898,"value":2206}," struct",{"type":1893,"tag":2135,"props":2208,"children":2209},{"style":2147},[2210],{"type":1898,"value":2211}," VkPipelineBinaryKeyKHR {\n",{"type":1893,"tag":2135,"props":2213,"children":2214},{"class":2137,"line":26},[2215],{"type":1893,"tag":2135,"props":2216,"children":2217},{"style":2147},[2218],{"type":1898,"value":2219}," VkStructureType sType;\n",{"type":1893,"tag":2135,"props":2221,"children":2222},{"class":2137,"line":30},[2223,2228],{"type":1893,"tag":2135,"props":2224,"children":2225},{"style":2156},[2226],{"type":1898,"value":2227}," void*",{"type":1893,"tag":2135,"props":2229,"children":2230},{"style":2147},[2231],{"type":1898,"value":2232}," pNext;\n",{"type":1893,"tag":2135,"props":2234,"children":2235},{"class":2137,"line":34},[2236,2241],{"type":1893,"tag":2135,"props":2237,"children":2238},{"style":2156},[2239],{"type":1898,"value":2240}," uint32_t",{"type":1893,"tag":2135,"props":2242,"children":2243},{"style":2147},[2244],{"type":1898,"value":2245}," keySize;\n",{"type":1893,"tag":2135,"props":2247,"children":2248},{"class":2137,"line":38},[2249,2254,2260],{"type":1893,"tag":2135,"props":2250,"children":2251},{"style":2156},[2252],{"type":1898,"value":2253}," uint8_t",{"type":1893,"tag":2135,"props":2255,"children":2257},{"style":2256},"--shiki-default:#953800;--shiki-dark:#FFA657",[2258],{"type":1898,"value":2259}," key",{"type":1893,"tag":2135,"props":2261,"children":2262},{"style":2147},[2263],{"type":1898,"value":2264},"[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR];\n",{"type":1893,"tag":2135,"props":2266,"children":2267},{"class":2137,"line":42},[2268],{"type":1893,"tag":2135,"props":2269,"children":2270},{"style":2147},[2271],{"type":1898,"value":2272},"} VkPipelineBinaryKeyKHR;\n",{"type":1893,"tag":2135,"props":2274,"children":2275},{"class":2137,"line":46},[2276],{"type":1893,"tag":2135,"props":2277,"children":2278},{"emptyLinePlaceholder":240},[2279],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2281,"children":2282},{"class":2137,"line":50},[2283,2287,2291],{"type":1893,"tag":2135,"props":2284,"children":2285},{"style":2156},[2286],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":2288,"children":2289},{"style":2156},[2290],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":2292,"children":2293},{"style":2147},[2294],{"type":1898,"value":2295}," VkPipelineBinaryDataKHR {\n",{"type":1893,"tag":2135,"props":2297,"children":2298},{"class":2137,"line":54},[2299,2304],{"type":1893,"tag":2135,"props":2300,"children":2301},{"style":2156},[2302],{"type":1898,"value":2303}," size_t",{"type":1893,"tag":2135,"props":2305,"children":2306},{"style":2147},[2307],{"type":1898,"value":2308}," dataSize;\n",{"type":1893,"tag":2135,"props":2310,"children":2311},{"class":2137,"line":58},[2312,2316],{"type":1893,"tag":2135,"props":2313,"children":2314},{"style":2156},[2315],{"type":1898,"value":2227},{"type":1893,"tag":2135,"props":2317,"children":2318},{"style":2147},[2319],{"type":1898,"value":2320}," pData;\n",{"type":1893,"tag":2135,"props":2322,"children":2323},{"class":2137,"line":62},[2324],{"type":1893,"tag":2135,"props":2325,"children":2326},{"style":2147},[2327],{"type":1898,"value":2328},"} VkPipelineBinaryDataKHR;\n",{"type":1893,"tag":2135,"props":2330,"children":2331},{"class":2137,"line":66},[2332],{"type":1893,"tag":2135,"props":2333,"children":2334},{"emptyLinePlaceholder":240},[2335],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2337,"children":2338},{"class":2137,"line":70},[2339,2343,2347],{"type":1893,"tag":2135,"props":2340,"children":2341},{"style":2156},[2342],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":2344,"children":2345},{"style":2156},[2346],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":2348,"children":2349},{"style":2147},[2350],{"type":1898,"value":2351}," VkPipelineBinaryKeysAndDataKHR {\n",{"type":1893,"tag":2135,"props":2353,"children":2354},{"class":2137,"line":74},[2355,2359],{"type":1893,"tag":2135,"props":2356,"children":2357},{"style":2156},[2358],{"type":1898,"value":2240},{"type":1893,"tag":2135,"props":2360,"children":2361},{"style":2147},[2362],{"type":1898,"value":2363}," binaryCount;\n",{"type":1893,"tag":2135,"props":2365,"children":2366},{"class":2137,"line":78},[2367,2372,2377,2382],{"type":1893,"tag":2135,"props":2368,"children":2369},{"style":2156},[2370],{"type":1898,"value":2371}," const",{"type":1893,"tag":2135,"props":2373,"children":2374},{"style":2147},[2375],{"type":1898,"value":2376}," VkPipelineBinaryKeyKHR",{"type":1893,"tag":2135,"props":2378,"children":2379},{"style":2156},[2380],{"type":1898,"value":2381},"*",{"type":1893,"tag":2135,"props":2383,"children":2384},{"style":2147},[2385],{"type":1898,"value":2386}," pPipelineBinaryKeys;\n",{"type":1893,"tag":2135,"props":2388,"children":2389},{"class":2137,"line":82},[2390,2394,2399,2403],{"type":1893,"tag":2135,"props":2391,"children":2392},{"style":2156},[2393],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2395,"children":2396},{"style":2147},[2397],{"type":1898,"value":2398}," VkPipelineBinaryDataKHR",{"type":1893,"tag":2135,"props":2400,"children":2401},{"style":2156},[2402],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2404,"children":2405},{"style":2147},[2406],{"type":1898,"value":2407}," pPipelineBinaryData;\n",{"type":1893,"tag":2135,"props":2409,"children":2410},{"class":2137,"line":86},[2411],{"type":1893,"tag":2135,"props":2412,"children":2413},{"style":2147},[2414],{"type":1898,"value":2415},"} VkPipelineBinaryKeysAndDataKHR;\n",{"type":1893,"tag":2135,"props":2417,"children":2418},{"class":2137,"line":90},[2419],{"type":1893,"tag":2135,"props":2420,"children":2421},{"emptyLinePlaceholder":240},[2422],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2424,"children":2425},{"class":2137,"line":94},[2426,2430,2434],{"type":1893,"tag":2135,"props":2427,"children":2428},{"style":2156},[2429],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":2431,"children":2432},{"style":2156},[2433],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":2435,"children":2436},{"style":2147},[2437],{"type":1898,"value":2438}," VkPipelineCreateInfoKHR {\n",{"type":1893,"tag":2135,"props":2440,"children":2441},{"class":2137,"line":98},[2442],{"type":1893,"tag":2135,"props":2443,"children":2444},{"style":2147},[2445],{"type":1898,"value":2446}," VkStructureType sType;\n",{"type":1893,"tag":2135,"props":2448,"children":2449},{"class":2137,"line":102},[2450,2454,2459],{"type":1893,"tag":2135,"props":2451,"children":2452},{"style":2156},[2453],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2455,"children":2456},{"style":2156},[2457],{"type":1898,"value":2458}," void*",{"type":1893,"tag":2135,"props":2460,"children":2461},{"style":2147},[2462],{"type":1898,"value":2463}," pNext;\n",{"type":1893,"tag":2135,"props":2465,"children":2466},{"class":2137,"line":106},[2467],{"type":1893,"tag":2135,"props":2468,"children":2469},{"style":2147},[2470],{"type":1898,"value":2471},"} VkPipelineCreateInfoKHR;\n",{"type":1893,"tag":2135,"props":2473,"children":2474},{"class":2137,"line":110},[2475],{"type":1893,"tag":2135,"props":2476,"children":2477},{"emptyLinePlaceholder":240},[2478],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2480,"children":2481},{"class":2137,"line":114},[2482,2486,2490],{"type":1893,"tag":2135,"props":2483,"children":2484},{"style":2156},[2485],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":2487,"children":2488},{"style":2156},[2489],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":2491,"children":2492},{"style":2147},[2493],{"type":1898,"value":2494}," VkPipelineBinaryCreateInfoKHR {\n",{"type":1893,"tag":2135,"props":2496,"children":2497},{"class":2137,"line":118},[2498],{"type":1893,"tag":2135,"props":2499,"children":2500},{"style":2147},[2501],{"type":1898,"value":2502}," VkStructureType sType;\n",{"type":1893,"tag":2135,"props":2504,"children":2505},{"class":2137,"line":122},[2506,2510,2514],{"type":1893,"tag":2135,"props":2507,"children":2508},{"style":2156},[2509],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2511,"children":2512},{"style":2156},[2513],{"type":1898,"value":2458},{"type":1893,"tag":2135,"props":2515,"children":2516},{"style":2147},[2517],{"type":1898,"value":2518}," pNext;\n",{"type":1893,"tag":2135,"props":2520,"children":2521},{"class":2137,"line":126},[2522,2526,2531,2535],{"type":1893,"tag":2135,"props":2523,"children":2524},{"style":2156},[2525],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2527,"children":2528},{"style":2147},[2529],{"type":1898,"value":2530}," VkPipelineBinaryKeysAndDataKHR",{"type":1893,"tag":2135,"props":2532,"children":2533},{"style":2156},[2534],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2536,"children":2537},{"style":2147},[2538],{"type":1898,"value":2539}," pKeysAndDataInfo;\n",{"type":1893,"tag":2135,"props":2541,"children":2542},{"class":2137,"line":130},[2543],{"type":1893,"tag":2135,"props":2544,"children":2545},{"style":2147},[2546],{"type":1898,"value":2547}," VkPipeline pipeline;\n",{"type":1893,"tag":2135,"props":2549,"children":2550},{"class":2137,"line":134},[2551,2555,2560,2564],{"type":1893,"tag":2135,"props":2552,"children":2553},{"style":2156},[2554],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2556,"children":2557},{"style":2147},[2558],{"type":1898,"value":2559}," VkPipelineCreateInfoKHR",{"type":1893,"tag":2135,"props":2561,"children":2562},{"style":2156},[2563],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2565,"children":2566},{"style":2147},[2567],{"type":1898,"value":2568}," pPipelineCreateInfo;\n",{"type":1893,"tag":2135,"props":2570,"children":2571},{"class":2137,"line":138},[2572],{"type":1893,"tag":2135,"props":2573,"children":2574},{"style":2147},[2575],{"type":1898,"value":2576},"} VkPipelineBinaryCreateInfoKHR;\n",{"type":1893,"tag":2135,"props":2578,"children":2579},{"class":2137,"line":142},[2580],{"type":1893,"tag":2135,"props":2581,"children":2582},{"emptyLinePlaceholder":240},[2583],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2585,"children":2586},{"class":2137,"line":146},[2587,2591,2595],{"type":1893,"tag":2135,"props":2588,"children":2589},{"style":2156},[2590],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":2592,"children":2593},{"style":2156},[2594],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":2596,"children":2597},{"style":2147},[2598],{"type":1898,"value":2599}," VkPipelineBinaryHandlesInfoKHR {\n",{"type":1893,"tag":2135,"props":2601,"children":2602},{"class":2137,"line":150},[2603],{"type":1893,"tag":2135,"props":2604,"children":2605},{"style":2147},[2606],{"type":1898,"value":2502},{"type":1893,"tag":2135,"props":2608,"children":2609},{"class":2137,"line":154},[2610,2614,2618],{"type":1893,"tag":2135,"props":2611,"children":2612},{"style":2156},[2613],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2615,"children":2616},{"style":2156},[2617],{"type":1898,"value":2458},{"type":1893,"tag":2135,"props":2619,"children":2620},{"style":2147},[2621],{"type":1898,"value":2518},{"type":1893,"tag":2135,"props":2623,"children":2624},{"class":2137,"line":158},[2625,2629],{"type":1893,"tag":2135,"props":2626,"children":2627},{"style":2156},[2628],{"type":1898,"value":2240},{"type":1893,"tag":2135,"props":2630,"children":2631},{"style":2147},[2632],{"type":1898,"value":2633}," pipelineBinaryCount;\n",{"type":1893,"tag":2135,"props":2635,"children":2636},{"class":2137,"line":162},[2637,2642,2646],{"type":1893,"tag":2135,"props":2638,"children":2639},{"style":2147},[2640],{"type":1898,"value":2641}," VkPipelineBinaryKHR",{"type":1893,"tag":2135,"props":2643,"children":2644},{"style":2156},[2645],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2647,"children":2648},{"style":2147},[2649],{"type":1898,"value":2650}," pPipelineBinaries;\n",{"type":1893,"tag":2135,"props":2652,"children":2653},{"class":2137,"line":166},[2654],{"type":1893,"tag":2135,"props":2655,"children":2656},{"style":2147},[2657],{"type":1898,"value":2658},"} VkPipelineBinaryHandlesInfoKHR;\n",{"type":1893,"tag":2135,"props":2660,"children":2661},{"class":2137,"line":170},[2662],{"type":1893,"tag":2135,"props":2663,"children":2664},{"emptyLinePlaceholder":240},[2665],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2667,"children":2668},{"class":2137,"line":174},[2669,2674,2679],{"type":1893,"tag":2135,"props":2670,"children":2671},{"style":2147},[2672],{"type":1898,"value":2673},"VkResult ",{"type":1893,"tag":2135,"props":2675,"children":2676},{"style":2141},[2677],{"type":1898,"value":2678},"vkCreatePipelineBinariesKHR",{"type":1893,"tag":2135,"props":2680,"children":2681},{"style":2147},[2682],{"type":1898,"value":2683},"(\n",{"type":1893,"tag":2135,"props":2685,"children":2686},{"class":2137,"line":178},[2687,2692,2696],{"type":1893,"tag":2135,"props":2688,"children":2689},{"style":2147},[2690],{"type":1898,"value":2691}," VkDevice ",{"type":1893,"tag":2135,"props":2693,"children":2694},{"style":2256},[2695],{"type":1898,"value":274},{"type":1893,"tag":2135,"props":2697,"children":2698},{"style":2147},[2699],{"type":1898,"value":2700},",\n",{"type":1893,"tag":2135,"props":2702,"children":2703},{"class":2137,"line":182},[2704,2708,2713,2717,2722],{"type":1893,"tag":2135,"props":2705,"children":2706},{"style":2156},[2707],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2709,"children":2710},{"style":2147},[2711],{"type":1898,"value":2712}," VkPipelineBinaryCreateInfoKHR",{"type":1893,"tag":2135,"props":2714,"children":2715},{"style":2156},[2716],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2718,"children":2719},{"style":2256},[2720],{"type":1898,"value":2721}," pCreateInfo",{"type":1893,"tag":2135,"props":2723,"children":2724},{"style":2147},[2725],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":2727,"children":2728},{"class":2137,"line":186},[2729,2733,2738,2742,2747],{"type":1893,"tag":2135,"props":2730,"children":2731},{"style":2156},[2732],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2734,"children":2735},{"style":2147},[2736],{"type":1898,"value":2737}," VkAllocationCallbacks",{"type":1893,"tag":2135,"props":2739,"children":2740},{"style":2156},[2741],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2743,"children":2744},{"style":2256},[2745],{"type":1898,"value":2746}," pAllocator",{"type":1893,"tag":2135,"props":2748,"children":2749},{"style":2147},[2750],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":2752,"children":2753},{"class":2137,"line":190},[2754,2759,2763,2768],{"type":1893,"tag":2135,"props":2755,"children":2756},{"style":2147},[2757],{"type":1898,"value":2758}," VkPipelineBinaryHandlesInfoKHR",{"type":1893,"tag":2135,"props":2760,"children":2761},{"style":2156},[2762],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2764,"children":2765},{"style":2256},[2766],{"type":1898,"value":2767}," pBinaries",{"type":1893,"tag":2135,"props":2769,"children":2770},{"style":2147},[2771],{"type":1898,"value":2772},");\n",{"type":1893,"tag":2135,"props":2774,"children":2775},{"class":2137,"line":194},[2776],{"type":1893,"tag":2135,"props":2777,"children":2778},{"emptyLinePlaceholder":240},[2779],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2781,"children":2782},{"class":2137,"line":198},[2783,2788,2793],{"type":1893,"tag":2135,"props":2784,"children":2785},{"style":2156},[2786],{"type":1898,"value":2787},"void",{"type":1893,"tag":2135,"props":2789,"children":2790},{"style":2141},[2791],{"type":1898,"value":2792}," vkDestroyPipelineBinaryKHR",{"type":1893,"tag":2135,"props":2794,"children":2795},{"style":2147},[2796],{"type":1898,"value":2683},{"type":1893,"tag":2135,"props":2798,"children":2799},{"class":2137,"line":202},[2800,2805,2809],{"type":1893,"tag":2135,"props":2801,"children":2802},{"style":2147},[2803],{"type":1898,"value":2804}," VkDevice ",{"type":1893,"tag":2135,"props":2806,"children":2807},{"style":2256},[2808],{"type":1898,"value":274},{"type":1893,"tag":2135,"props":2810,"children":2811},{"style":2147},[2812],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":2814,"children":2815},{"class":2137,"line":206},[2816,2821,2826],{"type":1893,"tag":2135,"props":2817,"children":2818},{"style":2147},[2819],{"type":1898,"value":2820}," VkPipelineBinaryKHR ",{"type":1893,"tag":2135,"props":2822,"children":2823},{"style":2256},[2824],{"type":1898,"value":2825},"pipelineBinary",{"type":1893,"tag":2135,"props":2827,"children":2828},{"style":2147},[2829],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":2831,"children":2832},{"class":2137,"line":210},[2833,2837,2841,2845,2850],{"type":1893,"tag":2135,"props":2834,"children":2835},{"style":2156},[2836],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2838,"children":2839},{"style":2147},[2840],{"type":1898,"value":2737},{"type":1893,"tag":2135,"props":2842,"children":2843},{"style":2156},[2844],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2846,"children":2847},{"style":2256},[2848],{"type":1898,"value":2849}," pAllocator",{"type":1893,"tag":2135,"props":2851,"children":2852},{"style":2147},[2853],{"type":1898,"value":2772},{"type":1893,"tag":2135,"props":2855,"children":2856},{"class":2137,"line":214},[2857],{"type":1893,"tag":2135,"props":2858,"children":2859},{"emptyLinePlaceholder":240},[2860],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2862,"children":2863},{"class":2137,"line":218},[2864,2868,2873],{"type":1893,"tag":2135,"props":2865,"children":2866},{"style":2147},[2867],{"type":1898,"value":2673},{"type":1893,"tag":2135,"props":2869,"children":2870},{"style":2141},[2871],{"type":1898,"value":2872},"vkGetPipelineKeyKHR",{"type":1893,"tag":2135,"props":2874,"children":2875},{"style":2147},[2876],{"type":1898,"value":2683},{"type":1893,"tag":2135,"props":2878,"children":2879},{"class":2137,"line":222},[2880,2885,2889],{"type":1893,"tag":2135,"props":2881,"children":2882},{"style":2147},[2883],{"type":1898,"value":2884}," VkDevice ",{"type":1893,"tag":2135,"props":2886,"children":2887},{"style":2256},[2888],{"type":1898,"value":274},{"type":1893,"tag":2135,"props":2890,"children":2891},{"style":2147},[2892],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":2894,"children":2895},{"class":2137,"line":226},[2896,2900,2904,2908,2913],{"type":1893,"tag":2135,"props":2897,"children":2898},{"style":2156},[2899],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2901,"children":2902},{"style":2147},[2903],{"type":1898,"value":2559},{"type":1893,"tag":2135,"props":2905,"children":2906},{"style":2156},[2907],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2909,"children":2910},{"style":2256},[2911],{"type":1898,"value":2912}," pPipelineCreateInfo",{"type":1893,"tag":2135,"props":2914,"children":2915},{"style":2147},[2916],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":2918,"children":2919},{"class":2137,"line":230},[2920,2925,2929,2934],{"type":1893,"tag":2135,"props":2921,"children":2922},{"style":2147},[2923],{"type":1898,"value":2924}," VkPipelineBinaryKeyKHR",{"type":1893,"tag":2135,"props":2926,"children":2927},{"style":2156},[2928],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":2930,"children":2931},{"style":2256},[2932],{"type":1898,"value":2933}," pPipelineKey",{"type":1893,"tag":2135,"props":2935,"children":2936},{"style":2147},[2937],{"type":1898,"value":2772},{"type":1893,"tag":2135,"props":2939,"children":2940},{"class":2137,"line":234},[2941],{"type":1893,"tag":2135,"props":2942,"children":2943},{"emptyLinePlaceholder":240},[2944],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":2946,"children":2947},{"class":2137,"line":1649},[2948,2952,2956],{"type":1893,"tag":2135,"props":2949,"children":2950},{"style":2156},[2951],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":2953,"children":2954},{"style":2156},[2955],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":2957,"children":2958},{"style":2147},[2959],{"type":1898,"value":2960}," VkPipelineBinaryDataInfoKHR {\n",{"type":1893,"tag":2135,"props":2962,"children":2963},{"class":2137,"line":1773},[2964],{"type":1893,"tag":2135,"props":2965,"children":2966},{"style":2147},[2967],{"type":1898,"value":2446},{"type":1893,"tag":2135,"props":2969,"children":2970},{"class":2137,"line":1200},[2971,2975,2979],{"type":1893,"tag":2135,"props":2972,"children":2973},{"style":2156},[2974],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":2976,"children":2977},{"style":2156},[2978],{"type":1898,"value":2458},{"type":1893,"tag":2135,"props":2980,"children":2981},{"style":2147},[2982],{"type":1898,"value":2463},{"type":1893,"tag":2135,"props":2984,"children":2985},{"class":2137,"line":1123},[2986],{"type":1893,"tag":2135,"props":2987,"children":2988},{"style":2147},[2989],{"type":1898,"value":2990}," VkPipelineBinaryKHR pipelineBinary;\n",{"type":1893,"tag":2135,"props":2992,"children":2993},{"class":2137,"line":948},[2994],{"type":1893,"tag":2135,"props":2995,"children":2996},{"style":2147},[2997],{"type":1898,"value":2998},"} VkPipelineBinaryDataInfoKHR;\n",{"type":1893,"tag":2135,"props":3000,"children":3001},{"class":2137,"line":1539},[3002],{"type":1893,"tag":2135,"props":3003,"children":3004},{"emptyLinePlaceholder":240},[3005],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":3007,"children":3008},{"class":2137,"line":1354},[3009,3013,3018],{"type":1893,"tag":2135,"props":3010,"children":3011},{"style":2147},[3012],{"type":1898,"value":2673},{"type":1893,"tag":2135,"props":3014,"children":3015},{"style":2141},[3016],{"type":1898,"value":3017},"vkGetPipelineBinaryDataKHR",{"type":1893,"tag":2135,"props":3019,"children":3020},{"style":2147},[3021],{"type":1898,"value":2683},{"type":1893,"tag":2135,"props":3023,"children":3024},{"class":2137,"line":886},[3025,3030,3034],{"type":1893,"tag":2135,"props":3026,"children":3027},{"style":2147},[3028],{"type":1898,"value":3029}," VkDevice ",{"type":1893,"tag":2135,"props":3031,"children":3032},{"style":2256},[3033],{"type":1898,"value":274},{"type":1893,"tag":2135,"props":3035,"children":3036},{"style":2147},[3037],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":3039,"children":3040},{"class":2137,"line":892},[3041,3045,3050,3054,3059],{"type":1893,"tag":2135,"props":3042,"children":3043},{"style":2156},[3044],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":3046,"children":3047},{"style":2147},[3048],{"type":1898,"value":3049}," VkPipelineBinaryDataInfoKHR",{"type":1893,"tag":2135,"props":3051,"children":3052},{"style":2156},[3053],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":3055,"children":3056},{"style":2256},[3057],{"type":1898,"value":3058}," pInfo",{"type":1893,"tag":2135,"props":3060,"children":3061},{"style":2147},[3062],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":3064,"children":3065},{"class":2137,"line":931},[3066,3070,3074,3079],{"type":1893,"tag":2135,"props":3067,"children":3068},{"style":2147},[3069],{"type":1898,"value":2924},{"type":1893,"tag":2135,"props":3071,"children":3072},{"style":2156},[3073],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":3075,"children":3076},{"style":2256},[3077],{"type":1898,"value":3078}," pPipelineBinaryKey",{"type":1893,"tag":2135,"props":3080,"children":3081},{"style":2147},[3082],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":3084,"children":3085},{"class":2137,"line":435},[3086,3091,3096],{"type":1893,"tag":2135,"props":3087,"children":3088},{"style":2156},[3089],{"type":1898,"value":3090}," size_t*",{"type":1893,"tag":2135,"props":3092,"children":3093},{"style":2256},[3094],{"type":1898,"value":3095}," pPipelineBinaryDataSize",{"type":1893,"tag":2135,"props":3097,"children":3098},{"style":2147},[3099],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":3101,"children":3102},{"class":2137,"line":788},[3103,3107,3112],{"type":1893,"tag":2135,"props":3104,"children":3105},{"style":2156},[3106],{"type":1898,"value":2227},{"type":1893,"tag":2135,"props":3108,"children":3109},{"style":2256},[3110],{"type":1898,"value":3111}," pPipelineBinaryData",{"type":1893,"tag":2135,"props":3113,"children":3114},{"style":2147},[3115],{"type":1898,"value":2772},{"type":1893,"tag":2135,"props":3117,"children":3118},{"class":2137,"line":1226},[3119],{"type":1893,"tag":2135,"props":3120,"children":3121},{"emptyLinePlaceholder":240},[3122],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":3124,"children":3125},{"class":2137,"line":1127},[3126,3130,3134],{"type":1893,"tag":2135,"props":3127,"children":3128},{"style":2156},[3129],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":3131,"children":3132},{"style":2156},[3133],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":3135,"children":3136},{"style":2147},[3137],{"type":1898,"value":3138}," VkReleaseCapturedPipelineDataInfoKHR {\n",{"type":1893,"tag":2135,"props":3140,"children":3141},{"class":2137,"line":1163},[3142],{"type":1893,"tag":2135,"props":3143,"children":3144},{"style":2147},[3145],{"type":1898,"value":2446},{"type":1893,"tag":2135,"props":3147,"children":3148},{"class":2137,"line":1159},[3149,3153,3157],{"type":1893,"tag":2135,"props":3150,"children":3151},{"style":2156},[3152],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":3154,"children":3155},{"style":2156},[3156],{"type":1898,"value":2458},{"type":1893,"tag":2135,"props":3158,"children":3159},{"style":2147},[3160],{"type":1898,"value":2463},{"type":1893,"tag":2135,"props":3162,"children":3163},{"class":2137,"line":1168},[3164],{"type":1893,"tag":2135,"props":3165,"children":3166},{"style":2147},[3167],{"type":1898,"value":3168}," VkPipeline pipeline;\n",{"type":1893,"tag":2135,"props":3170,"children":3171},{"class":2137,"line":1166},[3172],{"type":1893,"tag":2135,"props":3173,"children":3174},{"style":2147},[3175],{"type":1898,"value":3176},"} VkReleaseCapturedPipelineDataInfoKHR;\n",{"type":1893,"tag":2135,"props":3178,"children":3179},{"class":2137,"line":1499},[3180],{"type":1893,"tag":2135,"props":3181,"children":3182},{"emptyLinePlaceholder":240},[3183],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":3185,"children":3186},{"class":2137,"line":1175},[3187,3191,3196],{"type":1893,"tag":2135,"props":3188,"children":3189},{"style":2147},[3190],{"type":1898,"value":2673},{"type":1893,"tag":2135,"props":3192,"children":3193},{"style":2141},[3194],{"type":1898,"value":3195},"vkReleaseCapturedPipelineDataKHR",{"type":1893,"tag":2135,"props":3197,"children":3198},{"style":2147},[3199],{"type":1898,"value":2683},{"type":1893,"tag":2135,"props":3201,"children":3202},{"class":2137,"line":1171},[3203,3207,3211],{"type":1893,"tag":2135,"props":3204,"children":3205},{"style":2147},[3206],{"type":1898,"value":2884},{"type":1893,"tag":2135,"props":3208,"children":3209},{"style":2256},[3210],{"type":1898,"value":274},{"type":1893,"tag":2135,"props":3212,"children":3213},{"style":2147},[3214],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":3216,"children":3217},{"class":2137,"line":1181},[3218,3222,3227,3231,3236],{"type":1893,"tag":2135,"props":3219,"children":3220},{"style":2156},[3221],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":3223,"children":3224},{"style":2147},[3225],{"type":1898,"value":3226}," VkReleaseCapturedPipelineDataInfoKHR",{"type":1893,"tag":2135,"props":3228,"children":3229},{"style":2156},[3230],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":3232,"children":3233},{"style":2256},[3234],{"type":1898,"value":3235}," pInfo",{"type":1893,"tag":2135,"props":3237,"children":3238},{"style":2147},[3239],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":3241,"children":3242},{"class":2137,"line":1177},[3243,3247,3251,3255,3260],{"type":1893,"tag":2135,"props":3244,"children":3245},{"style":2156},[3246],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":3248,"children":3249},{"style":2147},[3250],{"type":1898,"value":2737},{"type":1893,"tag":2135,"props":3252,"children":3253},{"style":2156},[3254],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":3256,"children":3257},{"style":2256},[3258],{"type":1898,"value":3259}," pAllocator",{"type":1893,"tag":2135,"props":3261,"children":3262},{"style":2147},[3263],{"type":1898,"value":2772},{"type":1893,"tag":1894,"props":3265,"children":3266},{},[3267,3272,3274,3280,3282,3288,3290,3295,3297,3302,3304,3309],{"type":1893,"tag":2044,"props":3268,"children":3270},{"className":3269},[],[3271],{"type":1898,"value":2872},{"type":1898,"value":3273}," works on any existing pipeline creation info structure (via ",{"type":1893,"tag":2044,"props":3275,"children":3277},{"className":3276},[],[3278],{"type":1898,"value":3279},"pNext",{"type":1898,"value":3281}," in ",{"type":1893,"tag":2044,"props":3283,"children":3285},{"className":3284},[],[3286],{"type":1898,"value":3287},"VkPipelineCreateInfoKHR",{"type":1898,"value":3289},"), allowing an application to obtain a pipeline key ",{"type":1893,"tag":2036,"props":3291,"children":3292},{},[3293],{"type":1898,"value":3294},"before",{"type":1898,"value":3296}," creating a pipeline.\nThis allows the application to use that key to internally lookup the pipeline binary keys and data previously obtained via ",{"type":1893,"tag":2044,"props":3298,"children":3300},{"className":3299},[],[3301],{"type":1898,"value":3017},{"type":1898,"value":3303},", before creating the pipeline.\nAn implementation may return identical pipeline keys for different pipelines if the parts of the ",{"type":1893,"tag":2044,"props":3305,"children":3307},{"className":3306},[],[3308],{"type":1898,"value":3287},{"type":1898,"value":3310}," needed by the implementation to create binaries is identical.",{"type":1893,"tag":1894,"props":3312,"children":3313},{},[3314,3316,3321],{"type":1898,"value":3315},"Pipeline ",{"type":1893,"tag":2036,"props":3317,"children":3318},{},[3319],{"type":1898,"value":3320},"binary",{"type":1898,"value":3322}," keys identify the contents of the pipeline binary object. Multiple pipelines may use the same binary, e.g. an implementation may generate identical binaries for two pipelines that have the same vertex shader, so the pipeline binary key can be used by the application as a unique identifier and to deduplicate binaries.",{"type":1893,"tag":1894,"props":3324,"children":3325},{},[3326,3328,3334,3336,3342,3344,3349,3351,3357],{"type":1898,"value":3327},"Setting ",{"type":1893,"tag":2044,"props":3329,"children":3331},{"className":3330},[],[3332],{"type":1898,"value":3333},"pPipelineCreateInfo",{"type":1898,"value":3335}," to ",{"type":1893,"tag":2044,"props":3337,"children":3339},{"className":3338},[],[3340],{"type":1898,"value":3341},"NULL",{"type":1898,"value":3343}," when calling ",{"type":1893,"tag":2044,"props":3345,"children":3347},{"className":3346},[],[3348],{"type":1898,"value":2872},{"type":1898,"value":3350}," allows an application to query the implementation’s global key. This global\nkey can be compared on a subsequent run to determine if saved keys and binary data for pipelines remain valid.\nUnlike most global keys in the API, which are exposed as various ",{"type":1893,"tag":2044,"props":3352,"children":3354},{"className":3353},[],[3355],{"type":1898,"value":3356},"*UUID",{"type":1898,"value":3358}," physical-device queries,\nthe global pipeline key may depend on state which is only known at device creation time,\nsuch as extensions and features being enabled, or even enabled layers in some cases.",{"type":1893,"tag":1894,"props":3360,"children":3361},{},[3362,3367,3369,3375],{"type":1893,"tag":2044,"props":3363,"children":3365},{"className":3364},[],[3366],{"type":1898,"value":2678},{"type":1898,"value":3368}," can be used in 3 different ways to create ",{"type":1893,"tag":2044,"props":3370,"children":3372},{"className":3371},[],[3373],{"type":1898,"value":3374},"VkPipelineBinaryKHR",{"type":1898,"value":3376}," objects:",{"type":1893,"tag":1981,"props":3378,"children":3379},{},[3380,3392,3410],{"type":1893,"tag":1932,"props":3381,"children":3382},{},[3383,3384,3390],{"type":1898,"value":3327},{"type":1893,"tag":2044,"props":3385,"children":3387},{"className":3386},[],[3388],{"type":1898,"value":3389},"VkPipelineBinaryCreateInfoKHR.pipeline",{"type":1898,"value":3391}," allows an application to query the number of binaries for a pipeline and then create that number of binary objects from that pipeline.",{"type":1893,"tag":1932,"props":3393,"children":3394},{},[3395,3401,3403,3408],{"type":1893,"tag":2044,"props":3396,"children":3398},{"className":3397},[],[3399],{"type":1898,"value":3400},"VkPipelineBinaryCreateInfoKHR.pKeysAndDataInfo",{"type":1898,"value":3402}," can be used to create binary objects from data previously retrieved using ",{"type":1893,"tag":2044,"props":3404,"children":3406},{"className":3405},[],[3407],{"type":1898,"value":3017},{"type":1898,"value":3409},".",{"type":1893,"tag":1932,"props":3411,"children":3412},{},[3413,3415,3426,3428,3434],{"type":1898,"value":3414},"The ",{"type":1893,"tag":3416,"props":3417,"children":3419},"a",{"href":3418},"/404#pipelineBinaryInternalCache",[3420],{"type":1893,"tag":2044,"props":3421,"children":3423},{"className":3422},[],[3424],{"type":1898,"value":3425},"pipelineBinaryInternalCache",{"type":1898,"value":3427}," property indicates that an application can use ",{"type":1893,"tag":2044,"props":3429,"children":3431},{"className":3430},[],[3432],{"type":1898,"value":3433},"VkPipelineBinaryCreateInfoKHR.pPipelineCreateInfo",{"type":1898,"value":3435}," to see if the implementation has the pipeline binary stored in its internal cache. An application can query the number of binaries and then create that number of binary objects in a similar way to creating binaries from a pipeline object.",{"type":1893,"tag":1894,"props":3437,"children":3438},{},[3439,3441,3447,3449,3455,3457,3462],{"type":1898,"value":3440},"Only one of ",{"type":1893,"tag":2044,"props":3442,"children":3444},{"className":3443},[],[3445],{"type":1898,"value":3446},"pipeline",{"type":1898,"value":3448},", ",{"type":1893,"tag":2044,"props":3450,"children":3452},{"className":3451},[],[3453],{"type":1898,"value":3454},"pKeysAndDataInfo",{"type":1898,"value":3456},", and ",{"type":1893,"tag":2044,"props":3458,"children":3460},{"className":3459},[],[3461],{"type":1898,"value":3333},{"type":1898,"value":3463}," can be used at once.",{"type":1893,"tag":1894,"props":3465,"children":3466},{},[3467,3469,3477,3479,3484,3486,3491,3493,3499],{"type":1898,"value":3468},"A new ",{"type":1893,"tag":3416,"props":3470,"children":3474},{"href":3471,"rel":3472},"https://docs.vulkan.org/spec/latest/chapters/fundamentals.html#VkResult",[3473],"nofollow",[3475],{"type":1898,"value":3476},"VkResult",{"type":1898,"value":3478}," value is added so that ",{"type":1893,"tag":2044,"props":3480,"children":3482},{"className":3481},[],[3483],{"type":1898,"value":2678},{"type":1898,"value":3485}," can indicate that an implementation supporting ",{"type":1893,"tag":2044,"props":3487,"children":3489},{"className":3488},[],[3490],{"type":1898,"value":3425},{"type":1898,"value":3492}," ",{"type":1893,"tag":3416,"props":3494,"children":3496},{"href":3495},"/404#properties",[3497],{"type":1898,"value":3498},"Properties",{"type":1898,"value":3500}," does not have a binary in its internal cache:",{"type":1893,"tag":2124,"props":3502,"children":3504},{"className":2126,"code":3503,"language":2128,"meta":2129,"style":2129},"VK_PIPELINE_BINARY_MISSING_KHR = 1000483000\n",[3505],{"type":1893,"tag":2044,"props":3506,"children":3507},{"__ignoreMap":2129},[3508],{"type":1893,"tag":2135,"props":3509,"children":3510},{"class":2137,"line":10},[3511,3516,3520],{"type":1893,"tag":2135,"props":3512,"children":3513},{"style":2147},[3514],{"type":1898,"value":3515},"VK_PIPELINE_BINARY_MISSING_KHR ",{"type":1893,"tag":2135,"props":3517,"children":3518},{"style":2156},[3519],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":3521,"children":3522},{"style":2177},[3523],{"type":1898,"value":3524}," 1000483000\n",{"type":1893,"tag":1894,"props":3526,"children":3527},{},[3528,3529,3534,3535,3540],{"type":1898,"value":3468},{"type":1893,"tag":3416,"props":3530,"children":3532},{"href":3471,"rel":3531},[3473],[3533],{"type":1898,"value":3476},{"type":1898,"value":3478},{"type":1893,"tag":2044,"props":3536,"children":3538},{"className":3537},[],[3539],{"type":1898,"value":3017},{"type":1898,"value":3541}," can indicate that the application has not provided enough storage to write pipeline binary data into:",{"type":1893,"tag":2124,"props":3543,"children":3545},{"className":2126,"code":3544,"language":2128,"meta":2129,"style":2129},"VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000\n",[3546],{"type":1893,"tag":2044,"props":3547,"children":3548},{"__ignoreMap":2129},[3549],{"type":1893,"tag":2135,"props":3550,"children":3551},{"class":2137,"line":10},[3552,3557,3561,3566],{"type":1893,"tag":2135,"props":3553,"children":3554},{"style":2147},[3555],{"type":1898,"value":3556},"VK_ERROR_NOT_ENOUGH_SPACE_KHR ",{"type":1893,"tag":2135,"props":3558,"children":3559},{"style":2156},[3560],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":3562,"children":3563},{"style":2156},[3564],{"type":1898,"value":3565}," -",{"type":1893,"tag":2135,"props":3567,"children":3568},{"style":2177},[3569],{"type":1898,"value":3570},"1000483000\n",{"type":1893,"tag":1894,"props":3572,"children":3573},{},[3574,3575,3582],{"type":1898,"value":3468},{"type":1893,"tag":3416,"props":3576,"children":3579},{"href":3577,"rel":3578},"https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VkPipelineCreateFlagBits2KHR",[3473],[3580],{"type":1898,"value":3581},"VkPipelineCreateFlagBits2KHR",{"type":1898,"value":3583}," value is required to be able to obtain binary data from a pipeline object via this extension after creation:",{"type":1893,"tag":2124,"props":3585,"children":3587},{"className":2126,"code":3586,"language":2128,"meta":2129,"style":2129},"VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000\n",[3588],{"type":1893,"tag":2044,"props":3589,"children":3590},{"__ignoreMap":2129},[3591],{"type":1893,"tag":2135,"props":3592,"children":3593},{"class":2137,"line":10},[3594,3599,3603,3608],{"type":1893,"tag":2135,"props":3595,"children":3596},{"style":2147},[3597],{"type":1898,"value":3598},"VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR ",{"type":1893,"tag":2135,"props":3600,"children":3601},{"style":2156},[3602],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":3604,"children":3605},{"style":2156},[3606],{"type":1898,"value":3607}," 0x",{"type":1893,"tag":2135,"props":3609,"children":3610},{"style":2177},[3611],{"type":1898,"value":3612},"80000000\n",{"type":1893,"tag":1894,"props":3614,"children":3615},{},[3616,3618,3623,3625,3630,3632,3637],{"type":1898,"value":3617},"Calling ",{"type":1893,"tag":2044,"props":3619,"children":3621},{"className":3620},[],[3622],{"type":1898,"value":3195},{"type":1898,"value":3624}," allows the implementation to free any resources captured as a result of creating the pipeline with ",{"type":1893,"tag":2044,"props":3626,"children":3628},{"className":3627},[],[3629],{"type":1898,"value":2078},{"type":1898,"value":3631}," and put the pipeline into a state as if ",{"type":1893,"tag":2044,"props":3633,"children":3635},{"className":3634},[],[3636],{"type":1898,"value":2078},{"type":1898,"value":3638}," had not been provided at pipeline creation time.",{"type":1893,"tag":1894,"props":3640,"children":3641},{},[3642],{"type":1898,"value":3643},"A new creation structure is also provided to pass in any key/data pairs the application has available:",{"type":1893,"tag":2124,"props":3645,"children":3647},{"className":2126,"code":3646,"language":2128,"meta":2129,"style":2129},"typedef struct VkPipelineBinaryInfoKHR {\n VkStructureType sType;\n const void* pNext;\n uint32_t binaryCount;\n const VkPipelineBinaryKHR* pPipelineBinaries;\n} VkPipelineBinaryInfoKHR;\n",[3648],{"type":1893,"tag":2044,"props":3649,"children":3650},{"__ignoreMap":2129},[3651,3667,3674,3689,3701,3722],{"type":1893,"tag":2135,"props":3652,"children":3653},{"class":2137,"line":10},[3654,3658,3662],{"type":1893,"tag":2135,"props":3655,"children":3656},{"style":2156},[3657],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":3659,"children":3660},{"style":2156},[3661],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":3663,"children":3664},{"style":2147},[3665],{"type":1898,"value":3666}," VkPipelineBinaryInfoKHR {\n",{"type":1893,"tag":2135,"props":3668,"children":3669},{"class":2137,"line":14},[3670],{"type":1893,"tag":2135,"props":3671,"children":3672},{"style":2147},[3673],{"type":1898,"value":2446},{"type":1893,"tag":2135,"props":3675,"children":3676},{"class":2137,"line":18},[3677,3681,3685],{"type":1893,"tag":2135,"props":3678,"children":3679},{"style":2156},[3680],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":3682,"children":3683},{"style":2156},[3684],{"type":1898,"value":2458},{"type":1893,"tag":2135,"props":3686,"children":3687},{"style":2147},[3688],{"type":1898,"value":2463},{"type":1893,"tag":2135,"props":3690,"children":3691},{"class":2137,"line":22},[3692,3696],{"type":1893,"tag":2135,"props":3693,"children":3694},{"style":2156},[3695],{"type":1898,"value":2240},{"type":1893,"tag":2135,"props":3697,"children":3698},{"style":2147},[3699],{"type":1898,"value":3700}," binaryCount;\n",{"type":1893,"tag":2135,"props":3702,"children":3703},{"class":2137,"line":26},[3704,3708,3713,3717],{"type":1893,"tag":2135,"props":3705,"children":3706},{"style":2156},[3707],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":3709,"children":3710},{"style":2147},[3711],{"type":1898,"value":3712}," VkPipelineBinaryKHR",{"type":1893,"tag":2135,"props":3714,"children":3715},{"style":2156},[3716],{"type":1898,"value":2381},{"type":1893,"tag":2135,"props":3718,"children":3719},{"style":2147},[3720],{"type":1898,"value":3721}," pPipelineBinaries;\n",{"type":1893,"tag":2135,"props":3723,"children":3724},{"class":2137,"line":30},[3725],{"type":1893,"tag":2135,"props":3726,"children":3727},{"style":2147},[3728],{"type":1898,"value":3729},"} VkPipelineBinaryInfoKHR;\n",{"type":1893,"tag":1894,"props":3731,"children":3732},{},[3733,3735,3741,3743,3749],{"type":1898,"value":3734},"It is the application’s responsibility to ensure the pipeline create info in this call exactly matches the pipeline create info of the pipeline used to create the key/binary pairs, other than the inclusion of this structure and any shader modules that were declared in ",{"type":1893,"tag":2044,"props":3736,"children":3738},{"className":3737},[],[3739],{"type":1898,"value":3740},"VkPipelineShaderStageCreateInfo",{"type":1898,"value":3742}," instances at key generation time as they will be ignored by the implementation when creating a pipeline from binaries. Shader module identifiers and modules declared by ",{"type":1893,"tag":2044,"props":3744,"children":3746},{"className":3745},[],[3747],{"type":1898,"value":3748},"VkShaderModuleCreateInfo",{"type":1898,"value":3750}," instances will also be ignored.",{"type":1893,"tag":1894,"props":3752,"children":3753},{},[3754,3756,3762,3763,3769,3771,3777,3779,3784,3786,3792,3794,3799],{"type":1898,"value":3755},"Note that when creating a pipeline from binaries ",{"type":1893,"tag":2044,"props":3757,"children":3759},{"className":3758},[],[3760],{"type":1898,"value":3761},"binaryCount",{"type":1898,"value":3281},{"type":1893,"tag":2044,"props":3764,"children":3766},{"className":3765},[],[3767],{"type":1898,"value":3768},"VkPipelineBinaryInfoKHR",{"type":1898,"value":3770}," and the value in ",{"type":1893,"tag":2044,"props":3772,"children":3774},{"className":3773},[],[3775],{"type":1898,"value":3776},"pipelineBinaryCount",{"type":1898,"value":3778}," returned by ",{"type":1893,"tag":2044,"props":3780,"children":3782},{"className":3781},[],[3783],{"type":1898,"value":2678},{"type":1898,"value":3785}," must be matching for a given pipeline/create info, and the order of the binaries in ",{"type":1893,"tag":2044,"props":3787,"children":3789},{"className":3788},[],[3790],{"type":1898,"value":3791},"pPipelineBinaries",{"type":1898,"value":3793}," must match those returned by ",{"type":1893,"tag":2044,"props":3795,"children":3797},{"className":3796},[],[3798],{"type":1898,"value":2678},{"type":1898,"value":3409},{"type":1893,"tag":2117,"props":3801,"children":3803},{"id":3802},"_features",[3804],{"type":1898,"value":219},{"type":1893,"tag":1894,"props":3806,"children":3807},{},[3808],{"type":1898,"value":3809},"The following new features are exposed by the extension:",{"type":1893,"tag":2124,"props":3811,"children":3813},{"className":2126,"code":3812,"language":2128,"meta":2129,"style":2129},"typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR {\n VkStructureType sType;\n void* pNext;\n VkBool32 pipelineBinaries;\n} VkPhysicalDevicePipelineBinaryFeaturesKHR;\n",[3814],{"type":1893,"tag":2044,"props":3815,"children":3816},{"__ignoreMap":2129},[3817,3833,3841,3853,3861],{"type":1893,"tag":2135,"props":3818,"children":3819},{"class":2137,"line":10},[3820,3824,3828],{"type":1893,"tag":2135,"props":3821,"children":3822},{"style":2156},[3823],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":3825,"children":3826},{"style":2156},[3827],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":3829,"children":3830},{"style":2147},[3831],{"type":1898,"value":3832}," VkPhysicalDevicePipelineBinaryFeaturesKHR {\n",{"type":1893,"tag":2135,"props":3834,"children":3835},{"class":2137,"line":14},[3836],{"type":1893,"tag":2135,"props":3837,"children":3838},{"style":2147},[3839],{"type":1898,"value":3840}," VkStructureType sType;\n",{"type":1893,"tag":2135,"props":3842,"children":3843},{"class":2137,"line":18},[3844,3848],{"type":1893,"tag":2135,"props":3845,"children":3846},{"style":2156},[3847],{"type":1898,"value":2227},{"type":1893,"tag":2135,"props":3849,"children":3850},{"style":2147},[3851],{"type":1898,"value":3852}," pNext;\n",{"type":1893,"tag":2135,"props":3854,"children":3855},{"class":2137,"line":22},[3856],{"type":1893,"tag":2135,"props":3857,"children":3858},{"style":2147},[3859],{"type":1898,"value":3860}," VkBool32 pipelineBinaries;\n",{"type":1893,"tag":2135,"props":3862,"children":3863},{"class":2137,"line":26},[3864],{"type":1893,"tag":2135,"props":3865,"children":3866},{"style":2147},[3867],{"type":1898,"value":3868},"} VkPhysicalDevicePipelineBinaryFeaturesKHR;\n",{"type":1893,"tag":1981,"props":3870,"children":3871},{},[3872],{"type":1893,"tag":1932,"props":3873,"children":3874},{},[3875,3881],{"type":1893,"tag":2044,"props":3876,"children":3878},{"className":3877},[],[3879],{"type":1898,"value":3880},"pipelineBinaries",{"type":1898,"value":3882}," is the main feature enabling this extension’s functionality and\nmust be supported if this extension is supported.",{"type":1893,"tag":2117,"props":3884,"children":3886},{"id":3885},"properties",[3887],{"type":1898,"value":3498},{"type":1893,"tag":1894,"props":3889,"children":3890},{},[3891],{"type":1898,"value":3892},"On some platforms, the internal pipeline cache is still very important and may be maintained outside the scope of the application.\nTo avoid a situation where the application and implementation maintain duplicated entries of their pipeline caches, or worse,\nignore all the work done to prepare the internal cache, there are properties which aim to expose this cache behavior to the application\nso that it can make an informed decision.",{"type":1893,"tag":1894,"props":3894,"children":3895},{},[3896],{"type":1898,"value":3897},"All these properties are mostly useful as hints to an application that may want to take advantage of them.\nIt is valid for an application to ignore them.",{"type":1893,"tag":2124,"props":3899,"children":3903},{"className":3900,"code":3901,"language":3902,"meta":2129,"style":2129},"language-c++ shiki shiki-themes github-light-default github-dark-default","typedef struct VkPhysicalDevicePipelineBinaryPropertiesKHR {\n VkStructureType sType;\n void* pNext;\n VkBool32 pipelineBinaryInternalCache;\n VkBool32 pipelineBinaryInternalCacheControl;\n VkBool32 pipelineBinaryPrefersInternalCache;\n VkBool32 pipelineBinaryPrecompiledInternalCache;\n VkBool32 pipelineBinaryCompressedData;\n} VkPhysicalDevicePipelineBinaryPropertiesKHR;\n","c++",[3904],{"type":1893,"tag":2044,"props":3905,"children":3906},{"__ignoreMap":2129},[3907,3928,3936,3948,3956,3964,3972,3980,3988],{"type":1893,"tag":2135,"props":3908,"children":3909},{"class":2137,"line":10},[3910,3914,3918,3923],{"type":1893,"tag":2135,"props":3911,"children":3912},{"style":2156},[3913],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":3915,"children":3916},{"style":2156},[3917],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":3919,"children":3920},{"style":2256},[3921],{"type":1898,"value":3922}," VkPhysicalDevicePipelineBinaryPropertiesKHR",{"type":1893,"tag":2135,"props":3924,"children":3925},{"style":2147},[3926],{"type":1898,"value":3927}," {\n",{"type":1893,"tag":2135,"props":3929,"children":3930},{"class":2137,"line":14},[3931],{"type":1893,"tag":2135,"props":3932,"children":3933},{"style":2147},[3934],{"type":1898,"value":3935}," VkStructureType sType;\n",{"type":1893,"tag":2135,"props":3937,"children":3938},{"class":2137,"line":18},[3939,3943],{"type":1893,"tag":2135,"props":3940,"children":3941},{"style":2156},[3942],{"type":1898,"value":2227},{"type":1893,"tag":2135,"props":3944,"children":3945},{"style":2147},[3946],{"type":1898,"value":3947}," pNext;\n",{"type":1893,"tag":2135,"props":3949,"children":3950},{"class":2137,"line":22},[3951],{"type":1893,"tag":2135,"props":3952,"children":3953},{"style":2147},[3954],{"type":1898,"value":3955}," VkBool32 pipelineBinaryInternalCache;\n",{"type":1893,"tag":2135,"props":3957,"children":3958},{"class":2137,"line":26},[3959],{"type":1893,"tag":2135,"props":3960,"children":3961},{"style":2147},[3962],{"type":1898,"value":3963}," VkBool32 pipelineBinaryInternalCacheControl;\n",{"type":1893,"tag":2135,"props":3965,"children":3966},{"class":2137,"line":30},[3967],{"type":1893,"tag":2135,"props":3968,"children":3969},{"style":2147},[3970],{"type":1898,"value":3971}," VkBool32 pipelineBinaryPrefersInternalCache;\n",{"type":1893,"tag":2135,"props":3973,"children":3974},{"class":2137,"line":34},[3975],{"type":1893,"tag":2135,"props":3976,"children":3977},{"style":2147},[3978],{"type":1898,"value":3979}," VkBool32 pipelineBinaryPrecompiledInternalCache;\n",{"type":1893,"tag":2135,"props":3981,"children":3982},{"class":2137,"line":38},[3983],{"type":1893,"tag":2135,"props":3984,"children":3985},{"style":2147},[3986],{"type":1898,"value":3987}," VkBool32 pipelineBinaryCompressedData;\n",{"type":1893,"tag":2135,"props":3989,"children":3990},{"class":2137,"line":42},[3991,3996,4001],{"type":1893,"tag":2135,"props":3992,"children":3993},{"style":2147},[3994],{"type":1898,"value":3995},"} ",{"type":1893,"tag":2135,"props":3997,"children":3998},{"style":2256},[3999],{"type":1898,"value":4000},"VkPhysicalDevicePipelineBinaryPropertiesKHR",{"type":1893,"tag":2135,"props":4002,"children":4003},{"style":2147},[4004],{"type":1898,"value":2185},{"type":1893,"tag":4006,"props":4007,"children":4008},"h5",{"id":3425},[4009,4010],{"type":1898,"value":2129},{"type":1893,"tag":2044,"props":4011,"children":4013},{"className":4012},[],[4014],{"type":1898,"value":3425},{"type":1893,"tag":1894,"props":4016,"children":4017},{},[4018,4020,4025],{"type":1898,"value":4019},"When ",{"type":1893,"tag":2044,"props":4021,"children":4023},{"className":4022},[],[4024],{"type":1898,"value":3425},{"type":1898,"value":4026}," is supported it is possible to create pipeline binaries using just the pipeline create info, without providing either SPIR-V or binary data, by\nchecking if the implementation has the pipeline binary stored in its internal cache.",{"type":1893,"tag":2124,"props":4028,"children":4030},{"className":3900,"code":4029,"language":3902,"meta":2129,"style":2129},"VkGraphicsPipelineCreateInfo graphicsCreateInfo;\n\nVkPipelineCreateInfoKHR pipelineCreateInfo;\npipelineCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\npipelineCreateInfo.pNext = &graphicsCreateInfo;\n\nVkPipelineBinaryCreateInfoKHR createInfo;\ncreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\ncreateInfo.pNext = NULL;\ncreateInfo.pKeysAndDataInfo = NULL;\ncreateInfo.pipeline = VK_NULL_HANDLE;\ncreateInfo.pPipelineCreateInfo = &pipelineCreateInfo;\n\nVkPipelineBinaryHandlesInfoKHR handlesInfo;\nhandlesInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\nhandlesInfo.pNext = NULL;\nhandlesInfo.pipelineBinaryCount = 0;\nhandlesInfo.pPipelineBinaries = NULL;\n\nVkResult res = vkCreatePipelineBinariesKHR(device, &createInfo, NULL, &handlesInfo);\n\nif (res == VK_PIPELINE_BINARY_MISSING_KHR) {\n // Attempted to create a pipeline binary, but implementation does not have it in cache.\n // Similar to VK_PIPELINE_COMPILE_REQUIRED, this is a positive return value.\n return;\n}\n\nstd::vector\u003CVkPipelineBinaryKHR> pipelineBinaries;\npipelineBinaries.resize(handlesInfo.pipelineBinaryCount);\n\nhandlesInfo.pPipelineBinaries = pipelineBinaries.data();\n\nvkCreatePipelineBinariesKHR(device, &createInfo, NULL, &handlesInfo);\n",[4031],{"type":1893,"tag":2044,"props":4032,"children":4033},{"__ignoreMap":2129},[4034,4042,4049,4057,4074,4096,4103,4111,4128,4149,4169,4186,4207,4214,4222,4239,4259,4280,4300,4307,4356,4363,4386,4395,4403,4415,4423,4430,4462,4480,4487,4513,4520],{"type":1893,"tag":2135,"props":4035,"children":4036},{"class":2137,"line":10},[4037],{"type":1893,"tag":2135,"props":4038,"children":4039},{"style":2147},[4040],{"type":1898,"value":4041},"VkGraphicsPipelineCreateInfo graphicsCreateInfo;\n",{"type":1893,"tag":2135,"props":4043,"children":4044},{"class":2137,"line":14},[4045],{"type":1893,"tag":2135,"props":4046,"children":4047},{"emptyLinePlaceholder":240},[4048],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4050,"children":4051},{"class":2137,"line":18},[4052],{"type":1893,"tag":2135,"props":4053,"children":4054},{"style":2147},[4055],{"type":1898,"value":4056},"VkPipelineCreateInfoKHR pipelineCreateInfo;\n",{"type":1893,"tag":2135,"props":4058,"children":4059},{"class":2137,"line":22},[4060,4065,4069],{"type":1893,"tag":2135,"props":4061,"children":4062},{"style":2147},[4063],{"type":1898,"value":4064},"pipelineCreateInfo.sType ",{"type":1893,"tag":2135,"props":4066,"children":4067},{"style":2156},[4068],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4070,"children":4071},{"style":2147},[4072],{"type":1898,"value":4073}," VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\n",{"type":1893,"tag":2135,"props":4075,"children":4076},{"class":2137,"line":26},[4077,4082,4086,4091],{"type":1893,"tag":2135,"props":4078,"children":4079},{"style":2147},[4080],{"type":1898,"value":4081},"pipelineCreateInfo.pNext ",{"type":1893,"tag":2135,"props":4083,"children":4084},{"style":2156},[4085],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4087,"children":4088},{"style":2156},[4089],{"type":1898,"value":4090}," &",{"type":1893,"tag":2135,"props":4092,"children":4093},{"style":2147},[4094],{"type":1898,"value":4095},"graphicsCreateInfo;\n",{"type":1893,"tag":2135,"props":4097,"children":4098},{"class":2137,"line":30},[4099],{"type":1893,"tag":2135,"props":4100,"children":4101},{"emptyLinePlaceholder":240},[4102],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4104,"children":4105},{"class":2137,"line":34},[4106],{"type":1893,"tag":2135,"props":4107,"children":4108},{"style":2147},[4109],{"type":1898,"value":4110},"VkPipelineBinaryCreateInfoKHR createInfo;\n",{"type":1893,"tag":2135,"props":4112,"children":4113},{"class":2137,"line":38},[4114,4119,4123],{"type":1893,"tag":2135,"props":4115,"children":4116},{"style":2147},[4117],{"type":1898,"value":4118},"createInfo.sType ",{"type":1893,"tag":2135,"props":4120,"children":4121},{"style":2156},[4122],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4124,"children":4125},{"style":2147},[4126],{"type":1898,"value":4127}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\n",{"type":1893,"tag":2135,"props":4129,"children":4130},{"class":2137,"line":42},[4131,4136,4140,4145],{"type":1893,"tag":2135,"props":4132,"children":4133},{"style":2147},[4134],{"type":1898,"value":4135},"createInfo.pNext ",{"type":1893,"tag":2135,"props":4137,"children":4138},{"style":2156},[4139],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4141,"children":4142},{"style":2177},[4143],{"type":1898,"value":4144}," NULL",{"type":1893,"tag":2135,"props":4146,"children":4147},{"style":2147},[4148],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":4150,"children":4151},{"class":2137,"line":46},[4152,4157,4161,4165],{"type":1893,"tag":2135,"props":4153,"children":4154},{"style":2147},[4155],{"type":1898,"value":4156},"createInfo.pKeysAndDataInfo ",{"type":1893,"tag":2135,"props":4158,"children":4159},{"style":2156},[4160],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4162,"children":4163},{"style":2177},[4164],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":4166,"children":4167},{"style":2147},[4168],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":4170,"children":4171},{"class":2137,"line":50},[4172,4177,4181],{"type":1893,"tag":2135,"props":4173,"children":4174},{"style":2147},[4175],{"type":1898,"value":4176},"createInfo.pipeline ",{"type":1893,"tag":2135,"props":4178,"children":4179},{"style":2156},[4180],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4182,"children":4183},{"style":2147},[4184],{"type":1898,"value":4185}," VK_NULL_HANDLE;\n",{"type":1893,"tag":2135,"props":4187,"children":4188},{"class":2137,"line":54},[4189,4194,4198,4202],{"type":1893,"tag":2135,"props":4190,"children":4191},{"style":2147},[4192],{"type":1898,"value":4193},"createInfo.pPipelineCreateInfo ",{"type":1893,"tag":2135,"props":4195,"children":4196},{"style":2156},[4197],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4199,"children":4200},{"style":2156},[4201],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":4203,"children":4204},{"style":2147},[4205],{"type":1898,"value":4206},"pipelineCreateInfo;\n",{"type":1893,"tag":2135,"props":4208,"children":4209},{"class":2137,"line":58},[4210],{"type":1893,"tag":2135,"props":4211,"children":4212},{"emptyLinePlaceholder":240},[4213],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4215,"children":4216},{"class":2137,"line":62},[4217],{"type":1893,"tag":2135,"props":4218,"children":4219},{"style":2147},[4220],{"type":1898,"value":4221},"VkPipelineBinaryHandlesInfoKHR handlesInfo;\n",{"type":1893,"tag":2135,"props":4223,"children":4224},{"class":2137,"line":66},[4225,4230,4234],{"type":1893,"tag":2135,"props":4226,"children":4227},{"style":2147},[4228],{"type":1898,"value":4229},"handlesInfo.sType ",{"type":1893,"tag":2135,"props":4231,"children":4232},{"style":2156},[4233],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4235,"children":4236},{"style":2147},[4237],{"type":1898,"value":4238}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\n",{"type":1893,"tag":2135,"props":4240,"children":4241},{"class":2137,"line":70},[4242,4247,4251,4255],{"type":1893,"tag":2135,"props":4243,"children":4244},{"style":2147},[4245],{"type":1898,"value":4246},"handlesInfo.pNext ",{"type":1893,"tag":2135,"props":4248,"children":4249},{"style":2156},[4250],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4252,"children":4253},{"style":2177},[4254],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":4256,"children":4257},{"style":2147},[4258],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":4260,"children":4261},{"class":2137,"line":74},[4262,4267,4271,4276],{"type":1893,"tag":2135,"props":4263,"children":4264},{"style":2147},[4265],{"type":1898,"value":4266},"handlesInfo.pipelineBinaryCount ",{"type":1893,"tag":2135,"props":4268,"children":4269},{"style":2156},[4270],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4272,"children":4273},{"style":2177},[4274],{"type":1898,"value":4275}," 0",{"type":1893,"tag":2135,"props":4277,"children":4278},{"style":2147},[4279],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":4281,"children":4282},{"class":2137,"line":78},[4283,4288,4292,4296],{"type":1893,"tag":2135,"props":4284,"children":4285},{"style":2147},[4286],{"type":1898,"value":4287},"handlesInfo.pPipelineBinaries ",{"type":1893,"tag":2135,"props":4289,"children":4290},{"style":2156},[4291],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4293,"children":4294},{"style":2177},[4295],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":4297,"children":4298},{"style":2147},[4299],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":4301,"children":4302},{"class":2137,"line":82},[4303],{"type":1893,"tag":2135,"props":4304,"children":4305},{"emptyLinePlaceholder":240},[4306],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4308,"children":4309},{"class":2137,"line":86},[4310,4315,4319,4324,4329,4334,4339,4343,4347,4351],{"type":1893,"tag":2135,"props":4311,"children":4312},{"style":2147},[4313],{"type":1898,"value":4314},"VkResult res ",{"type":1893,"tag":2135,"props":4316,"children":4317},{"style":2156},[4318],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4320,"children":4321},{"style":2141},[4322],{"type":1898,"value":4323}," vkCreatePipelineBinariesKHR",{"type":1893,"tag":2135,"props":4325,"children":4326},{"style":2147},[4327],{"type":1898,"value":4328},"(device, ",{"type":1893,"tag":2135,"props":4330,"children":4331},{"style":2156},[4332],{"type":1898,"value":4333},"&",{"type":1893,"tag":2135,"props":4335,"children":4336},{"style":2147},[4337],{"type":1898,"value":4338},"createInfo, ",{"type":1893,"tag":2135,"props":4340,"children":4341},{"style":2177},[4342],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":4344,"children":4345},{"style":2147},[4346],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":4348,"children":4349},{"style":2156},[4350],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":4352,"children":4353},{"style":2147},[4354],{"type":1898,"value":4355},"handlesInfo);\n",{"type":1893,"tag":2135,"props":4357,"children":4358},{"class":2137,"line":90},[4359],{"type":1893,"tag":2135,"props":4360,"children":4361},{"emptyLinePlaceholder":240},[4362],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4364,"children":4365},{"class":2137,"line":94},[4366,4371,4376,4381],{"type":1893,"tag":2135,"props":4367,"children":4368},{"style":2156},[4369],{"type":1898,"value":4370},"if",{"type":1893,"tag":2135,"props":4372,"children":4373},{"style":2147},[4374],{"type":1898,"value":4375}," (res ",{"type":1893,"tag":2135,"props":4377,"children":4378},{"style":2156},[4379],{"type":1898,"value":4380},"==",{"type":1893,"tag":2135,"props":4382,"children":4383},{"style":2147},[4384],{"type":1898,"value":4385}," VK_PIPELINE_BINARY_MISSING_KHR) {\n",{"type":1893,"tag":2135,"props":4387,"children":4388},{"class":2137,"line":98},[4389],{"type":1893,"tag":2135,"props":4390,"children":4392},{"style":4391},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[4393],{"type":1898,"value":4394}," // Attempted to create a pipeline binary, but implementation does not have it in cache.\n",{"type":1893,"tag":2135,"props":4396,"children":4397},{"class":2137,"line":102},[4398],{"type":1893,"tag":2135,"props":4399,"children":4400},{"style":4391},[4401],{"type":1898,"value":4402}," // Similar to VK_PIPELINE_COMPILE_REQUIRED, this is a positive return value.\n",{"type":1893,"tag":2135,"props":4404,"children":4405},{"class":2137,"line":106},[4406,4411],{"type":1893,"tag":2135,"props":4407,"children":4408},{"style":2156},[4409],{"type":1898,"value":4410}," return",{"type":1893,"tag":2135,"props":4412,"children":4413},{"style":2147},[4414],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":4416,"children":4417},{"class":2137,"line":110},[4418],{"type":1893,"tag":2135,"props":4419,"children":4420},{"style":2147},[4421],{"type":1898,"value":4422},"}\n",{"type":1893,"tag":2135,"props":4424,"children":4425},{"class":2137,"line":114},[4426],{"type":1893,"tag":2135,"props":4427,"children":4428},{"emptyLinePlaceholder":240},[4429],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4431,"children":4432},{"class":2137,"line":118},[4433,4438,4443,4448,4452,4457],{"type":1893,"tag":2135,"props":4434,"children":4435},{"style":2256},[4436],{"type":1898,"value":4437},"std",{"type":1893,"tag":2135,"props":4439,"children":4440},{"style":2147},[4441],{"type":1898,"value":4442},"::vector",{"type":1893,"tag":2135,"props":4444,"children":4445},{"style":2156},[4446],{"type":1898,"value":4447},"\u003C",{"type":1893,"tag":2135,"props":4449,"children":4450},{"style":2147},[4451],{"type":1898,"value":3374},{"type":1893,"tag":2135,"props":4453,"children":4454},{"style":2156},[4455],{"type":1898,"value":4456},">",{"type":1893,"tag":2135,"props":4458,"children":4459},{"style":2147},[4460],{"type":1898,"value":4461}," pipelineBinaries;\n",{"type":1893,"tag":2135,"props":4463,"children":4464},{"class":2137,"line":122},[4465,4470,4475],{"type":1893,"tag":2135,"props":4466,"children":4467},{"style":2147},[4468],{"type":1898,"value":4469},"pipelineBinaries.",{"type":1893,"tag":2135,"props":4471,"children":4472},{"style":2141},[4473],{"type":1898,"value":4474},"resize",{"type":1893,"tag":2135,"props":4476,"children":4477},{"style":2147},[4478],{"type":1898,"value":4479},"(handlesInfo.pipelineBinaryCount);\n",{"type":1893,"tag":2135,"props":4481,"children":4482},{"class":2137,"line":126},[4483],{"type":1893,"tag":2135,"props":4484,"children":4485},{"emptyLinePlaceholder":240},[4486],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4488,"children":4489},{"class":2137,"line":130},[4490,4494,4498,4503,4508],{"type":1893,"tag":2135,"props":4491,"children":4492},{"style":2147},[4493],{"type":1898,"value":4287},{"type":1893,"tag":2135,"props":4495,"children":4496},{"style":2156},[4497],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4499,"children":4500},{"style":2147},[4501],{"type":1898,"value":4502}," pipelineBinaries.",{"type":1893,"tag":2135,"props":4504,"children":4505},{"style":2141},[4506],{"type":1898,"value":4507},"data",{"type":1893,"tag":2135,"props":4509,"children":4510},{"style":2147},[4511],{"type":1898,"value":4512},"();\n",{"type":1893,"tag":2135,"props":4514,"children":4515},{"class":2137,"line":134},[4516],{"type":1893,"tag":2135,"props":4517,"children":4518},{"emptyLinePlaceholder":240},[4519],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4521,"children":4522},{"class":2137,"line":138},[4523,4527,4531,4535,4539,4543,4547,4551],{"type":1893,"tag":2135,"props":4524,"children":4525},{"style":2141},[4526],{"type":1898,"value":2678},{"type":1893,"tag":2135,"props":4528,"children":4529},{"style":2147},[4530],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":4532,"children":4533},{"style":2156},[4534],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":4536,"children":4537},{"style":2147},[4538],{"type":1898,"value":4338},{"type":1893,"tag":2135,"props":4540,"children":4541},{"style":2177},[4542],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":4544,"children":4545},{"style":2147},[4546],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":4548,"children":4549},{"style":2156},[4550],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":4552,"children":4553},{"style":2147},[4554],{"type":1898,"value":4355},{"type":1893,"tag":1894,"props":4556,"children":4557},{},[4558,4560,4565,4567,4573],{"type":1898,"value":4559},"While this mechanism looks very similar to ",{"type":1893,"tag":2044,"props":4561,"children":4563},{"className":4562},[],[4564],{"type":1898,"value":874},{"type":1898,"value":4566}," shader creation,\nthe main rationale for doing it like this,\nrather than supporting passing in ",{"type":1893,"tag":2044,"props":4568,"children":4570},{"className":4569},[],[4571],{"type":1898,"value":4572},"VK_NULL_HANDLE",{"type":1898,"value":4574}," pipeline binary to pipeline creation is:",{"type":1893,"tag":1981,"props":4576,"children":4577},{},[4578,4583],{"type":1893,"tag":1932,"props":4579,"children":4580},{},[4581],{"type":1898,"value":4582},"Can query early if pipeline creation will succeed.\nRather than having to accept arbitrary failure when compiling with identifiers only,\nthis allows an application to pull in pipeline data for all known keys up early,\nand can then later decide to kick off compilation work as needed.",{"type":1893,"tag":1932,"props":4584,"children":4585},{},[4586,4588,4593],{"type":1898,"value":4587},"Avoids potential disk I/O microstutter when creating a pipeline.\nIn the case of no handles being passed to pipeline creation, the implementation would have to do a last minute query into its\ninternal cache which would likely involve either locks and/or disk I/O,\nneither which are desirable when doing last minute pipeline creation with for example ",{"type":1893,"tag":2044,"props":4589,"children":4591},{"className":4590},[],[4592],{"type":1898,"value":635},{"type":1898,"value":3409},{"type":1893,"tag":1894,"props":4595,"children":4596},{},[4597,4599,4605],{"type":1898,"value":4598},"Just as with any internal cache, there are no guarantees that ",{"type":1893,"tag":2044,"props":4600,"children":4602},{"className":4601},[],[4603],{"type":1898,"value":4604},"VK_PIPELINE_BINARY_MISSING_KHR",{"type":1898,"value":4606}," will not be returned.\nIt is considered a best-effort system.",{"type":1893,"tag":1894,"props":4608,"children":4609},{},[4610],{"type":1898,"value":4611},"When this property is not set, applications should assume that the implementation does not provide any on-disk caching on its own.",{"type":1893,"tag":4006,"props":4613,"children":4615},{"id":4614},"_pipelinebinaryinternalcachecontrol",[4616,4617],{"type":1898,"value":2129},{"type":1893,"tag":2044,"props":4618,"children":4620},{"className":4619},[],[4621],{"type":1898,"value":4622},"pipelineBinaryInternalCacheControl",{"type":1893,"tag":1894,"props":4624,"children":4625},{},[4626,4627,4632,4634,4639,4641,4647],{"type":1898,"value":4019},{"type":1893,"tag":2044,"props":4628,"children":4630},{"className":4629},[],[4631],{"type":1898,"value":4622},{"type":1898,"value":4633}," is supported it is possible to disable the implementation’s\ninternal pipeline cache by adding the following structure to the ",{"type":1893,"tag":2044,"props":4635,"children":4637},{"className":4636},[],[4638],{"type":1898,"value":3279},{"type":1898,"value":4640}," chain of ",{"type":1893,"tag":2044,"props":4642,"children":4644},{"className":4643},[],[4645],{"type":1898,"value":4646},"VkDeviceCreateInfo",{"type":1898,"value":4648}," when creating a device:",{"type":1893,"tag":2124,"props":4650,"children":4652},{"className":2126,"code":4651,"language":2128,"meta":2129,"style":2129},"typedef struct VkDevicePipelineBinaryInternalCacheControlKHR {\n VkStructureType sType;\n const void* pNext;\n VkBool32 disableInternalCache;\n} VkDevicePipelineBinaryInternalCacheControlKHR;\n",[4653],{"type":1893,"tag":2044,"props":4654,"children":4655},{"__ignoreMap":2129},[4656,4672,4679,4695,4703],{"type":1893,"tag":2135,"props":4657,"children":4658},{"class":2137,"line":10},[4659,4663,4667],{"type":1893,"tag":2135,"props":4660,"children":4661},{"style":2156},[4662],{"type":1898,"value":2201},{"type":1893,"tag":2135,"props":4664,"children":4665},{"style":2156},[4666],{"type":1898,"value":2206},{"type":1893,"tag":2135,"props":4668,"children":4669},{"style":2147},[4670],{"type":1898,"value":4671}," VkDevicePipelineBinaryInternalCacheControlKHR {\n",{"type":1893,"tag":2135,"props":4673,"children":4674},{"class":2137,"line":14},[4675],{"type":1893,"tag":2135,"props":4676,"children":4677},{"style":2147},[4678],{"type":1898,"value":3840},{"type":1893,"tag":2135,"props":4680,"children":4681},{"class":2137,"line":18},[4682,4686,4690],{"type":1893,"tag":2135,"props":4683,"children":4684},{"style":2156},[4685],{"type":1898,"value":2371},{"type":1893,"tag":2135,"props":4687,"children":4688},{"style":2156},[4689],{"type":1898,"value":2458},{"type":1893,"tag":2135,"props":4691,"children":4692},{"style":2147},[4693],{"type":1898,"value":4694}," pNext;\n",{"type":1893,"tag":2135,"props":4696,"children":4697},{"class":2137,"line":22},[4698],{"type":1893,"tag":2135,"props":4699,"children":4700},{"style":2147},[4701],{"type":1898,"value":4702}," VkBool32 disableInternalCache;\n",{"type":1893,"tag":2135,"props":4704,"children":4705},{"class":2137,"line":26},[4706],{"type":1893,"tag":2135,"props":4707,"children":4708},{"style":2147},[4709],{"type":1898,"value":4710},"} VkDevicePipelineBinaryInternalCacheControlKHR;\n",{"type":1893,"tag":1894,"props":4712,"children":4713},{},[4714,4716,4722,4724,4730,4732,4737,4738,4743,4745,4750],{"type":1898,"value":4715},"If the ",{"type":1893,"tag":2044,"props":4717,"children":4719},{"className":4718},[],[4720],{"type":1898,"value":4721},"disableInternalCache",{"type":1898,"value":4723}," is ",{"type":1893,"tag":2044,"props":4725,"children":4727},{"className":4726},[],[4728],{"type":1898,"value":4729},"VK_TRUE",{"type":1898,"value":4731}," then the implementation’s internal cache is disabled,\nallowing an application to take full control of both memory and disk usage.\nWhen ",{"type":1893,"tag":2044,"props":4733,"children":4735},{"className":4734},[],[4736],{"type":1898,"value":4721},{"type":1898,"value":4723},{"type":1893,"tag":2044,"props":4739,"children":4741},{"className":4740},[],[4742],{"type":1898,"value":4729},{"type":1898,"value":4744},", it is not allowed to attempt creating a ",{"type":1893,"tag":2044,"props":4746,"children":4748},{"className":4747},[],[4749],{"type":1898,"value":3374},{"type":1898,"value":4751}," without providing either SPIR-V or binary data.",{"type":1893,"tag":4006,"props":4753,"children":4755},{"id":4754},"_pipelinebinaryprefersinternalcache",[4756,4757],{"type":1898,"value":2129},{"type":1893,"tag":2044,"props":4758,"children":4760},{"className":4759},[],[4761],{"type":1898,"value":4762},"pipelineBinaryPrefersInternalCache",{"type":1893,"tag":1894,"props":4764,"children":4765},{},[4766,4768,4773],{"type":1898,"value":4767},"If this is set, the implementations prefers that applications do not capture pipeline binaries themselves with ",{"type":1893,"tag":2044,"props":4769,"children":4771},{"className":4770},[],[4772],{"type":1898,"value":2078},{"type":1898,"value":4774}," and let the implementation manage the cache internally.\nRather, they can store pipeline keys or shader module identifiers instead, and aim to pull in binaries using the mechanism mentioned above.",{"type":1893,"tag":1894,"props":4776,"children":4777},{},[4778,4780,4785,4787,4792],{"type":1898,"value":4779},"An IHV implementation should not set this to ",{"type":1893,"tag":2044,"props":4781,"children":4783},{"className":4782},[],[4784],{"type":1898,"value":4729},{"type":1898,"value":4786}," in isolation.\nThe intention here is that a layer may decide to set this property to ",{"type":1893,"tag":2044,"props":4788,"children":4790},{"className":4789},[],[4791],{"type":1898,"value":4729},{"type":1898,"value":4793}," if the layer has knowledge that\nthe internal cache already exists on-disk, and is considered more important than the application’s cache.",{"type":1893,"tag":4006,"props":4795,"children":4797},{"id":4796},"_pipelinebinaryprecompiledinternalcache",[4798,4799],{"type":1898,"value":2129},{"type":1893,"tag":2044,"props":4800,"children":4802},{"className":4801},[],[4803],{"type":1898,"value":4804},"pipelineBinaryPrecompiledInternalCache",{"type":1893,"tag":1894,"props":4806,"children":4807},{},[4808],{"type":1898,"value":4809},"If this is set, this is a hint to applications that pipelines may exist in the internal cache,\ndespite the application never having observed a particular global pipeline key before.\nCreating pipeline binaries with the mechanism mentioned above may work,\nand applications are encouraged to try creating binaries from just pipeline creation infos.",{"type":1893,"tag":1894,"props":4811,"children":4812},{},[4813,4815,4820,4822,4827,4829,4834],{"type":1898,"value":4814},"This property is very similar to ",{"type":1893,"tag":2044,"props":4816,"children":4818},{"className":4817},[],[4819],{"type":1898,"value":4762},{"type":1898,"value":4821},", in that IHV implementations are not expected to set this to ",{"type":1893,"tag":2044,"props":4823,"children":4825},{"className":4824},[],[4826],{"type":1898,"value":4729},{"type":1898,"value":4828},",\nunless they can prove there exists a precompiled cache somewhere. IHV implementations are not expected or supposed to provide this on their own,\nbut a specialized platform (e.g. a game console or embedded device) may decide to provide that.\nThe intention of this property is that a layer may have knowledge about such precompiled caches existing, and may override this value to ",{"type":1893,"tag":2044,"props":4830,"children":4832},{"className":4831},[],[4833],{"type":1898,"value":4729},{"type":1898,"value":3409},{"type":1893,"tag":4006,"props":4836,"children":4838},{"id":4837},"_pipelinebinarycompresseddata",[4839,4840],{"type":1898,"value":2129},{"type":1893,"tag":2044,"props":4841,"children":4843},{"className":4842},[],[4844],{"type":1898,"value":4845},"pipelineBinaryCompressedData",{"type":1893,"tag":1894,"props":4847,"children":4848},{},[4849],{"type":1898,"value":4850},"If this is set, this is a hint to the application that the binary data is already compressed and\nthe application should not perform any compression on it.",{"type":1893,"tag":1900,"props":4852,"children":4854},{"id":4853},"_examples",[4855],{"type":1898,"value":4856},"Examples",{"type":1893,"tag":1894,"props":4858,"children":4859},{},[4860],{"type":1898,"value":4861},"The following examples illustrate using an application defined cache to lookup binaries; any constraints or features of that caching system can be expressed within the application cache itself.",{"type":1893,"tag":2110,"props":4863,"children":4865},{"id":4864},"_retrieving_the_global_key",[4866],{"type":1898,"value":4867},"Retrieving the global key",{"type":1893,"tag":2124,"props":4869,"children":4871},{"className":3900,"code":4870,"language":3902,"meta":2129,"style":2129},"// Get the global key\nVkPipelineBinaryKeyKHR globalKey;\nglobalKey.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR;\nvkGetPipelineKeyKHR(device, NULL, &globalKey);\n\n// This can be used to ensure the app's cache is valid.\n",[4872],{"type":1893,"tag":2044,"props":4873,"children":4874},{"__ignoreMap":2129},[4875,4883,4891,4908,4936,4943],{"type":1893,"tag":2135,"props":4876,"children":4877},{"class":2137,"line":10},[4878],{"type":1893,"tag":2135,"props":4879,"children":4880},{"style":4391},[4881],{"type":1898,"value":4882},"// Get the global key\n",{"type":1893,"tag":2135,"props":4884,"children":4885},{"class":2137,"line":14},[4886],{"type":1893,"tag":2135,"props":4887,"children":4888},{"style":2147},[4889],{"type":1898,"value":4890},"VkPipelineBinaryKeyKHR globalKey;\n",{"type":1893,"tag":2135,"props":4892,"children":4893},{"class":2137,"line":18},[4894,4899,4903],{"type":1893,"tag":2135,"props":4895,"children":4896},{"style":2147},[4897],{"type":1898,"value":4898},"globalKey.sType ",{"type":1893,"tag":2135,"props":4900,"children":4901},{"style":2156},[4902],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":4904,"children":4905},{"style":2147},[4906],{"type":1898,"value":4907}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR;\n",{"type":1893,"tag":2135,"props":4909,"children":4910},{"class":2137,"line":22},[4911,4915,4919,4923,4927,4931],{"type":1893,"tag":2135,"props":4912,"children":4913},{"style":2141},[4914],{"type":1898,"value":2872},{"type":1893,"tag":2135,"props":4916,"children":4917},{"style":2147},[4918],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":4920,"children":4921},{"style":2177},[4922],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":4924,"children":4925},{"style":2147},[4926],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":4928,"children":4929},{"style":2156},[4930],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":4932,"children":4933},{"style":2147},[4934],{"type":1898,"value":4935},"globalKey);\n",{"type":1893,"tag":2135,"props":4937,"children":4938},{"class":2137,"line":26},[4939],{"type":1893,"tag":2135,"props":4940,"children":4941},{"emptyLinePlaceholder":240},[4942],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4944,"children":4945},{"class":2137,"line":30},[4946],{"type":1893,"tag":2135,"props":4947,"children":4948},{"style":4391},[4949],{"type":1898,"value":4950},"// This can be used to ensure the app's cache is valid.\n",{"type":1893,"tag":2110,"props":4952,"children":4954},{"id":4953},"_retrieving_the_key_for_a_pipelinecreateinfo",[4955],{"type":1898,"value":4956},"Retrieving the key for a PipelineCreateInfo",{"type":1893,"tag":2124,"props":4958,"children":4960},{"className":3900,"code":4959,"language":3902,"meta":2129,"style":2129},"VkGraphicsPipelineCreateInfo graphicsCreateInfo;\n\n// Get the pipeline key\nVkPipelineCreateInfoKHR pipelineCreateInfo;\npipelineCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\npipelineCreateInfo.pNext = &graphicsCreateInfo;\nVkPipelineBinaryKeyKHR pipelineKey;\nvkGetPipelineKeyKHR(device, &pipelineCreateInfo, &pipelineKey);\n",[4961],{"type":1893,"tag":2044,"props":4962,"children":4963},{"__ignoreMap":2129},[4964,4971,4978,4986,4993,5008,5027,5035],{"type":1893,"tag":2135,"props":4965,"children":4966},{"class":2137,"line":10},[4967],{"type":1893,"tag":2135,"props":4968,"children":4969},{"style":2147},[4970],{"type":1898,"value":4041},{"type":1893,"tag":2135,"props":4972,"children":4973},{"class":2137,"line":14},[4974],{"type":1893,"tag":2135,"props":4975,"children":4976},{"emptyLinePlaceholder":240},[4977],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":4979,"children":4980},{"class":2137,"line":18},[4981],{"type":1893,"tag":2135,"props":4982,"children":4983},{"style":4391},[4984],{"type":1898,"value":4985},"// Get the pipeline key\n",{"type":1893,"tag":2135,"props":4987,"children":4988},{"class":2137,"line":22},[4989],{"type":1893,"tag":2135,"props":4990,"children":4991},{"style":2147},[4992],{"type":1898,"value":4056},{"type":1893,"tag":2135,"props":4994,"children":4995},{"class":2137,"line":26},[4996,5000,5004],{"type":1893,"tag":2135,"props":4997,"children":4998},{"style":2147},[4999],{"type":1898,"value":4064},{"type":1893,"tag":2135,"props":5001,"children":5002},{"style":2156},[5003],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5005,"children":5006},{"style":2147},[5007],{"type":1898,"value":4073},{"type":1893,"tag":2135,"props":5009,"children":5010},{"class":2137,"line":30},[5011,5015,5019,5023],{"type":1893,"tag":2135,"props":5012,"children":5013},{"style":2147},[5014],{"type":1898,"value":4081},{"type":1893,"tag":2135,"props":5016,"children":5017},{"style":2156},[5018],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5020,"children":5021},{"style":2156},[5022],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":5024,"children":5025},{"style":2147},[5026],{"type":1898,"value":4095},{"type":1893,"tag":2135,"props":5028,"children":5029},{"class":2137,"line":34},[5030],{"type":1893,"tag":2135,"props":5031,"children":5032},{"style":2147},[5033],{"type":1898,"value":5034},"VkPipelineBinaryKeyKHR pipelineKey;\n",{"type":1893,"tag":2135,"props":5036,"children":5037},{"class":2137,"line":38},[5038,5042,5046,5050,5055,5059],{"type":1893,"tag":2135,"props":5039,"children":5040},{"style":2141},[5041],{"type":1898,"value":2872},{"type":1893,"tag":2135,"props":5043,"children":5044},{"style":2147},[5045],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":5047,"children":5048},{"style":2156},[5049],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5051,"children":5052},{"style":2147},[5053],{"type":1898,"value":5054},"pipelineCreateInfo, ",{"type":1893,"tag":2135,"props":5056,"children":5057},{"style":2156},[5058],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5060,"children":5061},{"style":2147},[5062],{"type":1898,"value":5063},"pipelineKey);\n",{"type":1893,"tag":2110,"props":5065,"children":5067},{"id":5066},"_create_pipeline_allowing_for_future_binary_creation",[5068],{"type":1898,"value":5069},"Create pipeline allowing for future binary creation",{"type":1893,"tag":2124,"props":5071,"children":5073},{"className":3900,"code":5072,"language":3902,"meta":2129,"style":2129},"VkPipelineCreateFlags2CreateInfoKHR createFlags = {\n VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR\n};\n\ncreateFlags.flags = VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR;\n\ngraphicsCreateInfo.pNext = &createFlags;\n\n// Create the pipeline\nVkPipeline graphicsPipeline;\nvkCreateGraphicsPipelines(device, NULL, 1, &graphicsCreateInfo, NULL, &graphicsPipeline);\n",[5074],{"type":1893,"tag":2044,"props":5075,"children":5076},{"__ignoreMap":2129},[5077,5093,5101,5109,5116,5133,5140,5161,5168,5176,5184],{"type":1893,"tag":2135,"props":5078,"children":5079},{"class":2137,"line":10},[5080,5085,5089],{"type":1893,"tag":2135,"props":5081,"children":5082},{"style":2147},[5083],{"type":1898,"value":5084},"VkPipelineCreateFlags2CreateInfoKHR createFlags ",{"type":1893,"tag":2135,"props":5086,"children":5087},{"style":2156},[5088],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5090,"children":5091},{"style":2147},[5092],{"type":1898,"value":3927},{"type":1893,"tag":2135,"props":5094,"children":5095},{"class":2137,"line":14},[5096],{"type":1893,"tag":2135,"props":5097,"children":5098},{"style":2147},[5099],{"type":1898,"value":5100}," VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR\n",{"type":1893,"tag":2135,"props":5102,"children":5103},{"class":2137,"line":18},[5104],{"type":1893,"tag":2135,"props":5105,"children":5106},{"style":2147},[5107],{"type":1898,"value":5108},"};\n",{"type":1893,"tag":2135,"props":5110,"children":5111},{"class":2137,"line":22},[5112],{"type":1893,"tag":2135,"props":5113,"children":5114},{"emptyLinePlaceholder":240},[5115],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5117,"children":5118},{"class":2137,"line":26},[5119,5124,5128],{"type":1893,"tag":2135,"props":5120,"children":5121},{"style":2147},[5122],{"type":1898,"value":5123},"createFlags.flags ",{"type":1893,"tag":2135,"props":5125,"children":5126},{"style":2156},[5127],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5129,"children":5130},{"style":2147},[5131],{"type":1898,"value":5132}," VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR;\n",{"type":1893,"tag":2135,"props":5134,"children":5135},{"class":2137,"line":30},[5136],{"type":1893,"tag":2135,"props":5137,"children":5138},{"emptyLinePlaceholder":240},[5139],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5141,"children":5142},{"class":2137,"line":34},[5143,5148,5152,5156],{"type":1893,"tag":2135,"props":5144,"children":5145},{"style":2147},[5146],{"type":1898,"value":5147},"graphicsCreateInfo.pNext ",{"type":1893,"tag":2135,"props":5149,"children":5150},{"style":2156},[5151],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5153,"children":5154},{"style":2156},[5155],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":5157,"children":5158},{"style":2147},[5159],{"type":1898,"value":5160},"createFlags;\n",{"type":1893,"tag":2135,"props":5162,"children":5163},{"class":2137,"line":38},[5164],{"type":1893,"tag":2135,"props":5165,"children":5166},{"emptyLinePlaceholder":240},[5167],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5169,"children":5170},{"class":2137,"line":42},[5171],{"type":1893,"tag":2135,"props":5172,"children":5173},{"style":4391},[5174],{"type":1898,"value":5175},"// Create the pipeline\n",{"type":1893,"tag":2135,"props":5177,"children":5178},{"class":2137,"line":46},[5179],{"type":1893,"tag":2135,"props":5180,"children":5181},{"style":2147},[5182],{"type":1898,"value":5183},"VkPipeline graphicsPipeline;\n",{"type":1893,"tag":2135,"props":5185,"children":5186},{"class":2137,"line":50},[5187,5192,5196,5200,5204,5209,5213,5217,5222,5226,5230,5234],{"type":1893,"tag":2135,"props":5188,"children":5189},{"style":2141},[5190],{"type":1898,"value":5191},"vkCreateGraphicsPipelines",{"type":1893,"tag":2135,"props":5193,"children":5194},{"style":2147},[5195],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":5197,"children":5198},{"style":2177},[5199],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":5201,"children":5202},{"style":2147},[5203],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":5205,"children":5206},{"style":2177},[5207],{"type":1898,"value":5208},"1",{"type":1893,"tag":2135,"props":5210,"children":5211},{"style":2147},[5212],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":5214,"children":5215},{"style":2156},[5216],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5218,"children":5219},{"style":2147},[5220],{"type":1898,"value":5221},"graphicsCreateInfo, ",{"type":1893,"tag":2135,"props":5223,"children":5224},{"style":2177},[5225],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":5227,"children":5228},{"style":2147},[5229],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":5231,"children":5232},{"style":2156},[5233],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5235,"children":5236},{"style":2147},[5237],{"type":1898,"value":5238},"graphicsPipeline);\n",{"type":1893,"tag":2110,"props":5240,"children":5242},{"id":5241},"_get_new_binaries_and_store_to_application_cache",[5243],{"type":1898,"value":5244},"Get new binaries and store to application cache",{"type":1893,"tag":2124,"props":5246,"children":5248},{"className":3900,"code":5247,"language":3902,"meta":2129,"style":2129},"VkPipelineBinaryCreateInfoKHR createInfo;\ncreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\ncreateInfo.pNext = NULL;\ncreateInfo.pKeysAndDataInfo = NULL;\ncreateInfo.pipeline = graphicsPipeline;\ncreateInfo.pPipelineCreateInfo = NULL;\n\nVkPipelineBinaryHandlesInfoKHR handlesInfo;\nhandlesInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\nhandlesInfo.pNext = NULL;\nhandlesInfo.pipelineBinaryCount = 0;\nhandlesInfo.pPipelineBinaries = NULL;\n\nvkCreatePipelineBinariesKHR(device, &createInfo, NULL, &handlesInfo);\n\nstd::vector\u003CVkPipelineBinaryKHR> pipelineBinaries;\npipelineBinaries.resize(handlesInfo.pipelineBinaryCount);\n\nhandlesInfo.pPipelineBinaries = pipelineBinaries.data();\n\nvkCreatePipelineBinariesKHR(device, &createInfo, NULL, &handlesInfo);\n\nvector\u003CVkPipelineBinaryKeyKHR> binaryKeys;\nbinaryKeys.resize(handlesInfo.pipelineBinaryCount);\n\n// Store to application cache\nfor (int i = 0; i \u003C handlesInfo.pipelineBinaryCount; ++i) {\n VkPipelineBinaryDataInfoKHR binaryInfo;\n binaryInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR;\n binaryInfo.pNext = NULL;\n binaryInfo.pipelineBinary = pipelineBinaries[i];\n\n size_t binaryDataSize = 0;\n vkGetPipelineBinaryDataKHR(device, &binaryInfo, &binaryKeys[i], &binaryDataSize, NULL);\n vector\u003Cuint_8> data;\n binaryData.resize(binaryDataSize);\n vkGetPipelineBinaryDataKHR(device, &binaryInfo, &binaryKeys[i], &binaryDataSize, binaryData.data());\n\n ApplicationBinaryCache.insert(binaryKeys[i], binaryData);\n}\n\n// Store pipeline key -> binary keys mapping\nApplicationCache.insert(pipelineKey, binaryKeys);\n\n// Free any possible resources associated with binary creation for the pipeline\nvkReleaseCapturedPipelineDataKHR(device, graphicsPipeline, NULL);\n",[5249],{"type":1893,"tag":2044,"props":5250,"children":5251},{"__ignoreMap":2129},[5252,5259,5274,5293,5312,5328,5347,5354,5361,5376,5395,5414,5433,5440,5475,5482,5509,5524,5531,5554,5561,5596,5603,5629,5645,5652,5660,5715,5723,5740,5760,5777,5784,5808,5855,5881,5898,5943,5950,5968,5975,5982,5990,6007,6014,6022],{"type":1893,"tag":2135,"props":5253,"children":5254},{"class":2137,"line":10},[5255],{"type":1893,"tag":2135,"props":5256,"children":5257},{"style":2147},[5258],{"type":1898,"value":4110},{"type":1893,"tag":2135,"props":5260,"children":5261},{"class":2137,"line":14},[5262,5266,5270],{"type":1893,"tag":2135,"props":5263,"children":5264},{"style":2147},[5265],{"type":1898,"value":4118},{"type":1893,"tag":2135,"props":5267,"children":5268},{"style":2156},[5269],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5271,"children":5272},{"style":2147},[5273],{"type":1898,"value":4127},{"type":1893,"tag":2135,"props":5275,"children":5276},{"class":2137,"line":18},[5277,5281,5285,5289],{"type":1893,"tag":2135,"props":5278,"children":5279},{"style":2147},[5280],{"type":1898,"value":4135},{"type":1893,"tag":2135,"props":5282,"children":5283},{"style":2156},[5284],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5286,"children":5287},{"style":2177},[5288],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":5290,"children":5291},{"style":2147},[5292],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5294,"children":5295},{"class":2137,"line":22},[5296,5300,5304,5308],{"type":1893,"tag":2135,"props":5297,"children":5298},{"style":2147},[5299],{"type":1898,"value":4156},{"type":1893,"tag":2135,"props":5301,"children":5302},{"style":2156},[5303],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5305,"children":5306},{"style":2177},[5307],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":5309,"children":5310},{"style":2147},[5311],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5313,"children":5314},{"class":2137,"line":26},[5315,5319,5323],{"type":1893,"tag":2135,"props":5316,"children":5317},{"style":2147},[5318],{"type":1898,"value":4176},{"type":1893,"tag":2135,"props":5320,"children":5321},{"style":2156},[5322],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5324,"children":5325},{"style":2147},[5326],{"type":1898,"value":5327}," graphicsPipeline;\n",{"type":1893,"tag":2135,"props":5329,"children":5330},{"class":2137,"line":30},[5331,5335,5339,5343],{"type":1893,"tag":2135,"props":5332,"children":5333},{"style":2147},[5334],{"type":1898,"value":4193},{"type":1893,"tag":2135,"props":5336,"children":5337},{"style":2156},[5338],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5340,"children":5341},{"style":2177},[5342],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":5344,"children":5345},{"style":2147},[5346],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5348,"children":5349},{"class":2137,"line":34},[5350],{"type":1893,"tag":2135,"props":5351,"children":5352},{"emptyLinePlaceholder":240},[5353],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5355,"children":5356},{"class":2137,"line":38},[5357],{"type":1893,"tag":2135,"props":5358,"children":5359},{"style":2147},[5360],{"type":1898,"value":4221},{"type":1893,"tag":2135,"props":5362,"children":5363},{"class":2137,"line":42},[5364,5368,5372],{"type":1893,"tag":2135,"props":5365,"children":5366},{"style":2147},[5367],{"type":1898,"value":4229},{"type":1893,"tag":2135,"props":5369,"children":5370},{"style":2156},[5371],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5373,"children":5374},{"style":2147},[5375],{"type":1898,"value":4238},{"type":1893,"tag":2135,"props":5377,"children":5378},{"class":2137,"line":46},[5379,5383,5387,5391],{"type":1893,"tag":2135,"props":5380,"children":5381},{"style":2147},[5382],{"type":1898,"value":4246},{"type":1893,"tag":2135,"props":5384,"children":5385},{"style":2156},[5386],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5388,"children":5389},{"style":2177},[5390],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":5392,"children":5393},{"style":2147},[5394],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5396,"children":5397},{"class":2137,"line":50},[5398,5402,5406,5410],{"type":1893,"tag":2135,"props":5399,"children":5400},{"style":2147},[5401],{"type":1898,"value":4266},{"type":1893,"tag":2135,"props":5403,"children":5404},{"style":2156},[5405],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5407,"children":5408},{"style":2177},[5409],{"type":1898,"value":4275},{"type":1893,"tag":2135,"props":5411,"children":5412},{"style":2147},[5413],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5415,"children":5416},{"class":2137,"line":54},[5417,5421,5425,5429],{"type":1893,"tag":2135,"props":5418,"children":5419},{"style":2147},[5420],{"type":1898,"value":4287},{"type":1893,"tag":2135,"props":5422,"children":5423},{"style":2156},[5424],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5426,"children":5427},{"style":2177},[5428],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":5430,"children":5431},{"style":2147},[5432],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5434,"children":5435},{"class":2137,"line":58},[5436],{"type":1893,"tag":2135,"props":5437,"children":5438},{"emptyLinePlaceholder":240},[5439],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5441,"children":5442},{"class":2137,"line":62},[5443,5447,5451,5455,5459,5463,5467,5471],{"type":1893,"tag":2135,"props":5444,"children":5445},{"style":2141},[5446],{"type":1898,"value":2678},{"type":1893,"tag":2135,"props":5448,"children":5449},{"style":2147},[5450],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":5452,"children":5453},{"style":2156},[5454],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5456,"children":5457},{"style":2147},[5458],{"type":1898,"value":4338},{"type":1893,"tag":2135,"props":5460,"children":5461},{"style":2177},[5462],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":5464,"children":5465},{"style":2147},[5466],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":5468,"children":5469},{"style":2156},[5470],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5472,"children":5473},{"style":2147},[5474],{"type":1898,"value":4355},{"type":1893,"tag":2135,"props":5476,"children":5477},{"class":2137,"line":66},[5478],{"type":1893,"tag":2135,"props":5479,"children":5480},{"emptyLinePlaceholder":240},[5481],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5483,"children":5484},{"class":2137,"line":70},[5485,5489,5493,5497,5501,5505],{"type":1893,"tag":2135,"props":5486,"children":5487},{"style":2256},[5488],{"type":1898,"value":4437},{"type":1893,"tag":2135,"props":5490,"children":5491},{"style":2147},[5492],{"type":1898,"value":4442},{"type":1893,"tag":2135,"props":5494,"children":5495},{"style":2156},[5496],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":5498,"children":5499},{"style":2147},[5500],{"type":1898,"value":3374},{"type":1893,"tag":2135,"props":5502,"children":5503},{"style":2156},[5504],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":5506,"children":5507},{"style":2147},[5508],{"type":1898,"value":4461},{"type":1893,"tag":2135,"props":5510,"children":5511},{"class":2137,"line":74},[5512,5516,5520],{"type":1893,"tag":2135,"props":5513,"children":5514},{"style":2147},[5515],{"type":1898,"value":4469},{"type":1893,"tag":2135,"props":5517,"children":5518},{"style":2141},[5519],{"type":1898,"value":4474},{"type":1893,"tag":2135,"props":5521,"children":5522},{"style":2147},[5523],{"type":1898,"value":4479},{"type":1893,"tag":2135,"props":5525,"children":5526},{"class":2137,"line":78},[5527],{"type":1893,"tag":2135,"props":5528,"children":5529},{"emptyLinePlaceholder":240},[5530],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5532,"children":5533},{"class":2137,"line":82},[5534,5538,5542,5546,5550],{"type":1893,"tag":2135,"props":5535,"children":5536},{"style":2147},[5537],{"type":1898,"value":4287},{"type":1893,"tag":2135,"props":5539,"children":5540},{"style":2156},[5541],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5543,"children":5544},{"style":2147},[5545],{"type":1898,"value":4502},{"type":1893,"tag":2135,"props":5547,"children":5548},{"style":2141},[5549],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":5551,"children":5552},{"style":2147},[5553],{"type":1898,"value":4512},{"type":1893,"tag":2135,"props":5555,"children":5556},{"class":2137,"line":86},[5557],{"type":1893,"tag":2135,"props":5558,"children":5559},{"emptyLinePlaceholder":240},[5560],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5562,"children":5563},{"class":2137,"line":90},[5564,5568,5572,5576,5580,5584,5588,5592],{"type":1893,"tag":2135,"props":5565,"children":5566},{"style":2141},[5567],{"type":1898,"value":2678},{"type":1893,"tag":2135,"props":5569,"children":5570},{"style":2147},[5571],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":5573,"children":5574},{"style":2156},[5575],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5577,"children":5578},{"style":2147},[5579],{"type":1898,"value":4338},{"type":1893,"tag":2135,"props":5581,"children":5582},{"style":2177},[5583],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":5585,"children":5586},{"style":2147},[5587],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":5589,"children":5590},{"style":2156},[5591],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5593,"children":5594},{"style":2147},[5595],{"type":1898,"value":4355},{"type":1893,"tag":2135,"props":5597,"children":5598},{"class":2137,"line":94},[5599],{"type":1893,"tag":2135,"props":5600,"children":5601},{"emptyLinePlaceholder":240},[5602],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5604,"children":5605},{"class":2137,"line":98},[5606,5611,5615,5620,5624],{"type":1893,"tag":2135,"props":5607,"children":5608},{"style":2147},[5609],{"type":1898,"value":5610},"vector",{"type":1893,"tag":2135,"props":5612,"children":5613},{"style":2156},[5614],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":5616,"children":5617},{"style":2147},[5618],{"type":1898,"value":5619},"VkPipelineBinaryKeyKHR",{"type":1893,"tag":2135,"props":5621,"children":5622},{"style":2156},[5623],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":5625,"children":5626},{"style":2147},[5627],{"type":1898,"value":5628}," binaryKeys;\n",{"type":1893,"tag":2135,"props":5630,"children":5631},{"class":2137,"line":102},[5632,5637,5641],{"type":1893,"tag":2135,"props":5633,"children":5634},{"style":2147},[5635],{"type":1898,"value":5636},"binaryKeys.",{"type":1893,"tag":2135,"props":5638,"children":5639},{"style":2141},[5640],{"type":1898,"value":4474},{"type":1893,"tag":2135,"props":5642,"children":5643},{"style":2147},[5644],{"type":1898,"value":4479},{"type":1893,"tag":2135,"props":5646,"children":5647},{"class":2137,"line":106},[5648],{"type":1893,"tag":2135,"props":5649,"children":5650},{"emptyLinePlaceholder":240},[5651],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5653,"children":5654},{"class":2137,"line":110},[5655],{"type":1893,"tag":2135,"props":5656,"children":5657},{"style":4391},[5658],{"type":1898,"value":5659},"// Store to application cache\n",{"type":1893,"tag":2135,"props":5661,"children":5662},{"class":2137,"line":114},[5663,5668,5673,5678,5683,5687,5691,5696,5700,5705,5710],{"type":1893,"tag":2135,"props":5664,"children":5665},{"style":2156},[5666],{"type":1898,"value":5667},"for",{"type":1893,"tag":2135,"props":5669,"children":5670},{"style":2147},[5671],{"type":1898,"value":5672}," (",{"type":1893,"tag":2135,"props":5674,"children":5675},{"style":2156},[5676],{"type":1898,"value":5677},"int",{"type":1893,"tag":2135,"props":5679,"children":5680},{"style":2147},[5681],{"type":1898,"value":5682}," i ",{"type":1893,"tag":2135,"props":5684,"children":5685},{"style":2156},[5686],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5688,"children":5689},{"style":2177},[5690],{"type":1898,"value":4275},{"type":1893,"tag":2135,"props":5692,"children":5693},{"style":2147},[5694],{"type":1898,"value":5695},"; i ",{"type":1893,"tag":2135,"props":5697,"children":5698},{"style":2156},[5699],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":5701,"children":5702},{"style":2147},[5703],{"type":1898,"value":5704}," handlesInfo.pipelineBinaryCount; ",{"type":1893,"tag":2135,"props":5706,"children":5707},{"style":2156},[5708],{"type":1898,"value":5709},"++",{"type":1893,"tag":2135,"props":5711,"children":5712},{"style":2147},[5713],{"type":1898,"value":5714},"i) {\n",{"type":1893,"tag":2135,"props":5716,"children":5717},{"class":2137,"line":118},[5718],{"type":1893,"tag":2135,"props":5719,"children":5720},{"style":2147},[5721],{"type":1898,"value":5722}," VkPipelineBinaryDataInfoKHR binaryInfo;\n",{"type":1893,"tag":2135,"props":5724,"children":5725},{"class":2137,"line":122},[5726,5731,5735],{"type":1893,"tag":2135,"props":5727,"children":5728},{"style":2147},[5729],{"type":1898,"value":5730}," binaryInfo.sType ",{"type":1893,"tag":2135,"props":5732,"children":5733},{"style":2156},[5734],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5736,"children":5737},{"style":2147},[5738],{"type":1898,"value":5739}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR;\n",{"type":1893,"tag":2135,"props":5741,"children":5742},{"class":2137,"line":126},[5743,5748,5752,5756],{"type":1893,"tag":2135,"props":5744,"children":5745},{"style":2147},[5746],{"type":1898,"value":5747}," binaryInfo.pNext ",{"type":1893,"tag":2135,"props":5749,"children":5750},{"style":2156},[5751],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5753,"children":5754},{"style":2177},[5755],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":5757,"children":5758},{"style":2147},[5759],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5761,"children":5762},{"class":2137,"line":130},[5763,5768,5772],{"type":1893,"tag":2135,"props":5764,"children":5765},{"style":2147},[5766],{"type":1898,"value":5767}," binaryInfo.pipelineBinary ",{"type":1893,"tag":2135,"props":5769,"children":5770},{"style":2156},[5771],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5773,"children":5774},{"style":2147},[5775],{"type":1898,"value":5776}," pipelineBinaries[i];\n",{"type":1893,"tag":2135,"props":5778,"children":5779},{"class":2137,"line":134},[5780],{"type":1893,"tag":2135,"props":5781,"children":5782},{"emptyLinePlaceholder":240},[5783],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5785,"children":5786},{"class":2137,"line":138},[5787,5791,5796,5800,5804],{"type":1893,"tag":2135,"props":5788,"children":5789},{"style":2156},[5790],{"type":1898,"value":2303},{"type":1893,"tag":2135,"props":5792,"children":5793},{"style":2147},[5794],{"type":1898,"value":5795}," binaryDataSize ",{"type":1893,"tag":2135,"props":5797,"children":5798},{"style":2156},[5799],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":5801,"children":5802},{"style":2177},[5803],{"type":1898,"value":4275},{"type":1893,"tag":2135,"props":5805,"children":5806},{"style":2147},[5807],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":5809,"children":5810},{"class":2137,"line":142},[5811,5816,5820,5824,5829,5833,5838,5842,5847,5851],{"type":1893,"tag":2135,"props":5812,"children":5813},{"style":2141},[5814],{"type":1898,"value":5815}," vkGetPipelineBinaryDataKHR",{"type":1893,"tag":2135,"props":5817,"children":5818},{"style":2147},[5819],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":5821,"children":5822},{"style":2156},[5823],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5825,"children":5826},{"style":2147},[5827],{"type":1898,"value":5828},"binaryInfo, ",{"type":1893,"tag":2135,"props":5830,"children":5831},{"style":2156},[5832],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5834,"children":5835},{"style":2147},[5836],{"type":1898,"value":5837},"binaryKeys[i], ",{"type":1893,"tag":2135,"props":5839,"children":5840},{"style":2156},[5841],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5843,"children":5844},{"style":2147},[5845],{"type":1898,"value":5846},"binaryDataSize, ",{"type":1893,"tag":2135,"props":5848,"children":5849},{"style":2177},[5850],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":5852,"children":5853},{"style":2147},[5854],{"type":1898,"value":2772},{"type":1893,"tag":2135,"props":5856,"children":5857},{"class":2137,"line":146},[5858,5863,5867,5872,5876],{"type":1893,"tag":2135,"props":5859,"children":5860},{"style":2147},[5861],{"type":1898,"value":5862}," vector",{"type":1893,"tag":2135,"props":5864,"children":5865},{"style":2156},[5866],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":5868,"children":5869},{"style":2147},[5870],{"type":1898,"value":5871},"uint_8",{"type":1893,"tag":2135,"props":5873,"children":5874},{"style":2156},[5875],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":5877,"children":5878},{"style":2147},[5879],{"type":1898,"value":5880}," data;\n",{"type":1893,"tag":2135,"props":5882,"children":5883},{"class":2137,"line":150},[5884,5889,5893],{"type":1893,"tag":2135,"props":5885,"children":5886},{"style":2147},[5887],{"type":1898,"value":5888}," binaryData.",{"type":1893,"tag":2135,"props":5890,"children":5891},{"style":2141},[5892],{"type":1898,"value":4474},{"type":1893,"tag":2135,"props":5894,"children":5895},{"style":2147},[5896],{"type":1898,"value":5897},"(binaryDataSize);\n",{"type":1893,"tag":2135,"props":5899,"children":5900},{"class":2137,"line":154},[5901,5905,5909,5913,5917,5921,5925,5929,5934,5938],{"type":1893,"tag":2135,"props":5902,"children":5903},{"style":2141},[5904],{"type":1898,"value":5815},{"type":1893,"tag":2135,"props":5906,"children":5907},{"style":2147},[5908],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":5910,"children":5911},{"style":2156},[5912],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5914,"children":5915},{"style":2147},[5916],{"type":1898,"value":5828},{"type":1893,"tag":2135,"props":5918,"children":5919},{"style":2156},[5920],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5922,"children":5923},{"style":2147},[5924],{"type":1898,"value":5837},{"type":1893,"tag":2135,"props":5926,"children":5927},{"style":2156},[5928],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":5930,"children":5931},{"style":2147},[5932],{"type":1898,"value":5933},"binaryDataSize, binaryData.",{"type":1893,"tag":2135,"props":5935,"children":5936},{"style":2141},[5937],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":5939,"children":5940},{"style":2147},[5941],{"type":1898,"value":5942},"());\n",{"type":1893,"tag":2135,"props":5944,"children":5945},{"class":2137,"line":158},[5946],{"type":1893,"tag":2135,"props":5947,"children":5948},{"emptyLinePlaceholder":240},[5949],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5951,"children":5952},{"class":2137,"line":162},[5953,5958,5963],{"type":1893,"tag":2135,"props":5954,"children":5955},{"style":2147},[5956],{"type":1898,"value":5957}," ApplicationBinaryCache.",{"type":1893,"tag":2135,"props":5959,"children":5960},{"style":2141},[5961],{"type":1898,"value":5962},"insert",{"type":1893,"tag":2135,"props":5964,"children":5965},{"style":2147},[5966],{"type":1898,"value":5967},"(binaryKeys[i], binaryData);\n",{"type":1893,"tag":2135,"props":5969,"children":5970},{"class":2137,"line":166},[5971],{"type":1893,"tag":2135,"props":5972,"children":5973},{"style":2147},[5974],{"type":1898,"value":4422},{"type":1893,"tag":2135,"props":5976,"children":5977},{"class":2137,"line":170},[5978],{"type":1893,"tag":2135,"props":5979,"children":5980},{"emptyLinePlaceholder":240},[5981],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":5983,"children":5984},{"class":2137,"line":174},[5985],{"type":1893,"tag":2135,"props":5986,"children":5987},{"style":4391},[5988],{"type":1898,"value":5989},"// Store pipeline key -> binary keys mapping\n",{"type":1893,"tag":2135,"props":5991,"children":5992},{"class":2137,"line":178},[5993,5998,6002],{"type":1893,"tag":2135,"props":5994,"children":5995},{"style":2147},[5996],{"type":1898,"value":5997},"ApplicationCache.",{"type":1893,"tag":2135,"props":5999,"children":6000},{"style":2141},[6001],{"type":1898,"value":5962},{"type":1893,"tag":2135,"props":6003,"children":6004},{"style":2147},[6005],{"type":1898,"value":6006},"(pipelineKey, binaryKeys);\n",{"type":1893,"tag":2135,"props":6008,"children":6009},{"class":2137,"line":182},[6010],{"type":1893,"tag":2135,"props":6011,"children":6012},{"emptyLinePlaceholder":240},[6013],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6015,"children":6016},{"class":2137,"line":186},[6017],{"type":1893,"tag":2135,"props":6018,"children":6019},{"style":4391},[6020],{"type":1898,"value":6021},"// Free any possible resources associated with binary creation for the pipeline\n",{"type":1893,"tag":2135,"props":6023,"children":6024},{"class":2137,"line":190},[6025,6029,6034,6038],{"type":1893,"tag":2135,"props":6026,"children":6027},{"style":2141},[6028],{"type":1898,"value":3195},{"type":1893,"tag":2135,"props":6030,"children":6031},{"style":2147},[6032],{"type":1898,"value":6033},"(device, graphicsPipeline, ",{"type":1893,"tag":2135,"props":6035,"children":6036},{"style":2177},[6037],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":6039,"children":6040},{"style":2147},[6041],{"type":1898,"value":2772},{"type":1893,"tag":2110,"props":6043,"children":6045},{"id":6044},"_get_binaries_from_application_cache",[6046],{"type":1898,"value":6047},"Get binaries from application cache",{"type":1893,"tag":2124,"props":6049,"children":6051},{"className":3900,"code":6050,"language":3902,"meta":2129,"style":2129},"// Get the pipeline key\nVkPipelineCreateInfoKHR pipelineCreateInfo;\npipelineCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\npipelineCreateInfo.pNext = &graphicsCreateInfo;\nVkPipelineBinaryKeyKHR pipelineKey;\nvkGetPipelineKeyKHR(device, &pipelineCreateInfo, &pipelineKey);\n\n// Get the binary keys\nvector\u003CVkPipelineBinaryKeyKHR> binaryKeys;\nApplicationCache.get(pipelineKey, binaryKeys);\n\n// Get the binary data\nstd::vector\u003CVkPipelineBinaryDataKHR> pipelineDatas;\npipelineDatas.resize(binaryKeys.size());\n\nfor (int i = 0; i \u003C binaryKeys.size(); ++i) {\n // Retrieve VkPipelineBinaryKHR handle from cache\n ApplicationBinaryCache.get(binaryKeys[i], &pipelineDatas[i]);\n}\n",[6052],{"type":1893,"tag":2044,"props":6053,"children":6054},{"__ignoreMap":2129},[6055,6062,6069,6084,6103,6110,6137,6144,6152,6175,6191,6198,6206,6235,6261,6268,6325,6333,6358],{"type":1893,"tag":2135,"props":6056,"children":6057},{"class":2137,"line":10},[6058],{"type":1893,"tag":2135,"props":6059,"children":6060},{"style":4391},[6061],{"type":1898,"value":4985},{"type":1893,"tag":2135,"props":6063,"children":6064},{"class":2137,"line":14},[6065],{"type":1893,"tag":2135,"props":6066,"children":6067},{"style":2147},[6068],{"type":1898,"value":4056},{"type":1893,"tag":2135,"props":6070,"children":6071},{"class":2137,"line":18},[6072,6076,6080],{"type":1893,"tag":2135,"props":6073,"children":6074},{"style":2147},[6075],{"type":1898,"value":4064},{"type":1893,"tag":2135,"props":6077,"children":6078},{"style":2156},[6079],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6081,"children":6082},{"style":2147},[6083],{"type":1898,"value":4073},{"type":1893,"tag":2135,"props":6085,"children":6086},{"class":2137,"line":22},[6087,6091,6095,6099],{"type":1893,"tag":2135,"props":6088,"children":6089},{"style":2147},[6090],{"type":1898,"value":4081},{"type":1893,"tag":2135,"props":6092,"children":6093},{"style":2156},[6094],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6096,"children":6097},{"style":2156},[6098],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":6100,"children":6101},{"style":2147},[6102],{"type":1898,"value":4095},{"type":1893,"tag":2135,"props":6104,"children":6105},{"class":2137,"line":26},[6106],{"type":1893,"tag":2135,"props":6107,"children":6108},{"style":2147},[6109],{"type":1898,"value":5034},{"type":1893,"tag":2135,"props":6111,"children":6112},{"class":2137,"line":30},[6113,6117,6121,6125,6129,6133],{"type":1893,"tag":2135,"props":6114,"children":6115},{"style":2141},[6116],{"type":1898,"value":2872},{"type":1893,"tag":2135,"props":6118,"children":6119},{"style":2147},[6120],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":6122,"children":6123},{"style":2156},[6124],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":6126,"children":6127},{"style":2147},[6128],{"type":1898,"value":5054},{"type":1893,"tag":2135,"props":6130,"children":6131},{"style":2156},[6132],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":6134,"children":6135},{"style":2147},[6136],{"type":1898,"value":5063},{"type":1893,"tag":2135,"props":6138,"children":6139},{"class":2137,"line":34},[6140],{"type":1893,"tag":2135,"props":6141,"children":6142},{"emptyLinePlaceholder":240},[6143],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6145,"children":6146},{"class":2137,"line":38},[6147],{"type":1893,"tag":2135,"props":6148,"children":6149},{"style":4391},[6150],{"type":1898,"value":6151},"// Get the binary keys\n",{"type":1893,"tag":2135,"props":6153,"children":6154},{"class":2137,"line":42},[6155,6159,6163,6167,6171],{"type":1893,"tag":2135,"props":6156,"children":6157},{"style":2147},[6158],{"type":1898,"value":5610},{"type":1893,"tag":2135,"props":6160,"children":6161},{"style":2156},[6162],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":6164,"children":6165},{"style":2147},[6166],{"type":1898,"value":5619},{"type":1893,"tag":2135,"props":6168,"children":6169},{"style":2156},[6170],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":6172,"children":6173},{"style":2147},[6174],{"type":1898,"value":5628},{"type":1893,"tag":2135,"props":6176,"children":6177},{"class":2137,"line":46},[6178,6182,6187],{"type":1893,"tag":2135,"props":6179,"children":6180},{"style":2147},[6181],{"type":1898,"value":5997},{"type":1893,"tag":2135,"props":6183,"children":6184},{"style":2141},[6185],{"type":1898,"value":6186},"get",{"type":1893,"tag":2135,"props":6188,"children":6189},{"style":2147},[6190],{"type":1898,"value":6006},{"type":1893,"tag":2135,"props":6192,"children":6193},{"class":2137,"line":50},[6194],{"type":1893,"tag":2135,"props":6195,"children":6196},{"emptyLinePlaceholder":240},[6197],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6199,"children":6200},{"class":2137,"line":54},[6201],{"type":1893,"tag":2135,"props":6202,"children":6203},{"style":4391},[6204],{"type":1898,"value":6205},"// Get the binary data\n",{"type":1893,"tag":2135,"props":6207,"children":6208},{"class":2137,"line":58},[6209,6213,6217,6221,6226,6230],{"type":1893,"tag":2135,"props":6210,"children":6211},{"style":2256},[6212],{"type":1898,"value":4437},{"type":1893,"tag":2135,"props":6214,"children":6215},{"style":2147},[6216],{"type":1898,"value":4442},{"type":1893,"tag":2135,"props":6218,"children":6219},{"style":2156},[6220],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":6222,"children":6223},{"style":2147},[6224],{"type":1898,"value":6225},"VkPipelineBinaryDataKHR",{"type":1893,"tag":2135,"props":6227,"children":6228},{"style":2156},[6229],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":6231,"children":6232},{"style":2147},[6233],{"type":1898,"value":6234}," pipelineDatas;\n",{"type":1893,"tag":2135,"props":6236,"children":6237},{"class":2137,"line":62},[6238,6243,6247,6252,6257],{"type":1893,"tag":2135,"props":6239,"children":6240},{"style":2147},[6241],{"type":1898,"value":6242},"pipelineDatas.",{"type":1893,"tag":2135,"props":6244,"children":6245},{"style":2141},[6246],{"type":1898,"value":4474},{"type":1893,"tag":2135,"props":6248,"children":6249},{"style":2147},[6250],{"type":1898,"value":6251},"(binaryKeys.",{"type":1893,"tag":2135,"props":6253,"children":6254},{"style":2141},[6255],{"type":1898,"value":6256},"size",{"type":1893,"tag":2135,"props":6258,"children":6259},{"style":2147},[6260],{"type":1898,"value":5942},{"type":1893,"tag":2135,"props":6262,"children":6263},{"class":2137,"line":66},[6264],{"type":1893,"tag":2135,"props":6265,"children":6266},{"emptyLinePlaceholder":240},[6267],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6269,"children":6270},{"class":2137,"line":70},[6271,6275,6279,6283,6287,6291,6295,6299,6303,6308,6312,6317,6321],{"type":1893,"tag":2135,"props":6272,"children":6273},{"style":2156},[6274],{"type":1898,"value":5667},{"type":1893,"tag":2135,"props":6276,"children":6277},{"style":2147},[6278],{"type":1898,"value":5672},{"type":1893,"tag":2135,"props":6280,"children":6281},{"style":2156},[6282],{"type":1898,"value":5677},{"type":1893,"tag":2135,"props":6284,"children":6285},{"style":2147},[6286],{"type":1898,"value":5682},{"type":1893,"tag":2135,"props":6288,"children":6289},{"style":2156},[6290],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6292,"children":6293},{"style":2177},[6294],{"type":1898,"value":4275},{"type":1893,"tag":2135,"props":6296,"children":6297},{"style":2147},[6298],{"type":1898,"value":5695},{"type":1893,"tag":2135,"props":6300,"children":6301},{"style":2156},[6302],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":6304,"children":6305},{"style":2147},[6306],{"type":1898,"value":6307}," binaryKeys.",{"type":1893,"tag":2135,"props":6309,"children":6310},{"style":2141},[6311],{"type":1898,"value":6256},{"type":1893,"tag":2135,"props":6313,"children":6314},{"style":2147},[6315],{"type":1898,"value":6316},"(); ",{"type":1893,"tag":2135,"props":6318,"children":6319},{"style":2156},[6320],{"type":1898,"value":5709},{"type":1893,"tag":2135,"props":6322,"children":6323},{"style":2147},[6324],{"type":1898,"value":5714},{"type":1893,"tag":2135,"props":6326,"children":6327},{"class":2137,"line":74},[6328],{"type":1893,"tag":2135,"props":6329,"children":6330},{"style":4391},[6331],{"type":1898,"value":6332}," // Retrieve VkPipelineBinaryKHR handle from cache\n",{"type":1893,"tag":2135,"props":6334,"children":6335},{"class":2137,"line":78},[6336,6340,6344,6349,6353],{"type":1893,"tag":2135,"props":6337,"children":6338},{"style":2147},[6339],{"type":1898,"value":5957},{"type":1893,"tag":2135,"props":6341,"children":6342},{"style":2141},[6343],{"type":1898,"value":6186},{"type":1893,"tag":2135,"props":6345,"children":6346},{"style":2147},[6347],{"type":1898,"value":6348},"(binaryKeys[i], ",{"type":1893,"tag":2135,"props":6350,"children":6351},{"style":2156},[6352],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":6354,"children":6355},{"style":2147},[6356],{"type":1898,"value":6357},"pipelineDatas[i]);\n",{"type":1893,"tag":2135,"props":6359,"children":6360},{"class":2137,"line":82},[6361],{"type":1893,"tag":2135,"props":6362,"children":6363},{"style":2147},[6364],{"type":1898,"value":4422},{"type":1893,"tag":2110,"props":6366,"children":6368},{"id":6367},"_create_binaries_from_application_cache_for_a_pipeline_create_info",[6369],{"type":1898,"value":6370},"Create binaries from application cache for a pipeline create info",{"type":1893,"tag":2124,"props":6372,"children":6374},{"className":3900,"code":6373,"language":3902,"meta":2129,"style":2129},"VkPipelineBinaryKeysAndDataKHR binaryKeysAndData;\nbinaryKeysAndData.binaryCount = binaryKeys.size();\nbinaryKeysAndData.pPipelineBinaryKeys = binaryKeys.data();\nbinaryKeysAndData.pPipelineBinaryData = pipelineDatas.data();\n\nVkPipelineBinaryCreateInfoKHR createInfo;\ncreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\ncreateInfo.pNext = NULL;\ncreateInfo.pKeysAndDataInfo = &binaryKeysAndData;\ncreateInfo.pipeline = VK_NULL_HANDLE;\ncreateInfo.pPipelineCreateInfo = NULL;\n\nstd::vector\u003CVkPipelineBinaryKHR> pipelineBinaries;\npipelineBinaries.resize(binaryKeysAndData.binaryCount);\n\nVkPipelineBinaryHandlesInfoKHR handlesInfo;\nhandlesInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\nhandlesInfo.pNext = NULL;\nhandlesInfo.pipelineBinaryCount = binaryKeysAndData.binaryCount;\nhandlesInfo.pPipelineBinaries = pipelineBinaries.data();\n\nvkCreatePipelineBinariesKHR(device, createInfo, NULL, &handlesInfo);\n",[6375],{"type":1893,"tag":2044,"props":6376,"children":6377},{"__ignoreMap":2129},[6378,6386,6410,6434,6459,6466,6473,6488,6507,6527,6542,6561,6568,6595,6611,6618,6625,6640,6659,6675,6698,6705],{"type":1893,"tag":2135,"props":6379,"children":6380},{"class":2137,"line":10},[6381],{"type":1893,"tag":2135,"props":6382,"children":6383},{"style":2147},[6384],{"type":1898,"value":6385},"VkPipelineBinaryKeysAndDataKHR binaryKeysAndData;\n",{"type":1893,"tag":2135,"props":6387,"children":6388},{"class":2137,"line":14},[6389,6394,6398,6402,6406],{"type":1893,"tag":2135,"props":6390,"children":6391},{"style":2147},[6392],{"type":1898,"value":6393},"binaryKeysAndData.binaryCount ",{"type":1893,"tag":2135,"props":6395,"children":6396},{"style":2156},[6397],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6399,"children":6400},{"style":2147},[6401],{"type":1898,"value":6307},{"type":1893,"tag":2135,"props":6403,"children":6404},{"style":2141},[6405],{"type":1898,"value":6256},{"type":1893,"tag":2135,"props":6407,"children":6408},{"style":2147},[6409],{"type":1898,"value":4512},{"type":1893,"tag":2135,"props":6411,"children":6412},{"class":2137,"line":18},[6413,6418,6422,6426,6430],{"type":1893,"tag":2135,"props":6414,"children":6415},{"style":2147},[6416],{"type":1898,"value":6417},"binaryKeysAndData.pPipelineBinaryKeys ",{"type":1893,"tag":2135,"props":6419,"children":6420},{"style":2156},[6421],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6423,"children":6424},{"style":2147},[6425],{"type":1898,"value":6307},{"type":1893,"tag":2135,"props":6427,"children":6428},{"style":2141},[6429],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":6431,"children":6432},{"style":2147},[6433],{"type":1898,"value":4512},{"type":1893,"tag":2135,"props":6435,"children":6436},{"class":2137,"line":22},[6437,6442,6446,6451,6455],{"type":1893,"tag":2135,"props":6438,"children":6439},{"style":2147},[6440],{"type":1898,"value":6441},"binaryKeysAndData.pPipelineBinaryData ",{"type":1893,"tag":2135,"props":6443,"children":6444},{"style":2156},[6445],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6447,"children":6448},{"style":2147},[6449],{"type":1898,"value":6450}," pipelineDatas.",{"type":1893,"tag":2135,"props":6452,"children":6453},{"style":2141},[6454],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":6456,"children":6457},{"style":2147},[6458],{"type":1898,"value":4512},{"type":1893,"tag":2135,"props":6460,"children":6461},{"class":2137,"line":26},[6462],{"type":1893,"tag":2135,"props":6463,"children":6464},{"emptyLinePlaceholder":240},[6465],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6467,"children":6468},{"class":2137,"line":30},[6469],{"type":1893,"tag":2135,"props":6470,"children":6471},{"style":2147},[6472],{"type":1898,"value":4110},{"type":1893,"tag":2135,"props":6474,"children":6475},{"class":2137,"line":34},[6476,6480,6484],{"type":1893,"tag":2135,"props":6477,"children":6478},{"style":2147},[6479],{"type":1898,"value":4118},{"type":1893,"tag":2135,"props":6481,"children":6482},{"style":2156},[6483],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6485,"children":6486},{"style":2147},[6487],{"type":1898,"value":4127},{"type":1893,"tag":2135,"props":6489,"children":6490},{"class":2137,"line":38},[6491,6495,6499,6503],{"type":1893,"tag":2135,"props":6492,"children":6493},{"style":2147},[6494],{"type":1898,"value":4135},{"type":1893,"tag":2135,"props":6496,"children":6497},{"style":2156},[6498],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6500,"children":6501},{"style":2177},[6502],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":6504,"children":6505},{"style":2147},[6506],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":6508,"children":6509},{"class":2137,"line":42},[6510,6514,6518,6522],{"type":1893,"tag":2135,"props":6511,"children":6512},{"style":2147},[6513],{"type":1898,"value":4156},{"type":1893,"tag":2135,"props":6515,"children":6516},{"style":2156},[6517],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6519,"children":6520},{"style":2156},[6521],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":6523,"children":6524},{"style":2147},[6525],{"type":1898,"value":6526},"binaryKeysAndData;\n",{"type":1893,"tag":2135,"props":6528,"children":6529},{"class":2137,"line":46},[6530,6534,6538],{"type":1893,"tag":2135,"props":6531,"children":6532},{"style":2147},[6533],{"type":1898,"value":4176},{"type":1893,"tag":2135,"props":6535,"children":6536},{"style":2156},[6537],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6539,"children":6540},{"style":2147},[6541],{"type":1898,"value":4185},{"type":1893,"tag":2135,"props":6543,"children":6544},{"class":2137,"line":50},[6545,6549,6553,6557],{"type":1893,"tag":2135,"props":6546,"children":6547},{"style":2147},[6548],{"type":1898,"value":4193},{"type":1893,"tag":2135,"props":6550,"children":6551},{"style":2156},[6552],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6554,"children":6555},{"style":2177},[6556],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":6558,"children":6559},{"style":2147},[6560],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":6562,"children":6563},{"class":2137,"line":54},[6564],{"type":1893,"tag":2135,"props":6565,"children":6566},{"emptyLinePlaceholder":240},[6567],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6569,"children":6570},{"class":2137,"line":58},[6571,6575,6579,6583,6587,6591],{"type":1893,"tag":2135,"props":6572,"children":6573},{"style":2256},[6574],{"type":1898,"value":4437},{"type":1893,"tag":2135,"props":6576,"children":6577},{"style":2147},[6578],{"type":1898,"value":4442},{"type":1893,"tag":2135,"props":6580,"children":6581},{"style":2156},[6582],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":6584,"children":6585},{"style":2147},[6586],{"type":1898,"value":3374},{"type":1893,"tag":2135,"props":6588,"children":6589},{"style":2156},[6590],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":6592,"children":6593},{"style":2147},[6594],{"type":1898,"value":4461},{"type":1893,"tag":2135,"props":6596,"children":6597},{"class":2137,"line":62},[6598,6602,6606],{"type":1893,"tag":2135,"props":6599,"children":6600},{"style":2147},[6601],{"type":1898,"value":4469},{"type":1893,"tag":2135,"props":6603,"children":6604},{"style":2141},[6605],{"type":1898,"value":4474},{"type":1893,"tag":2135,"props":6607,"children":6608},{"style":2147},[6609],{"type":1898,"value":6610},"(binaryKeysAndData.binaryCount);\n",{"type":1893,"tag":2135,"props":6612,"children":6613},{"class":2137,"line":66},[6614],{"type":1893,"tag":2135,"props":6615,"children":6616},{"emptyLinePlaceholder":240},[6617],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6619,"children":6620},{"class":2137,"line":70},[6621],{"type":1893,"tag":2135,"props":6622,"children":6623},{"style":2147},[6624],{"type":1898,"value":4221},{"type":1893,"tag":2135,"props":6626,"children":6627},{"class":2137,"line":74},[6628,6632,6636],{"type":1893,"tag":2135,"props":6629,"children":6630},{"style":2147},[6631],{"type":1898,"value":4229},{"type":1893,"tag":2135,"props":6633,"children":6634},{"style":2156},[6635],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6637,"children":6638},{"style":2147},[6639],{"type":1898,"value":4238},{"type":1893,"tag":2135,"props":6641,"children":6642},{"class":2137,"line":78},[6643,6647,6651,6655],{"type":1893,"tag":2135,"props":6644,"children":6645},{"style":2147},[6646],{"type":1898,"value":4246},{"type":1893,"tag":2135,"props":6648,"children":6649},{"style":2156},[6650],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6652,"children":6653},{"style":2177},[6654],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":6656,"children":6657},{"style":2147},[6658],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":6660,"children":6661},{"class":2137,"line":82},[6662,6666,6670],{"type":1893,"tag":2135,"props":6663,"children":6664},{"style":2147},[6665],{"type":1898,"value":4266},{"type":1893,"tag":2135,"props":6667,"children":6668},{"style":2156},[6669],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6671,"children":6672},{"style":2147},[6673],{"type":1898,"value":6674}," binaryKeysAndData.binaryCount;\n",{"type":1893,"tag":2135,"props":6676,"children":6677},{"class":2137,"line":86},[6678,6682,6686,6690,6694],{"type":1893,"tag":2135,"props":6679,"children":6680},{"style":2147},[6681],{"type":1898,"value":4287},{"type":1893,"tag":2135,"props":6683,"children":6684},{"style":2156},[6685],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6687,"children":6688},{"style":2147},[6689],{"type":1898,"value":4502},{"type":1893,"tag":2135,"props":6691,"children":6692},{"style":2141},[6693],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":6695,"children":6696},{"style":2147},[6697],{"type":1898,"value":4512},{"type":1893,"tag":2135,"props":6699,"children":6700},{"class":2137,"line":90},[6701],{"type":1893,"tag":2135,"props":6702,"children":6703},{"emptyLinePlaceholder":240},[6704],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6706,"children":6707},{"class":2137,"line":94},[6708,6712,6717,6721,6725,6729],{"type":1893,"tag":2135,"props":6709,"children":6710},{"style":2141},[6711],{"type":1898,"value":2678},{"type":1893,"tag":2135,"props":6713,"children":6714},{"style":2147},[6715],{"type":1898,"value":6716},"(device, createInfo, ",{"type":1893,"tag":2135,"props":6718,"children":6719},{"style":2177},[6720],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":6722,"children":6723},{"style":2147},[6724],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":6726,"children":6727},{"style":2156},[6728],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":6730,"children":6731},{"style":2147},[6732],{"type":1898,"value":4355},{"type":1893,"tag":2110,"props":6734,"children":6736},{"id":6735},"_create_pipeline_from_binaries",[6737],{"type":1898,"value":6738},"Create pipeline from binaries",{"type":1893,"tag":2124,"props":6740,"children":6742},{"className":3900,"code":6741,"language":3902,"meta":2129,"style":2129},"VkPipelineBinaryInfoKHR binaryInfo = {\n VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR,\n NULL,\n binaryCount,\n pipelineBinaries.data()\n};\n\ncreateInfo.pNext = &binaryInfo;\n\n// Create the pipeline\nVkPipeline graphicsPipeline;\nvkCreateGraphicsPipelines(device, NULL, 1, &createInfo, NULL, &graphicsPipeline);\n",[6743],{"type":1893,"tag":2044,"props":6744,"children":6745},{"__ignoreMap":2129},[6746,6762,6770,6782,6790,6807,6814,6821,6841,6848,6855,6862],{"type":1893,"tag":2135,"props":6747,"children":6748},{"class":2137,"line":10},[6749,6754,6758],{"type":1893,"tag":2135,"props":6750,"children":6751},{"style":2147},[6752],{"type":1898,"value":6753},"VkPipelineBinaryInfoKHR binaryInfo ",{"type":1893,"tag":2135,"props":6755,"children":6756},{"style":2156},[6757],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6759,"children":6760},{"style":2147},[6761],{"type":1898,"value":3927},{"type":1893,"tag":2135,"props":6763,"children":6764},{"class":2137,"line":14},[6765],{"type":1893,"tag":2135,"props":6766,"children":6767},{"style":2147},[6768],{"type":1898,"value":6769}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR,\n",{"type":1893,"tag":2135,"props":6771,"children":6772},{"class":2137,"line":18},[6773,6778],{"type":1893,"tag":2135,"props":6774,"children":6775},{"style":2177},[6776],{"type":1898,"value":6777}," NULL",{"type":1893,"tag":2135,"props":6779,"children":6780},{"style":2147},[6781],{"type":1898,"value":2700},{"type":1893,"tag":2135,"props":6783,"children":6784},{"class":2137,"line":22},[6785],{"type":1893,"tag":2135,"props":6786,"children":6787},{"style":2147},[6788],{"type":1898,"value":6789}," binaryCount,\n",{"type":1893,"tag":2135,"props":6791,"children":6792},{"class":2137,"line":26},[6793,6798,6802],{"type":1893,"tag":2135,"props":6794,"children":6795},{"style":2147},[6796],{"type":1898,"value":6797}," pipelineBinaries.",{"type":1893,"tag":2135,"props":6799,"children":6800},{"style":2141},[6801],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":6803,"children":6804},{"style":2147},[6805],{"type":1898,"value":6806},"()\n",{"type":1893,"tag":2135,"props":6808,"children":6809},{"class":2137,"line":30},[6810],{"type":1893,"tag":2135,"props":6811,"children":6812},{"style":2147},[6813],{"type":1898,"value":5108},{"type":1893,"tag":2135,"props":6815,"children":6816},{"class":2137,"line":34},[6817],{"type":1893,"tag":2135,"props":6818,"children":6819},{"emptyLinePlaceholder":240},[6820],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6822,"children":6823},{"class":2137,"line":38},[6824,6828,6832,6836],{"type":1893,"tag":2135,"props":6825,"children":6826},{"style":2147},[6827],{"type":1898,"value":4135},{"type":1893,"tag":2135,"props":6829,"children":6830},{"style":2156},[6831],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6833,"children":6834},{"style":2156},[6835],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":6837,"children":6838},{"style":2147},[6839],{"type":1898,"value":6840},"binaryInfo;\n",{"type":1893,"tag":2135,"props":6842,"children":6843},{"class":2137,"line":42},[6844],{"type":1893,"tag":2135,"props":6845,"children":6846},{"emptyLinePlaceholder":240},[6847],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6849,"children":6850},{"class":2137,"line":46},[6851],{"type":1893,"tag":2135,"props":6852,"children":6853},{"style":4391},[6854],{"type":1898,"value":5175},{"type":1893,"tag":2135,"props":6856,"children":6857},{"class":2137,"line":50},[6858],{"type":1893,"tag":2135,"props":6859,"children":6860},{"style":2147},[6861],{"type":1898,"value":5183},{"type":1893,"tag":2135,"props":6863,"children":6864},{"class":2137,"line":54},[6865,6869,6873,6877,6881,6885,6889,6893,6897,6901,6905,6909],{"type":1893,"tag":2135,"props":6866,"children":6867},{"style":2141},[6868],{"type":1898,"value":5191},{"type":1893,"tag":2135,"props":6870,"children":6871},{"style":2147},[6872],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":6874,"children":6875},{"style":2177},[6876],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":6878,"children":6879},{"style":2147},[6880],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":6882,"children":6883},{"style":2177},[6884],{"type":1898,"value":5208},{"type":1893,"tag":2135,"props":6886,"children":6887},{"style":2147},[6888],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":6890,"children":6891},{"style":2156},[6892],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":6894,"children":6895},{"style":2147},[6896],{"type":1898,"value":4338},{"type":1893,"tag":2135,"props":6898,"children":6899},{"style":2177},[6900],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":6902,"children":6903},{"style":2147},[6904],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":6906,"children":6907},{"style":2156},[6908],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":6910,"children":6911},{"style":2147},[6912],{"type":1898,"value":5238},{"type":1893,"tag":2110,"props":6914,"children":6916},{"id":6915},"_read_internal_cache_for_the_pipeline_binaries",[6917],{"type":1898,"value":6918},"Read internal cache for the pipeline binaries",{"type":1893,"tag":2124,"props":6920,"children":6922},{"className":3900,"code":6921,"language":3902,"meta":2129,"style":2129},"VkGraphicsPipelineCreateInfo graphicsCreateInfo;\n\nVkPipelineCreateInfoKHR pipelineCreateInfo;\npipelineCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\npipelineCreateInfo.pNext = &graphicsCreateInfo;\n\nVkPipelineBinaryCreateInfoKHR createInfo;\ncreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\ncreateInfo.pNext = NULL;\ncreateInfo.pKeysAndDataInfo = NULL;\ncreateInfo.pipeline = VK_NULL_HANDLE;\ncreateInfo.pPipelineCreateInfo = &pipelineCreateInfo;\n\nVkPipelineBinaryHandlesInfoKHR handlesInfo;\nhandlesInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\nhandlesInfo.pNext = NULL;\nhandlesInfo.pipelineBinaryCount = 0;\nhandlesInfo.pPipelineBinaries = NULL;\n\nvkCreatePipelineBinariesKHR(device, &createInfo, NULL, &handlesInfo);\n\nif (res == VK_PIPELINE_BINARY_MISSING_KHR) {\n // Attempted to create a pipeline binary, but implementation does not have it in cache.\n // Similar to VK_PIPELINE_COMPILE_REQUIRED, this is a positive return value.\n return;\n}\n\nstd::vector\u003CVkPipelineBinaryKHR> pipelineBinaries;\npipelineBinaries.resize(handlesInfo.pipelineBinaryCount);\n\nhandlesInfo.pPipelineBinaries = pipelineBinaries.data();\n\nvkCreatePipelineBinariesKHR(device, &createInfo, NULL, &handlesInfo);\n",[6923],{"type":1893,"tag":2044,"props":6924,"children":6925},{"__ignoreMap":2129},[6926,6933,6940,6947,6962,6981,6988,6995,7010,7029,7048,7063,7082,7089,7096,7111,7130,7149,7168,7175,7210,7217,7236,7243,7250,7261,7268,7275,7302,7317,7324,7347,7354],{"type":1893,"tag":2135,"props":6927,"children":6928},{"class":2137,"line":10},[6929],{"type":1893,"tag":2135,"props":6930,"children":6931},{"style":2147},[6932],{"type":1898,"value":4041},{"type":1893,"tag":2135,"props":6934,"children":6935},{"class":2137,"line":14},[6936],{"type":1893,"tag":2135,"props":6937,"children":6938},{"emptyLinePlaceholder":240},[6939],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6941,"children":6942},{"class":2137,"line":18},[6943],{"type":1893,"tag":2135,"props":6944,"children":6945},{"style":2147},[6946],{"type":1898,"value":4056},{"type":1893,"tag":2135,"props":6948,"children":6949},{"class":2137,"line":22},[6950,6954,6958],{"type":1893,"tag":2135,"props":6951,"children":6952},{"style":2147},[6953],{"type":1898,"value":4064},{"type":1893,"tag":2135,"props":6955,"children":6956},{"style":2156},[6957],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6959,"children":6960},{"style":2147},[6961],{"type":1898,"value":4073},{"type":1893,"tag":2135,"props":6963,"children":6964},{"class":2137,"line":26},[6965,6969,6973,6977],{"type":1893,"tag":2135,"props":6966,"children":6967},{"style":2147},[6968],{"type":1898,"value":4081},{"type":1893,"tag":2135,"props":6970,"children":6971},{"style":2156},[6972],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":6974,"children":6975},{"style":2156},[6976],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":6978,"children":6979},{"style":2147},[6980],{"type":1898,"value":4095},{"type":1893,"tag":2135,"props":6982,"children":6983},{"class":2137,"line":30},[6984],{"type":1893,"tag":2135,"props":6985,"children":6986},{"emptyLinePlaceholder":240},[6987],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":6989,"children":6990},{"class":2137,"line":34},[6991],{"type":1893,"tag":2135,"props":6992,"children":6993},{"style":2147},[6994],{"type":1898,"value":4110},{"type":1893,"tag":2135,"props":6996,"children":6997},{"class":2137,"line":38},[6998,7002,7006],{"type":1893,"tag":2135,"props":6999,"children":7000},{"style":2147},[7001],{"type":1898,"value":4118},{"type":1893,"tag":2135,"props":7003,"children":7004},{"style":2156},[7005],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7007,"children":7008},{"style":2147},[7009],{"type":1898,"value":4127},{"type":1893,"tag":2135,"props":7011,"children":7012},{"class":2137,"line":42},[7013,7017,7021,7025],{"type":1893,"tag":2135,"props":7014,"children":7015},{"style":2147},[7016],{"type":1898,"value":4135},{"type":1893,"tag":2135,"props":7018,"children":7019},{"style":2156},[7020],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7022,"children":7023},{"style":2177},[7024],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":7026,"children":7027},{"style":2147},[7028],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":7030,"children":7031},{"class":2137,"line":46},[7032,7036,7040,7044],{"type":1893,"tag":2135,"props":7033,"children":7034},{"style":2147},[7035],{"type":1898,"value":4156},{"type":1893,"tag":2135,"props":7037,"children":7038},{"style":2156},[7039],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7041,"children":7042},{"style":2177},[7043],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":7045,"children":7046},{"style":2147},[7047],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":7049,"children":7050},{"class":2137,"line":50},[7051,7055,7059],{"type":1893,"tag":2135,"props":7052,"children":7053},{"style":2147},[7054],{"type":1898,"value":4176},{"type":1893,"tag":2135,"props":7056,"children":7057},{"style":2156},[7058],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7060,"children":7061},{"style":2147},[7062],{"type":1898,"value":4185},{"type":1893,"tag":2135,"props":7064,"children":7065},{"class":2137,"line":54},[7066,7070,7074,7078],{"type":1893,"tag":2135,"props":7067,"children":7068},{"style":2147},[7069],{"type":1898,"value":4193},{"type":1893,"tag":2135,"props":7071,"children":7072},{"style":2156},[7073],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7075,"children":7076},{"style":2156},[7077],{"type":1898,"value":4090},{"type":1893,"tag":2135,"props":7079,"children":7080},{"style":2147},[7081],{"type":1898,"value":4206},{"type":1893,"tag":2135,"props":7083,"children":7084},{"class":2137,"line":58},[7085],{"type":1893,"tag":2135,"props":7086,"children":7087},{"emptyLinePlaceholder":240},[7088],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":7090,"children":7091},{"class":2137,"line":62},[7092],{"type":1893,"tag":2135,"props":7093,"children":7094},{"style":2147},[7095],{"type":1898,"value":4221},{"type":1893,"tag":2135,"props":7097,"children":7098},{"class":2137,"line":66},[7099,7103,7107],{"type":1893,"tag":2135,"props":7100,"children":7101},{"style":2147},[7102],{"type":1898,"value":4229},{"type":1893,"tag":2135,"props":7104,"children":7105},{"style":2156},[7106],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7108,"children":7109},{"style":2147},[7110],{"type":1898,"value":4238},{"type":1893,"tag":2135,"props":7112,"children":7113},{"class":2137,"line":70},[7114,7118,7122,7126],{"type":1893,"tag":2135,"props":7115,"children":7116},{"style":2147},[7117],{"type":1898,"value":4246},{"type":1893,"tag":2135,"props":7119,"children":7120},{"style":2156},[7121],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7123,"children":7124},{"style":2177},[7125],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":7127,"children":7128},{"style":2147},[7129],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":7131,"children":7132},{"class":2137,"line":74},[7133,7137,7141,7145],{"type":1893,"tag":2135,"props":7134,"children":7135},{"style":2147},[7136],{"type":1898,"value":4266},{"type":1893,"tag":2135,"props":7138,"children":7139},{"style":2156},[7140],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7142,"children":7143},{"style":2177},[7144],{"type":1898,"value":4275},{"type":1893,"tag":2135,"props":7146,"children":7147},{"style":2147},[7148],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":7150,"children":7151},{"class":2137,"line":78},[7152,7156,7160,7164],{"type":1893,"tag":2135,"props":7153,"children":7154},{"style":2147},[7155],{"type":1898,"value":4287},{"type":1893,"tag":2135,"props":7157,"children":7158},{"style":2156},[7159],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7161,"children":7162},{"style":2177},[7163],{"type":1898,"value":4144},{"type":1893,"tag":2135,"props":7165,"children":7166},{"style":2147},[7167],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":7169,"children":7170},{"class":2137,"line":82},[7171],{"type":1893,"tag":2135,"props":7172,"children":7173},{"emptyLinePlaceholder":240},[7174],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":7176,"children":7177},{"class":2137,"line":86},[7178,7182,7186,7190,7194,7198,7202,7206],{"type":1893,"tag":2135,"props":7179,"children":7180},{"style":2141},[7181],{"type":1898,"value":2678},{"type":1893,"tag":2135,"props":7183,"children":7184},{"style":2147},[7185],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":7187,"children":7188},{"style":2156},[7189],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":7191,"children":7192},{"style":2147},[7193],{"type":1898,"value":4338},{"type":1893,"tag":2135,"props":7195,"children":7196},{"style":2177},[7197],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":7199,"children":7200},{"style":2147},[7201],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":7203,"children":7204},{"style":2156},[7205],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":7207,"children":7208},{"style":2147},[7209],{"type":1898,"value":4355},{"type":1893,"tag":2135,"props":7211,"children":7212},{"class":2137,"line":90},[7213],{"type":1893,"tag":2135,"props":7214,"children":7215},{"emptyLinePlaceholder":240},[7216],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":7218,"children":7219},{"class":2137,"line":94},[7220,7224,7228,7232],{"type":1893,"tag":2135,"props":7221,"children":7222},{"style":2156},[7223],{"type":1898,"value":4370},{"type":1893,"tag":2135,"props":7225,"children":7226},{"style":2147},[7227],{"type":1898,"value":4375},{"type":1893,"tag":2135,"props":7229,"children":7230},{"style":2156},[7231],{"type":1898,"value":4380},{"type":1893,"tag":2135,"props":7233,"children":7234},{"style":2147},[7235],{"type":1898,"value":4385},{"type":1893,"tag":2135,"props":7237,"children":7238},{"class":2137,"line":98},[7239],{"type":1893,"tag":2135,"props":7240,"children":7241},{"style":4391},[7242],{"type":1898,"value":4394},{"type":1893,"tag":2135,"props":7244,"children":7245},{"class":2137,"line":102},[7246],{"type":1893,"tag":2135,"props":7247,"children":7248},{"style":4391},[7249],{"type":1898,"value":4402},{"type":1893,"tag":2135,"props":7251,"children":7252},{"class":2137,"line":106},[7253,7257],{"type":1893,"tag":2135,"props":7254,"children":7255},{"style":2156},[7256],{"type":1898,"value":4410},{"type":1893,"tag":2135,"props":7258,"children":7259},{"style":2147},[7260],{"type":1898,"value":2185},{"type":1893,"tag":2135,"props":7262,"children":7263},{"class":2137,"line":110},[7264],{"type":1893,"tag":2135,"props":7265,"children":7266},{"style":2147},[7267],{"type":1898,"value":4422},{"type":1893,"tag":2135,"props":7269,"children":7270},{"class":2137,"line":114},[7271],{"type":1893,"tag":2135,"props":7272,"children":7273},{"emptyLinePlaceholder":240},[7274],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":7276,"children":7277},{"class":2137,"line":118},[7278,7282,7286,7290,7294,7298],{"type":1893,"tag":2135,"props":7279,"children":7280},{"style":2256},[7281],{"type":1898,"value":4437},{"type":1893,"tag":2135,"props":7283,"children":7284},{"style":2147},[7285],{"type":1898,"value":4442},{"type":1893,"tag":2135,"props":7287,"children":7288},{"style":2156},[7289],{"type":1898,"value":4447},{"type":1893,"tag":2135,"props":7291,"children":7292},{"style":2147},[7293],{"type":1898,"value":3374},{"type":1893,"tag":2135,"props":7295,"children":7296},{"style":2156},[7297],{"type":1898,"value":4456},{"type":1893,"tag":2135,"props":7299,"children":7300},{"style":2147},[7301],{"type":1898,"value":4461},{"type":1893,"tag":2135,"props":7303,"children":7304},{"class":2137,"line":122},[7305,7309,7313],{"type":1893,"tag":2135,"props":7306,"children":7307},{"style":2147},[7308],{"type":1898,"value":4469},{"type":1893,"tag":2135,"props":7310,"children":7311},{"style":2141},[7312],{"type":1898,"value":4474},{"type":1893,"tag":2135,"props":7314,"children":7315},{"style":2147},[7316],{"type":1898,"value":4479},{"type":1893,"tag":2135,"props":7318,"children":7319},{"class":2137,"line":126},[7320],{"type":1893,"tag":2135,"props":7321,"children":7322},{"emptyLinePlaceholder":240},[7323],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":7325,"children":7326},{"class":2137,"line":130},[7327,7331,7335,7339,7343],{"type":1893,"tag":2135,"props":7328,"children":7329},{"style":2147},[7330],{"type":1898,"value":4287},{"type":1893,"tag":2135,"props":7332,"children":7333},{"style":2156},[7334],{"type":1898,"value":2174},{"type":1893,"tag":2135,"props":7336,"children":7337},{"style":2147},[7338],{"type":1898,"value":4502},{"type":1893,"tag":2135,"props":7340,"children":7341},{"style":2141},[7342],{"type":1898,"value":4507},{"type":1893,"tag":2135,"props":7344,"children":7345},{"style":2147},[7346],{"type":1898,"value":4512},{"type":1893,"tag":2135,"props":7348,"children":7349},{"class":2137,"line":134},[7350],{"type":1893,"tag":2135,"props":7351,"children":7352},{"emptyLinePlaceholder":240},[7353],{"type":1898,"value":2193},{"type":1893,"tag":2135,"props":7355,"children":7356},{"class":2137,"line":138},[7357,7361,7365,7369,7373,7377,7381,7385],{"type":1893,"tag":2135,"props":7358,"children":7359},{"style":2141},[7360],{"type":1898,"value":2678},{"type":1893,"tag":2135,"props":7362,"children":7363},{"style":2147},[7364],{"type":1898,"value":4328},{"type":1893,"tag":2135,"props":7366,"children":7367},{"style":2156},[7368],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":7370,"children":7371},{"style":2147},[7372],{"type":1898,"value":4338},{"type":1893,"tag":2135,"props":7374,"children":7375},{"style":2177},[7376],{"type":1898,"value":3341},{"type":1893,"tag":2135,"props":7378,"children":7379},{"style":2147},[7380],{"type":1898,"value":3448},{"type":1893,"tag":2135,"props":7382,"children":7383},{"style":2156},[7384],{"type":1898,"value":4333},{"type":1893,"tag":2135,"props":7386,"children":7387},{"style":2147},[7388],{"type":1898,"value":4355},{"type":1893,"tag":1900,"props":7390,"children":7392},{"id":7391},"_interactions_with_other_extensions",[7393],{"type":1898,"value":7394},"Interactions with other extensions",{"type":1893,"tag":1894,"props":7396,"children":7397},{},[7398,7403],{"type":1893,"tag":2044,"props":7399,"children":7401},{"className":7400},[],[7402],{"type":1898,"value":874},{"type":1898,"value":7404}," already exposes some functionality of this extension,\nthe ability to omit SPIR-V during pipeline compilation.\nThis extension and module identifiers are intended to solve two different\nuse cases however.\nModule identifiers have fuzzy guarantees and are intended for\nimplicit pipeline caching, i.e. caching that lives outside the knowledge of applications\nin the context of translation layers and similar.",{"type":1893,"tag":1894,"props":7406,"children":7407},{},[7408],{"type":1898,"value":7409},"Pipeline binaries focus on enabling explicit caching mechanisms which applications\nhave full control over.\nThe pipeline binaries are directly exposed, so strong guarantees can be provided\nto applications on the success of compiling those pipelines.\nOn platforms without implicit pipeline caching, pipeline binaries can serve as a stronger\ncaching mechanism.",{"type":1893,"tag":1894,"props":7411,"children":7412},{},[7413,7415,7420,7422,7428],{"type":1898,"value":7414},"Another useful interaction is that ",{"type":1893,"tag":2044,"props":7416,"children":7418},{"className":7417},[],[7419],{"type":1898,"value":2872},{"type":1898,"value":7421},"\ncan generate a key for pipeline stages\nwhich just take a ",{"type":1893,"tag":2044,"props":7423,"children":7425},{"className":7424},[],[7426],{"type":1898,"value":7427},"VkPipelineShaderStageModuleIdentifierCreateInfoEXT",{"type":1898,"value":3409},{"type":1893,"tag":1894,"props":7430,"children":7431},{},[7432,7434,7439],{"type":1898,"value":7433},"When using ",{"type":1893,"tag":2044,"props":7435,"children":7437},{"className":7436},[],[7438],{"type":1898,"value":635},{"type":1898,"value":7440},", keys can be generated, and binaries created, for individual pipeline libraries. These binaries can be used\nin subsequent runs to recreate the pipeline libraries for linking into complete graphics pipelines.",{"type":1893,"tag":1900,"props":7442,"children":7444},{"id":7443},"_issues",[7445],{"type":1898,"value":7446},"Issues",{"type":1893,"tag":2110,"props":7448,"children":7450},{"id":7449},"_fixed_size_keys",[7451],{"type":1898,"value":7452},"Fixed size keys",{"type":1893,"tag":1894,"props":7454,"children":7455},{},[7456,7458,7463],{"type":1898,"value":7457},"The original design had fixed size keys. We have decided that variable length keys with a limit will provide better flexibility without compromising the API usage too much.\nIt also matches the design outlined in ",{"type":1893,"tag":2044,"props":7459,"children":7461},{"className":7460},[],[7462],{"type":1898,"value":874},{"type":1898,"value":3409},{"type":1893,"tag":2110,"props":7465,"children":7467},{"id":7466},"_should_implementations_be_able_to_advertise_in_some_way_what_a_keydata_pair_are_associated_with",[7468,7470,7475],{"type":1898,"value":7469},"Should implementations be able to advertise in some way ",{"type":1893,"tag":2036,"props":7471,"children":7472},{},[7473],{"type":1898,"value":7474},"what",{"type":1898,"value":7476}," a key/data pair are associated with?",{"type":1893,"tag":1894,"props":7478,"children":7479},{},[7480],{"type":1898,"value":7481},"This could allow applications to make more informed decisions about how to store key/data pairs - e.g. by grouping key/data pairs in separate maps depending on what they are.",{"type":1893,"tag":1894,"props":7483,"children":7484},{},[7485],{"type":1898,"value":7486},"This could take a number of forms - it might be as simple as an ID indicating like key/data pairs, or as complex as identifying particular parts of a pipeline and a cache level.",{"type":1893,"tag":1894,"props":7488,"children":7489},{},[7490],{"type":1898,"value":7491},"For applications wanting to precompile all possible pipelines, this would allow them to discard anything that is not a final binary, reducing the storage requirements.",{"type":1893,"tag":1894,"props":7493,"children":7494},{},[7495],{"type":1898,"value":7496},"Marking as resolved as it was decided that implementations would not generate non-final binaries.",{"type":1893,"tag":2110,"props":7498,"children":7500},{"id":7499},"_can_we_avoid_copies_everywhere",[7501],{"type":1898,"value":7502},"Can we avoid copies everywhere?",{"type":1893,"tag":1894,"props":7504,"children":7505},{},[7506],{"type":1898,"value":7507},"The current design necessitates copying binaries into the driver using vkCreatePipelineBinariesKHR. Could this be avoided by making the application allocate special memory up front and writing into it? Does that even save anything? Presumably CPU drivers will want to CPU inspect the binary anyway.",{"type":1893,"tag":1894,"props":7509,"children":7510},{},[7511],{"type":1898,"value":7512},"We also need to copy data out of the driver, and one copy is probably unavoidable because applications will need a CPU copy to write out to disk.",{"type":1893,"tag":1894,"props":7514,"children":7515},{},[7516],{"type":1898,"value":7517},"After much discussion, it was decided that there is not a great way to do this in a cross platform way that would be worth the marginal benefit.",{"type":1893,"tag":2110,"props":7519,"children":7521},{"id":7520},"_can_we_avoid_recomputing_keys_on_each_run",[7522],{"type":1898,"value":7523},"Can we avoid recomputing keys on each run?",{"type":1893,"tag":1894,"props":7525,"children":7526},{},[7527],{"type":1898,"value":7528},"The only key that needs to be recomputed between runs is the global key. Applications can assume that\nas long as the global key has not changed, they can reuse their previously computed keys.",{"type":1893,"tag":7530,"props":7531,"children":7532},"style",{},[7533],{"type":1898,"value":7534},"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":2129,"searchDepth":14,"depth":14,"links":7536},[7537,7538,7539,7542,7552,7553],{"id":1902,"depth":14,"text":1905},{"id":1918,"depth":14,"text":1921},{"id":2016,"depth":14,"text":2019,"children":7540},[7541],{"id":2112,"depth":18,"text":2115},{"id":4853,"depth":14,"text":4856,"children":7543},[7544,7545,7546,7547,7548,7549,7550,7551],{"id":4864,"depth":18,"text":4867},{"id":4953,"depth":18,"text":4956},{"id":5066,"depth":18,"text":5069},{"id":5241,"depth":18,"text":5244},{"id":6044,"depth":18,"text":6047},{"id":6367,"depth":18,"text":6370},{"id":6735,"depth":18,"text":6738},{"id":6915,"depth":18,"text":6918},{"id":7391,"depth":14,"text":7394},{"id":7443,"depth":14,"text":7446,"children":7554},[7555,7556,7558,7559],{"id":7449,"depth":18,"text":7452},{"id":7466,"depth":18,"text":7557},"Should implementations be able to advertise in some way what a key/data pair are associated with?",{"id":7499,"depth":18,"text":7502},{"id":7520,"depth":18,"text":7523},"markdown",1773997371586]