[{"data":1,"prerenderedAt":7354},["ShallowReactive",2],{"oFGwkodTd8":3,"VyF3Mmj32r":5755,"N9m89Rcq0G":5937},{"title":4,"description":5,"body":6,"_type":5754,"_id":4},"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":7,"children":8,"toc":5729},"root",[9,16,23,28,33,39,44,59,64,69,87,92,97,131,137,142,147,169,174,215,226,233,240,1463,1510,1522,1558,1576,1635,1663,1700,1724,1741,1770,1783,1812,1838,1843,1929,1942,1991,1997,2002,2061,2075,2080,2085,2090,2197,2207,2219,2747,2768,2788,2801,2806,2817,2843,2905,2946,2957,2969,2988,2999,3004,3029,3040,3045,3051,3056,3062,3145,3151,3258,3264,3433,3439,4236,4242,4559,4565,4927,4933,5107,5113,5583,5589,5599,5604,5623,5635,5641,5647,5658,5671,5676,5681,5686,5691,5697,5702,5707,5712,5718,5723],{"type":10,"tag":11,"props":12,"children":13},"element","p",{},[14],{"type":15,"value":5},"text",{"type":10,"tag":17,"props":18,"children":20},"h2",{"id":19},"_problem_statement",[21],{"type":15,"value":22},"Problem Statement",{"type":10,"tag":11,"props":24,"children":25},{},[26],{"type":15,"value":27},"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":10,"tag":11,"props":29,"children":30},{},[31],{"type":15,"value":32},"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":10,"tag":17,"props":34,"children":36},{"id":35},"_solution_space",[37],{"type":15,"value":38},"Solution Space",{"type":10,"tag":11,"props":40,"children":41},{},[42],{"type":15,"value":43},"There are a two key possibilities for solving these issues:",{"type":10,"tag":45,"props":46,"children":47},"ol",{},[48,54],{"type":10,"tag":49,"props":50,"children":51},"li",{},[52],{"type":15,"value":53},"Continue providing additional functionality",{"type":10,"tag":49,"props":55,"children":56},{},[57],{"type":15,"value":58},"Enable applications to have more control over caching",{"type":10,"tag":11,"props":60,"children":61},{},[62],{"type":15,"value":63},"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":10,"tag":11,"props":65,"children":66},{},[67],{"type":15,"value":68},"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":10,"tag":45,"props":70,"children":71},{},[72,77,82],{"type":10,"tag":49,"props":73,"children":74},{},[75],{"type":15,"value":76},"Add partial access to the existing caching infrastructure",{"type":10,"tag":49,"props":78,"children":79},{},[80],{"type":15,"value":81},"e.g. via callbacks",{"type":10,"tag":49,"props":83,"children":84},{},[85],{"type":15,"value":86},"Provide direct access to pipeline binaries, bypassing the caching infrastructure",{"type":10,"tag":11,"props":88,"children":89},{},[90],{"type":15,"value":91},"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":10,"tag":11,"props":93,"children":94},{},[95],{"type":15,"value":96},"The solution should allow an application to:",{"type":10,"tag":98,"props":99,"children":100},"ul",{},[101,106,111,116,121,126],{"type":10,"tag":49,"props":102,"children":103},{},[104],{"type":15,"value":105},"Control memory usage such that e.g. an LRU pipeline cache with certain on-disk/memory bounds could be created.",{"type":10,"tag":49,"props":107,"children":108},{},[109],{"type":15,"value":110},"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":10,"tag":49,"props":112,"children":113},{},[114],{"type":15,"value":115},"Control whether an internal driver cache exists, including on specialized platforms such as Steam that prepropulate driver caches.",{"type":10,"tag":49,"props":117,"children":118},{},[119],{"type":15,"value":120},"Deduplicate binaries when they are used in multiple pipelines.",{"type":10,"tag":49,"props":122,"children":123},{},[124],{"type":15,"value":125},"Create pipelines from binaries without the need to provide SPIR-V.",{"type":10,"tag":49,"props":127,"children":128},{},[129],{"type":15,"value":130},"Create a caching scheme that is no less efficient than the implementation of the Vulkan pipeline cache.",{"type":10,"tag":17,"props":132,"children":134},{"id":133},"_proposal",[135],{"type":15,"value":136},"Proposal",{"type":10,"tag":11,"props":138,"children":139},{},[140],{"type":15,"value":141},"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":10,"tag":11,"props":143,"children":144},{},[145],{"type":15,"value":146},"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":10,"tag":11,"props":148,"children":149},{},[150,152,158,160,167],{"type":15,"value":151},"A ",{"type":10,"tag":153,"props":154,"children":155},"em",{},[156],{"type":15,"value":157},"pipeline key",{"type":15,"value":159}," can be queried using a ",{"type":10,"tag":161,"props":162,"children":164},"code",{"className":163},[],[165],{"type":15,"value":166},"Vk*PipelineCreateInfo",{"type":15,"value":168}," structure, which can then be used by the application to look up the required binary/binaries in its cache.",{"type":10,"tag":11,"props":170,"children":171},{},[172],{"type":15,"value":173},"Pipeline binary objects can be created in three different ways:",{"type":10,"tag":98,"props":175,"children":176},{},[177,198,203],{"type":10,"tag":49,"props":178,"children":179},{},[180,182,188,190,196],{"type":15,"value":181},"From ",{"type":10,"tag":161,"props":183,"children":185},{"className":184},[],[186],{"type":15,"value":187},"VkPipeline",{"type":15,"value":189}," objects that were created with the ",{"type":10,"tag":161,"props":191,"children":193},{"className":192},[],[194],{"type":15,"value":195},"VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR",{"type":15,"value":197}," flag set.",{"type":10,"tag":49,"props":199,"children":200},{},[201],{"type":15,"value":202},"From data blobs serialized from previous pipeline binary objects.",{"type":10,"tag":49,"props":204,"children":205},{},[206,208,213],{"type":15,"value":207},"By querying an implementation’s internal driver cache, using a ",{"type":10,"tag":161,"props":209,"children":211},{"className":210},[],[212],{"type":15,"value":166},{"type":15,"value":214}," structure.",{"type":10,"tag":11,"props":216,"children":217},{},[218,219,224],{"type":15,"value":151},{"type":10,"tag":153,"props":220,"children":221},{},[222],{"type":15,"value":223},"binary key",{"type":15,"value":225}," 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":10,"tag":227,"props":228,"children":230},"h3",{"id":229},"_api_changes",[231],{"type":15,"value":232},"API Changes",{"type":10,"tag":234,"props":235,"children":237},"h4",{"id":236},"_obtaining_and_using_keydata_pairs",[238],{"type":15,"value":239},"Obtaining and Using Key/Data Pairs",{"type":10,"tag":241,"props":242,"children":247},"pre",{"className":243,"code":244,"language":245,"meta":246,"style":246},"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","",[248],{"type":10,"tag":161,"props":249,"children":250},{"__ignoreMap":246},[251,269,305,315,334,343,357,371,391,400,408,425,439,452,461,469,486,499,523,545,554,562,579,588,606,615,623,640,649,666,688,697,719,728,736,753,761,777,790,808,817,825,844,863,889,915,938,946,964,981,999,1024,1032,1049,1066,1091,1113,1121,1138,1146,1162,1171,1180,1188,1205,1222,1248,1269,1287,1304,1312,1329,1337,1353,1362,1371,1379,1396,1412,1438],{"type":10,"tag":252,"props":253,"children":256},"span",{"class":254,"line":255},"line",1,[257,263],{"type":10,"tag":252,"props":258,"children":260},{"style":259},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[261],{"type":15,"value":262},"VK_DEFINE_HANDLE",{"type":10,"tag":252,"props":264,"children":266},{"style":265},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[267],{"type":15,"value":268},"(VkPipelineBinaryKHR)\n",{"type":10,"tag":252,"props":270,"children":272},{"class":254,"line":271},2,[273,279,284,289,294,300],{"type":10,"tag":252,"props":274,"children":276},{"style":275},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[277],{"type":15,"value":278},"const",{"type":10,"tag":252,"props":280,"children":281},{"style":275},[282],{"type":15,"value":283}," uint32_t",{"type":10,"tag":252,"props":285,"children":286},{"style":265},[287],{"type":15,"value":288}," VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR ",{"type":10,"tag":252,"props":290,"children":291},{"style":275},[292],{"type":15,"value":293},"=",{"type":10,"tag":252,"props":295,"children":297},{"style":296},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[298],{"type":15,"value":299}," 32",{"type":10,"tag":252,"props":301,"children":302},{"style":265},[303],{"type":15,"value":304},";\n",{"type":10,"tag":252,"props":306,"children":308},{"class":254,"line":307},3,[309],{"type":10,"tag":252,"props":310,"children":312},{"emptyLinePlaceholder":311},true,[313],{"type":15,"value":314},"\n",{"type":10,"tag":252,"props":316,"children":318},{"class":254,"line":317},4,[319,324,329],{"type":10,"tag":252,"props":320,"children":321},{"style":275},[322],{"type":15,"value":323},"typedef",{"type":10,"tag":252,"props":325,"children":326},{"style":275},[327],{"type":15,"value":328}," struct",{"type":10,"tag":252,"props":330,"children":331},{"style":265},[332],{"type":15,"value":333}," VkPipelineBinaryKeyKHR {\n",{"type":10,"tag":252,"props":335,"children":337},{"class":254,"line":336},5,[338],{"type":10,"tag":252,"props":339,"children":340},{"style":265},[341],{"type":15,"value":342}," VkStructureType sType;\n",{"type":10,"tag":252,"props":344,"children":346},{"class":254,"line":345},6,[347,352],{"type":10,"tag":252,"props":348,"children":349},{"style":275},[350],{"type":15,"value":351}," void*",{"type":10,"tag":252,"props":353,"children":354},{"style":265},[355],{"type":15,"value":356}," pNext;\n",{"type":10,"tag":252,"props":358,"children":360},{"class":254,"line":359},7,[361,366],{"type":10,"tag":252,"props":362,"children":363},{"style":275},[364],{"type":15,"value":365}," uint32_t",{"type":10,"tag":252,"props":367,"children":368},{"style":265},[369],{"type":15,"value":370}," keySize;\n",{"type":10,"tag":252,"props":372,"children":374},{"class":254,"line":373},8,[375,380,386],{"type":10,"tag":252,"props":376,"children":377},{"style":275},[378],{"type":15,"value":379}," uint8_t",{"type":10,"tag":252,"props":381,"children":383},{"style":382},"--shiki-default:#953800;--shiki-dark:#FFA657",[384],{"type":15,"value":385}," key",{"type":10,"tag":252,"props":387,"children":388},{"style":265},[389],{"type":15,"value":390},"[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR];\n",{"type":10,"tag":252,"props":392,"children":394},{"class":254,"line":393},9,[395],{"type":10,"tag":252,"props":396,"children":397},{"style":265},[398],{"type":15,"value":399},"} VkPipelineBinaryKeyKHR;\n",{"type":10,"tag":252,"props":401,"children":403},{"class":254,"line":402},10,[404],{"type":10,"tag":252,"props":405,"children":406},{"emptyLinePlaceholder":311},[407],{"type":15,"value":314},{"type":10,"tag":252,"props":409,"children":411},{"class":254,"line":410},11,[412,416,420],{"type":10,"tag":252,"props":413,"children":414},{"style":275},[415],{"type":15,"value":323},{"type":10,"tag":252,"props":417,"children":418},{"style":275},[419],{"type":15,"value":328},{"type":10,"tag":252,"props":421,"children":422},{"style":265},[423],{"type":15,"value":424}," VkPipelineBinaryDataKHR {\n",{"type":10,"tag":252,"props":426,"children":428},{"class":254,"line":427},12,[429,434],{"type":10,"tag":252,"props":430,"children":431},{"style":275},[432],{"type":15,"value":433}," size_t",{"type":10,"tag":252,"props":435,"children":436},{"style":265},[437],{"type":15,"value":438}," dataSize;\n",{"type":10,"tag":252,"props":440,"children":442},{"class":254,"line":441},13,[443,447],{"type":10,"tag":252,"props":444,"children":445},{"style":275},[446],{"type":15,"value":351},{"type":10,"tag":252,"props":448,"children":449},{"style":265},[450],{"type":15,"value":451}," pData;\n",{"type":10,"tag":252,"props":453,"children":455},{"class":254,"line":454},14,[456],{"type":10,"tag":252,"props":457,"children":458},{"style":265},[459],{"type":15,"value":460},"} VkPipelineBinaryDataKHR;\n",{"type":10,"tag":252,"props":462,"children":464},{"class":254,"line":463},15,[465],{"type":10,"tag":252,"props":466,"children":467},{"emptyLinePlaceholder":311},[468],{"type":15,"value":314},{"type":10,"tag":252,"props":470,"children":472},{"class":254,"line":471},16,[473,477,481],{"type":10,"tag":252,"props":474,"children":475},{"style":275},[476],{"type":15,"value":323},{"type":10,"tag":252,"props":478,"children":479},{"style":275},[480],{"type":15,"value":328},{"type":10,"tag":252,"props":482,"children":483},{"style":265},[484],{"type":15,"value":485}," VkPipelineBinaryKeysAndDataKHR {\n",{"type":10,"tag":252,"props":487,"children":489},{"class":254,"line":488},17,[490,494],{"type":10,"tag":252,"props":491,"children":492},{"style":275},[493],{"type":15,"value":365},{"type":10,"tag":252,"props":495,"children":496},{"style":265},[497],{"type":15,"value":498}," binaryCount;\n",{"type":10,"tag":252,"props":500,"children":502},{"class":254,"line":501},18,[503,508,513,518],{"type":10,"tag":252,"props":504,"children":505},{"style":275},[506],{"type":15,"value":507}," const",{"type":10,"tag":252,"props":509,"children":510},{"style":265},[511],{"type":15,"value":512}," VkPipelineBinaryKeyKHR",{"type":10,"tag":252,"props":514,"children":515},{"style":275},[516],{"type":15,"value":517},"*",{"type":10,"tag":252,"props":519,"children":520},{"style":265},[521],{"type":15,"value":522}," pPipelineBinaryKeys;\n",{"type":10,"tag":252,"props":524,"children":526},{"class":254,"line":525},19,[527,531,536,540],{"type":10,"tag":252,"props":528,"children":529},{"style":275},[530],{"type":15,"value":507},{"type":10,"tag":252,"props":532,"children":533},{"style":265},[534],{"type":15,"value":535}," VkPipelineBinaryDataKHR",{"type":10,"tag":252,"props":537,"children":538},{"style":275},[539],{"type":15,"value":517},{"type":10,"tag":252,"props":541,"children":542},{"style":265},[543],{"type":15,"value":544}," pPipelineBinaryData;\n",{"type":10,"tag":252,"props":546,"children":548},{"class":254,"line":547},20,[549],{"type":10,"tag":252,"props":550,"children":551},{"style":265},[552],{"type":15,"value":553},"} VkPipelineBinaryKeysAndDataKHR;\n",{"type":10,"tag":252,"props":555,"children":557},{"class":254,"line":556},21,[558],{"type":10,"tag":252,"props":559,"children":560},{"emptyLinePlaceholder":311},[561],{"type":15,"value":314},{"type":10,"tag":252,"props":563,"children":565},{"class":254,"line":564},22,[566,570,574],{"type":10,"tag":252,"props":567,"children":568},{"style":275},[569],{"type":15,"value":323},{"type":10,"tag":252,"props":571,"children":572},{"style":275},[573],{"type":15,"value":328},{"type":10,"tag":252,"props":575,"children":576},{"style":265},[577],{"type":15,"value":578}," VkPipelineCreateInfoKHR {\n",{"type":10,"tag":252,"props":580,"children":582},{"class":254,"line":581},23,[583],{"type":10,"tag":252,"props":584,"children":585},{"style":265},[586],{"type":15,"value":587}," VkStructureType sType;\n",{"type":10,"tag":252,"props":589,"children":591},{"class":254,"line":590},24,[592,596,601],{"type":10,"tag":252,"props":593,"children":594},{"style":275},[595],{"type":15,"value":507},{"type":10,"tag":252,"props":597,"children":598},{"style":275},[599],{"type":15,"value":600}," void*",{"type":10,"tag":252,"props":602,"children":603},{"style":265},[604],{"type":15,"value":605}," pNext;\n",{"type":10,"tag":252,"props":607,"children":609},{"class":254,"line":608},25,[610],{"type":10,"tag":252,"props":611,"children":612},{"style":265},[613],{"type":15,"value":614},"} VkPipelineCreateInfoKHR;\n",{"type":10,"tag":252,"props":616,"children":618},{"class":254,"line":617},26,[619],{"type":10,"tag":252,"props":620,"children":621},{"emptyLinePlaceholder":311},[622],{"type":15,"value":314},{"type":10,"tag":252,"props":624,"children":626},{"class":254,"line":625},27,[627,631,635],{"type":10,"tag":252,"props":628,"children":629},{"style":275},[630],{"type":15,"value":323},{"type":10,"tag":252,"props":632,"children":633},{"style":275},[634],{"type":15,"value":328},{"type":10,"tag":252,"props":636,"children":637},{"style":265},[638],{"type":15,"value":639}," VkPipelineBinaryCreateInfoKHR {\n",{"type":10,"tag":252,"props":641,"children":643},{"class":254,"line":642},28,[644],{"type":10,"tag":252,"props":645,"children":646},{"style":265},[647],{"type":15,"value":648}," VkStructureType sType;\n",{"type":10,"tag":252,"props":650,"children":652},{"class":254,"line":651},29,[653,657,661],{"type":10,"tag":252,"props":654,"children":655},{"style":275},[656],{"type":15,"value":507},{"type":10,"tag":252,"props":658,"children":659},{"style":275},[660],{"type":15,"value":600},{"type":10,"tag":252,"props":662,"children":663},{"style":265},[664],{"type":15,"value":665}," pNext;\n",{"type":10,"tag":252,"props":667,"children":669},{"class":254,"line":668},30,[670,674,679,683],{"type":10,"tag":252,"props":671,"children":672},{"style":275},[673],{"type":15,"value":507},{"type":10,"tag":252,"props":675,"children":676},{"style":265},[677],{"type":15,"value":678}," VkPipelineBinaryKeysAndDataKHR",{"type":10,"tag":252,"props":680,"children":681},{"style":275},[682],{"type":15,"value":517},{"type":10,"tag":252,"props":684,"children":685},{"style":265},[686],{"type":15,"value":687}," pKeysAndDataInfo;\n",{"type":10,"tag":252,"props":689,"children":691},{"class":254,"line":690},31,[692],{"type":10,"tag":252,"props":693,"children":694},{"style":265},[695],{"type":15,"value":696}," VkPipeline pipeline;\n",{"type":10,"tag":252,"props":698,"children":700},{"class":254,"line":699},32,[701,705,710,714],{"type":10,"tag":252,"props":702,"children":703},{"style":275},[704],{"type":15,"value":507},{"type":10,"tag":252,"props":706,"children":707},{"style":265},[708],{"type":15,"value":709}," VkPipelineCreateInfoKHR",{"type":10,"tag":252,"props":711,"children":712},{"style":275},[713],{"type":15,"value":517},{"type":10,"tag":252,"props":715,"children":716},{"style":265},[717],{"type":15,"value":718}," pPipelineCreateInfo;\n",{"type":10,"tag":252,"props":720,"children":722},{"class":254,"line":721},33,[723],{"type":10,"tag":252,"props":724,"children":725},{"style":265},[726],{"type":15,"value":727},"} VkPipelineBinaryCreateInfoKHR;\n",{"type":10,"tag":252,"props":729,"children":731},{"class":254,"line":730},34,[732],{"type":10,"tag":252,"props":733,"children":734},{"emptyLinePlaceholder":311},[735],{"type":15,"value":314},{"type":10,"tag":252,"props":737,"children":739},{"class":254,"line":738},35,[740,744,748],{"type":10,"tag":252,"props":741,"children":742},{"style":275},[743],{"type":15,"value":323},{"type":10,"tag":252,"props":745,"children":746},{"style":275},[747],{"type":15,"value":328},{"type":10,"tag":252,"props":749,"children":750},{"style":265},[751],{"type":15,"value":752}," VkPipelineBinaryHandlesInfoKHR {\n",{"type":10,"tag":252,"props":754,"children":756},{"class":254,"line":755},36,[757],{"type":10,"tag":252,"props":758,"children":759},{"style":265},[760],{"type":15,"value":648},{"type":10,"tag":252,"props":762,"children":764},{"class":254,"line":763},37,[765,769,773],{"type":10,"tag":252,"props":766,"children":767},{"style":275},[768],{"type":15,"value":507},{"type":10,"tag":252,"props":770,"children":771},{"style":275},[772],{"type":15,"value":600},{"type":10,"tag":252,"props":774,"children":775},{"style":265},[776],{"type":15,"value":665},{"type":10,"tag":252,"props":778,"children":780},{"class":254,"line":779},38,[781,785],{"type":10,"tag":252,"props":782,"children":783},{"style":275},[784],{"type":15,"value":365},{"type":10,"tag":252,"props":786,"children":787},{"style":265},[788],{"type":15,"value":789}," pipelineBinaryCount;\n",{"type":10,"tag":252,"props":791,"children":793},{"class":254,"line":792},39,[794,799,803],{"type":10,"tag":252,"props":795,"children":796},{"style":265},[797],{"type":15,"value":798}," VkPipelineBinaryKHR",{"type":10,"tag":252,"props":800,"children":801},{"style":275},[802],{"type":15,"value":517},{"type":10,"tag":252,"props":804,"children":805},{"style":265},[806],{"type":15,"value":807}," pPipelineBinaries;\n",{"type":10,"tag":252,"props":809,"children":811},{"class":254,"line":810},40,[812],{"type":10,"tag":252,"props":813,"children":814},{"style":265},[815],{"type":15,"value":816},"} VkPipelineBinaryHandlesInfoKHR;\n",{"type":10,"tag":252,"props":818,"children":820},{"class":254,"line":819},41,[821],{"type":10,"tag":252,"props":822,"children":823},{"emptyLinePlaceholder":311},[824],{"type":15,"value":314},{"type":10,"tag":252,"props":826,"children":828},{"class":254,"line":827},42,[829,834,839],{"type":10,"tag":252,"props":830,"children":831},{"style":265},[832],{"type":15,"value":833},"VkResult ",{"type":10,"tag":252,"props":835,"children":836},{"style":259},[837],{"type":15,"value":838},"vkCreatePipelineBinariesKHR",{"type":10,"tag":252,"props":840,"children":841},{"style":265},[842],{"type":15,"value":843},"(\n",{"type":10,"tag":252,"props":845,"children":847},{"class":254,"line":846},43,[848,853,858],{"type":10,"tag":252,"props":849,"children":850},{"style":265},[851],{"type":15,"value":852}," VkDevice ",{"type":10,"tag":252,"props":854,"children":855},{"style":382},[856],{"type":15,"value":857},"device",{"type":10,"tag":252,"props":859,"children":860},{"style":265},[861],{"type":15,"value":862},",\n",{"type":10,"tag":252,"props":864,"children":866},{"class":254,"line":865},44,[867,871,876,880,885],{"type":10,"tag":252,"props":868,"children":869},{"style":275},[870],{"type":15,"value":507},{"type":10,"tag":252,"props":872,"children":873},{"style":265},[874],{"type":15,"value":875}," VkPipelineBinaryCreateInfoKHR",{"type":10,"tag":252,"props":877,"children":878},{"style":275},[879],{"type":15,"value":517},{"type":10,"tag":252,"props":881,"children":882},{"style":382},[883],{"type":15,"value":884}," pCreateInfo",{"type":10,"tag":252,"props":886,"children":887},{"style":265},[888],{"type":15,"value":862},{"type":10,"tag":252,"props":890,"children":892},{"class":254,"line":891},45,[893,897,902,906,911],{"type":10,"tag":252,"props":894,"children":895},{"style":275},[896],{"type":15,"value":507},{"type":10,"tag":252,"props":898,"children":899},{"style":265},[900],{"type":15,"value":901}," VkAllocationCallbacks",{"type":10,"tag":252,"props":903,"children":904},{"style":275},[905],{"type":15,"value":517},{"type":10,"tag":252,"props":907,"children":908},{"style":382},[909],{"type":15,"value":910}," pAllocator",{"type":10,"tag":252,"props":912,"children":913},{"style":265},[914],{"type":15,"value":862},{"type":10,"tag":252,"props":916,"children":918},{"class":254,"line":917},46,[919,924,928,933],{"type":10,"tag":252,"props":920,"children":921},{"style":265},[922],{"type":15,"value":923}," VkPipelineBinaryHandlesInfoKHR",{"type":10,"tag":252,"props":925,"children":926},{"style":275},[927],{"type":15,"value":517},{"type":10,"tag":252,"props":929,"children":930},{"style":382},[931],{"type":15,"value":932}," pBinaries",{"type":10,"tag":252,"props":934,"children":935},{"style":265},[936],{"type":15,"value":937},");\n",{"type":10,"tag":252,"props":939,"children":941},{"class":254,"line":940},47,[942],{"type":10,"tag":252,"props":943,"children":944},{"emptyLinePlaceholder":311},[945],{"type":15,"value":314},{"type":10,"tag":252,"props":947,"children":949},{"class":254,"line":948},48,[950,955,960],{"type":10,"tag":252,"props":951,"children":952},{"style":275},[953],{"type":15,"value":954},"void",{"type":10,"tag":252,"props":956,"children":957},{"style":259},[958],{"type":15,"value":959}," vkDestroyPipelineBinaryKHR",{"type":10,"tag":252,"props":961,"children":962},{"style":265},[963],{"type":15,"value":843},{"type":10,"tag":252,"props":965,"children":967},{"class":254,"line":966},49,[968,973,977],{"type":10,"tag":252,"props":969,"children":970},{"style":265},[971],{"type":15,"value":972}," VkDevice ",{"type":10,"tag":252,"props":974,"children":975},{"style":382},[976],{"type":15,"value":857},{"type":10,"tag":252,"props":978,"children":979},{"style":265},[980],{"type":15,"value":862},{"type":10,"tag":252,"props":982,"children":984},{"class":254,"line":983},50,[985,990,995],{"type":10,"tag":252,"props":986,"children":987},{"style":265},[988],{"type":15,"value":989}," VkPipelineBinaryKHR ",{"type":10,"tag":252,"props":991,"children":992},{"style":382},[993],{"type":15,"value":994},"pipelineBinary",{"type":10,"tag":252,"props":996,"children":997},{"style":265},[998],{"type":15,"value":862},{"type":10,"tag":252,"props":1000,"children":1002},{"class":254,"line":1001},51,[1003,1007,1011,1015,1020],{"type":10,"tag":252,"props":1004,"children":1005},{"style":275},[1006],{"type":15,"value":507},{"type":10,"tag":252,"props":1008,"children":1009},{"style":265},[1010],{"type":15,"value":901},{"type":10,"tag":252,"props":1012,"children":1013},{"style":275},[1014],{"type":15,"value":517},{"type":10,"tag":252,"props":1016,"children":1017},{"style":382},[1018],{"type":15,"value":1019}," pAllocator",{"type":10,"tag":252,"props":1021,"children":1022},{"style":265},[1023],{"type":15,"value":937},{"type":10,"tag":252,"props":1025,"children":1027},{"class":254,"line":1026},52,[1028],{"type":10,"tag":252,"props":1029,"children":1030},{"emptyLinePlaceholder":311},[1031],{"type":15,"value":314},{"type":10,"tag":252,"props":1033,"children":1035},{"class":254,"line":1034},53,[1036,1040,1045],{"type":10,"tag":252,"props":1037,"children":1038},{"style":265},[1039],{"type":15,"value":833},{"type":10,"tag":252,"props":1041,"children":1042},{"style":259},[1043],{"type":15,"value":1044},"vkGetPipelineKeyKHR",{"type":10,"tag":252,"props":1046,"children":1047},{"style":265},[1048],{"type":15,"value":843},{"type":10,"tag":252,"props":1050,"children":1052},{"class":254,"line":1051},54,[1053,1058,1062],{"type":10,"tag":252,"props":1054,"children":1055},{"style":265},[1056],{"type":15,"value":1057}," VkDevice ",{"type":10,"tag":252,"props":1059,"children":1060},{"style":382},[1061],{"type":15,"value":857},{"type":10,"tag":252,"props":1063,"children":1064},{"style":265},[1065],{"type":15,"value":862},{"type":10,"tag":252,"props":1067,"children":1069},{"class":254,"line":1068},55,[1070,1074,1078,1082,1087],{"type":10,"tag":252,"props":1071,"children":1072},{"style":275},[1073],{"type":15,"value":507},{"type":10,"tag":252,"props":1075,"children":1076},{"style":265},[1077],{"type":15,"value":709},{"type":10,"tag":252,"props":1079,"children":1080},{"style":275},[1081],{"type":15,"value":517},{"type":10,"tag":252,"props":1083,"children":1084},{"style":382},[1085],{"type":15,"value":1086}," pPipelineCreateInfo",{"type":10,"tag":252,"props":1088,"children":1089},{"style":265},[1090],{"type":15,"value":862},{"type":10,"tag":252,"props":1092,"children":1094},{"class":254,"line":1093},56,[1095,1100,1104,1109],{"type":10,"tag":252,"props":1096,"children":1097},{"style":265},[1098],{"type":15,"value":1099}," VkPipelineBinaryKeyKHR",{"type":10,"tag":252,"props":1101,"children":1102},{"style":275},[1103],{"type":15,"value":517},{"type":10,"tag":252,"props":1105,"children":1106},{"style":382},[1107],{"type":15,"value":1108}," pPipelineKey",{"type":10,"tag":252,"props":1110,"children":1111},{"style":265},[1112],{"type":15,"value":937},{"type":10,"tag":252,"props":1114,"children":1116},{"class":254,"line":1115},57,[1117],{"type":10,"tag":252,"props":1118,"children":1119},{"emptyLinePlaceholder":311},[1120],{"type":15,"value":314},{"type":10,"tag":252,"props":1122,"children":1124},{"class":254,"line":1123},58,[1125,1129,1133],{"type":10,"tag":252,"props":1126,"children":1127},{"style":275},[1128],{"type":15,"value":323},{"type":10,"tag":252,"props":1130,"children":1131},{"style":275},[1132],{"type":15,"value":328},{"type":10,"tag":252,"props":1134,"children":1135},{"style":265},[1136],{"type":15,"value":1137}," VkPipelineBinaryDataInfoKHR {\n",{"type":10,"tag":252,"props":1139,"children":1141},{"class":254,"line":1140},59,[1142],{"type":10,"tag":252,"props":1143,"children":1144},{"style":265},[1145],{"type":15,"value":587},{"type":10,"tag":252,"props":1147,"children":1149},{"class":254,"line":1148},60,[1150,1154,1158],{"type":10,"tag":252,"props":1151,"children":1152},{"style":275},[1153],{"type":15,"value":507},{"type":10,"tag":252,"props":1155,"children":1156},{"style":275},[1157],{"type":15,"value":600},{"type":10,"tag":252,"props":1159,"children":1160},{"style":265},[1161],{"type":15,"value":605},{"type":10,"tag":252,"props":1163,"children":1165},{"class":254,"line":1164},61,[1166],{"type":10,"tag":252,"props":1167,"children":1168},{"style":265},[1169],{"type":15,"value":1170}," VkPipelineBinaryKHR pipelineBinary;\n",{"type":10,"tag":252,"props":1172,"children":1174},{"class":254,"line":1173},62,[1175],{"type":10,"tag":252,"props":1176,"children":1177},{"style":265},[1178],{"type":15,"value":1179},"} VkPipelineBinaryDataInfoKHR;\n",{"type":10,"tag":252,"props":1181,"children":1183},{"class":254,"line":1182},63,[1184],{"type":10,"tag":252,"props":1185,"children":1186},{"emptyLinePlaceholder":311},[1187],{"type":15,"value":314},{"type":10,"tag":252,"props":1189,"children":1191},{"class":254,"line":1190},64,[1192,1196,1201],{"type":10,"tag":252,"props":1193,"children":1194},{"style":265},[1195],{"type":15,"value":833},{"type":10,"tag":252,"props":1197,"children":1198},{"style":259},[1199],{"type":15,"value":1200},"vkGetPipelineBinaryDataKHR",{"type":10,"tag":252,"props":1202,"children":1203},{"style":265},[1204],{"type":15,"value":843},{"type":10,"tag":252,"props":1206,"children":1208},{"class":254,"line":1207},65,[1209,1214,1218],{"type":10,"tag":252,"props":1210,"children":1211},{"style":265},[1212],{"type":15,"value":1213}," VkDevice ",{"type":10,"tag":252,"props":1215,"children":1216},{"style":382},[1217],{"type":15,"value":857},{"type":10,"tag":252,"props":1219,"children":1220},{"style":265},[1221],{"type":15,"value":862},{"type":10,"tag":252,"props":1223,"children":1225},{"class":254,"line":1224},66,[1226,1230,1235,1239,1244],{"type":10,"tag":252,"props":1227,"children":1228},{"style":275},[1229],{"type":15,"value":507},{"type":10,"tag":252,"props":1231,"children":1232},{"style":265},[1233],{"type":15,"value":1234}," VkPipelineBinaryDataInfoKHR",{"type":10,"tag":252,"props":1236,"children":1237},{"style":275},[1238],{"type":15,"value":517},{"type":10,"tag":252,"props":1240,"children":1241},{"style":382},[1242],{"type":15,"value":1243}," pInfo",{"type":10,"tag":252,"props":1245,"children":1246},{"style":265},[1247],{"type":15,"value":862},{"type":10,"tag":252,"props":1249,"children":1251},{"class":254,"line":1250},67,[1252,1256,1260,1265],{"type":10,"tag":252,"props":1253,"children":1254},{"style":265},[1255],{"type":15,"value":1099},{"type":10,"tag":252,"props":1257,"children":1258},{"style":275},[1259],{"type":15,"value":517},{"type":10,"tag":252,"props":1261,"children":1262},{"style":382},[1263],{"type":15,"value":1264}," pPipelineBinaryKey",{"type":10,"tag":252,"props":1266,"children":1267},{"style":265},[1268],{"type":15,"value":862},{"type":10,"tag":252,"props":1270,"children":1272},{"class":254,"line":1271},68,[1273,1278,1283],{"type":10,"tag":252,"props":1274,"children":1275},{"style":275},[1276],{"type":15,"value":1277}," size_t*",{"type":10,"tag":252,"props":1279,"children":1280},{"style":382},[1281],{"type":15,"value":1282}," pPipelineBinaryDataSize",{"type":10,"tag":252,"props":1284,"children":1285},{"style":265},[1286],{"type":15,"value":862},{"type":10,"tag":252,"props":1288,"children":1290},{"class":254,"line":1289},69,[1291,1295,1300],{"type":10,"tag":252,"props":1292,"children":1293},{"style":275},[1294],{"type":15,"value":351},{"type":10,"tag":252,"props":1296,"children":1297},{"style":382},[1298],{"type":15,"value":1299}," pPipelineBinaryData",{"type":10,"tag":252,"props":1301,"children":1302},{"style":265},[1303],{"type":15,"value":937},{"type":10,"tag":252,"props":1305,"children":1307},{"class":254,"line":1306},70,[1308],{"type":10,"tag":252,"props":1309,"children":1310},{"emptyLinePlaceholder":311},[1311],{"type":15,"value":314},{"type":10,"tag":252,"props":1313,"children":1315},{"class":254,"line":1314},71,[1316,1320,1324],{"type":10,"tag":252,"props":1317,"children":1318},{"style":275},[1319],{"type":15,"value":323},{"type":10,"tag":252,"props":1321,"children":1322},{"style":275},[1323],{"type":15,"value":328},{"type":10,"tag":252,"props":1325,"children":1326},{"style":265},[1327],{"type":15,"value":1328}," VkReleaseCapturedPipelineDataInfoKHR {\n",{"type":10,"tag":252,"props":1330,"children":1332},{"class":254,"line":1331},72,[1333],{"type":10,"tag":252,"props":1334,"children":1335},{"style":265},[1336],{"type":15,"value":587},{"type":10,"tag":252,"props":1338,"children":1340},{"class":254,"line":1339},73,[1341,1345,1349],{"type":10,"tag":252,"props":1342,"children":1343},{"style":275},[1344],{"type":15,"value":507},{"type":10,"tag":252,"props":1346,"children":1347},{"style":275},[1348],{"type":15,"value":600},{"type":10,"tag":252,"props":1350,"children":1351},{"style":265},[1352],{"type":15,"value":605},{"type":10,"tag":252,"props":1354,"children":1356},{"class":254,"line":1355},74,[1357],{"type":10,"tag":252,"props":1358,"children":1359},{"style":265},[1360],{"type":15,"value":1361}," VkPipeline pipeline;\n",{"type":10,"tag":252,"props":1363,"children":1365},{"class":254,"line":1364},75,[1366],{"type":10,"tag":252,"props":1367,"children":1368},{"style":265},[1369],{"type":15,"value":1370},"} VkReleaseCapturedPipelineDataInfoKHR;\n",{"type":10,"tag":252,"props":1372,"children":1374},{"class":254,"line":1373},76,[1375],{"type":10,"tag":252,"props":1376,"children":1377},{"emptyLinePlaceholder":311},[1378],{"type":15,"value":314},{"type":10,"tag":252,"props":1380,"children":1382},{"class":254,"line":1381},77,[1383,1387,1392],{"type":10,"tag":252,"props":1384,"children":1385},{"style":265},[1386],{"type":15,"value":833},{"type":10,"tag":252,"props":1388,"children":1389},{"style":259},[1390],{"type":15,"value":1391},"vkReleaseCapturedPipelineDataKHR",{"type":10,"tag":252,"props":1393,"children":1394},{"style":265},[1395],{"type":15,"value":843},{"type":10,"tag":252,"props":1397,"children":1399},{"class":254,"line":1398},78,[1400,1404,1408],{"type":10,"tag":252,"props":1401,"children":1402},{"style":265},[1403],{"type":15,"value":1057},{"type":10,"tag":252,"props":1405,"children":1406},{"style":382},[1407],{"type":15,"value":857},{"type":10,"tag":252,"props":1409,"children":1410},{"style":265},[1411],{"type":15,"value":862},{"type":10,"tag":252,"props":1413,"children":1415},{"class":254,"line":1414},79,[1416,1420,1425,1429,1434],{"type":10,"tag":252,"props":1417,"children":1418},{"style":275},[1419],{"type":15,"value":507},{"type":10,"tag":252,"props":1421,"children":1422},{"style":265},[1423],{"type":15,"value":1424}," VkReleaseCapturedPipelineDataInfoKHR",{"type":10,"tag":252,"props":1426,"children":1427},{"style":275},[1428],{"type":15,"value":517},{"type":10,"tag":252,"props":1430,"children":1431},{"style":382},[1432],{"type":15,"value":1433}," pInfo",{"type":10,"tag":252,"props":1435,"children":1436},{"style":265},[1437],{"type":15,"value":862},{"type":10,"tag":252,"props":1439,"children":1441},{"class":254,"line":1440},80,[1442,1446,1450,1454,1459],{"type":10,"tag":252,"props":1443,"children":1444},{"style":275},[1445],{"type":15,"value":507},{"type":10,"tag":252,"props":1447,"children":1448},{"style":265},[1449],{"type":15,"value":901},{"type":10,"tag":252,"props":1451,"children":1452},{"style":275},[1453],{"type":15,"value":517},{"type":10,"tag":252,"props":1455,"children":1456},{"style":382},[1457],{"type":15,"value":1458}," pAllocator",{"type":10,"tag":252,"props":1460,"children":1461},{"style":265},[1462],{"type":15,"value":937},{"type":10,"tag":11,"props":1464,"children":1465},{},[1466,1471,1473,1479,1481,1487,1489,1494,1496,1501,1503,1508],{"type":10,"tag":161,"props":1467,"children":1469},{"className":1468},[],[1470],{"type":15,"value":1044},{"type":15,"value":1472}," works on any existing pipeline creation info structure (via ",{"type":10,"tag":161,"props":1474,"children":1476},{"className":1475},[],[1477],{"type":15,"value":1478},"pNext",{"type":15,"value":1480}," in ",{"type":10,"tag":161,"props":1482,"children":1484},{"className":1483},[],[1485],{"type":15,"value":1486},"VkPipelineCreateInfoKHR",{"type":15,"value":1488},"), allowing an application to obtain a pipeline key ",{"type":10,"tag":153,"props":1490,"children":1491},{},[1492],{"type":15,"value":1493},"before",{"type":15,"value":1495}," creating a pipeline.\nThis allows the application to use that key to internally lookup the pipeline binary keys and data previously obtained via ",{"type":10,"tag":161,"props":1497,"children":1499},{"className":1498},[],[1500],{"type":15,"value":1200},{"type":15,"value":1502},", before creating the pipeline.\nAn implementation may return identical pipeline keys for different pipelines if the parts of the ",{"type":10,"tag":161,"props":1504,"children":1506},{"className":1505},[],[1507],{"type":15,"value":1486},{"type":15,"value":1509}," needed by the implementation to create binaries is identical.",{"type":10,"tag":11,"props":1511,"children":1512},{},[1513,1515,1520],{"type":15,"value":1514},"Pipeline ",{"type":10,"tag":153,"props":1516,"children":1517},{},[1518],{"type":15,"value":1519},"binary",{"type":15,"value":1521}," 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":10,"tag":11,"props":1523,"children":1524},{},[1525,1527,1533,1535,1541,1543,1548,1550,1556],{"type":15,"value":1526},"Setting ",{"type":10,"tag":161,"props":1528,"children":1530},{"className":1529},[],[1531],{"type":15,"value":1532},"pPipelineCreateInfo",{"type":15,"value":1534}," to ",{"type":10,"tag":161,"props":1536,"children":1538},{"className":1537},[],[1539],{"type":15,"value":1540},"NULL",{"type":15,"value":1542}," when calling ",{"type":10,"tag":161,"props":1544,"children":1546},{"className":1545},[],[1547],{"type":15,"value":1044},{"type":15,"value":1549}," 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":10,"tag":161,"props":1551,"children":1553},{"className":1552},[],[1554],{"type":15,"value":1555},"*UUID",{"type":15,"value":1557}," 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":10,"tag":11,"props":1559,"children":1560},{},[1561,1566,1568,1574],{"type":10,"tag":161,"props":1562,"children":1564},{"className":1563},[],[1565],{"type":15,"value":838},{"type":15,"value":1567}," can be used in 3 different ways to create ",{"type":10,"tag":161,"props":1569,"children":1571},{"className":1570},[],[1572],{"type":15,"value":1573},"VkPipelineBinaryKHR",{"type":15,"value":1575}," objects:",{"type":10,"tag":98,"props":1577,"children":1578},{},[1579,1591,1609],{"type":10,"tag":49,"props":1580,"children":1581},{},[1582,1583,1589],{"type":15,"value":1526},{"type":10,"tag":161,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":15,"value":1588},"VkPipelineBinaryCreateInfoKHR.pipeline",{"type":15,"value":1590}," allows an application to query the number of binaries for a pipeline and then create that number of binary objects from that pipeline.",{"type":10,"tag":49,"props":1592,"children":1593},{},[1594,1600,1602,1607],{"type":10,"tag":161,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":15,"value":1599},"VkPipelineBinaryCreateInfoKHR.pKeysAndDataInfo",{"type":15,"value":1601}," can be used to create binary objects from data previously retrieved using ",{"type":10,"tag":161,"props":1603,"children":1605},{"className":1604},[],[1606],{"type":15,"value":1200},{"type":15,"value":1608},".",{"type":10,"tag":49,"props":1610,"children":1611},{},[1612,1614,1625,1627,1633],{"type":15,"value":1613},"The ",{"type":10,"tag":1615,"props":1616,"children":1618},"a",{"href":1617},"/404#pipelineBinaryInternalCache",[1619],{"type":10,"tag":161,"props":1620,"children":1622},{"className":1621},[],[1623],{"type":15,"value":1624},"pipelineBinaryInternalCache",{"type":15,"value":1626}," property indicates that an application can use ",{"type":10,"tag":161,"props":1628,"children":1630},{"className":1629},[],[1631],{"type":15,"value":1632},"VkPipelineBinaryCreateInfoKHR.pPipelineCreateInfo",{"type":15,"value":1634}," 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":10,"tag":11,"props":1636,"children":1637},{},[1638,1640,1646,1648,1654,1656,1661],{"type":15,"value":1639},"Only one of ",{"type":10,"tag":161,"props":1641,"children":1643},{"className":1642},[],[1644],{"type":15,"value":1645},"pipeline",{"type":15,"value":1647},", ",{"type":10,"tag":161,"props":1649,"children":1651},{"className":1650},[],[1652],{"type":15,"value":1653},"pKeysAndDataInfo",{"type":15,"value":1655},", and ",{"type":10,"tag":161,"props":1657,"children":1659},{"className":1658},[],[1660],{"type":15,"value":1532},{"type":15,"value":1662}," can be used at once.",{"type":10,"tag":11,"props":1664,"children":1665},{},[1666,1668,1676,1678,1683,1685,1690,1692,1698],{"type":15,"value":1667},"A new ",{"type":10,"tag":1615,"props":1669,"children":1673},{"href":1670,"rel":1671},"https://docs.vulkan.org/spec/latest/chapters/fundamentals.html#VkResult",[1672],"nofollow",[1674],{"type":15,"value":1675},"VkResult",{"type":15,"value":1677}," value is added so that ",{"type":10,"tag":161,"props":1679,"children":1681},{"className":1680},[],[1682],{"type":15,"value":838},{"type":15,"value":1684}," can indicate that an implementation supporting ",{"type":10,"tag":161,"props":1686,"children":1688},{"className":1687},[],[1689],{"type":15,"value":1624},{"type":15,"value":1691}," ",{"type":10,"tag":1615,"props":1693,"children":1695},{"href":1694},"/404#properties",[1696],{"type":15,"value":1697},"Properties",{"type":15,"value":1699}," does not have a binary in its internal cache:",{"type":10,"tag":241,"props":1701,"children":1703},{"className":243,"code":1702,"language":245,"meta":246,"style":246},"VK_PIPELINE_BINARY_MISSING_KHR = 1000483000\n",[1704],{"type":10,"tag":161,"props":1705,"children":1706},{"__ignoreMap":246},[1707],{"type":10,"tag":252,"props":1708,"children":1709},{"class":254,"line":255},[1710,1715,1719],{"type":10,"tag":252,"props":1711,"children":1712},{"style":265},[1713],{"type":15,"value":1714},"VK_PIPELINE_BINARY_MISSING_KHR ",{"type":10,"tag":252,"props":1716,"children":1717},{"style":275},[1718],{"type":15,"value":293},{"type":10,"tag":252,"props":1720,"children":1721},{"style":296},[1722],{"type":15,"value":1723}," 1000483000\n",{"type":10,"tag":11,"props":1725,"children":1726},{},[1727,1728,1733,1734,1739],{"type":15,"value":1667},{"type":10,"tag":1615,"props":1729,"children":1731},{"href":1670,"rel":1730},[1672],[1732],{"type":15,"value":1675},{"type":15,"value":1677},{"type":10,"tag":161,"props":1735,"children":1737},{"className":1736},[],[1738],{"type":15,"value":1200},{"type":15,"value":1740}," can indicate that the application has not provided enough storage to write pipeline binary data into:",{"type":10,"tag":241,"props":1742,"children":1744},{"className":243,"code":1743,"language":245,"meta":246,"style":246},"VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000\n",[1745],{"type":10,"tag":161,"props":1746,"children":1747},{"__ignoreMap":246},[1748],{"type":10,"tag":252,"props":1749,"children":1750},{"class":254,"line":255},[1751,1756,1760,1765],{"type":10,"tag":252,"props":1752,"children":1753},{"style":265},[1754],{"type":15,"value":1755},"VK_ERROR_NOT_ENOUGH_SPACE_KHR ",{"type":10,"tag":252,"props":1757,"children":1758},{"style":275},[1759],{"type":15,"value":293},{"type":10,"tag":252,"props":1761,"children":1762},{"style":275},[1763],{"type":15,"value":1764}," -",{"type":10,"tag":252,"props":1766,"children":1767},{"style":296},[1768],{"type":15,"value":1769},"1000483000\n",{"type":10,"tag":11,"props":1771,"children":1772},{},[1773,1774,1781],{"type":15,"value":1667},{"type":10,"tag":1615,"props":1775,"children":1778},{"href":1776,"rel":1777},"https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VkPipelineCreateFlagBits2KHR",[1672],[1779],{"type":15,"value":1780},"VkPipelineCreateFlagBits2KHR",{"type":15,"value":1782}," value is required to be able to obtain binary data from a pipeline object via this extension after creation:",{"type":10,"tag":241,"props":1784,"children":1786},{"className":243,"code":1785,"language":245,"meta":246,"style":246},"VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000\n",[1787],{"type":10,"tag":161,"props":1788,"children":1789},{"__ignoreMap":246},[1790],{"type":10,"tag":252,"props":1791,"children":1792},{"class":254,"line":255},[1793,1798,1802,1807],{"type":10,"tag":252,"props":1794,"children":1795},{"style":265},[1796],{"type":15,"value":1797},"VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR ",{"type":10,"tag":252,"props":1799,"children":1800},{"style":275},[1801],{"type":15,"value":293},{"type":10,"tag":252,"props":1803,"children":1804},{"style":275},[1805],{"type":15,"value":1806}," 0x",{"type":10,"tag":252,"props":1808,"children":1809},{"style":296},[1810],{"type":15,"value":1811},"80000000\n",{"type":10,"tag":11,"props":1813,"children":1814},{},[1815,1817,1822,1824,1829,1831,1836],{"type":15,"value":1816},"Calling ",{"type":10,"tag":161,"props":1818,"children":1820},{"className":1819},[],[1821],{"type":15,"value":1391},{"type":15,"value":1823}," allows the implementation to free any resources captured as a result of creating the pipeline with ",{"type":10,"tag":161,"props":1825,"children":1827},{"className":1826},[],[1828],{"type":15,"value":195},{"type":15,"value":1830}," and put the pipeline into a state as if ",{"type":10,"tag":161,"props":1832,"children":1834},{"className":1833},[],[1835],{"type":15,"value":195},{"type":15,"value":1837}," had not been provided at pipeline creation time.",{"type":10,"tag":11,"props":1839,"children":1840},{},[1841],{"type":15,"value":1842},"A new creation structure is also provided to pass in any key/data pairs the application has available:",{"type":10,"tag":241,"props":1844,"children":1846},{"className":243,"code":1845,"language":245,"meta":246,"style":246},"typedef struct VkPipelineBinaryInfoKHR {\n VkStructureType sType;\n const void* pNext;\n uint32_t binaryCount;\n const VkPipelineBinaryKHR* pPipelineBinaries;\n} VkPipelineBinaryInfoKHR;\n",[1847],{"type":10,"tag":161,"props":1848,"children":1849},{"__ignoreMap":246},[1850,1866,1873,1888,1900,1921],{"type":10,"tag":252,"props":1851,"children":1852},{"class":254,"line":255},[1853,1857,1861],{"type":10,"tag":252,"props":1854,"children":1855},{"style":275},[1856],{"type":15,"value":323},{"type":10,"tag":252,"props":1858,"children":1859},{"style":275},[1860],{"type":15,"value":328},{"type":10,"tag":252,"props":1862,"children":1863},{"style":265},[1864],{"type":15,"value":1865}," VkPipelineBinaryInfoKHR {\n",{"type":10,"tag":252,"props":1867,"children":1868},{"class":254,"line":271},[1869],{"type":10,"tag":252,"props":1870,"children":1871},{"style":265},[1872],{"type":15,"value":587},{"type":10,"tag":252,"props":1874,"children":1875},{"class":254,"line":307},[1876,1880,1884],{"type":10,"tag":252,"props":1877,"children":1878},{"style":275},[1879],{"type":15,"value":507},{"type":10,"tag":252,"props":1881,"children":1882},{"style":275},[1883],{"type":15,"value":600},{"type":10,"tag":252,"props":1885,"children":1886},{"style":265},[1887],{"type":15,"value":605},{"type":10,"tag":252,"props":1889,"children":1890},{"class":254,"line":317},[1891,1895],{"type":10,"tag":252,"props":1892,"children":1893},{"style":275},[1894],{"type":15,"value":365},{"type":10,"tag":252,"props":1896,"children":1897},{"style":265},[1898],{"type":15,"value":1899}," binaryCount;\n",{"type":10,"tag":252,"props":1901,"children":1902},{"class":254,"line":336},[1903,1907,1912,1916],{"type":10,"tag":252,"props":1904,"children":1905},{"style":275},[1906],{"type":15,"value":507},{"type":10,"tag":252,"props":1908,"children":1909},{"style":265},[1910],{"type":15,"value":1911}," VkPipelineBinaryKHR",{"type":10,"tag":252,"props":1913,"children":1914},{"style":275},[1915],{"type":15,"value":517},{"type":10,"tag":252,"props":1917,"children":1918},{"style":265},[1919],{"type":15,"value":1920}," pPipelineBinaries;\n",{"type":10,"tag":252,"props":1922,"children":1923},{"class":254,"line":345},[1924],{"type":10,"tag":252,"props":1925,"children":1926},{"style":265},[1927],{"type":15,"value":1928},"} VkPipelineBinaryInfoKHR;\n",{"type":10,"tag":11,"props":1930,"children":1931},{},[1932,1934,1940],{"type":15,"value":1933},"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":10,"tag":161,"props":1935,"children":1937},{"className":1936},[],[1938],{"type":15,"value":1939},"VkPipelineShaderStageCreateInfo",{"type":15,"value":1941}," instances at key generation time as they will be ignored by the implementation when creating a pipeline from binaries.",{"type":10,"tag":11,"props":1943,"children":1944},{},[1945,1947,1953,1954,1960,1962,1968,1970,1975,1977,1983,1985,1990],{"type":15,"value":1946},"Note that when creating a pipeline from binaries ",{"type":10,"tag":161,"props":1948,"children":1950},{"className":1949},[],[1951],{"type":15,"value":1952},"binaryCount",{"type":15,"value":1480},{"type":10,"tag":161,"props":1955,"children":1957},{"className":1956},[],[1958],{"type":15,"value":1959},"VkPipelineBinaryInfoKHR",{"type":15,"value":1961}," and the value in ",{"type":10,"tag":161,"props":1963,"children":1965},{"className":1964},[],[1966],{"type":15,"value":1967},"pipelineBinaryCount",{"type":15,"value":1969}," returned by ",{"type":10,"tag":161,"props":1971,"children":1973},{"className":1972},[],[1974],{"type":15,"value":838},{"type":15,"value":1976}," must be matching for a given pipeline/create info, and the order of the binaries in ",{"type":10,"tag":161,"props":1978,"children":1980},{"className":1979},[],[1981],{"type":15,"value":1982},"pPipelineBinaries",{"type":15,"value":1984}," must match those returned by ",{"type":10,"tag":161,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":15,"value":838},{"type":15,"value":1608},{"type":10,"tag":234,"props":1992,"children":1994},{"id":1993},"_features",[1995],{"type":15,"value":1996},"Features",{"type":10,"tag":11,"props":1998,"children":1999},{},[2000],{"type":15,"value":2001},"The following new features are exposed by the extension:",{"type":10,"tag":241,"props":2003,"children":2005},{"className":243,"code":2004,"language":245,"meta":246,"style":246},"typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR {\n VkStructureType sType;\n void* pNext;\n VkBool32 pipelineBinaries;\n} VkPhysicalDevicePipelineBinaryFeaturesKHR;\n",[2006],{"type":10,"tag":161,"props":2007,"children":2008},{"__ignoreMap":246},[2009,2025,2033,2045,2053],{"type":10,"tag":252,"props":2010,"children":2011},{"class":254,"line":255},[2012,2016,2020],{"type":10,"tag":252,"props":2013,"children":2014},{"style":275},[2015],{"type":15,"value":323},{"type":10,"tag":252,"props":2017,"children":2018},{"style":275},[2019],{"type":15,"value":328},{"type":10,"tag":252,"props":2021,"children":2022},{"style":265},[2023],{"type":15,"value":2024}," VkPhysicalDevicePipelineBinaryFeaturesKHR {\n",{"type":10,"tag":252,"props":2026,"children":2027},{"class":254,"line":271},[2028],{"type":10,"tag":252,"props":2029,"children":2030},{"style":265},[2031],{"type":15,"value":2032}," VkStructureType sType;\n",{"type":10,"tag":252,"props":2034,"children":2035},{"class":254,"line":307},[2036,2040],{"type":10,"tag":252,"props":2037,"children":2038},{"style":275},[2039],{"type":15,"value":351},{"type":10,"tag":252,"props":2041,"children":2042},{"style":265},[2043],{"type":15,"value":2044}," pNext;\n",{"type":10,"tag":252,"props":2046,"children":2047},{"class":254,"line":317},[2048],{"type":10,"tag":252,"props":2049,"children":2050},{"style":265},[2051],{"type":15,"value":2052}," VkBool32 pipelineBinaries;\n",{"type":10,"tag":252,"props":2054,"children":2055},{"class":254,"line":336},[2056],{"type":10,"tag":252,"props":2057,"children":2058},{"style":265},[2059],{"type":15,"value":2060},"} VkPhysicalDevicePipelineBinaryFeaturesKHR;\n",{"type":10,"tag":98,"props":2062,"children":2063},{},[2064],{"type":10,"tag":49,"props":2065,"children":2066},{},[2067,2073],{"type":10,"tag":161,"props":2068,"children":2070},{"className":2069},[],[2071],{"type":15,"value":2072},"pipelineBinaries",{"type":15,"value":2074}," is the main feature enabling this extension’s functionality and\nmust be supported if this extension is supported.",{"type":10,"tag":234,"props":2076,"children":2078},{"id":2077},"properties",[2079],{"type":15,"value":1697},{"type":10,"tag":11,"props":2081,"children":2082},{},[2083],{"type":15,"value":2084},"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":10,"tag":11,"props":2086,"children":2087},{},[2088],{"type":15,"value":2089},"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":10,"tag":241,"props":2091,"children":2095},{"className":2092,"code":2093,"language":2094,"meta":246,"style":246},"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++",[2096],{"type":10,"tag":161,"props":2097,"children":2098},{"__ignoreMap":246},[2099,2120,2128,2140,2148,2156,2164,2172,2180],{"type":10,"tag":252,"props":2100,"children":2101},{"class":254,"line":255},[2102,2106,2110,2115],{"type":10,"tag":252,"props":2103,"children":2104},{"style":275},[2105],{"type":15,"value":323},{"type":10,"tag":252,"props":2107,"children":2108},{"style":275},[2109],{"type":15,"value":328},{"type":10,"tag":252,"props":2111,"children":2112},{"style":382},[2113],{"type":15,"value":2114}," VkPhysicalDevicePipelineBinaryPropertiesKHR",{"type":10,"tag":252,"props":2116,"children":2117},{"style":265},[2118],{"type":15,"value":2119}," {\n",{"type":10,"tag":252,"props":2121,"children":2122},{"class":254,"line":271},[2123],{"type":10,"tag":252,"props":2124,"children":2125},{"style":265},[2126],{"type":15,"value":2127}," VkStructureType sType;\n",{"type":10,"tag":252,"props":2129,"children":2130},{"class":254,"line":307},[2131,2135],{"type":10,"tag":252,"props":2132,"children":2133},{"style":275},[2134],{"type":15,"value":351},{"type":10,"tag":252,"props":2136,"children":2137},{"style":265},[2138],{"type":15,"value":2139}," pNext;\n",{"type":10,"tag":252,"props":2141,"children":2142},{"class":254,"line":317},[2143],{"type":10,"tag":252,"props":2144,"children":2145},{"style":265},[2146],{"type":15,"value":2147}," VkBool32 pipelineBinaryInternalCache;\n",{"type":10,"tag":252,"props":2149,"children":2150},{"class":254,"line":336},[2151],{"type":10,"tag":252,"props":2152,"children":2153},{"style":265},[2154],{"type":15,"value":2155}," VkBool32 pipelineBinaryInternalCacheControl;\n",{"type":10,"tag":252,"props":2157,"children":2158},{"class":254,"line":345},[2159],{"type":10,"tag":252,"props":2160,"children":2161},{"style":265},[2162],{"type":15,"value":2163}," VkBool32 pipelineBinaryPrefersInternalCache;\n",{"type":10,"tag":252,"props":2165,"children":2166},{"class":254,"line":359},[2167],{"type":10,"tag":252,"props":2168,"children":2169},{"style":265},[2170],{"type":15,"value":2171}," VkBool32 pipelineBinaryPrecompiledInternalCache;\n",{"type":10,"tag":252,"props":2173,"children":2174},{"class":254,"line":373},[2175],{"type":10,"tag":252,"props":2176,"children":2177},{"style":265},[2178],{"type":15,"value":2179}," VkBool32 pipelineBinaryCompressedData;\n",{"type":10,"tag":252,"props":2181,"children":2182},{"class":254,"line":393},[2183,2188,2193],{"type":10,"tag":252,"props":2184,"children":2185},{"style":265},[2186],{"type":15,"value":2187},"} ",{"type":10,"tag":252,"props":2189,"children":2190},{"style":382},[2191],{"type":15,"value":2192},"VkPhysicalDevicePipelineBinaryPropertiesKHR",{"type":10,"tag":252,"props":2194,"children":2195},{"style":265},[2196],{"type":15,"value":304},{"type":10,"tag":2198,"props":2199,"children":2200},"h5",{"id":1624},[2201,2202],{"type":15,"value":246},{"type":10,"tag":161,"props":2203,"children":2205},{"className":2204},[],[2206],{"type":15,"value":1624},{"type":10,"tag":11,"props":2208,"children":2209},{},[2210,2212,2217],{"type":15,"value":2211},"When ",{"type":10,"tag":161,"props":2213,"children":2215},{"className":2214},[],[2216],{"type":15,"value":1624},{"type":15,"value":2218}," 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":10,"tag":241,"props":2220,"children":2222},{"className":2092,"code":2221,"language":2094,"meta":246,"style":246},"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",[2223],{"type":10,"tag":161,"props":2224,"children":2225},{"__ignoreMap":246},[2226,2234,2241,2249,2266,2288,2295,2303,2320,2341,2361,2378,2399,2406,2414,2431,2451,2472,2492,2499,2548,2555,2578,2587,2595,2607,2615,2622,2654,2672,2679,2705,2712],{"type":10,"tag":252,"props":2227,"children":2228},{"class":254,"line":255},[2229],{"type":10,"tag":252,"props":2230,"children":2231},{"style":265},[2232],{"type":15,"value":2233},"VkGraphicsPipelineCreateInfo graphicsCreateInfo;\n",{"type":10,"tag":252,"props":2235,"children":2236},{"class":254,"line":271},[2237],{"type":10,"tag":252,"props":2238,"children":2239},{"emptyLinePlaceholder":311},[2240],{"type":15,"value":314},{"type":10,"tag":252,"props":2242,"children":2243},{"class":254,"line":307},[2244],{"type":10,"tag":252,"props":2245,"children":2246},{"style":265},[2247],{"type":15,"value":2248},"VkPipelineCreateInfoKHR pipelineCreateInfo;\n",{"type":10,"tag":252,"props":2250,"children":2251},{"class":254,"line":317},[2252,2257,2261],{"type":10,"tag":252,"props":2253,"children":2254},{"style":265},[2255],{"type":15,"value":2256},"pipelineCreateInfo.sType ",{"type":10,"tag":252,"props":2258,"children":2259},{"style":275},[2260],{"type":15,"value":293},{"type":10,"tag":252,"props":2262,"children":2263},{"style":265},[2264],{"type":15,"value":2265}," VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\n",{"type":10,"tag":252,"props":2267,"children":2268},{"class":254,"line":336},[2269,2274,2278,2283],{"type":10,"tag":252,"props":2270,"children":2271},{"style":265},[2272],{"type":15,"value":2273},"pipelineCreateInfo.pNext ",{"type":10,"tag":252,"props":2275,"children":2276},{"style":275},[2277],{"type":15,"value":293},{"type":10,"tag":252,"props":2279,"children":2280},{"style":275},[2281],{"type":15,"value":2282}," &",{"type":10,"tag":252,"props":2284,"children":2285},{"style":265},[2286],{"type":15,"value":2287},"graphicsCreateInfo;\n",{"type":10,"tag":252,"props":2289,"children":2290},{"class":254,"line":345},[2291],{"type":10,"tag":252,"props":2292,"children":2293},{"emptyLinePlaceholder":311},[2294],{"type":15,"value":314},{"type":10,"tag":252,"props":2296,"children":2297},{"class":254,"line":359},[2298],{"type":10,"tag":252,"props":2299,"children":2300},{"style":265},[2301],{"type":15,"value":2302},"VkPipelineBinaryCreateInfoKHR createInfo;\n",{"type":10,"tag":252,"props":2304,"children":2305},{"class":254,"line":373},[2306,2311,2315],{"type":10,"tag":252,"props":2307,"children":2308},{"style":265},[2309],{"type":15,"value":2310},"createInfo.sType ",{"type":10,"tag":252,"props":2312,"children":2313},{"style":275},[2314],{"type":15,"value":293},{"type":10,"tag":252,"props":2316,"children":2317},{"style":265},[2318],{"type":15,"value":2319}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\n",{"type":10,"tag":252,"props":2321,"children":2322},{"class":254,"line":393},[2323,2328,2332,2337],{"type":10,"tag":252,"props":2324,"children":2325},{"style":265},[2326],{"type":15,"value":2327},"createInfo.pNext ",{"type":10,"tag":252,"props":2329,"children":2330},{"style":275},[2331],{"type":15,"value":293},{"type":10,"tag":252,"props":2333,"children":2334},{"style":296},[2335],{"type":15,"value":2336}," NULL",{"type":10,"tag":252,"props":2338,"children":2339},{"style":265},[2340],{"type":15,"value":304},{"type":10,"tag":252,"props":2342,"children":2343},{"class":254,"line":402},[2344,2349,2353,2357],{"type":10,"tag":252,"props":2345,"children":2346},{"style":265},[2347],{"type":15,"value":2348},"createInfo.pKeysAndDataInfo ",{"type":10,"tag":252,"props":2350,"children":2351},{"style":275},[2352],{"type":15,"value":293},{"type":10,"tag":252,"props":2354,"children":2355},{"style":296},[2356],{"type":15,"value":2336},{"type":10,"tag":252,"props":2358,"children":2359},{"style":265},[2360],{"type":15,"value":304},{"type":10,"tag":252,"props":2362,"children":2363},{"class":254,"line":410},[2364,2369,2373],{"type":10,"tag":252,"props":2365,"children":2366},{"style":265},[2367],{"type":15,"value":2368},"createInfo.pipeline ",{"type":10,"tag":252,"props":2370,"children":2371},{"style":275},[2372],{"type":15,"value":293},{"type":10,"tag":252,"props":2374,"children":2375},{"style":265},[2376],{"type":15,"value":2377}," VK_NULL_HANDLE;\n",{"type":10,"tag":252,"props":2379,"children":2380},{"class":254,"line":427},[2381,2386,2390,2394],{"type":10,"tag":252,"props":2382,"children":2383},{"style":265},[2384],{"type":15,"value":2385},"createInfo.pPipelineCreateInfo ",{"type":10,"tag":252,"props":2387,"children":2388},{"style":275},[2389],{"type":15,"value":293},{"type":10,"tag":252,"props":2391,"children":2392},{"style":275},[2393],{"type":15,"value":2282},{"type":10,"tag":252,"props":2395,"children":2396},{"style":265},[2397],{"type":15,"value":2398},"pipelineCreateInfo;\n",{"type":10,"tag":252,"props":2400,"children":2401},{"class":254,"line":441},[2402],{"type":10,"tag":252,"props":2403,"children":2404},{"emptyLinePlaceholder":311},[2405],{"type":15,"value":314},{"type":10,"tag":252,"props":2407,"children":2408},{"class":254,"line":454},[2409],{"type":10,"tag":252,"props":2410,"children":2411},{"style":265},[2412],{"type":15,"value":2413},"VkPipelineBinaryHandlesInfoKHR handlesInfo;\n",{"type":10,"tag":252,"props":2415,"children":2416},{"class":254,"line":463},[2417,2422,2426],{"type":10,"tag":252,"props":2418,"children":2419},{"style":265},[2420],{"type":15,"value":2421},"handlesInfo.sType ",{"type":10,"tag":252,"props":2423,"children":2424},{"style":275},[2425],{"type":15,"value":293},{"type":10,"tag":252,"props":2427,"children":2428},{"style":265},[2429],{"type":15,"value":2430}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\n",{"type":10,"tag":252,"props":2432,"children":2433},{"class":254,"line":471},[2434,2439,2443,2447],{"type":10,"tag":252,"props":2435,"children":2436},{"style":265},[2437],{"type":15,"value":2438},"handlesInfo.pNext ",{"type":10,"tag":252,"props":2440,"children":2441},{"style":275},[2442],{"type":15,"value":293},{"type":10,"tag":252,"props":2444,"children":2445},{"style":296},[2446],{"type":15,"value":2336},{"type":10,"tag":252,"props":2448,"children":2449},{"style":265},[2450],{"type":15,"value":304},{"type":10,"tag":252,"props":2452,"children":2453},{"class":254,"line":488},[2454,2459,2463,2468],{"type":10,"tag":252,"props":2455,"children":2456},{"style":265},[2457],{"type":15,"value":2458},"handlesInfo.pipelineBinaryCount ",{"type":10,"tag":252,"props":2460,"children":2461},{"style":275},[2462],{"type":15,"value":293},{"type":10,"tag":252,"props":2464,"children":2465},{"style":296},[2466],{"type":15,"value":2467}," 0",{"type":10,"tag":252,"props":2469,"children":2470},{"style":265},[2471],{"type":15,"value":304},{"type":10,"tag":252,"props":2473,"children":2474},{"class":254,"line":501},[2475,2480,2484,2488],{"type":10,"tag":252,"props":2476,"children":2477},{"style":265},[2478],{"type":15,"value":2479},"handlesInfo.pPipelineBinaries ",{"type":10,"tag":252,"props":2481,"children":2482},{"style":275},[2483],{"type":15,"value":293},{"type":10,"tag":252,"props":2485,"children":2486},{"style":296},[2487],{"type":15,"value":2336},{"type":10,"tag":252,"props":2489,"children":2490},{"style":265},[2491],{"type":15,"value":304},{"type":10,"tag":252,"props":2493,"children":2494},{"class":254,"line":525},[2495],{"type":10,"tag":252,"props":2496,"children":2497},{"emptyLinePlaceholder":311},[2498],{"type":15,"value":314},{"type":10,"tag":252,"props":2500,"children":2501},{"class":254,"line":547},[2502,2507,2511,2516,2521,2526,2531,2535,2539,2543],{"type":10,"tag":252,"props":2503,"children":2504},{"style":265},[2505],{"type":15,"value":2506},"VkResult res ",{"type":10,"tag":252,"props":2508,"children":2509},{"style":275},[2510],{"type":15,"value":293},{"type":10,"tag":252,"props":2512,"children":2513},{"style":259},[2514],{"type":15,"value":2515}," vkCreatePipelineBinariesKHR",{"type":10,"tag":252,"props":2517,"children":2518},{"style":265},[2519],{"type":15,"value":2520},"(device, ",{"type":10,"tag":252,"props":2522,"children":2523},{"style":275},[2524],{"type":15,"value":2525},"&",{"type":10,"tag":252,"props":2527,"children":2528},{"style":265},[2529],{"type":15,"value":2530},"createInfo, ",{"type":10,"tag":252,"props":2532,"children":2533},{"style":296},[2534],{"type":15,"value":1540},{"type":10,"tag":252,"props":2536,"children":2537},{"style":265},[2538],{"type":15,"value":1647},{"type":10,"tag":252,"props":2540,"children":2541},{"style":275},[2542],{"type":15,"value":2525},{"type":10,"tag":252,"props":2544,"children":2545},{"style":265},[2546],{"type":15,"value":2547},"handlesInfo);\n",{"type":10,"tag":252,"props":2549,"children":2550},{"class":254,"line":556},[2551],{"type":10,"tag":252,"props":2552,"children":2553},{"emptyLinePlaceholder":311},[2554],{"type":15,"value":314},{"type":10,"tag":252,"props":2556,"children":2557},{"class":254,"line":564},[2558,2563,2568,2573],{"type":10,"tag":252,"props":2559,"children":2560},{"style":275},[2561],{"type":15,"value":2562},"if",{"type":10,"tag":252,"props":2564,"children":2565},{"style":265},[2566],{"type":15,"value":2567}," (res ",{"type":10,"tag":252,"props":2569,"children":2570},{"style":275},[2571],{"type":15,"value":2572},"==",{"type":10,"tag":252,"props":2574,"children":2575},{"style":265},[2576],{"type":15,"value":2577}," VK_PIPELINE_BINARY_MISSING_KHR) {\n",{"type":10,"tag":252,"props":2579,"children":2580},{"class":254,"line":581},[2581],{"type":10,"tag":252,"props":2582,"children":2584},{"style":2583},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[2585],{"type":15,"value":2586}," // Attempted to create a pipeline binary, but implementation does not have it in cache.\n",{"type":10,"tag":252,"props":2588,"children":2589},{"class":254,"line":590},[2590],{"type":10,"tag":252,"props":2591,"children":2592},{"style":2583},[2593],{"type":15,"value":2594}," // Similar to VK_PIPELINE_COMPILE_REQUIRED, this is a positive return value.\n",{"type":10,"tag":252,"props":2596,"children":2597},{"class":254,"line":608},[2598,2603],{"type":10,"tag":252,"props":2599,"children":2600},{"style":275},[2601],{"type":15,"value":2602}," return",{"type":10,"tag":252,"props":2604,"children":2605},{"style":265},[2606],{"type":15,"value":304},{"type":10,"tag":252,"props":2608,"children":2609},{"class":254,"line":617},[2610],{"type":10,"tag":252,"props":2611,"children":2612},{"style":265},[2613],{"type":15,"value":2614},"}\n",{"type":10,"tag":252,"props":2616,"children":2617},{"class":254,"line":625},[2618],{"type":10,"tag":252,"props":2619,"children":2620},{"emptyLinePlaceholder":311},[2621],{"type":15,"value":314},{"type":10,"tag":252,"props":2623,"children":2624},{"class":254,"line":642},[2625,2630,2635,2640,2644,2649],{"type":10,"tag":252,"props":2626,"children":2627},{"style":382},[2628],{"type":15,"value":2629},"std",{"type":10,"tag":252,"props":2631,"children":2632},{"style":265},[2633],{"type":15,"value":2634},"::vector",{"type":10,"tag":252,"props":2636,"children":2637},{"style":275},[2638],{"type":15,"value":2639},"\u003C",{"type":10,"tag":252,"props":2641,"children":2642},{"style":265},[2643],{"type":15,"value":1573},{"type":10,"tag":252,"props":2645,"children":2646},{"style":275},[2647],{"type":15,"value":2648},">",{"type":10,"tag":252,"props":2650,"children":2651},{"style":265},[2652],{"type":15,"value":2653}," pipelineBinaries;\n",{"type":10,"tag":252,"props":2655,"children":2656},{"class":254,"line":651},[2657,2662,2667],{"type":10,"tag":252,"props":2658,"children":2659},{"style":265},[2660],{"type":15,"value":2661},"pipelineBinaries.",{"type":10,"tag":252,"props":2663,"children":2664},{"style":259},[2665],{"type":15,"value":2666},"resize",{"type":10,"tag":252,"props":2668,"children":2669},{"style":265},[2670],{"type":15,"value":2671},"(handlesInfo.pipelineBinaryCount);\n",{"type":10,"tag":252,"props":2673,"children":2674},{"class":254,"line":668},[2675],{"type":10,"tag":252,"props":2676,"children":2677},{"emptyLinePlaceholder":311},[2678],{"type":15,"value":314},{"type":10,"tag":252,"props":2680,"children":2681},{"class":254,"line":690},[2682,2686,2690,2695,2700],{"type":10,"tag":252,"props":2683,"children":2684},{"style":265},[2685],{"type":15,"value":2479},{"type":10,"tag":252,"props":2687,"children":2688},{"style":275},[2689],{"type":15,"value":293},{"type":10,"tag":252,"props":2691,"children":2692},{"style":265},[2693],{"type":15,"value":2694}," pipelineBinaries.",{"type":10,"tag":252,"props":2696,"children":2697},{"style":259},[2698],{"type":15,"value":2699},"data",{"type":10,"tag":252,"props":2701,"children":2702},{"style":265},[2703],{"type":15,"value":2704},"();\n",{"type":10,"tag":252,"props":2706,"children":2707},{"class":254,"line":699},[2708],{"type":10,"tag":252,"props":2709,"children":2710},{"emptyLinePlaceholder":311},[2711],{"type":15,"value":314},{"type":10,"tag":252,"props":2713,"children":2714},{"class":254,"line":721},[2715,2719,2723,2727,2731,2735,2739,2743],{"type":10,"tag":252,"props":2716,"children":2717},{"style":259},[2718],{"type":15,"value":838},{"type":10,"tag":252,"props":2720,"children":2721},{"style":265},[2722],{"type":15,"value":2520},{"type":10,"tag":252,"props":2724,"children":2725},{"style":275},[2726],{"type":15,"value":2525},{"type":10,"tag":252,"props":2728,"children":2729},{"style":265},[2730],{"type":15,"value":2530},{"type":10,"tag":252,"props":2732,"children":2733},{"style":296},[2734],{"type":15,"value":1540},{"type":10,"tag":252,"props":2736,"children":2737},{"style":265},[2738],{"type":15,"value":1647},{"type":10,"tag":252,"props":2740,"children":2741},{"style":275},[2742],{"type":15,"value":2525},{"type":10,"tag":252,"props":2744,"children":2745},{"style":265},[2746],{"type":15,"value":2547},{"type":10,"tag":11,"props":2748,"children":2749},{},[2750,2752,2758,2760,2766],{"type":15,"value":2751},"While this mechanism looks very similar to ",{"type":10,"tag":161,"props":2753,"children":2755},{"className":2754},[],[2756],{"type":15,"value":2757},"VK_EXT_shader_module_identifier",{"type":15,"value":2759}," shader creation,\nthe main rationale for doing it like this,\nrather than supporting passing in ",{"type":10,"tag":161,"props":2761,"children":2763},{"className":2762},[],[2764],{"type":15,"value":2765},"VK_NULL_HANDLE",{"type":15,"value":2767}," pipeline binary to pipeline creation is:",{"type":10,"tag":98,"props":2769,"children":2770},{},[2771,2776],{"type":10,"tag":49,"props":2772,"children":2773},{},[2774],{"type":15,"value":2775},"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":10,"tag":49,"props":2777,"children":2778},{},[2779,2781,2787],{"type":15,"value":2780},"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":10,"tag":161,"props":2782,"children":2784},{"className":2783},[],[2785],{"type":15,"value":2786},"VK_EXT_graphics_pipeline_library",{"type":15,"value":1608},{"type":10,"tag":11,"props":2789,"children":2790},{},[2791,2793,2799],{"type":15,"value":2792},"Just as with any internal cache, there are no guarantees that ",{"type":10,"tag":161,"props":2794,"children":2796},{"className":2795},[],[2797],{"type":15,"value":2798},"VK_PIPELINE_BINARY_MISSING_KHR",{"type":15,"value":2800}," will not be returned.\nIt is considered a best-effort system.",{"type":10,"tag":11,"props":2802,"children":2803},{},[2804],{"type":15,"value":2805},"When this property is not set, applications should assume that the implementation does not provide any on-disk caching on its own.",{"type":10,"tag":2198,"props":2807,"children":2809},{"id":2808},"_pipelinebinaryinternalcachecontrol",[2810,2811],{"type":15,"value":246},{"type":10,"tag":161,"props":2812,"children":2814},{"className":2813},[],[2815],{"type":15,"value":2816},"pipelineBinaryInternalCacheControl",{"type":10,"tag":11,"props":2818,"children":2819},{},[2820,2821,2826,2828,2833,2835,2841],{"type":15,"value":2211},{"type":10,"tag":161,"props":2822,"children":2824},{"className":2823},[],[2825],{"type":15,"value":2816},{"type":15,"value":2827}," is supported it is possible to disable the implementation’s\ninternal pipeline cache by adding the following structure to the ",{"type":10,"tag":161,"props":2829,"children":2831},{"className":2830},[],[2832],{"type":15,"value":1478},{"type":15,"value":2834}," chain of ",{"type":10,"tag":161,"props":2836,"children":2838},{"className":2837},[],[2839],{"type":15,"value":2840},"VkDeviceCreateInfo",{"type":15,"value":2842}," when creating a device:",{"type":10,"tag":241,"props":2844,"children":2846},{"className":243,"code":2845,"language":245,"meta":246,"style":246},"typedef struct VkDevicePipelineBinaryInternalCacheControlKHR {\n VkStructureType sType;\n const void* pNext;\n VkBool32 disableInternalCache;\n} VkDevicePipelineBinaryInternalCacheControlKHR;\n",[2847],{"type":10,"tag":161,"props":2848,"children":2849},{"__ignoreMap":246},[2850,2866,2873,2889,2897],{"type":10,"tag":252,"props":2851,"children":2852},{"class":254,"line":255},[2853,2857,2861],{"type":10,"tag":252,"props":2854,"children":2855},{"style":275},[2856],{"type":15,"value":323},{"type":10,"tag":252,"props":2858,"children":2859},{"style":275},[2860],{"type":15,"value":328},{"type":10,"tag":252,"props":2862,"children":2863},{"style":265},[2864],{"type":15,"value":2865}," VkDevicePipelineBinaryInternalCacheControlKHR {\n",{"type":10,"tag":252,"props":2867,"children":2868},{"class":254,"line":271},[2869],{"type":10,"tag":252,"props":2870,"children":2871},{"style":265},[2872],{"type":15,"value":2032},{"type":10,"tag":252,"props":2874,"children":2875},{"class":254,"line":307},[2876,2880,2884],{"type":10,"tag":252,"props":2877,"children":2878},{"style":275},[2879],{"type":15,"value":507},{"type":10,"tag":252,"props":2881,"children":2882},{"style":275},[2883],{"type":15,"value":600},{"type":10,"tag":252,"props":2885,"children":2886},{"style":265},[2887],{"type":15,"value":2888}," pNext;\n",{"type":10,"tag":252,"props":2890,"children":2891},{"class":254,"line":317},[2892],{"type":10,"tag":252,"props":2893,"children":2894},{"style":265},[2895],{"type":15,"value":2896}," VkBool32 disableInternalCache;\n",{"type":10,"tag":252,"props":2898,"children":2899},{"class":254,"line":336},[2900],{"type":10,"tag":252,"props":2901,"children":2902},{"style":265},[2903],{"type":15,"value":2904},"} VkDevicePipelineBinaryInternalCacheControlKHR;\n",{"type":10,"tag":11,"props":2906,"children":2907},{},[2908,2910,2916,2918,2924,2926,2931,2932,2937,2939,2944],{"type":15,"value":2909},"If the ",{"type":10,"tag":161,"props":2911,"children":2913},{"className":2912},[],[2914],{"type":15,"value":2915},"disableInternalCache",{"type":15,"value":2917}," is ",{"type":10,"tag":161,"props":2919,"children":2921},{"className":2920},[],[2922],{"type":15,"value":2923},"VK_TRUE",{"type":15,"value":2925}," then the implementation’s internal cache is disabled,\nallowing an application to take full control of both memory and disk usage.\nWhen ",{"type":10,"tag":161,"props":2927,"children":2929},{"className":2928},[],[2930],{"type":15,"value":2915},{"type":15,"value":2917},{"type":10,"tag":161,"props":2933,"children":2935},{"className":2934},[],[2936],{"type":15,"value":2923},{"type":15,"value":2938},", it is not allowed to attempt creating a ",{"type":10,"tag":161,"props":2940,"children":2942},{"className":2941},[],[2943],{"type":15,"value":1573},{"type":15,"value":2945}," without providing either SPIR-V or binary data.",{"type":10,"tag":2198,"props":2947,"children":2949},{"id":2948},"_pipelinebinaryprefersinternalcache",[2950,2951],{"type":15,"value":246},{"type":10,"tag":161,"props":2952,"children":2954},{"className":2953},[],[2955],{"type":15,"value":2956},"pipelineBinaryPrefersInternalCache",{"type":10,"tag":11,"props":2958,"children":2959},{},[2960,2962,2967],{"type":15,"value":2961},"If this is set, the implementations prefers that applications do not capture pipeline binaries themselves with ",{"type":10,"tag":161,"props":2963,"children":2965},{"className":2964},[],[2966],{"type":15,"value":195},{"type":15,"value":2968}," 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":10,"tag":11,"props":2970,"children":2971},{},[2972,2974,2979,2981,2986],{"type":15,"value":2973},"An IHV implementation should not set this to ",{"type":10,"tag":161,"props":2975,"children":2977},{"className":2976},[],[2978],{"type":15,"value":2923},{"type":15,"value":2980}," in isolation.\nThe intention here is that a layer may decide to set this property to ",{"type":10,"tag":161,"props":2982,"children":2984},{"className":2983},[],[2985],{"type":15,"value":2923},{"type":15,"value":2987}," if the layer has knowledge that\nthe internal cache already exists on-disk, and is considered more important than the application’s cache.",{"type":10,"tag":2198,"props":2989,"children":2991},{"id":2990},"_pipelinebinaryprecompiledinternalcache",[2992,2993],{"type":15,"value":246},{"type":10,"tag":161,"props":2994,"children":2996},{"className":2995},[],[2997],{"type":15,"value":2998},"pipelineBinaryPrecompiledInternalCache",{"type":10,"tag":11,"props":3000,"children":3001},{},[3002],{"type":15,"value":3003},"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":10,"tag":11,"props":3005,"children":3006},{},[3007,3009,3014,3016,3021,3023,3028],{"type":15,"value":3008},"This property is very similar to ",{"type":10,"tag":161,"props":3010,"children":3012},{"className":3011},[],[3013],{"type":15,"value":2956},{"type":15,"value":3015},", in that IHV implementations are not expected to set this to ",{"type":10,"tag":161,"props":3017,"children":3019},{"className":3018},[],[3020],{"type":15,"value":2923},{"type":15,"value":3022},",\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":10,"tag":161,"props":3024,"children":3026},{"className":3025},[],[3027],{"type":15,"value":2923},{"type":15,"value":1608},{"type":10,"tag":2198,"props":3030,"children":3032},{"id":3031},"_pipelinebinarycompresseddata",[3033,3034],{"type":15,"value":246},{"type":10,"tag":161,"props":3035,"children":3037},{"className":3036},[],[3038],{"type":15,"value":3039},"pipelineBinaryCompressedData",{"type":10,"tag":11,"props":3041,"children":3042},{},[3043],{"type":15,"value":3044},"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":10,"tag":17,"props":3046,"children":3048},{"id":3047},"_examples",[3049],{"type":15,"value":3050},"Examples",{"type":10,"tag":11,"props":3052,"children":3053},{},[3054],{"type":15,"value":3055},"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":10,"tag":227,"props":3057,"children":3059},{"id":3058},"_retrieving_the_global_key",[3060],{"type":15,"value":3061},"Retrieving the global key",{"type":10,"tag":241,"props":3063,"children":3065},{"className":2092,"code":3064,"language":2094,"meta":246,"style":246},"// 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",[3066],{"type":10,"tag":161,"props":3067,"children":3068},{"__ignoreMap":246},[3069,3077,3085,3102,3130,3137],{"type":10,"tag":252,"props":3070,"children":3071},{"class":254,"line":255},[3072],{"type":10,"tag":252,"props":3073,"children":3074},{"style":2583},[3075],{"type":15,"value":3076},"// Get the global key\n",{"type":10,"tag":252,"props":3078,"children":3079},{"class":254,"line":271},[3080],{"type":10,"tag":252,"props":3081,"children":3082},{"style":265},[3083],{"type":15,"value":3084},"VkPipelineBinaryKeyKHR globalKey;\n",{"type":10,"tag":252,"props":3086,"children":3087},{"class":254,"line":307},[3088,3093,3097],{"type":10,"tag":252,"props":3089,"children":3090},{"style":265},[3091],{"type":15,"value":3092},"globalKey.sType ",{"type":10,"tag":252,"props":3094,"children":3095},{"style":275},[3096],{"type":15,"value":293},{"type":10,"tag":252,"props":3098,"children":3099},{"style":265},[3100],{"type":15,"value":3101}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR;\n",{"type":10,"tag":252,"props":3103,"children":3104},{"class":254,"line":317},[3105,3109,3113,3117,3121,3125],{"type":10,"tag":252,"props":3106,"children":3107},{"style":259},[3108],{"type":15,"value":1044},{"type":10,"tag":252,"props":3110,"children":3111},{"style":265},[3112],{"type":15,"value":2520},{"type":10,"tag":252,"props":3114,"children":3115},{"style":296},[3116],{"type":15,"value":1540},{"type":10,"tag":252,"props":3118,"children":3119},{"style":265},[3120],{"type":15,"value":1647},{"type":10,"tag":252,"props":3122,"children":3123},{"style":275},[3124],{"type":15,"value":2525},{"type":10,"tag":252,"props":3126,"children":3127},{"style":265},[3128],{"type":15,"value":3129},"globalKey);\n",{"type":10,"tag":252,"props":3131,"children":3132},{"class":254,"line":336},[3133],{"type":10,"tag":252,"props":3134,"children":3135},{"emptyLinePlaceholder":311},[3136],{"type":15,"value":314},{"type":10,"tag":252,"props":3138,"children":3139},{"class":254,"line":345},[3140],{"type":10,"tag":252,"props":3141,"children":3142},{"style":2583},[3143],{"type":15,"value":3144},"// This can be used to ensure the app's cache is valid.\n",{"type":10,"tag":227,"props":3146,"children":3148},{"id":3147},"_retrieving_the_key_for_a_pipelinecreateinfo",[3149],{"type":15,"value":3150},"Retrieving the key for a PipelineCreateInfo",{"type":10,"tag":241,"props":3152,"children":3154},{"className":2092,"code":3153,"language":2094,"meta":246,"style":246},"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",[3155],{"type":10,"tag":161,"props":3156,"children":3157},{"__ignoreMap":246},[3158,3165,3172,3180,3187,3202,3221,3229],{"type":10,"tag":252,"props":3159,"children":3160},{"class":254,"line":255},[3161],{"type":10,"tag":252,"props":3162,"children":3163},{"style":265},[3164],{"type":15,"value":2233},{"type":10,"tag":252,"props":3166,"children":3167},{"class":254,"line":271},[3168],{"type":10,"tag":252,"props":3169,"children":3170},{"emptyLinePlaceholder":311},[3171],{"type":15,"value":314},{"type":10,"tag":252,"props":3173,"children":3174},{"class":254,"line":307},[3175],{"type":10,"tag":252,"props":3176,"children":3177},{"style":2583},[3178],{"type":15,"value":3179},"// Get the pipeline key\n",{"type":10,"tag":252,"props":3181,"children":3182},{"class":254,"line":317},[3183],{"type":10,"tag":252,"props":3184,"children":3185},{"style":265},[3186],{"type":15,"value":2248},{"type":10,"tag":252,"props":3188,"children":3189},{"class":254,"line":336},[3190,3194,3198],{"type":10,"tag":252,"props":3191,"children":3192},{"style":265},[3193],{"type":15,"value":2256},{"type":10,"tag":252,"props":3195,"children":3196},{"style":275},[3197],{"type":15,"value":293},{"type":10,"tag":252,"props":3199,"children":3200},{"style":265},[3201],{"type":15,"value":2265},{"type":10,"tag":252,"props":3203,"children":3204},{"class":254,"line":345},[3205,3209,3213,3217],{"type":10,"tag":252,"props":3206,"children":3207},{"style":265},[3208],{"type":15,"value":2273},{"type":10,"tag":252,"props":3210,"children":3211},{"style":275},[3212],{"type":15,"value":293},{"type":10,"tag":252,"props":3214,"children":3215},{"style":275},[3216],{"type":15,"value":2282},{"type":10,"tag":252,"props":3218,"children":3219},{"style":265},[3220],{"type":15,"value":2287},{"type":10,"tag":252,"props":3222,"children":3223},{"class":254,"line":359},[3224],{"type":10,"tag":252,"props":3225,"children":3226},{"style":265},[3227],{"type":15,"value":3228},"VkPipelineBinaryKeyKHR pipelineKey;\n",{"type":10,"tag":252,"props":3230,"children":3231},{"class":254,"line":373},[3232,3236,3240,3244,3249,3253],{"type":10,"tag":252,"props":3233,"children":3234},{"style":259},[3235],{"type":15,"value":1044},{"type":10,"tag":252,"props":3237,"children":3238},{"style":265},[3239],{"type":15,"value":2520},{"type":10,"tag":252,"props":3241,"children":3242},{"style":275},[3243],{"type":15,"value":2525},{"type":10,"tag":252,"props":3245,"children":3246},{"style":265},[3247],{"type":15,"value":3248},"pipelineCreateInfo, ",{"type":10,"tag":252,"props":3250,"children":3251},{"style":275},[3252],{"type":15,"value":2525},{"type":10,"tag":252,"props":3254,"children":3255},{"style":265},[3256],{"type":15,"value":3257},"pipelineKey);\n",{"type":10,"tag":227,"props":3259,"children":3261},{"id":3260},"_create_pipeline_allowing_for_future_binary_creation",[3262],{"type":15,"value":3263},"Create pipeline allowing for future binary creation",{"type":10,"tag":241,"props":3265,"children":3267},{"className":2092,"code":3266,"language":2094,"meta":246,"style":246},"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",[3268],{"type":10,"tag":161,"props":3269,"children":3270},{"__ignoreMap":246},[3271,3287,3295,3303,3310,3327,3334,3355,3362,3370,3378],{"type":10,"tag":252,"props":3272,"children":3273},{"class":254,"line":255},[3274,3279,3283],{"type":10,"tag":252,"props":3275,"children":3276},{"style":265},[3277],{"type":15,"value":3278},"VkPipelineCreateFlags2CreateInfoKHR createFlags ",{"type":10,"tag":252,"props":3280,"children":3281},{"style":275},[3282],{"type":15,"value":293},{"type":10,"tag":252,"props":3284,"children":3285},{"style":265},[3286],{"type":15,"value":2119},{"type":10,"tag":252,"props":3288,"children":3289},{"class":254,"line":271},[3290],{"type":10,"tag":252,"props":3291,"children":3292},{"style":265},[3293],{"type":15,"value":3294}," VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR\n",{"type":10,"tag":252,"props":3296,"children":3297},{"class":254,"line":307},[3298],{"type":10,"tag":252,"props":3299,"children":3300},{"style":265},[3301],{"type":15,"value":3302},"};\n",{"type":10,"tag":252,"props":3304,"children":3305},{"class":254,"line":317},[3306],{"type":10,"tag":252,"props":3307,"children":3308},{"emptyLinePlaceholder":311},[3309],{"type":15,"value":314},{"type":10,"tag":252,"props":3311,"children":3312},{"class":254,"line":336},[3313,3318,3322],{"type":10,"tag":252,"props":3314,"children":3315},{"style":265},[3316],{"type":15,"value":3317},"createFlags.flags ",{"type":10,"tag":252,"props":3319,"children":3320},{"style":275},[3321],{"type":15,"value":293},{"type":10,"tag":252,"props":3323,"children":3324},{"style":265},[3325],{"type":15,"value":3326}," VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR;\n",{"type":10,"tag":252,"props":3328,"children":3329},{"class":254,"line":345},[3330],{"type":10,"tag":252,"props":3331,"children":3332},{"emptyLinePlaceholder":311},[3333],{"type":15,"value":314},{"type":10,"tag":252,"props":3335,"children":3336},{"class":254,"line":359},[3337,3342,3346,3350],{"type":10,"tag":252,"props":3338,"children":3339},{"style":265},[3340],{"type":15,"value":3341},"graphicsCreateInfo.pNext ",{"type":10,"tag":252,"props":3343,"children":3344},{"style":275},[3345],{"type":15,"value":293},{"type":10,"tag":252,"props":3347,"children":3348},{"style":275},[3349],{"type":15,"value":2282},{"type":10,"tag":252,"props":3351,"children":3352},{"style":265},[3353],{"type":15,"value":3354},"createFlags;\n",{"type":10,"tag":252,"props":3356,"children":3357},{"class":254,"line":373},[3358],{"type":10,"tag":252,"props":3359,"children":3360},{"emptyLinePlaceholder":311},[3361],{"type":15,"value":314},{"type":10,"tag":252,"props":3363,"children":3364},{"class":254,"line":393},[3365],{"type":10,"tag":252,"props":3366,"children":3367},{"style":2583},[3368],{"type":15,"value":3369},"// Create the pipeline\n",{"type":10,"tag":252,"props":3371,"children":3372},{"class":254,"line":402},[3373],{"type":10,"tag":252,"props":3374,"children":3375},{"style":265},[3376],{"type":15,"value":3377},"VkPipeline graphicsPipeline;\n",{"type":10,"tag":252,"props":3379,"children":3380},{"class":254,"line":410},[3381,3386,3390,3394,3398,3403,3407,3411,3416,3420,3424,3428],{"type":10,"tag":252,"props":3382,"children":3383},{"style":259},[3384],{"type":15,"value":3385},"vkCreateGraphicsPipelines",{"type":10,"tag":252,"props":3387,"children":3388},{"style":265},[3389],{"type":15,"value":2520},{"type":10,"tag":252,"props":3391,"children":3392},{"style":296},[3393],{"type":15,"value":1540},{"type":10,"tag":252,"props":3395,"children":3396},{"style":265},[3397],{"type":15,"value":1647},{"type":10,"tag":252,"props":3399,"children":3400},{"style":296},[3401],{"type":15,"value":3402},"1",{"type":10,"tag":252,"props":3404,"children":3405},{"style":265},[3406],{"type":15,"value":1647},{"type":10,"tag":252,"props":3408,"children":3409},{"style":275},[3410],{"type":15,"value":2525},{"type":10,"tag":252,"props":3412,"children":3413},{"style":265},[3414],{"type":15,"value":3415},"graphicsCreateInfo, ",{"type":10,"tag":252,"props":3417,"children":3418},{"style":296},[3419],{"type":15,"value":1540},{"type":10,"tag":252,"props":3421,"children":3422},{"style":265},[3423],{"type":15,"value":1647},{"type":10,"tag":252,"props":3425,"children":3426},{"style":275},[3427],{"type":15,"value":2525},{"type":10,"tag":252,"props":3429,"children":3430},{"style":265},[3431],{"type":15,"value":3432},"graphicsPipeline);\n",{"type":10,"tag":227,"props":3434,"children":3436},{"id":3435},"_get_new_binaries_and_store_to_application_cache",[3437],{"type":15,"value":3438},"Get new binaries and store to application cache",{"type":10,"tag":241,"props":3440,"children":3442},{"className":2092,"code":3441,"language":2094,"meta":246,"style":246},"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",[3443],{"type":10,"tag":161,"props":3444,"children":3445},{"__ignoreMap":246},[3446,3453,3468,3487,3506,3522,3541,3548,3555,3570,3589,3608,3627,3634,3669,3676,3703,3718,3725,3748,3755,3790,3797,3823,3839,3846,3854,3909,3917,3934,3954,3971,3978,4002,4049,4075,4092,4137,4144,4162,4169,4176,4184,4201,4208,4216],{"type":10,"tag":252,"props":3447,"children":3448},{"class":254,"line":255},[3449],{"type":10,"tag":252,"props":3450,"children":3451},{"style":265},[3452],{"type":15,"value":2302},{"type":10,"tag":252,"props":3454,"children":3455},{"class":254,"line":271},[3456,3460,3464],{"type":10,"tag":252,"props":3457,"children":3458},{"style":265},[3459],{"type":15,"value":2310},{"type":10,"tag":252,"props":3461,"children":3462},{"style":275},[3463],{"type":15,"value":293},{"type":10,"tag":252,"props":3465,"children":3466},{"style":265},[3467],{"type":15,"value":2319},{"type":10,"tag":252,"props":3469,"children":3470},{"class":254,"line":307},[3471,3475,3479,3483],{"type":10,"tag":252,"props":3472,"children":3473},{"style":265},[3474],{"type":15,"value":2327},{"type":10,"tag":252,"props":3476,"children":3477},{"style":275},[3478],{"type":15,"value":293},{"type":10,"tag":252,"props":3480,"children":3481},{"style":296},[3482],{"type":15,"value":2336},{"type":10,"tag":252,"props":3484,"children":3485},{"style":265},[3486],{"type":15,"value":304},{"type":10,"tag":252,"props":3488,"children":3489},{"class":254,"line":317},[3490,3494,3498,3502],{"type":10,"tag":252,"props":3491,"children":3492},{"style":265},[3493],{"type":15,"value":2348},{"type":10,"tag":252,"props":3495,"children":3496},{"style":275},[3497],{"type":15,"value":293},{"type":10,"tag":252,"props":3499,"children":3500},{"style":296},[3501],{"type":15,"value":2336},{"type":10,"tag":252,"props":3503,"children":3504},{"style":265},[3505],{"type":15,"value":304},{"type":10,"tag":252,"props":3507,"children":3508},{"class":254,"line":336},[3509,3513,3517],{"type":10,"tag":252,"props":3510,"children":3511},{"style":265},[3512],{"type":15,"value":2368},{"type":10,"tag":252,"props":3514,"children":3515},{"style":275},[3516],{"type":15,"value":293},{"type":10,"tag":252,"props":3518,"children":3519},{"style":265},[3520],{"type":15,"value":3521}," graphicsPipeline;\n",{"type":10,"tag":252,"props":3523,"children":3524},{"class":254,"line":345},[3525,3529,3533,3537],{"type":10,"tag":252,"props":3526,"children":3527},{"style":265},[3528],{"type":15,"value":2385},{"type":10,"tag":252,"props":3530,"children":3531},{"style":275},[3532],{"type":15,"value":293},{"type":10,"tag":252,"props":3534,"children":3535},{"style":296},[3536],{"type":15,"value":2336},{"type":10,"tag":252,"props":3538,"children":3539},{"style":265},[3540],{"type":15,"value":304},{"type":10,"tag":252,"props":3542,"children":3543},{"class":254,"line":359},[3544],{"type":10,"tag":252,"props":3545,"children":3546},{"emptyLinePlaceholder":311},[3547],{"type":15,"value":314},{"type":10,"tag":252,"props":3549,"children":3550},{"class":254,"line":373},[3551],{"type":10,"tag":252,"props":3552,"children":3553},{"style":265},[3554],{"type":15,"value":2413},{"type":10,"tag":252,"props":3556,"children":3557},{"class":254,"line":393},[3558,3562,3566],{"type":10,"tag":252,"props":3559,"children":3560},{"style":265},[3561],{"type":15,"value":2421},{"type":10,"tag":252,"props":3563,"children":3564},{"style":275},[3565],{"type":15,"value":293},{"type":10,"tag":252,"props":3567,"children":3568},{"style":265},[3569],{"type":15,"value":2430},{"type":10,"tag":252,"props":3571,"children":3572},{"class":254,"line":402},[3573,3577,3581,3585],{"type":10,"tag":252,"props":3574,"children":3575},{"style":265},[3576],{"type":15,"value":2438},{"type":10,"tag":252,"props":3578,"children":3579},{"style":275},[3580],{"type":15,"value":293},{"type":10,"tag":252,"props":3582,"children":3583},{"style":296},[3584],{"type":15,"value":2336},{"type":10,"tag":252,"props":3586,"children":3587},{"style":265},[3588],{"type":15,"value":304},{"type":10,"tag":252,"props":3590,"children":3591},{"class":254,"line":410},[3592,3596,3600,3604],{"type":10,"tag":252,"props":3593,"children":3594},{"style":265},[3595],{"type":15,"value":2458},{"type":10,"tag":252,"props":3597,"children":3598},{"style":275},[3599],{"type":15,"value":293},{"type":10,"tag":252,"props":3601,"children":3602},{"style":296},[3603],{"type":15,"value":2467},{"type":10,"tag":252,"props":3605,"children":3606},{"style":265},[3607],{"type":15,"value":304},{"type":10,"tag":252,"props":3609,"children":3610},{"class":254,"line":427},[3611,3615,3619,3623],{"type":10,"tag":252,"props":3612,"children":3613},{"style":265},[3614],{"type":15,"value":2479},{"type":10,"tag":252,"props":3616,"children":3617},{"style":275},[3618],{"type":15,"value":293},{"type":10,"tag":252,"props":3620,"children":3621},{"style":296},[3622],{"type":15,"value":2336},{"type":10,"tag":252,"props":3624,"children":3625},{"style":265},[3626],{"type":15,"value":304},{"type":10,"tag":252,"props":3628,"children":3629},{"class":254,"line":441},[3630],{"type":10,"tag":252,"props":3631,"children":3632},{"emptyLinePlaceholder":311},[3633],{"type":15,"value":314},{"type":10,"tag":252,"props":3635,"children":3636},{"class":254,"line":454},[3637,3641,3645,3649,3653,3657,3661,3665],{"type":10,"tag":252,"props":3638,"children":3639},{"style":259},[3640],{"type":15,"value":838},{"type":10,"tag":252,"props":3642,"children":3643},{"style":265},[3644],{"type":15,"value":2520},{"type":10,"tag":252,"props":3646,"children":3647},{"style":275},[3648],{"type":15,"value":2525},{"type":10,"tag":252,"props":3650,"children":3651},{"style":265},[3652],{"type":15,"value":2530},{"type":10,"tag":252,"props":3654,"children":3655},{"style":296},[3656],{"type":15,"value":1540},{"type":10,"tag":252,"props":3658,"children":3659},{"style":265},[3660],{"type":15,"value":1647},{"type":10,"tag":252,"props":3662,"children":3663},{"style":275},[3664],{"type":15,"value":2525},{"type":10,"tag":252,"props":3666,"children":3667},{"style":265},[3668],{"type":15,"value":2547},{"type":10,"tag":252,"props":3670,"children":3671},{"class":254,"line":463},[3672],{"type":10,"tag":252,"props":3673,"children":3674},{"emptyLinePlaceholder":311},[3675],{"type":15,"value":314},{"type":10,"tag":252,"props":3677,"children":3678},{"class":254,"line":471},[3679,3683,3687,3691,3695,3699],{"type":10,"tag":252,"props":3680,"children":3681},{"style":382},[3682],{"type":15,"value":2629},{"type":10,"tag":252,"props":3684,"children":3685},{"style":265},[3686],{"type":15,"value":2634},{"type":10,"tag":252,"props":3688,"children":3689},{"style":275},[3690],{"type":15,"value":2639},{"type":10,"tag":252,"props":3692,"children":3693},{"style":265},[3694],{"type":15,"value":1573},{"type":10,"tag":252,"props":3696,"children":3697},{"style":275},[3698],{"type":15,"value":2648},{"type":10,"tag":252,"props":3700,"children":3701},{"style":265},[3702],{"type":15,"value":2653},{"type":10,"tag":252,"props":3704,"children":3705},{"class":254,"line":488},[3706,3710,3714],{"type":10,"tag":252,"props":3707,"children":3708},{"style":265},[3709],{"type":15,"value":2661},{"type":10,"tag":252,"props":3711,"children":3712},{"style":259},[3713],{"type":15,"value":2666},{"type":10,"tag":252,"props":3715,"children":3716},{"style":265},[3717],{"type":15,"value":2671},{"type":10,"tag":252,"props":3719,"children":3720},{"class":254,"line":501},[3721],{"type":10,"tag":252,"props":3722,"children":3723},{"emptyLinePlaceholder":311},[3724],{"type":15,"value":314},{"type":10,"tag":252,"props":3726,"children":3727},{"class":254,"line":525},[3728,3732,3736,3740,3744],{"type":10,"tag":252,"props":3729,"children":3730},{"style":265},[3731],{"type":15,"value":2479},{"type":10,"tag":252,"props":3733,"children":3734},{"style":275},[3735],{"type":15,"value":293},{"type":10,"tag":252,"props":3737,"children":3738},{"style":265},[3739],{"type":15,"value":2694},{"type":10,"tag":252,"props":3741,"children":3742},{"style":259},[3743],{"type":15,"value":2699},{"type":10,"tag":252,"props":3745,"children":3746},{"style":265},[3747],{"type":15,"value":2704},{"type":10,"tag":252,"props":3749,"children":3750},{"class":254,"line":547},[3751],{"type":10,"tag":252,"props":3752,"children":3753},{"emptyLinePlaceholder":311},[3754],{"type":15,"value":314},{"type":10,"tag":252,"props":3756,"children":3757},{"class":254,"line":556},[3758,3762,3766,3770,3774,3778,3782,3786],{"type":10,"tag":252,"props":3759,"children":3760},{"style":259},[3761],{"type":15,"value":838},{"type":10,"tag":252,"props":3763,"children":3764},{"style":265},[3765],{"type":15,"value":2520},{"type":10,"tag":252,"props":3767,"children":3768},{"style":275},[3769],{"type":15,"value":2525},{"type":10,"tag":252,"props":3771,"children":3772},{"style":265},[3773],{"type":15,"value":2530},{"type":10,"tag":252,"props":3775,"children":3776},{"style":296},[3777],{"type":15,"value":1540},{"type":10,"tag":252,"props":3779,"children":3780},{"style":265},[3781],{"type":15,"value":1647},{"type":10,"tag":252,"props":3783,"children":3784},{"style":275},[3785],{"type":15,"value":2525},{"type":10,"tag":252,"props":3787,"children":3788},{"style":265},[3789],{"type":15,"value":2547},{"type":10,"tag":252,"props":3791,"children":3792},{"class":254,"line":564},[3793],{"type":10,"tag":252,"props":3794,"children":3795},{"emptyLinePlaceholder":311},[3796],{"type":15,"value":314},{"type":10,"tag":252,"props":3798,"children":3799},{"class":254,"line":581},[3800,3805,3809,3814,3818],{"type":10,"tag":252,"props":3801,"children":3802},{"style":265},[3803],{"type":15,"value":3804},"vector",{"type":10,"tag":252,"props":3806,"children":3807},{"style":275},[3808],{"type":15,"value":2639},{"type":10,"tag":252,"props":3810,"children":3811},{"style":265},[3812],{"type":15,"value":3813},"VkPipelineBinaryKeyKHR",{"type":10,"tag":252,"props":3815,"children":3816},{"style":275},[3817],{"type":15,"value":2648},{"type":10,"tag":252,"props":3819,"children":3820},{"style":265},[3821],{"type":15,"value":3822}," binaryKeys;\n",{"type":10,"tag":252,"props":3824,"children":3825},{"class":254,"line":590},[3826,3831,3835],{"type":10,"tag":252,"props":3827,"children":3828},{"style":265},[3829],{"type":15,"value":3830},"binaryKeys.",{"type":10,"tag":252,"props":3832,"children":3833},{"style":259},[3834],{"type":15,"value":2666},{"type":10,"tag":252,"props":3836,"children":3837},{"style":265},[3838],{"type":15,"value":2671},{"type":10,"tag":252,"props":3840,"children":3841},{"class":254,"line":608},[3842],{"type":10,"tag":252,"props":3843,"children":3844},{"emptyLinePlaceholder":311},[3845],{"type":15,"value":314},{"type":10,"tag":252,"props":3847,"children":3848},{"class":254,"line":617},[3849],{"type":10,"tag":252,"props":3850,"children":3851},{"style":2583},[3852],{"type":15,"value":3853},"// Store to application cache\n",{"type":10,"tag":252,"props":3855,"children":3856},{"class":254,"line":625},[3857,3862,3867,3872,3877,3881,3885,3890,3894,3899,3904],{"type":10,"tag":252,"props":3858,"children":3859},{"style":275},[3860],{"type":15,"value":3861},"for",{"type":10,"tag":252,"props":3863,"children":3864},{"style":265},[3865],{"type":15,"value":3866}," (",{"type":10,"tag":252,"props":3868,"children":3869},{"style":275},[3870],{"type":15,"value":3871},"int",{"type":10,"tag":252,"props":3873,"children":3874},{"style":265},[3875],{"type":15,"value":3876}," i ",{"type":10,"tag":252,"props":3878,"children":3879},{"style":275},[3880],{"type":15,"value":293},{"type":10,"tag":252,"props":3882,"children":3883},{"style":296},[3884],{"type":15,"value":2467},{"type":10,"tag":252,"props":3886,"children":3887},{"style":265},[3888],{"type":15,"value":3889},"; i ",{"type":10,"tag":252,"props":3891,"children":3892},{"style":275},[3893],{"type":15,"value":2639},{"type":10,"tag":252,"props":3895,"children":3896},{"style":265},[3897],{"type":15,"value":3898}," handlesInfo.pipelineBinaryCount; ",{"type":10,"tag":252,"props":3900,"children":3901},{"style":275},[3902],{"type":15,"value":3903},"++",{"type":10,"tag":252,"props":3905,"children":3906},{"style":265},[3907],{"type":15,"value":3908},"i) {\n",{"type":10,"tag":252,"props":3910,"children":3911},{"class":254,"line":642},[3912],{"type":10,"tag":252,"props":3913,"children":3914},{"style":265},[3915],{"type":15,"value":3916}," VkPipelineBinaryDataInfoKHR binaryInfo;\n",{"type":10,"tag":252,"props":3918,"children":3919},{"class":254,"line":651},[3920,3925,3929],{"type":10,"tag":252,"props":3921,"children":3922},{"style":265},[3923],{"type":15,"value":3924}," binaryInfo.sType ",{"type":10,"tag":252,"props":3926,"children":3927},{"style":275},[3928],{"type":15,"value":293},{"type":10,"tag":252,"props":3930,"children":3931},{"style":265},[3932],{"type":15,"value":3933}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR;\n",{"type":10,"tag":252,"props":3935,"children":3936},{"class":254,"line":668},[3937,3942,3946,3950],{"type":10,"tag":252,"props":3938,"children":3939},{"style":265},[3940],{"type":15,"value":3941}," binaryInfo.pNext ",{"type":10,"tag":252,"props":3943,"children":3944},{"style":275},[3945],{"type":15,"value":293},{"type":10,"tag":252,"props":3947,"children":3948},{"style":296},[3949],{"type":15,"value":2336},{"type":10,"tag":252,"props":3951,"children":3952},{"style":265},[3953],{"type":15,"value":304},{"type":10,"tag":252,"props":3955,"children":3956},{"class":254,"line":690},[3957,3962,3966],{"type":10,"tag":252,"props":3958,"children":3959},{"style":265},[3960],{"type":15,"value":3961}," binaryInfo.pipelineBinary ",{"type":10,"tag":252,"props":3963,"children":3964},{"style":275},[3965],{"type":15,"value":293},{"type":10,"tag":252,"props":3967,"children":3968},{"style":265},[3969],{"type":15,"value":3970}," pipelineBinaries[i];\n",{"type":10,"tag":252,"props":3972,"children":3973},{"class":254,"line":699},[3974],{"type":10,"tag":252,"props":3975,"children":3976},{"emptyLinePlaceholder":311},[3977],{"type":15,"value":314},{"type":10,"tag":252,"props":3979,"children":3980},{"class":254,"line":721},[3981,3985,3990,3994,3998],{"type":10,"tag":252,"props":3982,"children":3983},{"style":275},[3984],{"type":15,"value":433},{"type":10,"tag":252,"props":3986,"children":3987},{"style":265},[3988],{"type":15,"value":3989}," binaryDataSize ",{"type":10,"tag":252,"props":3991,"children":3992},{"style":275},[3993],{"type":15,"value":293},{"type":10,"tag":252,"props":3995,"children":3996},{"style":296},[3997],{"type":15,"value":2467},{"type":10,"tag":252,"props":3999,"children":4000},{"style":265},[4001],{"type":15,"value":304},{"type":10,"tag":252,"props":4003,"children":4004},{"class":254,"line":730},[4005,4010,4014,4018,4023,4027,4032,4036,4041,4045],{"type":10,"tag":252,"props":4006,"children":4007},{"style":259},[4008],{"type":15,"value":4009}," vkGetPipelineBinaryDataKHR",{"type":10,"tag":252,"props":4011,"children":4012},{"style":265},[4013],{"type":15,"value":2520},{"type":10,"tag":252,"props":4015,"children":4016},{"style":275},[4017],{"type":15,"value":2525},{"type":10,"tag":252,"props":4019,"children":4020},{"style":265},[4021],{"type":15,"value":4022},"binaryInfo, ",{"type":10,"tag":252,"props":4024,"children":4025},{"style":275},[4026],{"type":15,"value":2525},{"type":10,"tag":252,"props":4028,"children":4029},{"style":265},[4030],{"type":15,"value":4031},"binaryKeys[i], ",{"type":10,"tag":252,"props":4033,"children":4034},{"style":275},[4035],{"type":15,"value":2525},{"type":10,"tag":252,"props":4037,"children":4038},{"style":265},[4039],{"type":15,"value":4040},"binaryDataSize, ",{"type":10,"tag":252,"props":4042,"children":4043},{"style":296},[4044],{"type":15,"value":1540},{"type":10,"tag":252,"props":4046,"children":4047},{"style":265},[4048],{"type":15,"value":937},{"type":10,"tag":252,"props":4050,"children":4051},{"class":254,"line":738},[4052,4057,4061,4066,4070],{"type":10,"tag":252,"props":4053,"children":4054},{"style":265},[4055],{"type":15,"value":4056}," vector",{"type":10,"tag":252,"props":4058,"children":4059},{"style":275},[4060],{"type":15,"value":2639},{"type":10,"tag":252,"props":4062,"children":4063},{"style":265},[4064],{"type":15,"value":4065},"uint_8",{"type":10,"tag":252,"props":4067,"children":4068},{"style":275},[4069],{"type":15,"value":2648},{"type":10,"tag":252,"props":4071,"children":4072},{"style":265},[4073],{"type":15,"value":4074}," data;\n",{"type":10,"tag":252,"props":4076,"children":4077},{"class":254,"line":755},[4078,4083,4087],{"type":10,"tag":252,"props":4079,"children":4080},{"style":265},[4081],{"type":15,"value":4082}," binaryData.",{"type":10,"tag":252,"props":4084,"children":4085},{"style":259},[4086],{"type":15,"value":2666},{"type":10,"tag":252,"props":4088,"children":4089},{"style":265},[4090],{"type":15,"value":4091},"(binaryDataSize);\n",{"type":10,"tag":252,"props":4093,"children":4094},{"class":254,"line":763},[4095,4099,4103,4107,4111,4115,4119,4123,4128,4132],{"type":10,"tag":252,"props":4096,"children":4097},{"style":259},[4098],{"type":15,"value":4009},{"type":10,"tag":252,"props":4100,"children":4101},{"style":265},[4102],{"type":15,"value":2520},{"type":10,"tag":252,"props":4104,"children":4105},{"style":275},[4106],{"type":15,"value":2525},{"type":10,"tag":252,"props":4108,"children":4109},{"style":265},[4110],{"type":15,"value":4022},{"type":10,"tag":252,"props":4112,"children":4113},{"style":275},[4114],{"type":15,"value":2525},{"type":10,"tag":252,"props":4116,"children":4117},{"style":265},[4118],{"type":15,"value":4031},{"type":10,"tag":252,"props":4120,"children":4121},{"style":275},[4122],{"type":15,"value":2525},{"type":10,"tag":252,"props":4124,"children":4125},{"style":265},[4126],{"type":15,"value":4127},"binaryDataSize, binaryData.",{"type":10,"tag":252,"props":4129,"children":4130},{"style":259},[4131],{"type":15,"value":2699},{"type":10,"tag":252,"props":4133,"children":4134},{"style":265},[4135],{"type":15,"value":4136},"());\n",{"type":10,"tag":252,"props":4138,"children":4139},{"class":254,"line":779},[4140],{"type":10,"tag":252,"props":4141,"children":4142},{"emptyLinePlaceholder":311},[4143],{"type":15,"value":314},{"type":10,"tag":252,"props":4145,"children":4146},{"class":254,"line":792},[4147,4152,4157],{"type":10,"tag":252,"props":4148,"children":4149},{"style":265},[4150],{"type":15,"value":4151}," ApplicationBinaryCache.",{"type":10,"tag":252,"props":4153,"children":4154},{"style":259},[4155],{"type":15,"value":4156},"insert",{"type":10,"tag":252,"props":4158,"children":4159},{"style":265},[4160],{"type":15,"value":4161},"(binaryKeys[i], binaryData);\n",{"type":10,"tag":252,"props":4163,"children":4164},{"class":254,"line":810},[4165],{"type":10,"tag":252,"props":4166,"children":4167},{"style":265},[4168],{"type":15,"value":2614},{"type":10,"tag":252,"props":4170,"children":4171},{"class":254,"line":819},[4172],{"type":10,"tag":252,"props":4173,"children":4174},{"emptyLinePlaceholder":311},[4175],{"type":15,"value":314},{"type":10,"tag":252,"props":4177,"children":4178},{"class":254,"line":827},[4179],{"type":10,"tag":252,"props":4180,"children":4181},{"style":2583},[4182],{"type":15,"value":4183},"// Store pipeline key -> binary keys mapping\n",{"type":10,"tag":252,"props":4185,"children":4186},{"class":254,"line":846},[4187,4192,4196],{"type":10,"tag":252,"props":4188,"children":4189},{"style":265},[4190],{"type":15,"value":4191},"ApplicationCache.",{"type":10,"tag":252,"props":4193,"children":4194},{"style":259},[4195],{"type":15,"value":4156},{"type":10,"tag":252,"props":4197,"children":4198},{"style":265},[4199],{"type":15,"value":4200},"(pipelineKey, binaryKeys);\n",{"type":10,"tag":252,"props":4202,"children":4203},{"class":254,"line":865},[4204],{"type":10,"tag":252,"props":4205,"children":4206},{"emptyLinePlaceholder":311},[4207],{"type":15,"value":314},{"type":10,"tag":252,"props":4209,"children":4210},{"class":254,"line":891},[4211],{"type":10,"tag":252,"props":4212,"children":4213},{"style":2583},[4214],{"type":15,"value":4215},"// Free any possible resources associated with binary creation for the pipeline\n",{"type":10,"tag":252,"props":4217,"children":4218},{"class":254,"line":917},[4219,4223,4228,4232],{"type":10,"tag":252,"props":4220,"children":4221},{"style":259},[4222],{"type":15,"value":1391},{"type":10,"tag":252,"props":4224,"children":4225},{"style":265},[4226],{"type":15,"value":4227},"(device, graphicsPipeline, ",{"type":10,"tag":252,"props":4229,"children":4230},{"style":296},[4231],{"type":15,"value":1540},{"type":10,"tag":252,"props":4233,"children":4234},{"style":265},[4235],{"type":15,"value":937},{"type":10,"tag":227,"props":4237,"children":4239},{"id":4238},"_get_binaries_from_application_cache",[4240],{"type":15,"value":4241},"Get binaries from application cache",{"type":10,"tag":241,"props":4243,"children":4245},{"className":2092,"code":4244,"language":2094,"meta":246,"style":246},"// 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",[4246],{"type":10,"tag":161,"props":4247,"children":4248},{"__ignoreMap":246},[4249,4256,4263,4278,4297,4304,4331,4338,4346,4369,4385,4392,4400,4429,4455,4462,4519,4527,4552],{"type":10,"tag":252,"props":4250,"children":4251},{"class":254,"line":255},[4252],{"type":10,"tag":252,"props":4253,"children":4254},{"style":2583},[4255],{"type":15,"value":3179},{"type":10,"tag":252,"props":4257,"children":4258},{"class":254,"line":271},[4259],{"type":10,"tag":252,"props":4260,"children":4261},{"style":265},[4262],{"type":15,"value":2248},{"type":10,"tag":252,"props":4264,"children":4265},{"class":254,"line":307},[4266,4270,4274],{"type":10,"tag":252,"props":4267,"children":4268},{"style":265},[4269],{"type":15,"value":2256},{"type":10,"tag":252,"props":4271,"children":4272},{"style":275},[4273],{"type":15,"value":293},{"type":10,"tag":252,"props":4275,"children":4276},{"style":265},[4277],{"type":15,"value":2265},{"type":10,"tag":252,"props":4279,"children":4280},{"class":254,"line":317},[4281,4285,4289,4293],{"type":10,"tag":252,"props":4282,"children":4283},{"style":265},[4284],{"type":15,"value":2273},{"type":10,"tag":252,"props":4286,"children":4287},{"style":275},[4288],{"type":15,"value":293},{"type":10,"tag":252,"props":4290,"children":4291},{"style":275},[4292],{"type":15,"value":2282},{"type":10,"tag":252,"props":4294,"children":4295},{"style":265},[4296],{"type":15,"value":2287},{"type":10,"tag":252,"props":4298,"children":4299},{"class":254,"line":336},[4300],{"type":10,"tag":252,"props":4301,"children":4302},{"style":265},[4303],{"type":15,"value":3228},{"type":10,"tag":252,"props":4305,"children":4306},{"class":254,"line":345},[4307,4311,4315,4319,4323,4327],{"type":10,"tag":252,"props":4308,"children":4309},{"style":259},[4310],{"type":15,"value":1044},{"type":10,"tag":252,"props":4312,"children":4313},{"style":265},[4314],{"type":15,"value":2520},{"type":10,"tag":252,"props":4316,"children":4317},{"style":275},[4318],{"type":15,"value":2525},{"type":10,"tag":252,"props":4320,"children":4321},{"style":265},[4322],{"type":15,"value":3248},{"type":10,"tag":252,"props":4324,"children":4325},{"style":275},[4326],{"type":15,"value":2525},{"type":10,"tag":252,"props":4328,"children":4329},{"style":265},[4330],{"type":15,"value":3257},{"type":10,"tag":252,"props":4332,"children":4333},{"class":254,"line":359},[4334],{"type":10,"tag":252,"props":4335,"children":4336},{"emptyLinePlaceholder":311},[4337],{"type":15,"value":314},{"type":10,"tag":252,"props":4339,"children":4340},{"class":254,"line":373},[4341],{"type":10,"tag":252,"props":4342,"children":4343},{"style":2583},[4344],{"type":15,"value":4345},"// Get the binary keys\n",{"type":10,"tag":252,"props":4347,"children":4348},{"class":254,"line":393},[4349,4353,4357,4361,4365],{"type":10,"tag":252,"props":4350,"children":4351},{"style":265},[4352],{"type":15,"value":3804},{"type":10,"tag":252,"props":4354,"children":4355},{"style":275},[4356],{"type":15,"value":2639},{"type":10,"tag":252,"props":4358,"children":4359},{"style":265},[4360],{"type":15,"value":3813},{"type":10,"tag":252,"props":4362,"children":4363},{"style":275},[4364],{"type":15,"value":2648},{"type":10,"tag":252,"props":4366,"children":4367},{"style":265},[4368],{"type":15,"value":3822},{"type":10,"tag":252,"props":4370,"children":4371},{"class":254,"line":402},[4372,4376,4381],{"type":10,"tag":252,"props":4373,"children":4374},{"style":265},[4375],{"type":15,"value":4191},{"type":10,"tag":252,"props":4377,"children":4378},{"style":259},[4379],{"type":15,"value":4380},"get",{"type":10,"tag":252,"props":4382,"children":4383},{"style":265},[4384],{"type":15,"value":4200},{"type":10,"tag":252,"props":4386,"children":4387},{"class":254,"line":410},[4388],{"type":10,"tag":252,"props":4389,"children":4390},{"emptyLinePlaceholder":311},[4391],{"type":15,"value":314},{"type":10,"tag":252,"props":4393,"children":4394},{"class":254,"line":427},[4395],{"type":10,"tag":252,"props":4396,"children":4397},{"style":2583},[4398],{"type":15,"value":4399},"// Get the binary data\n",{"type":10,"tag":252,"props":4401,"children":4402},{"class":254,"line":441},[4403,4407,4411,4415,4420,4424],{"type":10,"tag":252,"props":4404,"children":4405},{"style":382},[4406],{"type":15,"value":2629},{"type":10,"tag":252,"props":4408,"children":4409},{"style":265},[4410],{"type":15,"value":2634},{"type":10,"tag":252,"props":4412,"children":4413},{"style":275},[4414],{"type":15,"value":2639},{"type":10,"tag":252,"props":4416,"children":4417},{"style":265},[4418],{"type":15,"value":4419},"VkPipelineBinaryDataKHR",{"type":10,"tag":252,"props":4421,"children":4422},{"style":275},[4423],{"type":15,"value":2648},{"type":10,"tag":252,"props":4425,"children":4426},{"style":265},[4427],{"type":15,"value":4428}," pipelineDatas;\n",{"type":10,"tag":252,"props":4430,"children":4431},{"class":254,"line":454},[4432,4437,4441,4446,4451],{"type":10,"tag":252,"props":4433,"children":4434},{"style":265},[4435],{"type":15,"value":4436},"pipelineDatas.",{"type":10,"tag":252,"props":4438,"children":4439},{"style":259},[4440],{"type":15,"value":2666},{"type":10,"tag":252,"props":4442,"children":4443},{"style":265},[4444],{"type":15,"value":4445},"(binaryKeys.",{"type":10,"tag":252,"props":4447,"children":4448},{"style":259},[4449],{"type":15,"value":4450},"size",{"type":10,"tag":252,"props":4452,"children":4453},{"style":265},[4454],{"type":15,"value":4136},{"type":10,"tag":252,"props":4456,"children":4457},{"class":254,"line":463},[4458],{"type":10,"tag":252,"props":4459,"children":4460},{"emptyLinePlaceholder":311},[4461],{"type":15,"value":314},{"type":10,"tag":252,"props":4463,"children":4464},{"class":254,"line":471},[4465,4469,4473,4477,4481,4485,4489,4493,4497,4502,4506,4511,4515],{"type":10,"tag":252,"props":4466,"children":4467},{"style":275},[4468],{"type":15,"value":3861},{"type":10,"tag":252,"props":4470,"children":4471},{"style":265},[4472],{"type":15,"value":3866},{"type":10,"tag":252,"props":4474,"children":4475},{"style":275},[4476],{"type":15,"value":3871},{"type":10,"tag":252,"props":4478,"children":4479},{"style":265},[4480],{"type":15,"value":3876},{"type":10,"tag":252,"props":4482,"children":4483},{"style":275},[4484],{"type":15,"value":293},{"type":10,"tag":252,"props":4486,"children":4487},{"style":296},[4488],{"type":15,"value":2467},{"type":10,"tag":252,"props":4490,"children":4491},{"style":265},[4492],{"type":15,"value":3889},{"type":10,"tag":252,"props":4494,"children":4495},{"style":275},[4496],{"type":15,"value":2639},{"type":10,"tag":252,"props":4498,"children":4499},{"style":265},[4500],{"type":15,"value":4501}," binaryKeys.",{"type":10,"tag":252,"props":4503,"children":4504},{"style":259},[4505],{"type":15,"value":4450},{"type":10,"tag":252,"props":4507,"children":4508},{"style":265},[4509],{"type":15,"value":4510},"(); ",{"type":10,"tag":252,"props":4512,"children":4513},{"style":275},[4514],{"type":15,"value":3903},{"type":10,"tag":252,"props":4516,"children":4517},{"style":265},[4518],{"type":15,"value":3908},{"type":10,"tag":252,"props":4520,"children":4521},{"class":254,"line":488},[4522],{"type":10,"tag":252,"props":4523,"children":4524},{"style":2583},[4525],{"type":15,"value":4526}," // Retrieve VkPipelineBinaryKHR handle from cache\n",{"type":10,"tag":252,"props":4528,"children":4529},{"class":254,"line":501},[4530,4534,4538,4543,4547],{"type":10,"tag":252,"props":4531,"children":4532},{"style":265},[4533],{"type":15,"value":4151},{"type":10,"tag":252,"props":4535,"children":4536},{"style":259},[4537],{"type":15,"value":4380},{"type":10,"tag":252,"props":4539,"children":4540},{"style":265},[4541],{"type":15,"value":4542},"(binaryKeys[i], ",{"type":10,"tag":252,"props":4544,"children":4545},{"style":275},[4546],{"type":15,"value":2525},{"type":10,"tag":252,"props":4548,"children":4549},{"style":265},[4550],{"type":15,"value":4551},"pipelineDatas[i]);\n",{"type":10,"tag":252,"props":4553,"children":4554},{"class":254,"line":525},[4555],{"type":10,"tag":252,"props":4556,"children":4557},{"style":265},[4558],{"type":15,"value":2614},{"type":10,"tag":227,"props":4560,"children":4562},{"id":4561},"_create_binaries_from_application_cache_for_a_pipeline_create_info",[4563],{"type":15,"value":4564},"Create binaries from application cache for a pipeline create info",{"type":10,"tag":241,"props":4566,"children":4568},{"className":2092,"code":4567,"language":2094,"meta":246,"style":246},"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",[4569],{"type":10,"tag":161,"props":4570,"children":4571},{"__ignoreMap":246},[4572,4580,4604,4628,4653,4660,4667,4682,4701,4721,4736,4755,4762,4789,4805,4812,4819,4834,4853,4869,4892,4899],{"type":10,"tag":252,"props":4573,"children":4574},{"class":254,"line":255},[4575],{"type":10,"tag":252,"props":4576,"children":4577},{"style":265},[4578],{"type":15,"value":4579},"VkPipelineBinaryKeysAndDataKHR binaryKeysAndData;\n",{"type":10,"tag":252,"props":4581,"children":4582},{"class":254,"line":271},[4583,4588,4592,4596,4600],{"type":10,"tag":252,"props":4584,"children":4585},{"style":265},[4586],{"type":15,"value":4587},"binaryKeysAndData.binaryCount ",{"type":10,"tag":252,"props":4589,"children":4590},{"style":275},[4591],{"type":15,"value":293},{"type":10,"tag":252,"props":4593,"children":4594},{"style":265},[4595],{"type":15,"value":4501},{"type":10,"tag":252,"props":4597,"children":4598},{"style":259},[4599],{"type":15,"value":4450},{"type":10,"tag":252,"props":4601,"children":4602},{"style":265},[4603],{"type":15,"value":2704},{"type":10,"tag":252,"props":4605,"children":4606},{"class":254,"line":307},[4607,4612,4616,4620,4624],{"type":10,"tag":252,"props":4608,"children":4609},{"style":265},[4610],{"type":15,"value":4611},"binaryKeysAndData.pPipelineBinaryKeys ",{"type":10,"tag":252,"props":4613,"children":4614},{"style":275},[4615],{"type":15,"value":293},{"type":10,"tag":252,"props":4617,"children":4618},{"style":265},[4619],{"type":15,"value":4501},{"type":10,"tag":252,"props":4621,"children":4622},{"style":259},[4623],{"type":15,"value":2699},{"type":10,"tag":252,"props":4625,"children":4626},{"style":265},[4627],{"type":15,"value":2704},{"type":10,"tag":252,"props":4629,"children":4630},{"class":254,"line":317},[4631,4636,4640,4645,4649],{"type":10,"tag":252,"props":4632,"children":4633},{"style":265},[4634],{"type":15,"value":4635},"binaryKeysAndData.pPipelineBinaryData ",{"type":10,"tag":252,"props":4637,"children":4638},{"style":275},[4639],{"type":15,"value":293},{"type":10,"tag":252,"props":4641,"children":4642},{"style":265},[4643],{"type":15,"value":4644}," pipelineDatas.",{"type":10,"tag":252,"props":4646,"children":4647},{"style":259},[4648],{"type":15,"value":2699},{"type":10,"tag":252,"props":4650,"children":4651},{"style":265},[4652],{"type":15,"value":2704},{"type":10,"tag":252,"props":4654,"children":4655},{"class":254,"line":336},[4656],{"type":10,"tag":252,"props":4657,"children":4658},{"emptyLinePlaceholder":311},[4659],{"type":15,"value":314},{"type":10,"tag":252,"props":4661,"children":4662},{"class":254,"line":345},[4663],{"type":10,"tag":252,"props":4664,"children":4665},{"style":265},[4666],{"type":15,"value":2302},{"type":10,"tag":252,"props":4668,"children":4669},{"class":254,"line":359},[4670,4674,4678],{"type":10,"tag":252,"props":4671,"children":4672},{"style":265},[4673],{"type":15,"value":2310},{"type":10,"tag":252,"props":4675,"children":4676},{"style":275},[4677],{"type":15,"value":293},{"type":10,"tag":252,"props":4679,"children":4680},{"style":265},[4681],{"type":15,"value":2319},{"type":10,"tag":252,"props":4683,"children":4684},{"class":254,"line":373},[4685,4689,4693,4697],{"type":10,"tag":252,"props":4686,"children":4687},{"style":265},[4688],{"type":15,"value":2327},{"type":10,"tag":252,"props":4690,"children":4691},{"style":275},[4692],{"type":15,"value":293},{"type":10,"tag":252,"props":4694,"children":4695},{"style":296},[4696],{"type":15,"value":2336},{"type":10,"tag":252,"props":4698,"children":4699},{"style":265},[4700],{"type":15,"value":304},{"type":10,"tag":252,"props":4702,"children":4703},{"class":254,"line":393},[4704,4708,4712,4716],{"type":10,"tag":252,"props":4705,"children":4706},{"style":265},[4707],{"type":15,"value":2348},{"type":10,"tag":252,"props":4709,"children":4710},{"style":275},[4711],{"type":15,"value":293},{"type":10,"tag":252,"props":4713,"children":4714},{"style":275},[4715],{"type":15,"value":2282},{"type":10,"tag":252,"props":4717,"children":4718},{"style":265},[4719],{"type":15,"value":4720},"binaryKeysAndData;\n",{"type":10,"tag":252,"props":4722,"children":4723},{"class":254,"line":402},[4724,4728,4732],{"type":10,"tag":252,"props":4725,"children":4726},{"style":265},[4727],{"type":15,"value":2368},{"type":10,"tag":252,"props":4729,"children":4730},{"style":275},[4731],{"type":15,"value":293},{"type":10,"tag":252,"props":4733,"children":4734},{"style":265},[4735],{"type":15,"value":2377},{"type":10,"tag":252,"props":4737,"children":4738},{"class":254,"line":410},[4739,4743,4747,4751],{"type":10,"tag":252,"props":4740,"children":4741},{"style":265},[4742],{"type":15,"value":2385},{"type":10,"tag":252,"props":4744,"children":4745},{"style":275},[4746],{"type":15,"value":293},{"type":10,"tag":252,"props":4748,"children":4749},{"style":296},[4750],{"type":15,"value":2336},{"type":10,"tag":252,"props":4752,"children":4753},{"style":265},[4754],{"type":15,"value":304},{"type":10,"tag":252,"props":4756,"children":4757},{"class":254,"line":427},[4758],{"type":10,"tag":252,"props":4759,"children":4760},{"emptyLinePlaceholder":311},[4761],{"type":15,"value":314},{"type":10,"tag":252,"props":4763,"children":4764},{"class":254,"line":441},[4765,4769,4773,4777,4781,4785],{"type":10,"tag":252,"props":4766,"children":4767},{"style":382},[4768],{"type":15,"value":2629},{"type":10,"tag":252,"props":4770,"children":4771},{"style":265},[4772],{"type":15,"value":2634},{"type":10,"tag":252,"props":4774,"children":4775},{"style":275},[4776],{"type":15,"value":2639},{"type":10,"tag":252,"props":4778,"children":4779},{"style":265},[4780],{"type":15,"value":1573},{"type":10,"tag":252,"props":4782,"children":4783},{"style":275},[4784],{"type":15,"value":2648},{"type":10,"tag":252,"props":4786,"children":4787},{"style":265},[4788],{"type":15,"value":2653},{"type":10,"tag":252,"props":4790,"children":4791},{"class":254,"line":454},[4792,4796,4800],{"type":10,"tag":252,"props":4793,"children":4794},{"style":265},[4795],{"type":15,"value":2661},{"type":10,"tag":252,"props":4797,"children":4798},{"style":259},[4799],{"type":15,"value":2666},{"type":10,"tag":252,"props":4801,"children":4802},{"style":265},[4803],{"type":15,"value":4804},"(binaryKeysAndData.binaryCount);\n",{"type":10,"tag":252,"props":4806,"children":4807},{"class":254,"line":463},[4808],{"type":10,"tag":252,"props":4809,"children":4810},{"emptyLinePlaceholder":311},[4811],{"type":15,"value":314},{"type":10,"tag":252,"props":4813,"children":4814},{"class":254,"line":471},[4815],{"type":10,"tag":252,"props":4816,"children":4817},{"style":265},[4818],{"type":15,"value":2413},{"type":10,"tag":252,"props":4820,"children":4821},{"class":254,"line":488},[4822,4826,4830],{"type":10,"tag":252,"props":4823,"children":4824},{"style":265},[4825],{"type":15,"value":2421},{"type":10,"tag":252,"props":4827,"children":4828},{"style":275},[4829],{"type":15,"value":293},{"type":10,"tag":252,"props":4831,"children":4832},{"style":265},[4833],{"type":15,"value":2430},{"type":10,"tag":252,"props":4835,"children":4836},{"class":254,"line":501},[4837,4841,4845,4849],{"type":10,"tag":252,"props":4838,"children":4839},{"style":265},[4840],{"type":15,"value":2438},{"type":10,"tag":252,"props":4842,"children":4843},{"style":275},[4844],{"type":15,"value":293},{"type":10,"tag":252,"props":4846,"children":4847},{"style":296},[4848],{"type":15,"value":2336},{"type":10,"tag":252,"props":4850,"children":4851},{"style":265},[4852],{"type":15,"value":304},{"type":10,"tag":252,"props":4854,"children":4855},{"class":254,"line":525},[4856,4860,4864],{"type":10,"tag":252,"props":4857,"children":4858},{"style":265},[4859],{"type":15,"value":2458},{"type":10,"tag":252,"props":4861,"children":4862},{"style":275},[4863],{"type":15,"value":293},{"type":10,"tag":252,"props":4865,"children":4866},{"style":265},[4867],{"type":15,"value":4868}," binaryKeysAndData.binaryCount;\n",{"type":10,"tag":252,"props":4870,"children":4871},{"class":254,"line":547},[4872,4876,4880,4884,4888],{"type":10,"tag":252,"props":4873,"children":4874},{"style":265},[4875],{"type":15,"value":2479},{"type":10,"tag":252,"props":4877,"children":4878},{"style":275},[4879],{"type":15,"value":293},{"type":10,"tag":252,"props":4881,"children":4882},{"style":265},[4883],{"type":15,"value":2694},{"type":10,"tag":252,"props":4885,"children":4886},{"style":259},[4887],{"type":15,"value":2699},{"type":10,"tag":252,"props":4889,"children":4890},{"style":265},[4891],{"type":15,"value":2704},{"type":10,"tag":252,"props":4893,"children":4894},{"class":254,"line":556},[4895],{"type":10,"tag":252,"props":4896,"children":4897},{"emptyLinePlaceholder":311},[4898],{"type":15,"value":314},{"type":10,"tag":252,"props":4900,"children":4901},{"class":254,"line":564},[4902,4906,4911,4915,4919,4923],{"type":10,"tag":252,"props":4903,"children":4904},{"style":259},[4905],{"type":15,"value":838},{"type":10,"tag":252,"props":4907,"children":4908},{"style":265},[4909],{"type":15,"value":4910},"(device, createInfo, ",{"type":10,"tag":252,"props":4912,"children":4913},{"style":296},[4914],{"type":15,"value":1540},{"type":10,"tag":252,"props":4916,"children":4917},{"style":265},[4918],{"type":15,"value":1647},{"type":10,"tag":252,"props":4920,"children":4921},{"style":275},[4922],{"type":15,"value":2525},{"type":10,"tag":252,"props":4924,"children":4925},{"style":265},[4926],{"type":15,"value":2547},{"type":10,"tag":227,"props":4928,"children":4930},{"id":4929},"_create_pipeline_from_binaries",[4931],{"type":15,"value":4932},"Create pipeline from binaries",{"type":10,"tag":241,"props":4934,"children":4936},{"className":2092,"code":4935,"language":2094,"meta":246,"style":246},"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",[4937],{"type":10,"tag":161,"props":4938,"children":4939},{"__ignoreMap":246},[4940,4956,4964,4976,4984,5001,5008,5015,5035,5042,5049,5056],{"type":10,"tag":252,"props":4941,"children":4942},{"class":254,"line":255},[4943,4948,4952],{"type":10,"tag":252,"props":4944,"children":4945},{"style":265},[4946],{"type":15,"value":4947},"VkPipelineBinaryInfoKHR binaryInfo ",{"type":10,"tag":252,"props":4949,"children":4950},{"style":275},[4951],{"type":15,"value":293},{"type":10,"tag":252,"props":4953,"children":4954},{"style":265},[4955],{"type":15,"value":2119},{"type":10,"tag":252,"props":4957,"children":4958},{"class":254,"line":271},[4959],{"type":10,"tag":252,"props":4960,"children":4961},{"style":265},[4962],{"type":15,"value":4963}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR,\n",{"type":10,"tag":252,"props":4965,"children":4966},{"class":254,"line":307},[4967,4972],{"type":10,"tag":252,"props":4968,"children":4969},{"style":296},[4970],{"type":15,"value":4971}," NULL",{"type":10,"tag":252,"props":4973,"children":4974},{"style":265},[4975],{"type":15,"value":862},{"type":10,"tag":252,"props":4977,"children":4978},{"class":254,"line":317},[4979],{"type":10,"tag":252,"props":4980,"children":4981},{"style":265},[4982],{"type":15,"value":4983}," binaryCount,\n",{"type":10,"tag":252,"props":4985,"children":4986},{"class":254,"line":336},[4987,4992,4996],{"type":10,"tag":252,"props":4988,"children":4989},{"style":265},[4990],{"type":15,"value":4991}," pipelineBinaries.",{"type":10,"tag":252,"props":4993,"children":4994},{"style":259},[4995],{"type":15,"value":2699},{"type":10,"tag":252,"props":4997,"children":4998},{"style":265},[4999],{"type":15,"value":5000},"()\n",{"type":10,"tag":252,"props":5002,"children":5003},{"class":254,"line":345},[5004],{"type":10,"tag":252,"props":5005,"children":5006},{"style":265},[5007],{"type":15,"value":3302},{"type":10,"tag":252,"props":5009,"children":5010},{"class":254,"line":359},[5011],{"type":10,"tag":252,"props":5012,"children":5013},{"emptyLinePlaceholder":311},[5014],{"type":15,"value":314},{"type":10,"tag":252,"props":5016,"children":5017},{"class":254,"line":373},[5018,5022,5026,5030],{"type":10,"tag":252,"props":5019,"children":5020},{"style":265},[5021],{"type":15,"value":2327},{"type":10,"tag":252,"props":5023,"children":5024},{"style":275},[5025],{"type":15,"value":293},{"type":10,"tag":252,"props":5027,"children":5028},{"style":275},[5029],{"type":15,"value":2282},{"type":10,"tag":252,"props":5031,"children":5032},{"style":265},[5033],{"type":15,"value":5034},"binaryInfo;\n",{"type":10,"tag":252,"props":5036,"children":5037},{"class":254,"line":393},[5038],{"type":10,"tag":252,"props":5039,"children":5040},{"emptyLinePlaceholder":311},[5041],{"type":15,"value":314},{"type":10,"tag":252,"props":5043,"children":5044},{"class":254,"line":402},[5045],{"type":10,"tag":252,"props":5046,"children":5047},{"style":2583},[5048],{"type":15,"value":3369},{"type":10,"tag":252,"props":5050,"children":5051},{"class":254,"line":410},[5052],{"type":10,"tag":252,"props":5053,"children":5054},{"style":265},[5055],{"type":15,"value":3377},{"type":10,"tag":252,"props":5057,"children":5058},{"class":254,"line":427},[5059,5063,5067,5071,5075,5079,5083,5087,5091,5095,5099,5103],{"type":10,"tag":252,"props":5060,"children":5061},{"style":259},[5062],{"type":15,"value":3385},{"type":10,"tag":252,"props":5064,"children":5065},{"style":265},[5066],{"type":15,"value":2520},{"type":10,"tag":252,"props":5068,"children":5069},{"style":296},[5070],{"type":15,"value":1540},{"type":10,"tag":252,"props":5072,"children":5073},{"style":265},[5074],{"type":15,"value":1647},{"type":10,"tag":252,"props":5076,"children":5077},{"style":296},[5078],{"type":15,"value":3402},{"type":10,"tag":252,"props":5080,"children":5081},{"style":265},[5082],{"type":15,"value":1647},{"type":10,"tag":252,"props":5084,"children":5085},{"style":275},[5086],{"type":15,"value":2525},{"type":10,"tag":252,"props":5088,"children":5089},{"style":265},[5090],{"type":15,"value":2530},{"type":10,"tag":252,"props":5092,"children":5093},{"style":296},[5094],{"type":15,"value":1540},{"type":10,"tag":252,"props":5096,"children":5097},{"style":265},[5098],{"type":15,"value":1647},{"type":10,"tag":252,"props":5100,"children":5101},{"style":275},[5102],{"type":15,"value":2525},{"type":10,"tag":252,"props":5104,"children":5105},{"style":265},[5106],{"type":15,"value":3432},{"type":10,"tag":227,"props":5108,"children":5110},{"id":5109},"_read_internal_cache_for_the_pipeline_binaries",[5111],{"type":15,"value":5112},"Read internal cache for the pipeline binaries",{"type":10,"tag":241,"props":5114,"children":5116},{"className":2092,"code":5115,"language":2094,"meta":246,"style":246},"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",[5117],{"type":10,"tag":161,"props":5118,"children":5119},{"__ignoreMap":246},[5120,5127,5134,5141,5156,5175,5182,5189,5204,5223,5242,5257,5276,5283,5290,5305,5324,5343,5362,5369,5404,5411,5430,5437,5444,5455,5462,5469,5496,5511,5518,5541,5548],{"type":10,"tag":252,"props":5121,"children":5122},{"class":254,"line":255},[5123],{"type":10,"tag":252,"props":5124,"children":5125},{"style":265},[5126],{"type":15,"value":2233},{"type":10,"tag":252,"props":5128,"children":5129},{"class":254,"line":271},[5130],{"type":10,"tag":252,"props":5131,"children":5132},{"emptyLinePlaceholder":311},[5133],{"type":15,"value":314},{"type":10,"tag":252,"props":5135,"children":5136},{"class":254,"line":307},[5137],{"type":10,"tag":252,"props":5138,"children":5139},{"style":265},[5140],{"type":15,"value":2248},{"type":10,"tag":252,"props":5142,"children":5143},{"class":254,"line":317},[5144,5148,5152],{"type":10,"tag":252,"props":5145,"children":5146},{"style":265},[5147],{"type":15,"value":2256},{"type":10,"tag":252,"props":5149,"children":5150},{"style":275},[5151],{"type":15,"value":293},{"type":10,"tag":252,"props":5153,"children":5154},{"style":265},[5155],{"type":15,"value":2265},{"type":10,"tag":252,"props":5157,"children":5158},{"class":254,"line":336},[5159,5163,5167,5171],{"type":10,"tag":252,"props":5160,"children":5161},{"style":265},[5162],{"type":15,"value":2273},{"type":10,"tag":252,"props":5164,"children":5165},{"style":275},[5166],{"type":15,"value":293},{"type":10,"tag":252,"props":5168,"children":5169},{"style":275},[5170],{"type":15,"value":2282},{"type":10,"tag":252,"props":5172,"children":5173},{"style":265},[5174],{"type":15,"value":2287},{"type":10,"tag":252,"props":5176,"children":5177},{"class":254,"line":345},[5178],{"type":10,"tag":252,"props":5179,"children":5180},{"emptyLinePlaceholder":311},[5181],{"type":15,"value":314},{"type":10,"tag":252,"props":5183,"children":5184},{"class":254,"line":359},[5185],{"type":10,"tag":252,"props":5186,"children":5187},{"style":265},[5188],{"type":15,"value":2302},{"type":10,"tag":252,"props":5190,"children":5191},{"class":254,"line":373},[5192,5196,5200],{"type":10,"tag":252,"props":5193,"children":5194},{"style":265},[5195],{"type":15,"value":2310},{"type":10,"tag":252,"props":5197,"children":5198},{"style":275},[5199],{"type":15,"value":293},{"type":10,"tag":252,"props":5201,"children":5202},{"style":265},[5203],{"type":15,"value":2319},{"type":10,"tag":252,"props":5205,"children":5206},{"class":254,"line":393},[5207,5211,5215,5219],{"type":10,"tag":252,"props":5208,"children":5209},{"style":265},[5210],{"type":15,"value":2327},{"type":10,"tag":252,"props":5212,"children":5213},{"style":275},[5214],{"type":15,"value":293},{"type":10,"tag":252,"props":5216,"children":5217},{"style":296},[5218],{"type":15,"value":2336},{"type":10,"tag":252,"props":5220,"children":5221},{"style":265},[5222],{"type":15,"value":304},{"type":10,"tag":252,"props":5224,"children":5225},{"class":254,"line":402},[5226,5230,5234,5238],{"type":10,"tag":252,"props":5227,"children":5228},{"style":265},[5229],{"type":15,"value":2348},{"type":10,"tag":252,"props":5231,"children":5232},{"style":275},[5233],{"type":15,"value":293},{"type":10,"tag":252,"props":5235,"children":5236},{"style":296},[5237],{"type":15,"value":2336},{"type":10,"tag":252,"props":5239,"children":5240},{"style":265},[5241],{"type":15,"value":304},{"type":10,"tag":252,"props":5243,"children":5244},{"class":254,"line":410},[5245,5249,5253],{"type":10,"tag":252,"props":5246,"children":5247},{"style":265},[5248],{"type":15,"value":2368},{"type":10,"tag":252,"props":5250,"children":5251},{"style":275},[5252],{"type":15,"value":293},{"type":10,"tag":252,"props":5254,"children":5255},{"style":265},[5256],{"type":15,"value":2377},{"type":10,"tag":252,"props":5258,"children":5259},{"class":254,"line":427},[5260,5264,5268,5272],{"type":10,"tag":252,"props":5261,"children":5262},{"style":265},[5263],{"type":15,"value":2385},{"type":10,"tag":252,"props":5265,"children":5266},{"style":275},[5267],{"type":15,"value":293},{"type":10,"tag":252,"props":5269,"children":5270},{"style":275},[5271],{"type":15,"value":2282},{"type":10,"tag":252,"props":5273,"children":5274},{"style":265},[5275],{"type":15,"value":2398},{"type":10,"tag":252,"props":5277,"children":5278},{"class":254,"line":441},[5279],{"type":10,"tag":252,"props":5280,"children":5281},{"emptyLinePlaceholder":311},[5282],{"type":15,"value":314},{"type":10,"tag":252,"props":5284,"children":5285},{"class":254,"line":454},[5286],{"type":10,"tag":252,"props":5287,"children":5288},{"style":265},[5289],{"type":15,"value":2413},{"type":10,"tag":252,"props":5291,"children":5292},{"class":254,"line":463},[5293,5297,5301],{"type":10,"tag":252,"props":5294,"children":5295},{"style":265},[5296],{"type":15,"value":2421},{"type":10,"tag":252,"props":5298,"children":5299},{"style":275},[5300],{"type":15,"value":293},{"type":10,"tag":252,"props":5302,"children":5303},{"style":265},[5304],{"type":15,"value":2430},{"type":10,"tag":252,"props":5306,"children":5307},{"class":254,"line":471},[5308,5312,5316,5320],{"type":10,"tag":252,"props":5309,"children":5310},{"style":265},[5311],{"type":15,"value":2438},{"type":10,"tag":252,"props":5313,"children":5314},{"style":275},[5315],{"type":15,"value":293},{"type":10,"tag":252,"props":5317,"children":5318},{"style":296},[5319],{"type":15,"value":2336},{"type":10,"tag":252,"props":5321,"children":5322},{"style":265},[5323],{"type":15,"value":304},{"type":10,"tag":252,"props":5325,"children":5326},{"class":254,"line":488},[5327,5331,5335,5339],{"type":10,"tag":252,"props":5328,"children":5329},{"style":265},[5330],{"type":15,"value":2458},{"type":10,"tag":252,"props":5332,"children":5333},{"style":275},[5334],{"type":15,"value":293},{"type":10,"tag":252,"props":5336,"children":5337},{"style":296},[5338],{"type":15,"value":2467},{"type":10,"tag":252,"props":5340,"children":5341},{"style":265},[5342],{"type":15,"value":304},{"type":10,"tag":252,"props":5344,"children":5345},{"class":254,"line":501},[5346,5350,5354,5358],{"type":10,"tag":252,"props":5347,"children":5348},{"style":265},[5349],{"type":15,"value":2479},{"type":10,"tag":252,"props":5351,"children":5352},{"style":275},[5353],{"type":15,"value":293},{"type":10,"tag":252,"props":5355,"children":5356},{"style":296},[5357],{"type":15,"value":2336},{"type":10,"tag":252,"props":5359,"children":5360},{"style":265},[5361],{"type":15,"value":304},{"type":10,"tag":252,"props":5363,"children":5364},{"class":254,"line":525},[5365],{"type":10,"tag":252,"props":5366,"children":5367},{"emptyLinePlaceholder":311},[5368],{"type":15,"value":314},{"type":10,"tag":252,"props":5370,"children":5371},{"class":254,"line":547},[5372,5376,5380,5384,5388,5392,5396,5400],{"type":10,"tag":252,"props":5373,"children":5374},{"style":259},[5375],{"type":15,"value":838},{"type":10,"tag":252,"props":5377,"children":5378},{"style":265},[5379],{"type":15,"value":2520},{"type":10,"tag":252,"props":5381,"children":5382},{"style":275},[5383],{"type":15,"value":2525},{"type":10,"tag":252,"props":5385,"children":5386},{"style":265},[5387],{"type":15,"value":2530},{"type":10,"tag":252,"props":5389,"children":5390},{"style":296},[5391],{"type":15,"value":1540},{"type":10,"tag":252,"props":5393,"children":5394},{"style":265},[5395],{"type":15,"value":1647},{"type":10,"tag":252,"props":5397,"children":5398},{"style":275},[5399],{"type":15,"value":2525},{"type":10,"tag":252,"props":5401,"children":5402},{"style":265},[5403],{"type":15,"value":2547},{"type":10,"tag":252,"props":5405,"children":5406},{"class":254,"line":556},[5407],{"type":10,"tag":252,"props":5408,"children":5409},{"emptyLinePlaceholder":311},[5410],{"type":15,"value":314},{"type":10,"tag":252,"props":5412,"children":5413},{"class":254,"line":564},[5414,5418,5422,5426],{"type":10,"tag":252,"props":5415,"children":5416},{"style":275},[5417],{"type":15,"value":2562},{"type":10,"tag":252,"props":5419,"children":5420},{"style":265},[5421],{"type":15,"value":2567},{"type":10,"tag":252,"props":5423,"children":5424},{"style":275},[5425],{"type":15,"value":2572},{"type":10,"tag":252,"props":5427,"children":5428},{"style":265},[5429],{"type":15,"value":2577},{"type":10,"tag":252,"props":5431,"children":5432},{"class":254,"line":581},[5433],{"type":10,"tag":252,"props":5434,"children":5435},{"style":2583},[5436],{"type":15,"value":2586},{"type":10,"tag":252,"props":5438,"children":5439},{"class":254,"line":590},[5440],{"type":10,"tag":252,"props":5441,"children":5442},{"style":2583},[5443],{"type":15,"value":2594},{"type":10,"tag":252,"props":5445,"children":5446},{"class":254,"line":608},[5447,5451],{"type":10,"tag":252,"props":5448,"children":5449},{"style":275},[5450],{"type":15,"value":2602},{"type":10,"tag":252,"props":5452,"children":5453},{"style":265},[5454],{"type":15,"value":304},{"type":10,"tag":252,"props":5456,"children":5457},{"class":254,"line":617},[5458],{"type":10,"tag":252,"props":5459,"children":5460},{"style":265},[5461],{"type":15,"value":2614},{"type":10,"tag":252,"props":5463,"children":5464},{"class":254,"line":625},[5465],{"type":10,"tag":252,"props":5466,"children":5467},{"emptyLinePlaceholder":311},[5468],{"type":15,"value":314},{"type":10,"tag":252,"props":5470,"children":5471},{"class":254,"line":642},[5472,5476,5480,5484,5488,5492],{"type":10,"tag":252,"props":5473,"children":5474},{"style":382},[5475],{"type":15,"value":2629},{"type":10,"tag":252,"props":5477,"children":5478},{"style":265},[5479],{"type":15,"value":2634},{"type":10,"tag":252,"props":5481,"children":5482},{"style":275},[5483],{"type":15,"value":2639},{"type":10,"tag":252,"props":5485,"children":5486},{"style":265},[5487],{"type":15,"value":1573},{"type":10,"tag":252,"props":5489,"children":5490},{"style":275},[5491],{"type":15,"value":2648},{"type":10,"tag":252,"props":5493,"children":5494},{"style":265},[5495],{"type":15,"value":2653},{"type":10,"tag":252,"props":5497,"children":5498},{"class":254,"line":651},[5499,5503,5507],{"type":10,"tag":252,"props":5500,"children":5501},{"style":265},[5502],{"type":15,"value":2661},{"type":10,"tag":252,"props":5504,"children":5505},{"style":259},[5506],{"type":15,"value":2666},{"type":10,"tag":252,"props":5508,"children":5509},{"style":265},[5510],{"type":15,"value":2671},{"type":10,"tag":252,"props":5512,"children":5513},{"class":254,"line":668},[5514],{"type":10,"tag":252,"props":5515,"children":5516},{"emptyLinePlaceholder":311},[5517],{"type":15,"value":314},{"type":10,"tag":252,"props":5519,"children":5520},{"class":254,"line":690},[5521,5525,5529,5533,5537],{"type":10,"tag":252,"props":5522,"children":5523},{"style":265},[5524],{"type":15,"value":2479},{"type":10,"tag":252,"props":5526,"children":5527},{"style":275},[5528],{"type":15,"value":293},{"type":10,"tag":252,"props":5530,"children":5531},{"style":265},[5532],{"type":15,"value":2694},{"type":10,"tag":252,"props":5534,"children":5535},{"style":259},[5536],{"type":15,"value":2699},{"type":10,"tag":252,"props":5538,"children":5539},{"style":265},[5540],{"type":15,"value":2704},{"type":10,"tag":252,"props":5542,"children":5543},{"class":254,"line":699},[5544],{"type":10,"tag":252,"props":5545,"children":5546},{"emptyLinePlaceholder":311},[5547],{"type":15,"value":314},{"type":10,"tag":252,"props":5549,"children":5550},{"class":254,"line":721},[5551,5555,5559,5563,5567,5571,5575,5579],{"type":10,"tag":252,"props":5552,"children":5553},{"style":259},[5554],{"type":15,"value":838},{"type":10,"tag":252,"props":5556,"children":5557},{"style":265},[5558],{"type":15,"value":2520},{"type":10,"tag":252,"props":5560,"children":5561},{"style":275},[5562],{"type":15,"value":2525},{"type":10,"tag":252,"props":5564,"children":5565},{"style":265},[5566],{"type":15,"value":2530},{"type":10,"tag":252,"props":5568,"children":5569},{"style":296},[5570],{"type":15,"value":1540},{"type":10,"tag":252,"props":5572,"children":5573},{"style":265},[5574],{"type":15,"value":1647},{"type":10,"tag":252,"props":5576,"children":5577},{"style":275},[5578],{"type":15,"value":2525},{"type":10,"tag":252,"props":5580,"children":5581},{"style":265},[5582],{"type":15,"value":2547},{"type":10,"tag":17,"props":5584,"children":5586},{"id":5585},"_interactions_with_other_extensions",[5587],{"type":15,"value":5588},"Interactions with other extensions",{"type":10,"tag":11,"props":5590,"children":5591},{},[5592,5597],{"type":10,"tag":161,"props":5593,"children":5595},{"className":5594},[],[5596],{"type":15,"value":2757},{"type":15,"value":5598}," 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":10,"tag":11,"props":5600,"children":5601},{},[5602],{"type":15,"value":5603},"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":10,"tag":11,"props":5605,"children":5606},{},[5607,5609,5614,5616,5622],{"type":15,"value":5608},"Another useful interaction is that ",{"type":10,"tag":161,"props":5610,"children":5612},{"className":5611},[],[5613],{"type":15,"value":1044},{"type":15,"value":5615},"\ncan generate a key for pipeline stages\nwhich just take a ",{"type":10,"tag":161,"props":5617,"children":5619},{"className":5618},[],[5620],{"type":15,"value":5621},"VkPipelineShaderStageModuleIdentifierCreateInfoEXT",{"type":15,"value":1608},{"type":10,"tag":11,"props":5624,"children":5625},{},[5626,5628,5633],{"type":15,"value":5627},"When using ",{"type":10,"tag":161,"props":5629,"children":5631},{"className":5630},[],[5632],{"type":15,"value":2786},{"type":15,"value":5634},", 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":10,"tag":17,"props":5636,"children":5638},{"id":5637},"_issues",[5639],{"type":15,"value":5640},"Issues",{"type":10,"tag":227,"props":5642,"children":5644},{"id":5643},"_resolved_fixed_size_keys",[5645],{"type":15,"value":5646},"RESOLVED: Fixed size keys",{"type":10,"tag":11,"props":5648,"children":5649},{},[5650,5652,5657],{"type":15,"value":5651},"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":10,"tag":161,"props":5653,"children":5655},{"className":5654},[],[5656],{"type":15,"value":2757},{"type":15,"value":1608},{"type":10,"tag":227,"props":5659,"children":5661},{"id":5660},"_resolved_should_implementations_be_able_to_advertise_in_some_way_what_a_keydata_pair_are_associated_with",[5662,5664,5669],{"type":15,"value":5663},"RESOLVED: Should implementations be able to advertise in some way ",{"type":10,"tag":153,"props":5665,"children":5666},{},[5667],{"type":15,"value":5668},"what",{"type":15,"value":5670}," a key/data pair are associated with?",{"type":10,"tag":11,"props":5672,"children":5673},{},[5674],{"type":15,"value":5675},"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":10,"tag":11,"props":5677,"children":5678},{},[5679],{"type":15,"value":5680},"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":10,"tag":11,"props":5682,"children":5683},{},[5684],{"type":15,"value":5685},"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":10,"tag":11,"props":5687,"children":5688},{},[5689],{"type":15,"value":5690},"Marking as resolved as it was decided that implementations would not generate non-final binaries.",{"type":10,"tag":227,"props":5692,"children":5694},{"id":5693},"_resolved_can_we_avoid_copies_everywhere",[5695],{"type":15,"value":5696},"RESOLVED: Can we avoid copies everywhere?",{"type":10,"tag":11,"props":5698,"children":5699},{},[5700],{"type":15,"value":5701},"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":10,"tag":11,"props":5703,"children":5704},{},[5705],{"type":15,"value":5706},"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":10,"tag":11,"props":5708,"children":5709},{},[5710],{"type":15,"value":5711},"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":10,"tag":227,"props":5713,"children":5715},{"id":5714},"_resolved_can_we_avoid_recomputing_keys_on_each_run",[5716],{"type":15,"value":5717},"RESOLVED: Can we avoid recomputing keys on each run?",{"type":10,"tag":11,"props":5719,"children":5720},{},[5721],{"type":15,"value":5722},"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":10,"tag":5724,"props":5725,"children":5726},"style",{},[5727],{"type":15,"value":5728},"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":246,"searchDepth":271,"depth":271,"links":5730},[5731,5732,5733,5736,5746,5747],{"id":19,"depth":271,"text":22},{"id":35,"depth":271,"text":38},{"id":133,"depth":271,"text":136,"children":5734},[5735],{"id":229,"depth":307,"text":232},{"id":3047,"depth":271,"text":3050,"children":5737},[5738,5739,5740,5741,5742,5743,5744,5745],{"id":3058,"depth":307,"text":3061},{"id":3147,"depth":307,"text":3150},{"id":3260,"depth":307,"text":3263},{"id":3435,"depth":307,"text":3438},{"id":4238,"depth":307,"text":4241},{"id":4561,"depth":307,"text":4564},{"id":4929,"depth":307,"text":4932},{"id":5109,"depth":307,"text":5112},{"id":5585,"depth":271,"text":5588},{"id":5637,"depth":271,"text":5640,"children":5748},[5749,5750,5752,5753],{"id":5643,"depth":307,"text":5646},{"id":5660,"depth":307,"text":5751},"RESOLVED: Should implementations be able to advertise in some way what a key/data pair are associated with?",{"id":5693,"depth":307,"text":5696},{"id":5714,"depth":307,"text":5717},"markdown",[5756,5761,5764,5767,5770,5773,5776,5779,5782,5785,5788,5791,5794,5797,5800,5803,5806,5809,5812,5815,5818,5821,5824,5827,5830,5833,5836,5839,5842,5845,5848,5851,5854,5857,5860,5863,5866,5869,5872,5875,5878,5881,5884,5887,5890,5893,5896,5898,5901,5904,5907,5910,5913,5916,5919,5922,5925,5928,5931,5934],{"index":5757,"title":5758,"id":5759,"appendix":5760},0,"Preamble","preamble",false,{"index":255,"title":5762,"id":5763,"appendix":5760},"Introduction","introduction",{"index":271,"title":5765,"id":5766,"appendix":5760},"Fundamentals","fundamentals",{"index":307,"title":5768,"id":5769,"appendix":5760},"Initialization","initialization",{"index":317,"title":5771,"id":5772,"appendix":5760},"Devices and Queues","devsandqueues",{"index":336,"title":5774,"id":5775,"appendix":5760},"Command Buffers","commandbuffers",{"index":345,"title":5777,"id":5778,"appendix":5760},"Synchronization and Cache Control","synchronization",{"index":359,"title":5780,"id":5781,"appendix":5760},"Render Pass","renderpass",{"index":373,"title":5783,"id":5784,"appendix":5760},"Shaders","shaders",{"index":393,"title":5786,"id":5787,"appendix":5760},"Pipelines","pipelines",{"index":402,"title":5789,"id":5790,"appendix":5760},"Memory Allocation","memory",{"index":410,"title":5792,"id":5793,"appendix":5760},"Resource Creation","resources",{"index":427,"title":5795,"id":5796,"appendix":5760},"Samplers","samplers",{"index":441,"title":5798,"id":5799,"appendix":5760},"Resource Descriptors","descriptorsets",{"index":454,"title":5801,"id":5802,"appendix":5760},"Shader Interfaces","interfaces",{"index":463,"title":5804,"id":5805,"appendix":5760},"Image Operations","textures",{"index":471,"title":5807,"id":5808,"appendix":5760},"Fragment Density Map Operations","fragmentdensitymapops",{"index":488,"title":5810,"id":5811,"appendix":5760},"Queries","queries",{"index":501,"title":5813,"id":5814,"appendix":5760},"Clear Commands","clears",{"index":525,"title":5816,"id":5817,"appendix":5760},"Copy Commands","copies",{"index":547,"title":5819,"id":5820,"appendix":5760},"Drawing Commands","drawing",{"index":556,"title":5822,"id":5823,"appendix":5760},"Fixed-Function Vertex Processing","fxvertex",{"index":564,"title":5825,"id":5826,"appendix":5760},"Tessellation","tessellation",{"index":581,"title":5828,"id":5829,"appendix":5760},"Geometry Shading","geometry",{"index":590,"title":5831,"id":5832,"appendix":5760},"Mesh Shading","mesh",{"index":608,"title":5834,"id":5835,"appendix":5760},"Cluster Culling Shading","cluster-culling",{"index":617,"title":5837,"id":5838,"appendix":5760},"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":625,"title":5840,"id":5841,"appendix":5760},"Rasterization","primsrast",{"index":642,"title":5843,"id":5844,"appendix":5760},"Fragment Operations","fragops",{"index":651,"title":5846,"id":5847,"appendix":5760},"The Framebuffer","framebuffer",{"index":668,"title":5849,"id":5850,"appendix":5760},"Dispatching Commands","dispatch",{"index":690,"title":5852,"id":5853,"appendix":5760},"Device-Generated Commands","device-generated-commands",{"index":699,"title":5855,"id":5856,"appendix":5760},"Sparse Resources","sparsememory",{"index":721,"title":5858,"id":5859,"appendix":5760},"Window System Integration (WSI)","wsi",{"index":730,"title":5861,"id":5862,"appendix":5760},"Deferred Host Operations","deferred-host-operations",{"index":738,"title":5864,"id":5865,"appendix":5760},"Private Data","private-data",{"index":755,"title":5867,"id":5868,"appendix":5760},"Acceleration Structures","acceleration-structure",{"index":763,"title":5870,"id":5871,"appendix":5760},"Micromap","micromap",{"index":779,"title":5873,"id":5874,"appendix":5760},"Ray Traversal","ray-traversal",{"index":792,"title":5876,"id":5877,"appendix":5760},"Ray Tracing","ray-tracing",{"index":810,"title":5879,"id":5880,"appendix":5760},"Memory Decompression","memory-decompression",{"index":819,"title":5882,"id":5883,"appendix":5760},"Video Coding","video-coding",{"index":827,"title":5885,"id":5886,"appendix":5760},"Optical Flow","opticalflow",{"index":846,"title":5888,"id":5889,"appendix":5760},"Execution Graphs","executiongraphs",{"index":865,"title":5891,"id":5892,"appendix":5760},"External Compute Queues","_external_compute_queues",{"index":891,"title":5894,"id":5895,"appendix":5760},"Extending Vulkan","extendingvulkan",{"index":917,"title":1996,"id":5897,"appendix":5760},"features",{"index":940,"title":5899,"id":5900,"appendix":5760},"Limits","limits",{"index":948,"title":5902,"id":5903,"appendix":5760},"Formats","formats",{"index":966,"title":5905,"id":5906,"appendix":5760},"Additional Capabilities","capabilities",{"index":983,"title":5908,"id":5909,"appendix":5760},"Debugging","debugging",{"index":5757,"title":5911,"id":5912,"appendix":311},"Vulkan Environment for SPIR-V","spirvenv",{"index":255,"title":5914,"id":5915,"appendix":311},"Memory Model","memory-model",{"index":271,"title":5917,"id":5918,"appendix":311},"Compressed Image Formats","compressed_image_formats",{"index":307,"title":5920,"id":5921,"appendix":311},"Core Revisions (Informative)","versions",{"index":317,"title":5923,"id":5924,"appendix":311},"Layers & Extensions (Informative)","extensions",{"index":336,"title":5926,"id":5927,"appendix":311},"API Boilerplate","boilerplate",{"index":345,"title":5929,"id":5930,"appendix":311},"Invariance","invariance",{"index":359,"title":5932,"id":5933,"appendix":311},"Lexicon","lexicon",{"index":373,"title":5935,"id":5936,"appendix":311},"Credits (Informative)","credits",[5938,5945,5949,5954,5958,5963,5966,5969,5972,5976,5980,5983,5986,5989,5991,5993,5996,5999,6003,6005,6009,6011,6014,6016,6019,6027,6031,6037,6042,6046,6051,6053,6057,6063,6069,6076,6078,6081,6087,6090,6094,6099,6103,6107,6111,6115,6118,6121,6127,6130,6133,6137,6141,6146,6150,6153,6155,6159,6164,6170,6173,6177,6181,6184,6190,6193,6197,6200,6204,6207,6211,6214,6219,6223,6226,6231,6236,6239,6242,6247,6250,6254,6259,6264,6268,6271,6275,6279,6284,6288,6292,6295,6298,6302,6305,6308,6311,6315,6320,6324,6327,6331,6336,6340,6345,6348,6351,6356,6360,6364,6367,6371,6376,6379,6384,6388,6391,6394,6398,6402,6406,6411,6415,6418,6422,6426,6430,6433,6437,6441,6445,6448,6450,6454,6457,6460,6463,6466,6469,6472,6475,6478,6481,6484,6488,6491,6494,6496,6498,6501,6504,6508,6512,6516,6519,6523,6526,6528,6531,6533,6537,6542,6545,6549,6552,6554,6558,6561,6568,6572,6576,6580,6586,6588,6592,6596,6599,6602,6606,6611,6616,6622,6626,6628,6632,6635,6640,6644,6649,6653,6657,6659,6662,6665,6667,6671,6674,6677,6682,6686,6690,6692,6697,6701,6704,6705,6707,6710,6712,6715,6718,6722,6726,6728,6732,6735,6738,6740,6741,6743,6746,6747,6750,6752,6755,6758,6762,6765,6768,6770,6773,6775,6778,6782,6785,6787,6789,6791,6792,6796,6799,6802,6807,6811,6814,6817,6820,6822,6824,6828,6832,6835,6838,6842,6845,6850,6854,6857,6861,6864,6867,6871,6875,6877,6882,6885,6889,6892,6895,6897,6900,6902,6905,6909,6912,6916,6919,6923,6927,6930,6933,6936,6939,6943,6946,6949,6951,6956,6957,6961,6964,6967,6970,6973,6975,6979,6982,6985,6988,6992,6995,6997,7001,7003,7007,7010,7012,7015,7019,7022,7024,7028,7031,7034,7037,7040,7044,7049,7054,7058,7063,7067,7070,7074,7078,7081,7084,7088,7092,7095,7098,7101,7105,7107,7112,7116,7118,7124,7127,7130,7133,7137,7140,7144,7149,7152,7156,7159,7160,7163,7165,7167,7169,7171,7174,7177,7180,7183,7186,7189,7191,7195,7199,7203,7207,7210,7213,7217,7220,7224,7228,7232,7234,7238,7242,7245,7248,7251,7254,7257,7260,7263,7266,7269,7272,7275,7278,7281,7284,7286,7290,7293,7297,7301,7304,7307,7310,7313,7316,7319,7323,7326,7330,7333,7339,7343,7347,7351],{"number":5939,"type":857,"author":5940,"provisional":311,"depends":5941,"platform":5942,"contact":5943,"extension":5944,"proposal":311},135,"AMD","((VK_KHR_synchronization2+VK_KHR_spirv_1_4+VK_EXT_extended_dynamic_state),VK_VERSION_1_3)+VK_KHR_maintenance5+VK_KHR_pipeline_library","provisional","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":5946,"type":857,"author":5940,"provisional":5760,"contact":5947,"extension":5948,"proposal":311},477,"Stu Smith","VK_AMD_anti_lag",{"number":5950,"type":857,"author":5940,"provisional":5760,"specialuse":5951,"contact":5952,"extension":5953,"proposal":5760},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":5955,"type":857,"author":5940,"provisional":5760,"depends":5956,"contact":5943,"extension":5957,"proposal":5760},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":5959,"type":857,"author":5940,"provisional":5760,"depends":5960,"contact":5961,"extension":5962,"proposal":5760},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":730,"type":857,"author":5940,"promotedto":5964,"provisional":5760,"contact":5952,"extension":5965,"proposal":5760},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":617,"type":857,"author":5940,"provisional":5760,"contact":5967,"extension":5968,"proposal":5760},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":763,"type":857,"author":5940,"deprecatedby":5970,"provisional":5760,"contact":5967,"extension":5971,"proposal":5760},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":5973,"type":857,"author":5940,"deprecatedby":5970,"provisional":5760,"contact":5974,"extension":5975,"proposal":5760},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":5977,"type":857,"author":5940,"provisional":5760,"contact":5978,"extension":5979,"proposal":5760},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":5981,"type":857,"author":5940,"provisional":5760,"contact":5961,"extension":5982,"proposal":5760},137,"VK_AMD_mixed_attachment_samples",{"number":755,"type":857,"author":5940,"obsoletedby":5984,"provisional":5760,"contact":5961,"extension":5985,"proposal":5760},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":5987,"type":857,"author":5940,"provisional":5760,"contact":5961,"extension":5988,"proposal":5760},184,"VK_AMD_pipeline_compiler_control",{"number":525,"type":857,"author":5940,"provisional":5760,"contact":5952,"extension":5990,"proposal":5760},"VK_AMD_rasterization_order",{"number":779,"type":857,"author":5940,"provisional":5760,"contact":5967,"extension":5992,"proposal":5760},"VK_AMD_shader_ballot",{"number":5994,"type":857,"author":5940,"provisional":5760,"depends":5956,"contact":5978,"extension":5995,"proposal":5760},186,"VK_AMD_shader_core_properties",{"number":5997,"type":857,"author":5940,"provisional":5760,"depends":5995,"contact":5961,"extension":5998,"proposal":5760},228,"VK_AMD_shader_core_properties2",{"number":6000,"type":857,"author":6001,"provisional":5760,"depends":5956,"contact":5943,"extension":6002,"proposal":311},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":564,"type":857,"author":5940,"provisional":5760,"contact":5974,"extension":6004,"proposal":5760},"VK_AMD_shader_explicit_vertex_parameter",{"number":6006,"type":857,"author":5940,"provisional":5760,"contact":6007,"extension":6008,"proposal":5760},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":940,"type":857,"author":5940,"provisional":5760,"contact":5967,"extension":6010,"proposal":5760},"VK_AMD_shader_image_load_store_lod",{"number":846,"type":857,"author":5940,"provisional":5760,"specialuse":5951,"contact":6012,"extension":6013,"proposal":5760},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":556,"type":857,"author":5940,"provisional":5760,"contact":5974,"extension":6015,"proposal":5760},"VK_AMD_shader_trinary_minmax",{"number":827,"type":857,"author":5940,"provisional":5760,"depends":5956,"contact":6017,"extension":6018,"proposal":5760},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":6020,"type":857,"author":6021,"provisional":5760,"depends":6022,"platform":6023,"specialuse":6024,"contact":6025,"extension":6026,"proposal":311},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":6028,"type":857,"author":6021,"provisional":5760,"depends":6029,"platform":6023,"contact":6030,"extension":6022,"proposal":5760},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":6032,"type":857,"author":6033,"provisional":5760,"depends":6034,"contact":6035,"extension":6036,"proposal":311},597,"ARM","VK_EXT_opacity_micromap","Mathieu Robart @mathieurobart-arm","VK_ARM_pipeline_opacity_micromap",{"number":6038,"type":857,"author":6033,"promotedto":6039,"provisional":5760,"depends":5956,"contact":6040,"extension":6041,"proposal":5760},343,"VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":6043,"type":857,"author":6033,"provisional":5760,"depends":6044,"contact":6040,"extension":6045,"proposal":311},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":6047,"type":857,"author":6033,"provisional":5760,"depends":6048,"contact":6049,"extension":6050,"proposal":5760},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":6052,"type":857,"author":6033,"provisional":5760,"depends":5956,"contact":6049,"extension":6048,"proposal":5760},498,{"number":6054,"type":857,"author":6033,"provisional":5760,"depends":6055,"contact":6040,"extension":6056,"proposal":5760},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":6058,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6061,"extension":6062,"proposal":5760},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":6064,"type":6065,"author":6001,"provisional":5760,"depends":6066,"contact":6067,"extension":6068,"proposal":5760},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":6070,"type":6065,"author":6071,"provisional":5760,"depends":6066,"platform":6072,"ratified":6073,"contact":6074,"extension":6075,"proposal":5760},90,"NV","xlib_xrandr","vulkan","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":6077,"proposal":5760},"VK_EXT_application_parameters",{"number":1271,"type":857,"author":6033,"provisional":5760,"depends":5956,"ratified":6079,"contact":6040,"extension":6080,"proposal":5760},"vulkan,vulkansc","VK_EXT_astc_decode_mode",{"number":6082,"type":857,"author":6001,"provisional":5760,"depends":6083,"ratified":6073,"specialuse":6084,"contact":6085,"extension":6086,"proposal":311},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":6088,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6084,"contact":6061,"extension":6089,"proposal":311},340,"VK_EXT_attachment_feedback_loop_layout",{"number":6091,"type":857,"author":6071,"provisional":5760,"depends":5956,"ratified":6079,"contact":6092,"extension":6093,"proposal":5760},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":6095,"type":857,"author":6001,"provisional":5760,"depends":6096,"ratified":6073,"specialuse":6084,"contact":6097,"extension":6098,"proposal":5760},412,"VK_EXT_custom_border_color","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":6100,"type":857,"author":6071,"deprecatedby":6101,"provisional":5760,"depends":5956,"contact":6092,"extension":6102,"proposal":5760},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":6104,"type":857,"author":6001,"promotedto":6105,"provisional":5760,"depends":5956,"contact":5952,"extension":6106,"proposal":311},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":6108,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":6109,"extension":6110,"proposal":5760},382,"Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":6112,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":6113,"extension":6114,"proposal":5760},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":6116,"type":857,"author":6071,"provisional":5760,"depends":5956,"ratified":6079,"contact":6097,"extension":6117,"proposal":5760},102,"VK_EXT_conservative_rasterization",{"number":6119,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"specialuse":6084,"contact":6120,"extension":6096,"proposal":5760},288,"Liam Middlebrook @liam-middlebrook",{"number":581,"type":857,"author":6122,"promotedto":6123,"provisional":5760,"depends":6124,"specialuse":5909,"contact":6125,"extension":6126,"proposal":5760},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":427,"type":6065,"author":6128,"deprecatedby":6123,"provisional":5760,"specialuse":5909,"contact":6129,"extension":6124,"proposal":5760},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":6131,"type":6065,"author":6001,"provisional":5760,"ratified":6079,"specialuse":5909,"contact":6132,"extension":6123,"proposal":5760},129,"Mark Young @marky-lunarg",{"number":6134,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6135,"contact":6061,"extension":6136,"proposal":311},284,"d3demulation","VK_EXT_depth_bias_control",{"number":6138,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6139,"extension":6140,"proposal":311},583,"Jules Blok @jules","VK_EXT_depth_clamp_control",{"number":6142,"type":857,"author":6001,"promotedto":6143,"provisional":5760,"depends":5956,"ratified":6073,"contact":6144,"extension":6145,"proposal":5760},422,"VK_KHR_depth_clamp_zero_one","Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":6147,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6024,"contact":6148,"extension":6149,"proposal":5760},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":6151,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"specialuse":6135,"contact":6097,"extension":6152,"proposal":5760},103,"VK_EXT_depth_clip_enable",{"number":454,"type":857,"author":6071,"provisional":5760,"ratified":6079,"contact":6097,"extension":6154,"proposal":5760},"VK_EXT_depth_range_unrestricted",{"number":6156,"type":857,"author":6001,"provisional":5760,"depends":6157,"ratified":6073,"contact":5943,"extension":6158,"proposal":311},317,"((((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":6160,"type":857,"author":6071,"promotedto":6161,"provisional":5760,"depends":6162,"ratified":6073,"contact":6092,"extension":6163,"proposal":5760},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":6165,"type":857,"author":6001,"provisional":5760,"depends":6166,"specialuse":6167,"contact":6168,"extension":6169,"proposal":5760},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":6171,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6168,"extension":6172,"proposal":311},342,"VK_EXT_device_fault",{"number":6174,"type":857,"author":6001,"provisional":5760,"depends":6175,"ratified":6073,"contact":6085,"extension":6176,"proposal":311},573,"((VK_KHR_buffer_device_address,VK_VERSION_1_2)+VK_KHR_maintenance5),VK_VERSION_1_3","VK_EXT_device_generated_commands",{"number":6178,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":5951,"contact":6179,"extension":6180,"proposal":5760},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":6182,"type":6065,"author":6071,"provisional":5760,"depends":6183,"ratified":6079,"contact":6074,"extension":6066,"proposal":5760},89,"VK_KHR_display",{"number":6185,"type":6065,"author":6001,"provisional":5760,"depends":6186,"platform":6187,"ratified":6073,"contact":6188,"extension":6189,"proposal":5760},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":6191,"type":857,"author":6071,"provisional":5760,"depends":5956,"ratified":6079,"contact":6097,"extension":6192,"proposal":5760},100,"VK_EXT_discard_rectangles",{"number":6194,"type":857,"author":6071,"provisional":5760,"depends":6195,"ratified":6079,"contact":6074,"extension":6196,"proposal":5760},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":6198,"type":6065,"author":6071,"provisional":5760,"depends":6183,"ratified":6079,"contact":6074,"extension":6199,"proposal":5760},91,"VK_EXT_display_surface_counter",{"number":6201,"type":857,"author":6001,"provisional":5760,"depends":6202,"ratified":6073,"contact":6097,"extension":6203,"proposal":311},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":6205,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6097,"extension":6206,"proposal":5760},268,"VK_EXT_extended_dynamic_state",{"number":6208,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6209,"extension":6210,"proposal":5760},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":6212,"type":857,"author":6071,"provisional":5760,"depends":5956,"ratified":6073,"contact":6097,"extension":6213,"proposal":311},456,"VK_EXT_extended_dynamic_state3",{"number":6215,"type":857,"author":6001,"provisional":5760,"depends":6216,"ratified":6073,"contact":6217,"extension":6218,"proposal":311},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @linyaa-kiwi","VK_EXT_external_memory_acquire_unmodified",{"number":6220,"type":857,"author":6001,"provisional":5760,"depends":6221,"ratified":6079,"contact":6217,"extension":6222,"proposal":5760},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":6224,"type":857,"author":6001,"provisional":5760,"depends":6216,"ratified":6079,"contact":5952,"extension":6225,"proposal":5760},179,"VK_EXT_external_memory_host",{"number":6227,"type":857,"author":6001,"provisional":5760,"depends":6216,"platform":6228,"ratified":6073,"contact":6229,"extension":6230,"proposal":311},603,"metal","Aitor Camacho Larrondo @aitor-lunarg","VK_EXT_external_memory_metal",{"number":6232,"type":857,"author":6233,"provisional":5760,"ratified":6079,"contact":6234,"extension":6235,"proposal":5760},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":6237,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6234,"extension":6238,"proposal":5760},219,"VK_EXT_fragment_density_map",{"number":6240,"type":857,"author":6001,"provisional":5760,"depends":6238,"ratified":6073,"contact":6234,"extension":6241,"proposal":5760},333,"VK_EXT_fragment_density_map2",{"number":6243,"type":857,"author":6001,"provisional":5760,"depends":6244,"contact":6245,"extension":6246,"proposal":311},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":6248,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":6097,"extension":6249,"proposal":5760},252,"VK_EXT_fragment_shader_interlock",{"number":6251,"type":857,"author":6001,"provisional":5760,"ratified":6073,"contact":6252,"extension":6253,"proposal":311},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":6255,"type":857,"author":6001,"provisional":5760,"depends":6256,"platform":6257,"ratified":6073,"contact":6074,"extension":6258,"proposal":5760},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":6260,"type":857,"author":6001,"promotedto":6261,"provisional":5760,"contact":6262,"extension":6263,"proposal":5760},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":6265,"type":857,"author":6001,"promotedto":6261,"provisional":5760,"depends":6266,"contact":6179,"extension":6267,"proposal":5760},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":6269,"type":857,"author":5940,"provisional":5760,"depends":6270,"ratified":6073,"contact":5943,"extension":2786,"proposal":311},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library",{"number":6272,"type":857,"author":6128,"provisional":5760,"depends":6273,"ratified":6079,"contact":6129,"extension":6274,"proposal":5760},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":6276,"type":6065,"author":6001,"provisional":5760,"depends":6186,"ratified":6079,"contact":6277,"extension":6278,"proposal":5760},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":6280,"type":857,"author":6001,"promotedto":6281,"provisional":5760,"depends":6282,"ratified":6073,"contact":6148,"extension":6283,"proposal":311},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":6285,"type":857,"author":6001,"promotedto":6161,"provisional":5760,"depends":5956,"contact":6286,"extension":6287,"proposal":5760},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":6289,"type":857,"author":6001,"provisional":5760,"depends":6290,"ratified":6073,"specialuse":6024,"contact":6085,"extension":6291,"proposal":5760},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":6293,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6040,"extension":6294,"proposal":311},339,"VK_EXT_image_compression_control",{"number":6296,"type":857,"author":6001,"provisional":5760,"depends":6294,"ratified":6073,"contact":6040,"extension":6297,"proposal":5760},438,"VK_EXT_image_compression_control_swapchain",{"number":6299,"type":857,"author":6001,"provisional":5760,"depends":6300,"ratified":6079,"contact":6217,"extension":6301,"proposal":5760},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":6303,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6144,"extension":6304,"proposal":5760},336,"VK_EXT_image_robustness",{"number":6306,"type":857,"author":6001,"provisional":5760,"depends":6290,"specialuse":6135,"contact":6085,"extension":6307,"proposal":311},419,"VK_EXT_image_sliced_view_of_3d",{"number":6309,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6061,"extension":6310,"proposal":5760},392,"VK_EXT_image_view_min_lod",{"number":6312,"type":857,"author":6001,"promotedto":6313,"provisional":5760,"depends":5956,"contact":6097,"extension":6314,"proposal":5760},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":6316,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":6317,"contact":6318,"extension":6319,"proposal":5760},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":6321,"type":6065,"author":6001,"provisional":5760,"ratified":6079,"contact":6322,"extension":6323,"proposal":311},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":6325,"type":857,"author":6001,"provisional":5760,"depends":5956,"specialuse":6024,"contact":6148,"extension":6326,"proposal":311},466,"VK_EXT_legacy_dithering",{"number":6328,"type":857,"author":6001,"provisional":5760,"depends":6329,"ratified":6073,"specialuse":6024,"contact":6085,"extension":6330,"proposal":311},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":6332,"type":857,"author":6001,"promotedto":6333,"provisional":5760,"depends":5956,"specialuse":6334,"contact":6092,"extension":6335,"proposal":5760},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":6337,"type":857,"author":6001,"promotedto":6338,"provisional":5760,"ratified":6073,"contact":6148,"extension":6339,"proposal":5760},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":6341,"type":857,"author":6001,"provisional":5760,"depends":6342,"ratified":6073,"contact":6343,"extension":6344,"proposal":311},273,"VK_KHR_map_memory2,VK_VERSION_1_4","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":6346,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":6092,"extension":6347,"proposal":5760},238,"VK_EXT_memory_budget",{"number":6349,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6092,"extension":6350,"proposal":5760},239,"VK_EXT_memory_priority",{"number":6352,"type":857,"author":6001,"provisional":5760,"depends":6353,"contact":6354,"extension":6355,"proposal":311},329,"VK_KHR_spirv_1_4,VK_VERSION_1_2","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":6357,"type":857,"author":6001,"provisional":5760,"platform":6228,"ratified":6073,"contact":6358,"extension":6359,"proposal":311},312,"Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":6361,"type":6065,"author":6001,"provisional":5760,"depends":6186,"platform":6228,"ratified":6073,"contact":6362,"extension":6363,"proposal":5760},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":6365,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6085,"extension":6366,"proposal":5760},393,"VK_EXT_multi_draw",{"number":6368,"type":857,"author":6001,"provisional":5760,"depends":6369,"ratified":6073,"contact":6148,"extension":6370,"proposal":311},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":6372,"type":857,"author":6001,"provisional":5760,"depends":6373,"ratified":6073,"specialuse":6135,"contact":6374,"extension":6375,"proposal":311},495,"VK_KHR_maintenance3,VK_VERSION_1_1","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":6377,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6097,"extension":6378,"proposal":5760},452,"VK_EXT_nested_command_buffer",{"number":6380,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6381,"contact":6382,"extension":6383,"proposal":311},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":6385,"type":857,"author":6001,"provisional":5760,"depends":6386,"ratified":6073,"contact":6387,"extension":6034,"proposal":311},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness",{"number":6389,"type":857,"author":6001,"provisional":5760,"depends":6350,"contact":6097,"extension":6390,"proposal":5760},413,"VK_EXT_pageable_device_local_memory",{"number":6392,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":5961,"extension":6393,"proposal":5760},213,"VK_EXT_pci_bus_info",{"number":6395,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6396,"extension":6397,"proposal":5760},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":6399,"type":857,"author":5940,"promotedto":6059,"provisional":5760,"depends":5956,"contact":6400,"extension":6401,"proposal":5760},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":6403,"type":857,"author":6128,"promotedto":6059,"provisional":5760,"specialuse":5951,"contact":6404,"extension":6405,"proposal":5760},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":6407,"type":857,"author":6001,"provisional":5760,"depends":6408,"contact":6409,"extension":6410,"proposal":311},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":6412,"type":857,"author":6001,"provisional":5760,"depends":5956,"contact":6413,"extension":6414,"proposal":5760},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":6416,"type":857,"author":6001,"promotedto":6281,"provisional":5760,"depends":5956,"contact":6148,"extension":6417,"proposal":311},467,"VK_EXT_pipeline_protected_access",{"number":1289,"type":857,"author":6419,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6073,"contact":6420,"extension":6421,"proposal":5760},"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":6423,"type":857,"author":6071,"provisional":5760,"ratified":6079,"contact":6424,"extension":6425,"proposal":5760},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":6427,"type":857,"author":6001,"provisional":5760,"depends":6273,"ratified":6073,"contact":6428,"extension":6429,"proposal":311},362,"Lionel Duc @nvlduc","VK_EXT_present_mode_fifo_latest_ready",{"number":6431,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6024,"contact":6148,"extension":6432,"proposal":5760},357,"VK_EXT_primitive_topology_list_restart",{"number":6434,"type":857,"author":6001,"provisional":5760,"depends":6435,"ratified":6073,"specialuse":6024,"contact":6148,"extension":6436,"proposal":311},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":6438,"type":857,"author":6071,"promotedto":6059,"provisional":5760,"depends":5956,"contact":6439,"extension":6440,"proposal":5760},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":6442,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6024,"contact":6443,"extension":6444,"proposal":5760},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":6446,"type":857,"author":6001,"provisional":5760,"depends":6216,"ratified":6079,"contact":6217,"extension":6447,"proposal":5760},127,"VK_EXT_queue_family_foreign",{"number":6449,"type":857,"author":6033,"provisional":5760,"depends":5956,"ratified":6073,"contact":6040,"extension":6039,"proposal":311},464,{"number":6451,"type":857,"author":6001,"provisional":5760,"depends":6452,"ratified":6073,"contact":6040,"extension":6453,"proposal":5760},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":6455,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":6120,"extension":6456,"proposal":5760},287,"VK_EXT_robustness2",{"number":6458,"type":857,"author":5940,"provisional":5760,"depends":5956,"ratified":6079,"contact":5952,"extension":6459,"proposal":5760},144,"VK_EXT_sample_locations",{"number":6461,"type":857,"author":6071,"promotedto":6161,"provisional":5760,"depends":5956,"contact":6092,"extension":6462,"proposal":5760},131,"VK_EXT_sampler_filter_minmax",{"number":6464,"type":857,"author":6001,"promotedto":6161,"provisional":5760,"depends":5956,"contact":5943,"extension":6465,"proposal":5760},222,"VK_EXT_scalar_block_layout",{"number":6467,"type":857,"author":6001,"promotedto":6161,"provisional":5760,"contact":5952,"extension":6468,"proposal":5760},247,"VK_EXT_separate_stencil_usage",{"number":6470,"type":857,"author":6071,"provisional":5760,"depends":5956,"ratified":6079,"contact":6209,"extension":6471,"proposal":5760},261,"VK_EXT_shader_atomic_float",{"number":6473,"type":857,"author":6001,"provisional":5760,"depends":6471,"ratified":6073,"contact":6343,"extension":6474,"proposal":5760},274,"VK_EXT_shader_atomic_float2",{"number":6476,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6092,"extension":6477,"proposal":5760},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":6479,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":5943,"extension":6480,"proposal":5760},235,"VK_EXT_shader_image_atomic_int64",{"number":6482,"type":857,"author":6001,"provisional":5760,"depends":6483,"ratified":6073,"contact":6409,"extension":2757,"proposal":311},463,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_pipeline_creation_cache_control),VK_VERSION_1_3",{"number":6485,"type":857,"author":6001,"provisional":5760,"depends":6202,"ratified":6073,"contact":6486,"extension":6487,"proposal":311},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":6489,"type":857,"author":6001,"provisional":5760,"ratified":6073,"contact":6049,"extension":6490,"proposal":311},565,"VK_EXT_shader_replicated_composites",{"number":6492,"type":857,"author":6001,"provisional":5760,"ratified":6079,"contact":5967,"extension":6493,"proposal":5760},141,"VK_EXT_shader_stencil_export",{"number":1207,"type":857,"author":6071,"deprecatedby":6161,"provisional":5760,"contact":6424,"extension":6495,"proposal":5760},"VK_EXT_shader_subgroup_ballot",{"number":1224,"type":857,"author":6071,"deprecatedby":6055,"provisional":5760,"contact":6424,"extension":6497,"proposal":5760},"VK_EXT_shader_subgroup_vote",{"number":6499,"type":857,"author":6001,"provisional":5760,"depends":6059,"ratified":6073,"contact":6040,"extension":6500,"proposal":311},396,"VK_EXT_shader_tile_image",{"number":6502,"type":857,"author":6071,"promotedto":6161,"provisional":5760,"contact":6424,"extension":6503,"proposal":5760},163,"VK_EXT_shader_viewport_index_layer",{"number":6505,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":6055,"ratified":6060,"contact":6506,"extension":6507,"proposal":5760},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":6509,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6073,"contact":6510,"extension":6511,"proposal":311},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":6513,"type":6065,"author":6001,"provisional":5760,"depends":6514,"ratified":6073,"contact":6148,"extension":6515,"proposal":311},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":6517,"type":6065,"author":6128,"provisional":5760,"depends":6186,"ratified":6079,"contact":6129,"extension":6518,"proposal":5760},105,"VK_EXT_swapchain_colorspace",{"number":6520,"type":857,"author":6001,"provisional":5760,"depends":6521,"ratified":6073,"contact":6148,"extension":6522,"proposal":311},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":6524,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6092,"extension":6525,"proposal":5760},282,"VK_EXT_texel_buffer_alignment",{"number":1250,"type":857,"author":6033,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6060,"contact":6040,"extension":6527,"proposal":5760},"VK_EXT_texture_compression_astc_hdr",{"number":6529,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"contact":5943,"extension":6530,"proposal":5760},246,"VK_EXT_tooling_info",{"number":651,"type":857,"author":6071,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":6532,"contact":6097,"extension":6435,"proposal":5760},"glemulation,d3demulation,devtools",{"number":6534,"type":857,"author":6128,"provisional":5760,"ratified":6073,"contact":6535,"extension":6536,"proposal":5760},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":6538,"type":6065,"author":6539,"deprecatedby":6323,"provisional":5760,"ratified":6073,"specialuse":5909,"contact":6540,"extension":6541,"proposal":5760},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":1173,"type":6065,"author":6128,"deprecatedby":6323,"provisional":5760,"specialuse":5909,"contact":6543,"extension":6544,"proposal":5760},"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":6546,"type":857,"author":6071,"promotedto":6547,"provisional":5760,"depends":5956,"contact":6113,"extension":6548,"proposal":5760},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":6550,"type":857,"author":6001,"provisional":5760,"depends":5956,"contact":6097,"extension":6551,"proposal":5760},609,"VK_EXT_vertex_attribute_robustness",{"number":6553,"type":857,"author":6001,"provisional":5760,"depends":5956,"ratified":6079,"contact":6097,"extension":6329,"proposal":5760},353,{"number":6555,"type":857,"author":6001,"promotedto":6059,"provisional":5760,"depends":6452,"ratified":6060,"contact":6556,"extension":6557,"proposal":5760},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":6559,"type":857,"author":6001,"provisional":5760,"depends":6452,"ratified":6079,"contact":6097,"extension":6560,"proposal":5760},253,"VK_EXT_ycbcr_image_arrays",{"number":6562,"type":857,"author":6563,"provisional":5760,"depends":6564,"platform":6565,"contact":6566,"extension":6567,"proposal":5760},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":6569,"type":857,"author":6563,"provisional":5760,"depends":6570,"platform":6565,"contact":6566,"extension":6571,"proposal":5760},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":6573,"type":857,"author":6563,"provisional":5760,"depends":6574,"platform":6565,"contact":6566,"extension":6575,"proposal":5760},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":6577,"type":6065,"author":6563,"provisional":5760,"depends":6186,"platform":6565,"contact":6578,"extension":6579,"proposal":5760},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":6581,"type":857,"author":6582,"provisional":5760,"depends":6583,"platform":6584,"contact":6404,"extension":6585,"proposal":5760},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":983,"type":6065,"author":6582,"provisional":5760,"depends":6186,"platform":6584,"contact":6404,"extension":6587,"proposal":5760},"VK_GGP_stream_descriptor_surface",{"number":6589,"type":857,"author":6128,"provisional":5760,"contact":6590,"extension":6591,"proposal":5760},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":6593,"type":857,"author":6128,"provisional":5760,"depends":6273,"contact":6594,"extension":6595,"proposal":5760},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":6597,"type":857,"author":6128,"provisional":5760,"contact":6590,"extension":6598,"proposal":5760},224,"VK_GOOGLE_hlsl_functionality1",{"number":6600,"type":6065,"author":6128,"provisional":5760,"depends":6186,"specialuse":6024,"contact":6148,"extension":6601,"proposal":311},434,"VK_GOOGLE_surfaceless_query",{"number":6603,"type":857,"author":6128,"provisional":5760,"contact":6604,"extension":6605,"proposal":5760},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":6607,"type":857,"author":6608,"provisional":5760,"depends":5956,"contact":6609,"extension":6610,"proposal":311},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":6612,"type":857,"author":6608,"provisional":5760,"depends":6613,"contact":6614,"extension":6615,"proposal":5760},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":6617,"type":857,"author":6618,"provisional":5760,"depends":6619,"contact":6620,"extension":6621,"proposal":311},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":6623,"type":857,"author":6608,"provisional":5760,"depends":6624,"contact":6620,"extension":6625,"proposal":5760},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":471,"type":857,"author":6419,"provisional":5760,"contact":5943,"extension":6627,"proposal":5760},"VK_IMG_filter_cubic",{"number":1068,"type":857,"author":6419,"deprecatedby":6629,"provisional":5760,"contact":6630,"extension":6631,"proposal":5760},null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":6633,"type":857,"author":6419,"provisional":5760,"depends":5956,"specialuse":6024,"contact":6252,"extension":6634,"proposal":5760},111,"VK_IMG_relaxed_line_rasterization",{"number":6636,"type":857,"author":6637,"provisional":5760,"specialuse":5951,"contact":6638,"extension":6639,"proposal":5760},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":6641,"type":857,"author":6637,"provisional":5760,"depends":5956,"contact":6642,"extension":6643,"proposal":5760},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":6645,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6647,"ratified":6073,"contact":6040,"extension":6648,"proposal":5760},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":6650,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6647,"ratified":6073,"contact":6651,"extension":6652,"proposal":5760},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":6654,"type":857,"author":6646,"provisional":5760,"depends":6655,"ratified":6073,"contact":6424,"extension":6656,"proposal":5760},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":393,"type":6065,"author":6646,"provisional":5760,"depends":6186,"platform":6023,"ratified":6073,"contact":6030,"extension":6658,"proposal":5760},"VK_KHR_android_surface",{"number":6660,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":5943,"extension":6661,"proposal":5760},158,"VK_KHR_bind_memory2",{"number":6663,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6664,"ratified":6073,"contact":6092,"extension":6101,"proposal":5760},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":6666,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6079,"contact":6318,"extension":6105,"proposal":5760},544,{"number":6668,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"contact":6669,"extension":6670,"proposal":311},512,"Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":6672,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"contact":6049,"extension":6673,"proposal":311},507,"VK_KHR_cooperative_matrix",{"number":6675,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6079,"contact":6234,"extension":6676,"proposal":5760},338,"VK_KHR_copy_commands2",{"number":6678,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6679,"ratified":6073,"contact":6680,"extension":6681,"proposal":5760},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":6683,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6684,"ratified":6073,"contact":6074,"extension":6685,"proposal":5760},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":6687,"type":857,"author":6646,"provisional":5760,"ratified":6073,"contact":6688,"extension":6689,"proposal":5760},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":6691,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"contact":6144,"extension":6143,"proposal":5760},605,{"number":6693,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6694,"ratified":6073,"contact":6695,"extension":6696,"proposal":5760},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":6698,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6699,"extension":6700,"proposal":5760},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":1164,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6702,"ratified":6073,"contact":6092,"extension":6703,"proposal":5760},"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":1314,"type":6065,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6092,"extension":6702,"proposal":5760},{"number":307,"type":6065,"author":6646,"provisional":5760,"depends":6186,"ratified":6079,"contact":6706,"extension":6183,"proposal":5760},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":317,"type":857,"author":6646,"provisional":5760,"depends":6708,"ratified":6079,"contact":6074,"extension":6709,"proposal":5760},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":6711,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"ratified":6073,"contact":6097,"extension":5964,"proposal":5760},170,{"number":6713,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":5952,"extension":6714,"proposal":5760},197,"VK_KHR_driver_properties",{"number":891,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":6716,"ratified":6073,"contact":5943,"extension":6717,"proposal":311},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":6719,"type":857,"author":5940,"promotedto":6281,"provisional":5760,"depends":6720,"ratified":6073,"contact":5943,"extension":6721,"proposal":311},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":6723,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6724,"ratified":6073,"contact":6030,"extension":6725,"proposal":5760},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":6727,"type":6065,"author":6646,"promotedto":6055,"provisional":5760,"depends":5956,"ratified":6073,"contact":6030,"extension":6724,"proposal":5760},113,{"number":6729,"type":857,"author":6646,"provisional":5760,"depends":6730,"ratified":6079,"contact":6030,"extension":6731,"proposal":5760},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":6733,"type":857,"author":6646,"provisional":5760,"depends":6725,"platform":6257,"ratified":6073,"contact":6030,"extension":6734,"proposal":5760},115,"VK_KHR_external_fence_win32",{"number":1339,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6736,"ratified":6073,"contact":6074,"extension":6737,"proposal":5760},"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":1331,"type":6065,"author":6646,"promotedto":6055,"provisional":5760,"depends":5956,"ratified":6073,"contact":6074,"extension":6739,"proposal":5760},"VK_KHR_external_memory_capabilities",{"number":1364,"type":857,"author":6646,"provisional":5760,"depends":6216,"ratified":6079,"contact":6074,"extension":6221,"proposal":5760},{"number":1355,"type":857,"author":6646,"provisional":5760,"depends":6216,"platform":6257,"ratified":6073,"contact":6074,"extension":6742,"proposal":5760},"VK_KHR_external_memory_win32",{"number":1398,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6744,"ratified":6073,"contact":6074,"extension":6745,"proposal":5760},"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":1381,"type":6065,"author":6646,"promotedto":6055,"provisional":5760,"depends":5956,"ratified":6073,"contact":6074,"extension":6744,"proposal":5760},{"number":1440,"type":857,"author":6646,"provisional":5760,"depends":6748,"ratified":6079,"contact":6074,"extension":6749,"proposal":5760},"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":1414,"type":857,"author":6646,"provisional":5760,"depends":6745,"platform":6257,"ratified":6073,"contact":6074,"extension":6751,"proposal":5760},"VK_KHR_external_semaphore_win32",{"number":6753,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6073,"contact":6638,"extension":6754,"proposal":5760},361,"VK_KHR_format_feature_flags2",{"number":6756,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"contact":5947,"extension":6757,"proposal":311},323,"VK_KHR_fragment_shader_barycentric",{"number":6759,"type":857,"author":6646,"provisional":5760,"depends":6760,"ratified":6079,"contact":5943,"extension":6761,"proposal":311},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":6763,"type":6065,"author":6646,"provisional":5760,"depends":6183,"ratified":6079,"contact":6074,"extension":6764,"proposal":5760},122,"VK_KHR_get_display_properties2",{"number":6766,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6343,"extension":6767,"proposal":5760},147,"VK_KHR_get_memory_requirements2",{"number":1148,"type":6065,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6092,"extension":6769,"proposal":5760},"VK_KHR_get_physical_device_properties2",{"number":6771,"type":6065,"author":6646,"provisional":5760,"depends":6186,"ratified":6079,"contact":6074,"extension":6772,"proposal":5760},120,"VK_KHR_get_surface_capabilities2",{"number":6774,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6079,"contact":5943,"extension":6261,"proposal":5760},189,{"number":6776,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"ratified":6073,"contact":6343,"extension":6777,"proposal":5760},148,"VK_KHR_image_format_list",{"number":6779,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6780,"ratified":6073,"contact":6680,"extension":6781,"proposal":5760},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":6783,"type":857,"author":6646,"provisional":5760,"depends":6273,"ratified":6079,"contact":6594,"extension":6784,"proposal":5760},85,"VK_KHR_incremental_present",{"number":6786,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6079,"contact":6097,"extension":6313,"proposal":5760},534,{"number":6788,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6079,"contact":6097,"extension":6333,"proposal":5760},535,{"number":6790,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"ratified":6073,"contact":6148,"extension":6338,"proposal":311},527,{"number":1306,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6097,"extension":5984,"proposal":5760},{"number":6793,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6794,"extension":6795,"proposal":5760},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":6797,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":5956,"ratified":6073,"contact":6092,"extension":6798,"proposal":5760},169,"VK_KHR_maintenance3",{"number":6800,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":6055,"ratified":6073,"contact":6097,"extension":6801,"proposal":5760},414,"VK_KHR_maintenance4",{"number":6803,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":6804,"ratified":6073,"contact":6805,"extension":6806,"proposal":311},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":6808,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":6055,"ratified":6073,"contact":6809,"extension":6810,"proposal":311},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":6812,"type":857,"author":6646,"provisional":5760,"depends":6055,"ratified":6073,"contact":6085,"extension":6813,"proposal":311},563,"VK_KHR_maintenance7",{"number":6815,"type":857,"author":6646,"provisional":5760,"depends":6055,"ratified":6073,"contact":6085,"extension":6816,"proposal":311},575,"VK_KHR_maintenance8",{"number":6818,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"ratified":6073,"contact":6343,"extension":6819,"proposal":311},272,"VK_KHR_map_memory2",{"number":1051,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":5956,"ratified":6073,"contact":6092,"extension":6821,"proposal":5760},"VK_KHR_multiview",{"extension":6823,"proposal":5760},"VK_KHR_object_refresh",{"number":6825,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6079,"specialuse":5951,"contact":6826,"extension":6827,"proposal":5760},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":6829,"type":857,"author":6646,"provisional":5760,"depends":6830,"ratified":6073,"contact":6805,"extension":6831,"proposal":311},484,"VK_KHR_maintenance5,VK_VERSION_1_4","VK_KHR_pipeline_binary",{"number":6833,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"specialuse":5951,"contact":6343,"extension":6834,"proposal":5760},270,"VK_KHR_pipeline_executable_properties",{"number":6836,"type":857,"author":6646,"provisional":5760,"ratified":6073,"contact":6354,"extension":6837,"proposal":5760},291,"VK_KHR_pipeline_library",{"number":6839,"type":6065,"author":6646,"provisional":5760,"ratified":6073,"contact":6840,"extension":6841,"proposal":5760},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":6843,"type":857,"author":6646,"provisional":311,"depends":5956,"platform":5942,"ratified":6073,"contact":6358,"extension":6844,"proposal":5760},164,"VK_KHR_portability_subset",{"number":6846,"type":857,"author":6646,"provisional":5760,"depends":6847,"ratified":6073,"contact":6848,"extension":6849,"proposal":5760},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":6851,"type":857,"author":6646,"provisional":5760,"depends":6852,"ratified":6073,"contact":6848,"extension":6853,"proposal":5760},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":6855,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6073,"contact":6092,"extension":6856,"proposal":5760},81,"VK_KHR_push_descriptor",{"number":6858,"type":857,"author":6646,"provisional":5760,"depends":6859,"ratified":6073,"contact":6424,"extension":6860,"proposal":5760},349,"(VK_KHR_spirv_1_4,VK_VERSION_1_2)+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":6862,"type":857,"author":6646,"provisional":5760,"depends":6656,"ratified":6073,"contact":6424,"extension":6863,"proposal":5760},387,"VK_KHR_ray_tracing_maintenance1",{"number":6865,"type":857,"author":6646,"provisional":5760,"depends":6859,"ratified":6073,"contact":6424,"extension":6866,"proposal":5760},348,"VK_KHR_ray_tracing_pipeline",{"number":6868,"type":857,"author":6646,"provisional":5760,"depends":6656,"ratified":6073,"contact":6869,"extension":6870,"proposal":311},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":6872,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6873,"extension":6874,"proposal":5760},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":463,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"ratified":6073,"contact":5943,"extension":6876,"proposal":5760},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":6878,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6879,"ratified":6073,"contact":6880,"extension":6881,"proposal":5760},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":6883,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6760,"ratified":6073,"contact":6097,"extension":6884,"proposal":5760},242,"VK_KHR_separate_depth_stencil_layouts",{"number":6886,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":6887,"extension":6888,"proposal":5760},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":6890,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"contact":5943,"extension":6891,"proposal":311},142,"VK_KHR_shader_bfloat16",{"number":6893,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6079,"contact":6887,"extension":6894,"proposal":5760},182,"VK_KHR_shader_clock",{"number":1190,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6424,"extension":6896,"proposal":5760},"VK_KHR_shader_draw_parameters",{"number":6898,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6073,"contact":6049,"extension":6899,"proposal":311},545,"VK_KHR_shader_expect_assume",{"number":6901,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":6651,"extension":5970,"proposal":5760},83,{"number":6903,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":6651,"extension":6904,"proposal":5760},198,"VK_KHR_shader_float_controls",{"number":6906,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":6907,"ratified":6073,"contact":6144,"extension":6908,"proposal":311},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":6910,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6073,"contact":6049,"extension":6911,"proposal":311},281,"VK_KHR_shader_integer_dot_product",{"number":6913,"type":857,"author":6646,"provisional":5760,"depends":6055,"ratified":6073,"contact":6914,"extension":6915,"proposal":311},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":6917,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"ratified":6073,"contact":6125,"extension":6918,"proposal":5760},294,"VK_KHR_shader_non_semantic_info",{"number":6920,"type":857,"author":6646,"provisional":5760,"depends":6921,"ratified":6073,"contact":5943,"extension":6922,"proposal":311},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":6924,"type":857,"author":6646,"provisional":5760,"ratified":6073,"contact":6925,"extension":6926,"proposal":311},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":6928,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6055,"ratified":6073,"contact":6506,"extension":6929,"proposal":5760},176,"VK_KHR_shader_subgroup_extended_types",{"number":6931,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"ratified":6073,"contact":6049,"extension":6932,"proposal":311},417,"VK_KHR_shader_subgroup_rotate",{"number":6934,"type":857,"author":6646,"provisional":5760,"depends":6055,"ratified":6073,"contact":6914,"extension":6935,"proposal":5760},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":6937,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6079,"contact":6030,"extension":6938,"proposal":5760},216,"VK_KHR_shader_terminate_invocation",{"number":6940,"type":857,"author":6646,"provisional":5760,"depends":6941,"ratified":6079,"contact":6826,"extension":6942,"proposal":5760},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":6944,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":6907,"ratified":6073,"contact":6030,"extension":6945,"proposal":5760},237,"VK_KHR_spirv_1_4",{"number":6947,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"ratified":6073,"contact":6651,"extension":6948,"proposal":5760},132,"VK_KHR_storage_buffer_storage_class",{"number":255,"type":6065,"author":6646,"provisional":5760,"ratified":6079,"contact":6950,"extension":6186,"proposal":5760},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":6952,"type":6065,"author":6646,"provisional":5760,"depends":6953,"ratified":6073,"contact":6954,"extension":6955,"proposal":5760},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":271,"type":857,"author":6646,"provisional":5760,"depends":6186,"ratified":6079,"contact":6950,"extension":6273,"proposal":5760},{"number":6958,"type":857,"author":6646,"provisional":5760,"depends":6959,"ratified":6079,"contact":5952,"extension":6960,"proposal":5760},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":6962,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6079,"contact":5943,"extension":6963,"proposal":5760},315,"VK_KHR_synchronization2",{"number":6965,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":6343,"extension":6966,"proposal":5760},208,"VK_KHR_timeline_semaphore",{"number":6968,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":6144,"extension":6969,"proposal":5760},254,"VK_KHR_uniform_buffer_standard_layout",{"number":6971,"type":857,"author":6646,"promotedto":6055,"provisional":5760,"depends":6647,"ratified":6073,"contact":6030,"extension":6972,"proposal":5760},121,"VK_KHR_variable_pointers",{"number":6974,"type":857,"author":6646,"promotedto":6281,"provisional":5760,"depends":5956,"ratified":6079,"contact":6148,"extension":6547,"proposal":311},526,{"number":6976,"type":857,"author":6646,"provisional":5760,"depends":6977,"ratified":6073,"contact":6318,"extension":6978,"proposal":311},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":819,"type":857,"author":6646,"provisional":5760,"depends":6977,"ratified":6073,"contact":6980,"extension":6981,"proposal":311},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":6983,"type":857,"author":6646,"provisional":5760,"depends":6977,"ratified":6073,"contact":6980,"extension":6984,"proposal":311},188,"VK_KHR_video_decode_h265",{"number":608,"type":857,"author":6646,"provisional":5760,"depends":6986,"ratified":6073,"contact":6987,"extension":6977,"proposal":311},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":6989,"type":857,"author":6646,"provisional":5760,"depends":6990,"ratified":6073,"contact":6318,"extension":6991,"proposal":311},514,"VK_KHR_video_encode_queue","VK_KHR_video_encode_av1",{"number":792,"type":857,"author":6646,"provisional":5760,"depends":6990,"ratified":6073,"contact":6993,"extension":6994,"proposal":311},"Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":810,"type":857,"author":6646,"provisional":5760,"depends":6990,"ratified":6073,"contact":6993,"extension":6996,"proposal":311},"VK_KHR_video_encode_h265",{"number":6998,"type":857,"author":6646,"provisional":5760,"depends":6999,"ratified":6073,"contact":6993,"extension":7000,"proposal":311},554,"VK_KHR_video_encode_queue+(VK_KHR_format_feature_flags2,VK_VERSION_1_3)","VK_KHR_video_encode_quantization_map",{"number":7002,"type":857,"author":6646,"provisional":5760,"depends":6986,"ratified":6073,"contact":6993,"extension":6990,"proposal":311},300,{"number":7004,"type":857,"author":6646,"provisional":5760,"depends":7005,"ratified":6073,"contact":6318,"extension":7006,"proposal":311},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":7008,"type":857,"author":6646,"provisional":5760,"depends":7005,"ratified":6073,"contact":6318,"extension":7009,"proposal":311},587,"VK_KHR_video_maintenance2",{"number":590,"type":857,"author":6646,"provisional":5760,"depends":7011,"ratified":6073,"contact":6556,"extension":7005,"proposal":311},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":7013,"type":857,"author":6646,"promotedto":6161,"provisional":5760,"depends":5956,"ratified":6073,"contact":6092,"extension":7014,"proposal":5760},212,"VK_KHR_vulkan_memory_model",{"number":359,"type":6065,"author":6646,"provisional":5760,"depends":6186,"platform":7016,"ratified":6073,"contact":7017,"extension":7018,"proposal":5760},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":1373,"type":857,"author":6646,"provisional":5760,"depends":6742,"platform":6257,"ratified":6073,"contact":7020,"extension":7021,"proposal":5760},"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":402,"type":6065,"author":6646,"provisional":5760,"depends":6186,"platform":6257,"ratified":6073,"contact":7017,"extension":7023,"proposal":5760},"VK_KHR_win32_surface",{"number":7025,"type":857,"author":6646,"provisional":5760,"depends":5956,"ratified":6073,"contact":7026,"extension":7027,"proposal":5760},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":345,"type":6065,"author":6646,"provisional":5760,"depends":6186,"platform":7029,"ratified":6073,"contact":7017,"extension":7030,"proposal":5760},"xcb","VK_KHR_xcb_surface",{"number":336,"type":6065,"author":6646,"provisional":5760,"depends":6186,"platform":7032,"ratified":6073,"contact":7017,"extension":7033,"proposal":5760},"xlib","VK_KHR_xlib_surface",{"number":7035,"type":857,"author":6646,"promotedto":6059,"provisional":5760,"depends":5956,"ratified":6073,"contact":6914,"extension":7036,"proposal":5760},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":7038,"type":6065,"author":6539,"provisional":5760,"contact":6840,"extension":7039,"proposal":311},460,"VK_LUNARG_direct_driver_loading",{"number":7041,"type":857,"author":7042,"provisional":5760,"depends":5956,"specialuse":6135,"contact":6409,"extension":7043,"proposal":5760},576,"MESA","VK_MESA_image_alignment_control",{"number":7045,"type":857,"author":7046,"provisional":5760,"depends":5956,"contact":7047,"extension":7048,"proposal":311},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":7050,"type":6065,"author":7051,"deprecatedby":6363,"provisional":5760,"depends":6186,"platform":7052,"contact":6358,"extension":7053,"proposal":5760},123,"MVK","ios","VK_MVK_ios_surface",{"number":7055,"type":6065,"author":7051,"deprecatedby":6363,"provisional":5760,"depends":6186,"platform":7056,"contact":6358,"extension":7057,"proposal":5760},124,"macos","VK_MVK_macos_surface",{"number":1182,"type":6065,"author":7059,"provisional":5760,"depends":6186,"platform":7060,"contact":7061,"extension":7062,"proposal":5760},"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":668,"type":857,"author":7064,"provisional":5760,"contact":7065,"extension":7066,"proposal":5760},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":690,"type":857,"author":7064,"provisional":5760,"contact":7068,"extension":7069,"proposal":5760},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":7071,"type":857,"author":7064,"provisional":5760,"depends":7072,"contact":6092,"extension":7073,"proposal":5760},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":7075,"type":857,"author":6071,"provisional":5760,"depends":6066,"platform":6257,"contact":7076,"extension":7077,"proposal":5760},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":7079,"type":857,"author":6071,"provisional":5760,"contact":7068,"extension":7080,"proposal":5760},88,"VK_NV_clip_space_w_scaling",{"number":7082,"type":857,"author":6071,"provisional":5760,"depends":6656,"contact":6113,"extension":7083,"proposal":311},570,"VK_NV_cluster_acceleration_structure",{"number":7085,"type":857,"author":6071,"provisional":5760,"contact":7086,"extension":7087,"proposal":5760},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":7089,"type":857,"author":6071,"promotedto":6670,"provisional":5760,"depends":5956,"contact":7090,"extension":7091,"proposal":5760},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":7093,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":6092,"extension":7094,"proposal":5760},250,"VK_NV_cooperative_matrix",{"number":7096,"type":857,"author":6071,"provisional":5760,"depends":6673,"contact":6092,"extension":7097,"proposal":311},594,"VK_NV_cooperative_matrix2",{"number":7099,"type":857,"author":6071,"provisional":5760,"contact":6092,"extension":7100,"proposal":311},492,"VK_NV_cooperative_vector",{"number":7102,"type":857,"author":6071,"provisional":5760,"depends":7103,"contact":6209,"extension":7104,"proposal":5760},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":1001,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":6424,"extension":7106,"proposal":5760},"VK_NV_corner_sampled_image",{"number":7108,"type":857,"author":6071,"provisional":5760,"depends":7109,"contact":7110,"extension":7111,"proposal":5760},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":7113,"type":857,"author":6071,"provisional":311,"platform":5942,"contact":7114,"extension":7115,"proposal":5760},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":625,"type":857,"author":6071,"deprecatedby":6685,"provisional":5760,"contact":6092,"extension":7117,"proposal":5760},"VK_NV_dedicated_allocation",{"number":7119,"type":857,"author":7120,"provisional":5760,"depends":7121,"contact":7122,"extension":7123,"proposal":5760},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":7125,"type":857,"author":6071,"provisional":5760,"depends":6055,"contact":6097,"extension":7126,"proposal":5760},547,"VK_NV_descriptor_pool_overallocation",{"number":7128,"type":857,"author":7120,"provisional":5760,"depends":5956,"contact":7122,"extension":7129,"proposal":5760},207,"VK_NV_device_diagnostic_checkpoints",{"number":7131,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":7110,"extension":7132,"proposal":5760},301,"VK_NV_device_diagnostics_config",{"number":7134,"type":857,"author":6071,"provisional":5760,"depends":7135,"contact":6354,"extension":7136,"proposal":5760},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":7138,"type":857,"author":6071,"provisional":5760,"depends":7136,"contact":6209,"extension":7139,"proposal":5760},429,"VK_NV_device_generated_commands_compute",{"number":7141,"type":857,"author":6071,"provisional":311,"depends":6034,"platform":5942,"contact":7142,"extension":7143,"proposal":5760},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":7145,"type":6065,"author":6071,"provisional":5760,"depends":7146,"contact":7147,"extension":7148,"proposal":311},552,"VK_KHR_display+VK_KHR_get_display_properties2","Russell Chou @russellcnv","VK_NV_display_stereo",{"number":7150,"type":857,"author":6071,"provisional":5760,"contact":7147,"extension":7151,"proposal":5760},493,"VK_NV_extended_sparse_address_space",{"number":7153,"type":857,"author":6071,"provisional":5760,"contact":7154,"extension":7155,"proposal":311},557,"Chris Lentini @clentini","VK_NV_external_compute_queue",{"number":1115,"type":857,"author":6071,"deprecatedby":6737,"provisional":5760,"depends":7157,"contact":6074,"extension":7158,"proposal":5760},"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":1093,"type":6065,"author":6071,"deprecatedby":6739,"provisional":5760,"contact":6074,"extension":7157,"proposal":5760},{"number":7161,"type":857,"author":6071,"provisional":5760,"depends":6216,"contact":7020,"extension":7162,"proposal":5760},372,"VK_NV_external_memory_rdma",{"extension":7164,"proposal":5760},"VK_NV_external_memory_sci_buf",{"number":1123,"type":857,"author":6071,"deprecatedby":6742,"provisional":5760,"depends":7158,"platform":6257,"contact":6074,"extension":7166,"proposal":5760},"VK_NV_external_memory_win32",{"extension":7168,"proposal":5760},"VK_NV_external_sci_sync",{"extension":7170,"proposal":5760},"VK_NV_external_sci_sync2",{"number":7172,"type":857,"author":6071,"provisional":5760,"contact":6092,"extension":7173,"proposal":5760},154,"VK_NV_fill_rectangle",{"number":7175,"type":857,"author":6071,"provisional":5760,"contact":6092,"extension":7176,"proposal":5760},150,"VK_NV_fragment_coverage_to_color",{"number":7178,"type":857,"author":6071,"promotedto":6757,"provisional":5760,"depends":5956,"contact":7090,"extension":7179,"proposal":5760},204,"VK_NV_fragment_shader_barycentric",{"number":7181,"type":857,"author":6071,"provisional":5760,"depends":6761,"contact":7090,"extension":7182,"proposal":5760},327,"VK_NV_fragment_shading_rate_enums",{"number":7184,"type":857,"author":6071,"provisional":5760,"contact":6092,"extension":7185,"proposal":5760},153,"VK_NV_framebuffer_mixed_samples",{"number":7187,"type":857,"author":6071,"provisional":5760,"contact":6424,"extension":7188,"proposal":5760},96,"VK_NV_geometry_shader_passthrough",{"number":441,"type":857,"author":6071,"deprecatedby":6629,"provisional":5760,"contact":6097,"extension":7190,"proposal":5760},"VK_NV_glsl_shader",{"number":7192,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":7193,"extension":7194,"proposal":5760},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":7196,"type":857,"author":7120,"provisional":5760,"depends":5956,"contact":7197,"extension":7198,"proposal":5760},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":7200,"type":857,"author":6071,"provisional":5760,"contact":7201,"extension":7202,"proposal":5760},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":7204,"type":857,"author":6071,"provisional":5760,"depends":7205,"contact":7201,"extension":7206,"proposal":5760},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":7208,"type":857,"author":6071,"provisional":5760,"depends":7103,"contact":6209,"extension":7209,"proposal":5760},428,"VK_NV_memory_decompression",{"number":7211,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":6354,"extension":7212,"proposal":5760},203,"VK_NV_mesh_shader",{"number":7214,"type":857,"author":6071,"provisional":5760,"depends":7215,"contact":7020,"extension":7216,"proposal":5760},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":7218,"type":857,"author":6071,"provisional":5760,"depends":6656,"contact":6113,"extension":7219,"proposal":311},571,"VK_NV_partitioned_acceleration_structure",{"number":7221,"type":857,"author":6071,"provisional":5760,"depends":7222,"contact":6097,"extension":7223,"proposal":5760},517,"VK_KHR_maintenance6,VK_VERSION_1_4","VK_NV_per_stage_descriptor_set",{"number":7225,"type":857,"author":6071,"provisional":5760,"depends":6256,"contact":7226,"extension":7227,"proposal":5760},293,"Liya Li @liyli","VK_NV_present_barrier",{"number":7229,"type":857,"author":6071,"provisional":311,"platform":5942,"contact":7230,"extension":7231,"proposal":5760},614,"Charles Hansen @chansen","VK_NV_present_metering",{"extension":7233,"proposal":5760},"VK_NV_private_vendor_info",{"number":7235,"type":857,"author":6071,"provisional":5760,"contact":7236,"extension":7237,"proposal":5760},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":7239,"type":857,"author":6071,"deprecatedby":6866,"provisional":5760,"depends":7240,"contact":7068,"extension":7241,"proposal":5760},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":7243,"type":857,"author":6071,"provisional":5760,"depends":6866,"contact":7068,"extension":7244,"proposal":5760},491,"VK_NV_ray_tracing_invocation_reorder",{"number":7246,"type":857,"author":6071,"provisional":5760,"depends":6866,"contact":6113,"extension":7247,"proposal":311},430,"VK_NV_ray_tracing_linear_swept_spheres",{"number":7249,"type":857,"author":6071,"provisional":5760,"depends":6866,"contact":6869,"extension":7250,"proposal":5760},328,"VK_NV_ray_tracing_motion_blur",{"number":7252,"type":857,"author":6071,"provisional":5760,"contact":6209,"extension":7253,"proposal":311},569,"VK_NV_ray_tracing_validation",{"number":7255,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":7110,"extension":7256,"proposal":5760},167,"VK_NV_representative_fragment_test",{"number":7258,"type":857,"author":6071,"provisional":5760,"contact":6097,"extension":7259,"proposal":5760},95,"VK_NV_sample_mask_override_coverage",{"number":7261,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":7090,"extension":7262,"proposal":5760},206,"VK_NV_scissor_exclusive",{"number":7264,"type":857,"author":6071,"provisional":5760,"contact":6092,"extension":7265,"proposal":5760},564,"VK_NV_shader_atomic_float16_vector",{"number":7267,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":7090,"extension":7268,"proposal":5760},205,"VK_NV_shader_image_footprint",{"number":7270,"type":857,"author":6071,"provisional":5760,"depends":6055,"contact":6424,"extension":7271,"proposal":5760},155,"VK_NV_shader_sm_builtins",{"number":7273,"type":857,"author":6071,"provisional":5760,"depends":6055,"contact":6092,"extension":7274,"proposal":5760},199,"VK_NV_shader_subgroup_partitioned",{"number":7276,"type":857,"author":6071,"provisional":5760,"depends":5956,"contact":7090,"extension":7277,"proposal":5760},165,"VK_NV_shading_rate_image",{"number":7279,"type":857,"author":6071,"provisional":5760,"contact":6424,"extension":7280,"proposal":5760},97,"VK_NV_viewport_array2",{"number":7282,"type":857,"author":6071,"provisional":5760,"contact":6097,"extension":7283,"proposal":5760},99,"VK_NV_viewport_swizzle",{"number":1140,"type":857,"author":6071,"promotedto":7021,"provisional":5760,"depends":7166,"platform":6257,"contact":7020,"extension":7285,"proposal":5760},"VK_NV_win32_keyed_mutex",{"number":7287,"type":857,"author":6233,"provisional":5760,"depends":7288,"contact":6234,"extension":7289,"proposal":5760},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":7291,"type":857,"author":6233,"provisional":5760,"depends":6235,"contact":6234,"extension":7292,"proposal":5760},520,"VK_QCOM_filter_cubic_weights",{"number":7294,"type":857,"author":6233,"promotedto":6246,"provisional":5760,"depends":7295,"contact":6234,"extension":7296,"proposal":5760},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":7298,"type":857,"author":6233,"provisional":5760,"depends":7299,"contact":6234,"extension":7300,"proposal":311},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":7302,"type":857,"author":6233,"provisional":5760,"depends":7300,"contact":6234,"extension":7303,"proposal":5760},519,"VK_QCOM_image_processing2",{"number":7305,"type":857,"author":6233,"provisional":5760,"contact":6234,"extension":7306,"proposal":5760},511,"VK_QCOM_multiview_per_view_render_areas",{"number":7308,"type":857,"author":6233,"provisional":5760,"depends":5956,"contact":6234,"extension":7309,"proposal":5760},489,"VK_QCOM_multiview_per_view_viewports",{"number":7311,"type":857,"author":6233,"provisional":5760,"contact":6234,"extension":7312,"proposal":5760},172,"VK_QCOM_render_pass_shader_resolve",{"number":7314,"type":857,"author":6233,"provisional":5760,"contact":6234,"extension":7315,"proposal":5760},302,"VK_QCOM_render_pass_store_ops",{"number":7317,"type":857,"author":6233,"provisional":5760,"contact":6234,"extension":7318,"proposal":5760},283,"VK_QCOM_render_pass_transform",{"number":7320,"type":857,"author":6233,"provisional":5760,"depends":7321,"contact":6234,"extension":7322,"proposal":5760},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":7324,"type":857,"author":6233,"provisional":5760,"depends":5956,"contact":6234,"extension":7325,"proposal":311},485,"VK_QCOM_tile_properties",{"number":7327,"type":857,"author":6233,"provisional":5760,"depends":7328,"contact":6234,"extension":7329,"proposal":311},310,"VK_QCOM_tile_properties,VK_KHR_get_physical_device_properties2","VK_QCOM_tile_shading",{"number":7331,"type":857,"author":6233,"provisional":5760,"contact":6234,"extension":7332,"proposal":5760},521,"VK_QCOM_ycbcr_degamma",{"number":7334,"type":857,"author":7335,"provisional":5760,"depends":6029,"platform":7336,"contact":7337,"extension":7338,"proposal":5760},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":7340,"type":6065,"author":7335,"provisional":5760,"depends":6186,"platform":7336,"contact":7341,"extension":7342,"proposal":5760},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":7344,"type":857,"author":7345,"provisional":5760,"depends":5956,"contact":6168,"extension":7346,"proposal":5760},486,"SEC","VK_SEC_amigo_profiling",{"number":7348,"type":857,"author":7349,"provisional":5760,"depends":5956,"specialuse":6135,"contact":6409,"extension":7350,"proposal":5760},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":7352,"type":857,"author":7349,"promotedto":6375,"provisional":5760,"depends":6798,"specialuse":6135,"contact":6374,"extension":7353,"proposal":5760},352,"VK_VALVE_mutable_descriptor_type",1744876647996]