[{"data":1,"prerenderedAt":7264},["ShallowReactive",2],{"oFGwkodTd8":3,"VyF3Mmj32r":5757,"N9m89Rcq0G":5936},{"title":4,"description":5,"body":6,"_type":5756,"_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":5731},"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,2081,2086,2091,2198,2209,2221,2749,2770,2790,2803,2808,2819,2845,2907,2948,2959,2971,2990,3001,3006,3031,3042,3047,3053,3058,3064,3147,3153,3260,3266,3435,3441,4238,4244,4561,4567,4929,4935,5109,5115,5585,5591,5601,5606,5625,5637,5643,5649,5660,5673,5678,5683,5688,5693,5699,5704,5709,5714,5720,5725],{"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 on the device, 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://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkResult.html",[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},"xref::name::_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://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineCreateFlagBits2KHR.html",[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":2080},"Properties",{"type":10,"tag":11,"props":2082,"children":2083},{},[2084],{"type":15,"value":2085},"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":2087,"children":2088},{},[2089],{"type":15,"value":2090},"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":2092,"children":2096},{"className":2093,"code":2094,"language":2095,"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++",[2097],{"type":10,"tag":161,"props":2098,"children":2099},{"__ignoreMap":246},[2100,2121,2129,2141,2149,2157,2165,2173,2181],{"type":10,"tag":252,"props":2101,"children":2102},{"class":254,"line":255},[2103,2107,2111,2116],{"type":10,"tag":252,"props":2104,"children":2105},{"style":275},[2106],{"type":15,"value":323},{"type":10,"tag":252,"props":2108,"children":2109},{"style":275},[2110],{"type":15,"value":328},{"type":10,"tag":252,"props":2112,"children":2113},{"style":382},[2114],{"type":15,"value":2115}," VkPhysicalDevicePipelineBinaryPropertiesKHR",{"type":10,"tag":252,"props":2117,"children":2118},{"style":265},[2119],{"type":15,"value":2120}," {\n",{"type":10,"tag":252,"props":2122,"children":2123},{"class":254,"line":271},[2124],{"type":10,"tag":252,"props":2125,"children":2126},{"style":265},[2127],{"type":15,"value":2128}," VkStructureType sType;\n",{"type":10,"tag":252,"props":2130,"children":2131},{"class":254,"line":307},[2132,2136],{"type":10,"tag":252,"props":2133,"children":2134},{"style":275},[2135],{"type":15,"value":351},{"type":10,"tag":252,"props":2137,"children":2138},{"style":265},[2139],{"type":15,"value":2140}," pNext;\n",{"type":10,"tag":252,"props":2142,"children":2143},{"class":254,"line":317},[2144],{"type":10,"tag":252,"props":2145,"children":2146},{"style":265},[2147],{"type":15,"value":2148}," VkBool32 pipelineBinaryInternalCache;\n",{"type":10,"tag":252,"props":2150,"children":2151},{"class":254,"line":336},[2152],{"type":10,"tag":252,"props":2153,"children":2154},{"style":265},[2155],{"type":15,"value":2156}," VkBool32 pipelineBinaryInternalCacheControl;\n",{"type":10,"tag":252,"props":2158,"children":2159},{"class":254,"line":345},[2160],{"type":10,"tag":252,"props":2161,"children":2162},{"style":265},[2163],{"type":15,"value":2164}," VkBool32 pipelineBinaryPrefersInternalCache;\n",{"type":10,"tag":252,"props":2166,"children":2167},{"class":254,"line":359},[2168],{"type":10,"tag":252,"props":2169,"children":2170},{"style":265},[2171],{"type":15,"value":2172}," VkBool32 pipelineBinaryPrecompiledInternalCache;\n",{"type":10,"tag":252,"props":2174,"children":2175},{"class":254,"line":373},[2176],{"type":10,"tag":252,"props":2177,"children":2178},{"style":265},[2179],{"type":15,"value":2180}," VkBool32 pipelineBinaryCompressedData;\n",{"type":10,"tag":252,"props":2182,"children":2183},{"class":254,"line":393},[2184,2189,2194],{"type":10,"tag":252,"props":2185,"children":2186},{"style":265},[2187],{"type":15,"value":2188},"} ",{"type":10,"tag":252,"props":2190,"children":2191},{"style":382},[2192],{"type":15,"value":2193},"VkPhysicalDevicePipelineBinaryPropertiesKHR",{"type":10,"tag":252,"props":2195,"children":2196},{"style":265},[2197],{"type":15,"value":304},{"type":10,"tag":2199,"props":2200,"children":2202},"h5",{"id":2201},"_pipelinebinaryinternalcache",[2203,2204],{"type":15,"value":246},{"type":10,"tag":161,"props":2205,"children":2207},{"className":2206},[],[2208],{"type":15,"value":1624},{"type":10,"tag":11,"props":2210,"children":2211},{},[2212,2214,2219],{"type":15,"value":2213},"When ",{"type":10,"tag":161,"props":2215,"children":2217},{"className":2216},[],[2218],{"type":15,"value":1624},{"type":15,"value":2220}," 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":2222,"children":2224},{"className":2093,"code":2223,"language":2095,"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",[2225],{"type":10,"tag":161,"props":2226,"children":2227},{"__ignoreMap":246},[2228,2236,2243,2251,2268,2290,2297,2305,2322,2343,2363,2380,2401,2408,2416,2433,2453,2474,2494,2501,2550,2557,2580,2589,2597,2609,2617,2624,2656,2674,2681,2707,2714],{"type":10,"tag":252,"props":2229,"children":2230},{"class":254,"line":255},[2231],{"type":10,"tag":252,"props":2232,"children":2233},{"style":265},[2234],{"type":15,"value":2235},"VkGraphicsPipelineCreateInfo graphicsCreateInfo;\n",{"type":10,"tag":252,"props":2237,"children":2238},{"class":254,"line":271},[2239],{"type":10,"tag":252,"props":2240,"children":2241},{"emptyLinePlaceholder":311},[2242],{"type":15,"value":314},{"type":10,"tag":252,"props":2244,"children":2245},{"class":254,"line":307},[2246],{"type":10,"tag":252,"props":2247,"children":2248},{"style":265},[2249],{"type":15,"value":2250},"VkPipelineCreateInfoKHR pipelineCreateInfo;\n",{"type":10,"tag":252,"props":2252,"children":2253},{"class":254,"line":317},[2254,2259,2263],{"type":10,"tag":252,"props":2255,"children":2256},{"style":265},[2257],{"type":15,"value":2258},"pipelineCreateInfo.sType ",{"type":10,"tag":252,"props":2260,"children":2261},{"style":275},[2262],{"type":15,"value":293},{"type":10,"tag":252,"props":2264,"children":2265},{"style":265},[2266],{"type":15,"value":2267}," VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR;\n",{"type":10,"tag":252,"props":2269,"children":2270},{"class":254,"line":336},[2271,2276,2280,2285],{"type":10,"tag":252,"props":2272,"children":2273},{"style":265},[2274],{"type":15,"value":2275},"pipelineCreateInfo.pNext ",{"type":10,"tag":252,"props":2277,"children":2278},{"style":275},[2279],{"type":15,"value":293},{"type":10,"tag":252,"props":2281,"children":2282},{"style":275},[2283],{"type":15,"value":2284}," &",{"type":10,"tag":252,"props":2286,"children":2287},{"style":265},[2288],{"type":15,"value":2289},"graphicsCreateInfo;\n",{"type":10,"tag":252,"props":2291,"children":2292},{"class":254,"line":345},[2293],{"type":10,"tag":252,"props":2294,"children":2295},{"emptyLinePlaceholder":311},[2296],{"type":15,"value":314},{"type":10,"tag":252,"props":2298,"children":2299},{"class":254,"line":359},[2300],{"type":10,"tag":252,"props":2301,"children":2302},{"style":265},[2303],{"type":15,"value":2304},"VkPipelineBinaryCreateInfoKHR createInfo;\n",{"type":10,"tag":252,"props":2306,"children":2307},{"class":254,"line":373},[2308,2313,2317],{"type":10,"tag":252,"props":2309,"children":2310},{"style":265},[2311],{"type":15,"value":2312},"createInfo.sType ",{"type":10,"tag":252,"props":2314,"children":2315},{"style":275},[2316],{"type":15,"value":293},{"type":10,"tag":252,"props":2318,"children":2319},{"style":265},[2320],{"type":15,"value":2321}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR;\n",{"type":10,"tag":252,"props":2323,"children":2324},{"class":254,"line":393},[2325,2330,2334,2339],{"type":10,"tag":252,"props":2326,"children":2327},{"style":265},[2328],{"type":15,"value":2329},"createInfo.pNext ",{"type":10,"tag":252,"props":2331,"children":2332},{"style":275},[2333],{"type":15,"value":293},{"type":10,"tag":252,"props":2335,"children":2336},{"style":296},[2337],{"type":15,"value":2338}," NULL",{"type":10,"tag":252,"props":2340,"children":2341},{"style":265},[2342],{"type":15,"value":304},{"type":10,"tag":252,"props":2344,"children":2345},{"class":254,"line":402},[2346,2351,2355,2359],{"type":10,"tag":252,"props":2347,"children":2348},{"style":265},[2349],{"type":15,"value":2350},"createInfo.pKeysAndDataInfo ",{"type":10,"tag":252,"props":2352,"children":2353},{"style":275},[2354],{"type":15,"value":293},{"type":10,"tag":252,"props":2356,"children":2357},{"style":296},[2358],{"type":15,"value":2338},{"type":10,"tag":252,"props":2360,"children":2361},{"style":265},[2362],{"type":15,"value":304},{"type":10,"tag":252,"props":2364,"children":2365},{"class":254,"line":410},[2366,2371,2375],{"type":10,"tag":252,"props":2367,"children":2368},{"style":265},[2369],{"type":15,"value":2370},"createInfo.pipeline ",{"type":10,"tag":252,"props":2372,"children":2373},{"style":275},[2374],{"type":15,"value":293},{"type":10,"tag":252,"props":2376,"children":2377},{"style":265},[2378],{"type":15,"value":2379}," VK_NULL_HANDLE;\n",{"type":10,"tag":252,"props":2381,"children":2382},{"class":254,"line":427},[2383,2388,2392,2396],{"type":10,"tag":252,"props":2384,"children":2385},{"style":265},[2386],{"type":15,"value":2387},"createInfo.pPipelineCreateInfo ",{"type":10,"tag":252,"props":2389,"children":2390},{"style":275},[2391],{"type":15,"value":293},{"type":10,"tag":252,"props":2393,"children":2394},{"style":275},[2395],{"type":15,"value":2284},{"type":10,"tag":252,"props":2397,"children":2398},{"style":265},[2399],{"type":15,"value":2400},"pipelineCreateInfo;\n",{"type":10,"tag":252,"props":2402,"children":2403},{"class":254,"line":441},[2404],{"type":10,"tag":252,"props":2405,"children":2406},{"emptyLinePlaceholder":311},[2407],{"type":15,"value":314},{"type":10,"tag":252,"props":2409,"children":2410},{"class":254,"line":454},[2411],{"type":10,"tag":252,"props":2412,"children":2413},{"style":265},[2414],{"type":15,"value":2415},"VkPipelineBinaryHandlesInfoKHR handlesInfo;\n",{"type":10,"tag":252,"props":2417,"children":2418},{"class":254,"line":463},[2419,2424,2428],{"type":10,"tag":252,"props":2420,"children":2421},{"style":265},[2422],{"type":15,"value":2423},"handlesInfo.sType ",{"type":10,"tag":252,"props":2425,"children":2426},{"style":275},[2427],{"type":15,"value":293},{"type":10,"tag":252,"props":2429,"children":2430},{"style":265},[2431],{"type":15,"value":2432}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR;\n",{"type":10,"tag":252,"props":2434,"children":2435},{"class":254,"line":471},[2436,2441,2445,2449],{"type":10,"tag":252,"props":2437,"children":2438},{"style":265},[2439],{"type":15,"value":2440},"handlesInfo.pNext ",{"type":10,"tag":252,"props":2442,"children":2443},{"style":275},[2444],{"type":15,"value":293},{"type":10,"tag":252,"props":2446,"children":2447},{"style":296},[2448],{"type":15,"value":2338},{"type":10,"tag":252,"props":2450,"children":2451},{"style":265},[2452],{"type":15,"value":304},{"type":10,"tag":252,"props":2454,"children":2455},{"class":254,"line":488},[2456,2461,2465,2470],{"type":10,"tag":252,"props":2457,"children":2458},{"style":265},[2459],{"type":15,"value":2460},"handlesInfo.pipelineBinaryCount ",{"type":10,"tag":252,"props":2462,"children":2463},{"style":275},[2464],{"type":15,"value":293},{"type":10,"tag":252,"props":2466,"children":2467},{"style":296},[2468],{"type":15,"value":2469}," 0",{"type":10,"tag":252,"props":2471,"children":2472},{"style":265},[2473],{"type":15,"value":304},{"type":10,"tag":252,"props":2475,"children":2476},{"class":254,"line":501},[2477,2482,2486,2490],{"type":10,"tag":252,"props":2478,"children":2479},{"style":265},[2480],{"type":15,"value":2481},"handlesInfo.pPipelineBinaries ",{"type":10,"tag":252,"props":2483,"children":2484},{"style":275},[2485],{"type":15,"value":293},{"type":10,"tag":252,"props":2487,"children":2488},{"style":296},[2489],{"type":15,"value":2338},{"type":10,"tag":252,"props":2491,"children":2492},{"style":265},[2493],{"type":15,"value":304},{"type":10,"tag":252,"props":2495,"children":2496},{"class":254,"line":525},[2497],{"type":10,"tag":252,"props":2498,"children":2499},{"emptyLinePlaceholder":311},[2500],{"type":15,"value":314},{"type":10,"tag":252,"props":2502,"children":2503},{"class":254,"line":547},[2504,2509,2513,2518,2523,2528,2533,2537,2541,2545],{"type":10,"tag":252,"props":2505,"children":2506},{"style":265},[2507],{"type":15,"value":2508},"VkResult res ",{"type":10,"tag":252,"props":2510,"children":2511},{"style":275},[2512],{"type":15,"value":293},{"type":10,"tag":252,"props":2514,"children":2515},{"style":259},[2516],{"type":15,"value":2517}," vkCreatePipelineBinariesKHR",{"type":10,"tag":252,"props":2519,"children":2520},{"style":265},[2521],{"type":15,"value":2522},"(device, ",{"type":10,"tag":252,"props":2524,"children":2525},{"style":275},[2526],{"type":15,"value":2527},"&",{"type":10,"tag":252,"props":2529,"children":2530},{"style":265},[2531],{"type":15,"value":2532},"createInfo, ",{"type":10,"tag":252,"props":2534,"children":2535},{"style":296},[2536],{"type":15,"value":1540},{"type":10,"tag":252,"props":2538,"children":2539},{"style":265},[2540],{"type":15,"value":1647},{"type":10,"tag":252,"props":2542,"children":2543},{"style":275},[2544],{"type":15,"value":2527},{"type":10,"tag":252,"props":2546,"children":2547},{"style":265},[2548],{"type":15,"value":2549},"handlesInfo);\n",{"type":10,"tag":252,"props":2551,"children":2552},{"class":254,"line":556},[2553],{"type":10,"tag":252,"props":2554,"children":2555},{"emptyLinePlaceholder":311},[2556],{"type":15,"value":314},{"type":10,"tag":252,"props":2558,"children":2559},{"class":254,"line":564},[2560,2565,2570,2575],{"type":10,"tag":252,"props":2561,"children":2562},{"style":275},[2563],{"type":15,"value":2564},"if",{"type":10,"tag":252,"props":2566,"children":2567},{"style":265},[2568],{"type":15,"value":2569}," (res ",{"type":10,"tag":252,"props":2571,"children":2572},{"style":275},[2573],{"type":15,"value":2574},"==",{"type":10,"tag":252,"props":2576,"children":2577},{"style":265},[2578],{"type":15,"value":2579}," VK_PIPELINE_BINARY_MISSING_KHR) {\n",{"type":10,"tag":252,"props":2581,"children":2582},{"class":254,"line":581},[2583],{"type":10,"tag":252,"props":2584,"children":2586},{"style":2585},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[2587],{"type":15,"value":2588}," // Attempted to create a pipeline binary, but implementation does not have it in cache.\n",{"type":10,"tag":252,"props":2590,"children":2591},{"class":254,"line":590},[2592],{"type":10,"tag":252,"props":2593,"children":2594},{"style":2585},[2595],{"type":15,"value":2596}," // Similar to VK_PIPELINE_COMPILE_REQUIRED, this is a positive return value.\n",{"type":10,"tag":252,"props":2598,"children":2599},{"class":254,"line":608},[2600,2605],{"type":10,"tag":252,"props":2601,"children":2602},{"style":275},[2603],{"type":15,"value":2604}," return",{"type":10,"tag":252,"props":2606,"children":2607},{"style":265},[2608],{"type":15,"value":304},{"type":10,"tag":252,"props":2610,"children":2611},{"class":254,"line":617},[2612],{"type":10,"tag":252,"props":2613,"children":2614},{"style":265},[2615],{"type":15,"value":2616},"}\n",{"type":10,"tag":252,"props":2618,"children":2619},{"class":254,"line":625},[2620],{"type":10,"tag":252,"props":2621,"children":2622},{"emptyLinePlaceholder":311},[2623],{"type":15,"value":314},{"type":10,"tag":252,"props":2625,"children":2626},{"class":254,"line":642},[2627,2632,2637,2642,2646,2651],{"type":10,"tag":252,"props":2628,"children":2629},{"style":382},[2630],{"type":15,"value":2631},"std",{"type":10,"tag":252,"props":2633,"children":2634},{"style":265},[2635],{"type":15,"value":2636},"::vector",{"type":10,"tag":252,"props":2638,"children":2639},{"style":275},[2640],{"type":15,"value":2641},"\u003C",{"type":10,"tag":252,"props":2643,"children":2644},{"style":265},[2645],{"type":15,"value":1573},{"type":10,"tag":252,"props":2647,"children":2648},{"style":275},[2649],{"type":15,"value":2650},">",{"type":10,"tag":252,"props":2652,"children":2653},{"style":265},[2654],{"type":15,"value":2655}," pipelineBinaries;\n",{"type":10,"tag":252,"props":2657,"children":2658},{"class":254,"line":651},[2659,2664,2669],{"type":10,"tag":252,"props":2660,"children":2661},{"style":265},[2662],{"type":15,"value":2663},"pipelineBinaries.",{"type":10,"tag":252,"props":2665,"children":2666},{"style":259},[2667],{"type":15,"value":2668},"resize",{"type":10,"tag":252,"props":2670,"children":2671},{"style":265},[2672],{"type":15,"value":2673},"(handlesInfo.pipelineBinaryCount);\n",{"type":10,"tag":252,"props":2675,"children":2676},{"class":254,"line":668},[2677],{"type":10,"tag":252,"props":2678,"children":2679},{"emptyLinePlaceholder":311},[2680],{"type":15,"value":314},{"type":10,"tag":252,"props":2682,"children":2683},{"class":254,"line":690},[2684,2688,2692,2697,2702],{"type":10,"tag":252,"props":2685,"children":2686},{"style":265},[2687],{"type":15,"value":2481},{"type":10,"tag":252,"props":2689,"children":2690},{"style":275},[2691],{"type":15,"value":293},{"type":10,"tag":252,"props":2693,"children":2694},{"style":265},[2695],{"type":15,"value":2696}," pipelineBinaries.",{"type":10,"tag":252,"props":2698,"children":2699},{"style":259},[2700],{"type":15,"value":2701},"data",{"type":10,"tag":252,"props":2703,"children":2704},{"style":265},[2705],{"type":15,"value":2706},"();\n",{"type":10,"tag":252,"props":2708,"children":2709},{"class":254,"line":699},[2710],{"type":10,"tag":252,"props":2711,"children":2712},{"emptyLinePlaceholder":311},[2713],{"type":15,"value":314},{"type":10,"tag":252,"props":2715,"children":2716},{"class":254,"line":721},[2717,2721,2725,2729,2733,2737,2741,2745],{"type":10,"tag":252,"props":2718,"children":2719},{"style":259},[2720],{"type":15,"value":838},{"type":10,"tag":252,"props":2722,"children":2723},{"style":265},[2724],{"type":15,"value":2522},{"type":10,"tag":252,"props":2726,"children":2727},{"style":275},[2728],{"type":15,"value":2527},{"type":10,"tag":252,"props":2730,"children":2731},{"style":265},[2732],{"type":15,"value":2532},{"type":10,"tag":252,"props":2734,"children":2735},{"style":296},[2736],{"type":15,"value":1540},{"type":10,"tag":252,"props":2738,"children":2739},{"style":265},[2740],{"type":15,"value":1647},{"type":10,"tag":252,"props":2742,"children":2743},{"style":275},[2744],{"type":15,"value":2527},{"type":10,"tag":252,"props":2746,"children":2747},{"style":265},[2748],{"type":15,"value":2549},{"type":10,"tag":11,"props":2750,"children":2751},{},[2752,2754,2760,2762,2768],{"type":15,"value":2753},"While this mechanism looks very similar to ",{"type":10,"tag":161,"props":2755,"children":2757},{"className":2756},[],[2758],{"type":15,"value":2759},"VK_EXT_shader_module_identifier",{"type":15,"value":2761}," shader creation,\nthe main rationale for doing it like this,\nrather than supporting passing in ",{"type":10,"tag":161,"props":2763,"children":2765},{"className":2764},[],[2766],{"type":15,"value":2767},"VK_NULL_HANDLE",{"type":15,"value":2769}," pipeline binary to pipeline creation is:",{"type":10,"tag":98,"props":2771,"children":2772},{},[2773,2778],{"type":10,"tag":49,"props":2774,"children":2775},{},[2776],{"type":15,"value":2777},"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":2779,"children":2780},{},[2781,2783,2789],{"type":15,"value":2782},"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":2784,"children":2786},{"className":2785},[],[2787],{"type":15,"value":2788},"VK_EXT_graphics_pipeline_library",{"type":15,"value":1608},{"type":10,"tag":11,"props":2791,"children":2792},{},[2793,2795,2801],{"type":15,"value":2794},"Just as with any internal cache, there are no guarantees that ",{"type":10,"tag":161,"props":2796,"children":2798},{"className":2797},[],[2799],{"type":15,"value":2800},"VK_PIPELINE_BINARY_MISSING_KHR",{"type":15,"value":2802}," will not be returned.\nIt is considered a best-effort system.",{"type":10,"tag":11,"props":2804,"children":2805},{},[2806],{"type":15,"value":2807},"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":2199,"props":2809,"children":2811},{"id":2810},"_pipelinebinaryinternalcachecontrol",[2812,2813],{"type":15,"value":246},{"type":10,"tag":161,"props":2814,"children":2816},{"className":2815},[],[2817],{"type":15,"value":2818},"pipelineBinaryInternalCacheControl",{"type":10,"tag":11,"props":2820,"children":2821},{},[2822,2823,2828,2830,2835,2837,2843],{"type":15,"value":2213},{"type":10,"tag":161,"props":2824,"children":2826},{"className":2825},[],[2827],{"type":15,"value":2818},{"type":15,"value":2829}," 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":2831,"children":2833},{"className":2832},[],[2834],{"type":15,"value":1478},{"type":15,"value":2836}," chain of ",{"type":10,"tag":161,"props":2838,"children":2840},{"className":2839},[],[2841],{"type":15,"value":2842},"VkDeviceCreateInfo",{"type":15,"value":2844}," when creating a device:",{"type":10,"tag":241,"props":2846,"children":2848},{"className":243,"code":2847,"language":245,"meta":246,"style":246},"typedef struct VkDevicePipelineBinaryInternalCacheControlKHR {\n VkStructureType sType;\n const void* pNext;\n VkBool32 disableInternalCache;\n} VkDevicePipelineBinaryInternalCacheControlKHR;\n",[2849],{"type":10,"tag":161,"props":2850,"children":2851},{"__ignoreMap":246},[2852,2868,2875,2891,2899],{"type":10,"tag":252,"props":2853,"children":2854},{"class":254,"line":255},[2855,2859,2863],{"type":10,"tag":252,"props":2856,"children":2857},{"style":275},[2858],{"type":15,"value":323},{"type":10,"tag":252,"props":2860,"children":2861},{"style":275},[2862],{"type":15,"value":328},{"type":10,"tag":252,"props":2864,"children":2865},{"style":265},[2866],{"type":15,"value":2867}," VkDevicePipelineBinaryInternalCacheControlKHR {\n",{"type":10,"tag":252,"props":2869,"children":2870},{"class":254,"line":271},[2871],{"type":10,"tag":252,"props":2872,"children":2873},{"style":265},[2874],{"type":15,"value":2032},{"type":10,"tag":252,"props":2876,"children":2877},{"class":254,"line":307},[2878,2882,2886],{"type":10,"tag":252,"props":2879,"children":2880},{"style":275},[2881],{"type":15,"value":507},{"type":10,"tag":252,"props":2883,"children":2884},{"style":275},[2885],{"type":15,"value":600},{"type":10,"tag":252,"props":2887,"children":2888},{"style":265},[2889],{"type":15,"value":2890}," pNext;\n",{"type":10,"tag":252,"props":2892,"children":2893},{"class":254,"line":317},[2894],{"type":10,"tag":252,"props":2895,"children":2896},{"style":265},[2897],{"type":15,"value":2898}," VkBool32 disableInternalCache;\n",{"type":10,"tag":252,"props":2900,"children":2901},{"class":254,"line":336},[2902],{"type":10,"tag":252,"props":2903,"children":2904},{"style":265},[2905],{"type":15,"value":2906},"} VkDevicePipelineBinaryInternalCacheControlKHR;\n",{"type":10,"tag":11,"props":2908,"children":2909},{},[2910,2912,2918,2920,2926,2928,2933,2934,2939,2941,2946],{"type":15,"value":2911},"If the ",{"type":10,"tag":161,"props":2913,"children":2915},{"className":2914},[],[2916],{"type":15,"value":2917},"disableInternalCache",{"type":15,"value":2919}," is ",{"type":10,"tag":161,"props":2921,"children":2923},{"className":2922},[],[2924],{"type":15,"value":2925},"VK_TRUE",{"type":15,"value":2927}," 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":2929,"children":2931},{"className":2930},[],[2932],{"type":15,"value":2917},{"type":15,"value":2919},{"type":10,"tag":161,"props":2935,"children":2937},{"className":2936},[],[2938],{"type":15,"value":2925},{"type":15,"value":2940},", it is not allowed to attempt creating a ",{"type":10,"tag":161,"props":2942,"children":2944},{"className":2943},[],[2945],{"type":15,"value":1573},{"type":15,"value":2947}," without providing either SPIR-V or binary data.",{"type":10,"tag":2199,"props":2949,"children":2951},{"id":2950},"_pipelinebinaryprefersinternalcache",[2952,2953],{"type":15,"value":246},{"type":10,"tag":161,"props":2954,"children":2956},{"className":2955},[],[2957],{"type":15,"value":2958},"pipelineBinaryPrefersInternalCache",{"type":10,"tag":11,"props":2960,"children":2961},{},[2962,2964,2969],{"type":15,"value":2963},"If this is set, the implementations prefers that applications do not capture pipeline binaries themselves with ",{"type":10,"tag":161,"props":2965,"children":2967},{"className":2966},[],[2968],{"type":15,"value":195},{"type":15,"value":2970}," 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":2972,"children":2973},{},[2974,2976,2981,2983,2988],{"type":15,"value":2975},"An IHV implementation should not set this to ",{"type":10,"tag":161,"props":2977,"children":2979},{"className":2978},[],[2980],{"type":15,"value":2925},{"type":15,"value":2982}," in isolation.\nThe intention here is that a layer may decide to set this property to ",{"type":10,"tag":161,"props":2984,"children":2986},{"className":2985},[],[2987],{"type":15,"value":2925},{"type":15,"value":2989}," 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":2199,"props":2991,"children":2993},{"id":2992},"_pipelinebinaryprecompiledinternalcache",[2994,2995],{"type":15,"value":246},{"type":10,"tag":161,"props":2996,"children":2998},{"className":2997},[],[2999],{"type":15,"value":3000},"pipelineBinaryPrecompiledInternalCache",{"type":10,"tag":11,"props":3002,"children":3003},{},[3004],{"type":15,"value":3005},"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":3007,"children":3008},{},[3009,3011,3016,3018,3023,3025,3030],{"type":15,"value":3010},"This property is very similar to ",{"type":10,"tag":161,"props":3012,"children":3014},{"className":3013},[],[3015],{"type":15,"value":2958},{"type":15,"value":3017},", in that IHV implementations are not expected to set this to ",{"type":10,"tag":161,"props":3019,"children":3021},{"className":3020},[],[3022],{"type":15,"value":2925},{"type":15,"value":3024},",\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":3026,"children":3028},{"className":3027},[],[3029],{"type":15,"value":2925},{"type":15,"value":1608},{"type":10,"tag":2199,"props":3032,"children":3034},{"id":3033},"_pipelinebinarycompresseddata",[3035,3036],{"type":15,"value":246},{"type":10,"tag":161,"props":3037,"children":3039},{"className":3038},[],[3040],{"type":15,"value":3041},"pipelineBinaryCompressedData",{"type":10,"tag":11,"props":3043,"children":3044},{},[3045],{"type":15,"value":3046},"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":3048,"children":3050},{"id":3049},"_examples",[3051],{"type":15,"value":3052},"Examples",{"type":10,"tag":11,"props":3054,"children":3055},{},[3056],{"type":15,"value":3057},"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":3059,"children":3061},{"id":3060},"_retrieving_the_global_key",[3062],{"type":15,"value":3063},"Retrieving the global key",{"type":10,"tag":241,"props":3065,"children":3067},{"className":2093,"code":3066,"language":2095,"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",[3068],{"type":10,"tag":161,"props":3069,"children":3070},{"__ignoreMap":246},[3071,3079,3087,3104,3132,3139],{"type":10,"tag":252,"props":3072,"children":3073},{"class":254,"line":255},[3074],{"type":10,"tag":252,"props":3075,"children":3076},{"style":2585},[3077],{"type":15,"value":3078},"// Get the global key\n",{"type":10,"tag":252,"props":3080,"children":3081},{"class":254,"line":271},[3082],{"type":10,"tag":252,"props":3083,"children":3084},{"style":265},[3085],{"type":15,"value":3086},"VkPipelineBinaryKeyKHR globalKey;\n",{"type":10,"tag":252,"props":3088,"children":3089},{"class":254,"line":307},[3090,3095,3099],{"type":10,"tag":252,"props":3091,"children":3092},{"style":265},[3093],{"type":15,"value":3094},"globalKey.sType ",{"type":10,"tag":252,"props":3096,"children":3097},{"style":275},[3098],{"type":15,"value":293},{"type":10,"tag":252,"props":3100,"children":3101},{"style":265},[3102],{"type":15,"value":3103}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR;\n",{"type":10,"tag":252,"props":3105,"children":3106},{"class":254,"line":317},[3107,3111,3115,3119,3123,3127],{"type":10,"tag":252,"props":3108,"children":3109},{"style":259},[3110],{"type":15,"value":1044},{"type":10,"tag":252,"props":3112,"children":3113},{"style":265},[3114],{"type":15,"value":2522},{"type":10,"tag":252,"props":3116,"children":3117},{"style":296},[3118],{"type":15,"value":1540},{"type":10,"tag":252,"props":3120,"children":3121},{"style":265},[3122],{"type":15,"value":1647},{"type":10,"tag":252,"props":3124,"children":3125},{"style":275},[3126],{"type":15,"value":2527},{"type":10,"tag":252,"props":3128,"children":3129},{"style":265},[3130],{"type":15,"value":3131},"globalKey);\n",{"type":10,"tag":252,"props":3133,"children":3134},{"class":254,"line":336},[3135],{"type":10,"tag":252,"props":3136,"children":3137},{"emptyLinePlaceholder":311},[3138],{"type":15,"value":314},{"type":10,"tag":252,"props":3140,"children":3141},{"class":254,"line":345},[3142],{"type":10,"tag":252,"props":3143,"children":3144},{"style":2585},[3145],{"type":15,"value":3146},"// This can be used to ensure the app's cache is valid.\n",{"type":10,"tag":227,"props":3148,"children":3150},{"id":3149},"_retrieving_the_key_for_a_pipelinecreateinfo",[3151],{"type":15,"value":3152},"Retrieving the key for a PipelineCreateInfo",{"type":10,"tag":241,"props":3154,"children":3156},{"className":2093,"code":3155,"language":2095,"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",[3157],{"type":10,"tag":161,"props":3158,"children":3159},{"__ignoreMap":246},[3160,3167,3174,3182,3189,3204,3223,3231],{"type":10,"tag":252,"props":3161,"children":3162},{"class":254,"line":255},[3163],{"type":10,"tag":252,"props":3164,"children":3165},{"style":265},[3166],{"type":15,"value":2235},{"type":10,"tag":252,"props":3168,"children":3169},{"class":254,"line":271},[3170],{"type":10,"tag":252,"props":3171,"children":3172},{"emptyLinePlaceholder":311},[3173],{"type":15,"value":314},{"type":10,"tag":252,"props":3175,"children":3176},{"class":254,"line":307},[3177],{"type":10,"tag":252,"props":3178,"children":3179},{"style":2585},[3180],{"type":15,"value":3181},"// Get the pipeline key\n",{"type":10,"tag":252,"props":3183,"children":3184},{"class":254,"line":317},[3185],{"type":10,"tag":252,"props":3186,"children":3187},{"style":265},[3188],{"type":15,"value":2250},{"type":10,"tag":252,"props":3190,"children":3191},{"class":254,"line":336},[3192,3196,3200],{"type":10,"tag":252,"props":3193,"children":3194},{"style":265},[3195],{"type":15,"value":2258},{"type":10,"tag":252,"props":3197,"children":3198},{"style":275},[3199],{"type":15,"value":293},{"type":10,"tag":252,"props":3201,"children":3202},{"style":265},[3203],{"type":15,"value":2267},{"type":10,"tag":252,"props":3205,"children":3206},{"class":254,"line":345},[3207,3211,3215,3219],{"type":10,"tag":252,"props":3208,"children":3209},{"style":265},[3210],{"type":15,"value":2275},{"type":10,"tag":252,"props":3212,"children":3213},{"style":275},[3214],{"type":15,"value":293},{"type":10,"tag":252,"props":3216,"children":3217},{"style":275},[3218],{"type":15,"value":2284},{"type":10,"tag":252,"props":3220,"children":3221},{"style":265},[3222],{"type":15,"value":2289},{"type":10,"tag":252,"props":3224,"children":3225},{"class":254,"line":359},[3226],{"type":10,"tag":252,"props":3227,"children":3228},{"style":265},[3229],{"type":15,"value":3230},"VkPipelineBinaryKeyKHR pipelineKey;\n",{"type":10,"tag":252,"props":3232,"children":3233},{"class":254,"line":373},[3234,3238,3242,3246,3251,3255],{"type":10,"tag":252,"props":3235,"children":3236},{"style":259},[3237],{"type":15,"value":1044},{"type":10,"tag":252,"props":3239,"children":3240},{"style":265},[3241],{"type":15,"value":2522},{"type":10,"tag":252,"props":3243,"children":3244},{"style":275},[3245],{"type":15,"value":2527},{"type":10,"tag":252,"props":3247,"children":3248},{"style":265},[3249],{"type":15,"value":3250},"pipelineCreateInfo, ",{"type":10,"tag":252,"props":3252,"children":3253},{"style":275},[3254],{"type":15,"value":2527},{"type":10,"tag":252,"props":3256,"children":3257},{"style":265},[3258],{"type":15,"value":3259},"pipelineKey);\n",{"type":10,"tag":227,"props":3261,"children":3263},{"id":3262},"_create_pipeline_allowing_for_future_binary_creation",[3264],{"type":15,"value":3265},"Create pipeline allowing for future binary creation",{"type":10,"tag":241,"props":3267,"children":3269},{"className":2093,"code":3268,"language":2095,"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",[3270],{"type":10,"tag":161,"props":3271,"children":3272},{"__ignoreMap":246},[3273,3289,3297,3305,3312,3329,3336,3357,3364,3372,3380],{"type":10,"tag":252,"props":3274,"children":3275},{"class":254,"line":255},[3276,3281,3285],{"type":10,"tag":252,"props":3277,"children":3278},{"style":265},[3279],{"type":15,"value":3280},"VkPipelineCreateFlags2CreateInfoKHR createFlags ",{"type":10,"tag":252,"props":3282,"children":3283},{"style":275},[3284],{"type":15,"value":293},{"type":10,"tag":252,"props":3286,"children":3287},{"style":265},[3288],{"type":15,"value":2120},{"type":10,"tag":252,"props":3290,"children":3291},{"class":254,"line":271},[3292],{"type":10,"tag":252,"props":3293,"children":3294},{"style":265},[3295],{"type":15,"value":3296}," VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR\n",{"type":10,"tag":252,"props":3298,"children":3299},{"class":254,"line":307},[3300],{"type":10,"tag":252,"props":3301,"children":3302},{"style":265},[3303],{"type":15,"value":3304},"};\n",{"type":10,"tag":252,"props":3306,"children":3307},{"class":254,"line":317},[3308],{"type":10,"tag":252,"props":3309,"children":3310},{"emptyLinePlaceholder":311},[3311],{"type":15,"value":314},{"type":10,"tag":252,"props":3313,"children":3314},{"class":254,"line":336},[3315,3320,3324],{"type":10,"tag":252,"props":3316,"children":3317},{"style":265},[3318],{"type":15,"value":3319},"createFlags.flags ",{"type":10,"tag":252,"props":3321,"children":3322},{"style":275},[3323],{"type":15,"value":293},{"type":10,"tag":252,"props":3325,"children":3326},{"style":265},[3327],{"type":15,"value":3328}," VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR;\n",{"type":10,"tag":252,"props":3330,"children":3331},{"class":254,"line":345},[3332],{"type":10,"tag":252,"props":3333,"children":3334},{"emptyLinePlaceholder":311},[3335],{"type":15,"value":314},{"type":10,"tag":252,"props":3337,"children":3338},{"class":254,"line":359},[3339,3344,3348,3352],{"type":10,"tag":252,"props":3340,"children":3341},{"style":265},[3342],{"type":15,"value":3343},"graphicsCreateInfo.pNext ",{"type":10,"tag":252,"props":3345,"children":3346},{"style":275},[3347],{"type":15,"value":293},{"type":10,"tag":252,"props":3349,"children":3350},{"style":275},[3351],{"type":15,"value":2284},{"type":10,"tag":252,"props":3353,"children":3354},{"style":265},[3355],{"type":15,"value":3356},"createFlags;\n",{"type":10,"tag":252,"props":3358,"children":3359},{"class":254,"line":373},[3360],{"type":10,"tag":252,"props":3361,"children":3362},{"emptyLinePlaceholder":311},[3363],{"type":15,"value":314},{"type":10,"tag":252,"props":3365,"children":3366},{"class":254,"line":393},[3367],{"type":10,"tag":252,"props":3368,"children":3369},{"style":2585},[3370],{"type":15,"value":3371},"// Create the pipeline\n",{"type":10,"tag":252,"props":3373,"children":3374},{"class":254,"line":402},[3375],{"type":10,"tag":252,"props":3376,"children":3377},{"style":265},[3378],{"type":15,"value":3379},"VkPipeline graphicsPipeline;\n",{"type":10,"tag":252,"props":3381,"children":3382},{"class":254,"line":410},[3383,3388,3392,3396,3400,3405,3409,3413,3418,3422,3426,3430],{"type":10,"tag":252,"props":3384,"children":3385},{"style":259},[3386],{"type":15,"value":3387},"vkCreateGraphicsPipelines",{"type":10,"tag":252,"props":3389,"children":3390},{"style":265},[3391],{"type":15,"value":2522},{"type":10,"tag":252,"props":3393,"children":3394},{"style":296},[3395],{"type":15,"value":1540},{"type":10,"tag":252,"props":3397,"children":3398},{"style":265},[3399],{"type":15,"value":1647},{"type":10,"tag":252,"props":3401,"children":3402},{"style":296},[3403],{"type":15,"value":3404},"1",{"type":10,"tag":252,"props":3406,"children":3407},{"style":265},[3408],{"type":15,"value":1647},{"type":10,"tag":252,"props":3410,"children":3411},{"style":275},[3412],{"type":15,"value":2527},{"type":10,"tag":252,"props":3414,"children":3415},{"style":265},[3416],{"type":15,"value":3417},"graphicsCreateInfo, ",{"type":10,"tag":252,"props":3419,"children":3420},{"style":296},[3421],{"type":15,"value":1540},{"type":10,"tag":252,"props":3423,"children":3424},{"style":265},[3425],{"type":15,"value":1647},{"type":10,"tag":252,"props":3427,"children":3428},{"style":275},[3429],{"type":15,"value":2527},{"type":10,"tag":252,"props":3431,"children":3432},{"style":265},[3433],{"type":15,"value":3434},"graphicsPipeline);\n",{"type":10,"tag":227,"props":3436,"children":3438},{"id":3437},"_get_new_binaries_and_store_to_application_cache",[3439],{"type":15,"value":3440},"Get new binaries and store to application cache",{"type":10,"tag":241,"props":3442,"children":3444},{"className":2093,"code":3443,"language":2095,"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",[3445],{"type":10,"tag":161,"props":3446,"children":3447},{"__ignoreMap":246},[3448,3455,3470,3489,3508,3524,3543,3550,3557,3572,3591,3610,3629,3636,3671,3678,3705,3720,3727,3750,3757,3792,3799,3825,3841,3848,3856,3911,3919,3936,3956,3973,3980,4004,4051,4077,4094,4139,4146,4164,4171,4178,4186,4203,4210,4218],{"type":10,"tag":252,"props":3449,"children":3450},{"class":254,"line":255},[3451],{"type":10,"tag":252,"props":3452,"children":3453},{"style":265},[3454],{"type":15,"value":2304},{"type":10,"tag":252,"props":3456,"children":3457},{"class":254,"line":271},[3458,3462,3466],{"type":10,"tag":252,"props":3459,"children":3460},{"style":265},[3461],{"type":15,"value":2312},{"type":10,"tag":252,"props":3463,"children":3464},{"style":275},[3465],{"type":15,"value":293},{"type":10,"tag":252,"props":3467,"children":3468},{"style":265},[3469],{"type":15,"value":2321},{"type":10,"tag":252,"props":3471,"children":3472},{"class":254,"line":307},[3473,3477,3481,3485],{"type":10,"tag":252,"props":3474,"children":3475},{"style":265},[3476],{"type":15,"value":2329},{"type":10,"tag":252,"props":3478,"children":3479},{"style":275},[3480],{"type":15,"value":293},{"type":10,"tag":252,"props":3482,"children":3483},{"style":296},[3484],{"type":15,"value":2338},{"type":10,"tag":252,"props":3486,"children":3487},{"style":265},[3488],{"type":15,"value":304},{"type":10,"tag":252,"props":3490,"children":3491},{"class":254,"line":317},[3492,3496,3500,3504],{"type":10,"tag":252,"props":3493,"children":3494},{"style":265},[3495],{"type":15,"value":2350},{"type":10,"tag":252,"props":3497,"children":3498},{"style":275},[3499],{"type":15,"value":293},{"type":10,"tag":252,"props":3501,"children":3502},{"style":296},[3503],{"type":15,"value":2338},{"type":10,"tag":252,"props":3505,"children":3506},{"style":265},[3507],{"type":15,"value":304},{"type":10,"tag":252,"props":3509,"children":3510},{"class":254,"line":336},[3511,3515,3519],{"type":10,"tag":252,"props":3512,"children":3513},{"style":265},[3514],{"type":15,"value":2370},{"type":10,"tag":252,"props":3516,"children":3517},{"style":275},[3518],{"type":15,"value":293},{"type":10,"tag":252,"props":3520,"children":3521},{"style":265},[3522],{"type":15,"value":3523}," graphicsPipeline;\n",{"type":10,"tag":252,"props":3525,"children":3526},{"class":254,"line":345},[3527,3531,3535,3539],{"type":10,"tag":252,"props":3528,"children":3529},{"style":265},[3530],{"type":15,"value":2387},{"type":10,"tag":252,"props":3532,"children":3533},{"style":275},[3534],{"type":15,"value":293},{"type":10,"tag":252,"props":3536,"children":3537},{"style":296},[3538],{"type":15,"value":2338},{"type":10,"tag":252,"props":3540,"children":3541},{"style":265},[3542],{"type":15,"value":304},{"type":10,"tag":252,"props":3544,"children":3545},{"class":254,"line":359},[3546],{"type":10,"tag":252,"props":3547,"children":3548},{"emptyLinePlaceholder":311},[3549],{"type":15,"value":314},{"type":10,"tag":252,"props":3551,"children":3552},{"class":254,"line":373},[3553],{"type":10,"tag":252,"props":3554,"children":3555},{"style":265},[3556],{"type":15,"value":2415},{"type":10,"tag":252,"props":3558,"children":3559},{"class":254,"line":393},[3560,3564,3568],{"type":10,"tag":252,"props":3561,"children":3562},{"style":265},[3563],{"type":15,"value":2423},{"type":10,"tag":252,"props":3565,"children":3566},{"style":275},[3567],{"type":15,"value":293},{"type":10,"tag":252,"props":3569,"children":3570},{"style":265},[3571],{"type":15,"value":2432},{"type":10,"tag":252,"props":3573,"children":3574},{"class":254,"line":402},[3575,3579,3583,3587],{"type":10,"tag":252,"props":3576,"children":3577},{"style":265},[3578],{"type":15,"value":2440},{"type":10,"tag":252,"props":3580,"children":3581},{"style":275},[3582],{"type":15,"value":293},{"type":10,"tag":252,"props":3584,"children":3585},{"style":296},[3586],{"type":15,"value":2338},{"type":10,"tag":252,"props":3588,"children":3589},{"style":265},[3590],{"type":15,"value":304},{"type":10,"tag":252,"props":3592,"children":3593},{"class":254,"line":410},[3594,3598,3602,3606],{"type":10,"tag":252,"props":3595,"children":3596},{"style":265},[3597],{"type":15,"value":2460},{"type":10,"tag":252,"props":3599,"children":3600},{"style":275},[3601],{"type":15,"value":293},{"type":10,"tag":252,"props":3603,"children":3604},{"style":296},[3605],{"type":15,"value":2469},{"type":10,"tag":252,"props":3607,"children":3608},{"style":265},[3609],{"type":15,"value":304},{"type":10,"tag":252,"props":3611,"children":3612},{"class":254,"line":427},[3613,3617,3621,3625],{"type":10,"tag":252,"props":3614,"children":3615},{"style":265},[3616],{"type":15,"value":2481},{"type":10,"tag":252,"props":3618,"children":3619},{"style":275},[3620],{"type":15,"value":293},{"type":10,"tag":252,"props":3622,"children":3623},{"style":296},[3624],{"type":15,"value":2338},{"type":10,"tag":252,"props":3626,"children":3627},{"style":265},[3628],{"type":15,"value":304},{"type":10,"tag":252,"props":3630,"children":3631},{"class":254,"line":441},[3632],{"type":10,"tag":252,"props":3633,"children":3634},{"emptyLinePlaceholder":311},[3635],{"type":15,"value":314},{"type":10,"tag":252,"props":3637,"children":3638},{"class":254,"line":454},[3639,3643,3647,3651,3655,3659,3663,3667],{"type":10,"tag":252,"props":3640,"children":3641},{"style":259},[3642],{"type":15,"value":838},{"type":10,"tag":252,"props":3644,"children":3645},{"style":265},[3646],{"type":15,"value":2522},{"type":10,"tag":252,"props":3648,"children":3649},{"style":275},[3650],{"type":15,"value":2527},{"type":10,"tag":252,"props":3652,"children":3653},{"style":265},[3654],{"type":15,"value":2532},{"type":10,"tag":252,"props":3656,"children":3657},{"style":296},[3658],{"type":15,"value":1540},{"type":10,"tag":252,"props":3660,"children":3661},{"style":265},[3662],{"type":15,"value":1647},{"type":10,"tag":252,"props":3664,"children":3665},{"style":275},[3666],{"type":15,"value":2527},{"type":10,"tag":252,"props":3668,"children":3669},{"style":265},[3670],{"type":15,"value":2549},{"type":10,"tag":252,"props":3672,"children":3673},{"class":254,"line":463},[3674],{"type":10,"tag":252,"props":3675,"children":3676},{"emptyLinePlaceholder":311},[3677],{"type":15,"value":314},{"type":10,"tag":252,"props":3679,"children":3680},{"class":254,"line":471},[3681,3685,3689,3693,3697,3701],{"type":10,"tag":252,"props":3682,"children":3683},{"style":382},[3684],{"type":15,"value":2631},{"type":10,"tag":252,"props":3686,"children":3687},{"style":265},[3688],{"type":15,"value":2636},{"type":10,"tag":252,"props":3690,"children":3691},{"style":275},[3692],{"type":15,"value":2641},{"type":10,"tag":252,"props":3694,"children":3695},{"style":265},[3696],{"type":15,"value":1573},{"type":10,"tag":252,"props":3698,"children":3699},{"style":275},[3700],{"type":15,"value":2650},{"type":10,"tag":252,"props":3702,"children":3703},{"style":265},[3704],{"type":15,"value":2655},{"type":10,"tag":252,"props":3706,"children":3707},{"class":254,"line":488},[3708,3712,3716],{"type":10,"tag":252,"props":3709,"children":3710},{"style":265},[3711],{"type":15,"value":2663},{"type":10,"tag":252,"props":3713,"children":3714},{"style":259},[3715],{"type":15,"value":2668},{"type":10,"tag":252,"props":3717,"children":3718},{"style":265},[3719],{"type":15,"value":2673},{"type":10,"tag":252,"props":3721,"children":3722},{"class":254,"line":501},[3723],{"type":10,"tag":252,"props":3724,"children":3725},{"emptyLinePlaceholder":311},[3726],{"type":15,"value":314},{"type":10,"tag":252,"props":3728,"children":3729},{"class":254,"line":525},[3730,3734,3738,3742,3746],{"type":10,"tag":252,"props":3731,"children":3732},{"style":265},[3733],{"type":15,"value":2481},{"type":10,"tag":252,"props":3735,"children":3736},{"style":275},[3737],{"type":15,"value":293},{"type":10,"tag":252,"props":3739,"children":3740},{"style":265},[3741],{"type":15,"value":2696},{"type":10,"tag":252,"props":3743,"children":3744},{"style":259},[3745],{"type":15,"value":2701},{"type":10,"tag":252,"props":3747,"children":3748},{"style":265},[3749],{"type":15,"value":2706},{"type":10,"tag":252,"props":3751,"children":3752},{"class":254,"line":547},[3753],{"type":10,"tag":252,"props":3754,"children":3755},{"emptyLinePlaceholder":311},[3756],{"type":15,"value":314},{"type":10,"tag":252,"props":3758,"children":3759},{"class":254,"line":556},[3760,3764,3768,3772,3776,3780,3784,3788],{"type":10,"tag":252,"props":3761,"children":3762},{"style":259},[3763],{"type":15,"value":838},{"type":10,"tag":252,"props":3765,"children":3766},{"style":265},[3767],{"type":15,"value":2522},{"type":10,"tag":252,"props":3769,"children":3770},{"style":275},[3771],{"type":15,"value":2527},{"type":10,"tag":252,"props":3773,"children":3774},{"style":265},[3775],{"type":15,"value":2532},{"type":10,"tag":252,"props":3777,"children":3778},{"style":296},[3779],{"type":15,"value":1540},{"type":10,"tag":252,"props":3781,"children":3782},{"style":265},[3783],{"type":15,"value":1647},{"type":10,"tag":252,"props":3785,"children":3786},{"style":275},[3787],{"type":15,"value":2527},{"type":10,"tag":252,"props":3789,"children":3790},{"style":265},[3791],{"type":15,"value":2549},{"type":10,"tag":252,"props":3793,"children":3794},{"class":254,"line":564},[3795],{"type":10,"tag":252,"props":3796,"children":3797},{"emptyLinePlaceholder":311},[3798],{"type":15,"value":314},{"type":10,"tag":252,"props":3800,"children":3801},{"class":254,"line":581},[3802,3807,3811,3816,3820],{"type":10,"tag":252,"props":3803,"children":3804},{"style":265},[3805],{"type":15,"value":3806},"vector",{"type":10,"tag":252,"props":3808,"children":3809},{"style":275},[3810],{"type":15,"value":2641},{"type":10,"tag":252,"props":3812,"children":3813},{"style":265},[3814],{"type":15,"value":3815},"VkPipelineBinaryKeyKHR",{"type":10,"tag":252,"props":3817,"children":3818},{"style":275},[3819],{"type":15,"value":2650},{"type":10,"tag":252,"props":3821,"children":3822},{"style":265},[3823],{"type":15,"value":3824}," binaryKeys;\n",{"type":10,"tag":252,"props":3826,"children":3827},{"class":254,"line":590},[3828,3833,3837],{"type":10,"tag":252,"props":3829,"children":3830},{"style":265},[3831],{"type":15,"value":3832},"binaryKeys.",{"type":10,"tag":252,"props":3834,"children":3835},{"style":259},[3836],{"type":15,"value":2668},{"type":10,"tag":252,"props":3838,"children":3839},{"style":265},[3840],{"type":15,"value":2673},{"type":10,"tag":252,"props":3842,"children":3843},{"class":254,"line":608},[3844],{"type":10,"tag":252,"props":3845,"children":3846},{"emptyLinePlaceholder":311},[3847],{"type":15,"value":314},{"type":10,"tag":252,"props":3849,"children":3850},{"class":254,"line":617},[3851],{"type":10,"tag":252,"props":3852,"children":3853},{"style":2585},[3854],{"type":15,"value":3855},"// Store to application cache\n",{"type":10,"tag":252,"props":3857,"children":3858},{"class":254,"line":625},[3859,3864,3869,3874,3879,3883,3887,3892,3896,3901,3906],{"type":10,"tag":252,"props":3860,"children":3861},{"style":275},[3862],{"type":15,"value":3863},"for",{"type":10,"tag":252,"props":3865,"children":3866},{"style":265},[3867],{"type":15,"value":3868}," (",{"type":10,"tag":252,"props":3870,"children":3871},{"style":275},[3872],{"type":15,"value":3873},"int",{"type":10,"tag":252,"props":3875,"children":3876},{"style":265},[3877],{"type":15,"value":3878}," i ",{"type":10,"tag":252,"props":3880,"children":3881},{"style":275},[3882],{"type":15,"value":293},{"type":10,"tag":252,"props":3884,"children":3885},{"style":296},[3886],{"type":15,"value":2469},{"type":10,"tag":252,"props":3888,"children":3889},{"style":265},[3890],{"type":15,"value":3891},"; i ",{"type":10,"tag":252,"props":3893,"children":3894},{"style":275},[3895],{"type":15,"value":2641},{"type":10,"tag":252,"props":3897,"children":3898},{"style":265},[3899],{"type":15,"value":3900}," handlesInfo.pipelineBinaryCount; ",{"type":10,"tag":252,"props":3902,"children":3903},{"style":275},[3904],{"type":15,"value":3905},"++",{"type":10,"tag":252,"props":3907,"children":3908},{"style":265},[3909],{"type":15,"value":3910},"i) {\n",{"type":10,"tag":252,"props":3912,"children":3913},{"class":254,"line":642},[3914],{"type":10,"tag":252,"props":3915,"children":3916},{"style":265},[3917],{"type":15,"value":3918}," VkPipelineBinaryDataInfoKHR binaryInfo;\n",{"type":10,"tag":252,"props":3920,"children":3921},{"class":254,"line":651},[3922,3927,3931],{"type":10,"tag":252,"props":3923,"children":3924},{"style":265},[3925],{"type":15,"value":3926}," binaryInfo.sType ",{"type":10,"tag":252,"props":3928,"children":3929},{"style":275},[3930],{"type":15,"value":293},{"type":10,"tag":252,"props":3932,"children":3933},{"style":265},[3934],{"type":15,"value":3935}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR;\n",{"type":10,"tag":252,"props":3937,"children":3938},{"class":254,"line":668},[3939,3944,3948,3952],{"type":10,"tag":252,"props":3940,"children":3941},{"style":265},[3942],{"type":15,"value":3943}," binaryInfo.pNext ",{"type":10,"tag":252,"props":3945,"children":3946},{"style":275},[3947],{"type":15,"value":293},{"type":10,"tag":252,"props":3949,"children":3950},{"style":296},[3951],{"type":15,"value":2338},{"type":10,"tag":252,"props":3953,"children":3954},{"style":265},[3955],{"type":15,"value":304},{"type":10,"tag":252,"props":3957,"children":3958},{"class":254,"line":690},[3959,3964,3968],{"type":10,"tag":252,"props":3960,"children":3961},{"style":265},[3962],{"type":15,"value":3963}," binaryInfo.pipelineBinary ",{"type":10,"tag":252,"props":3965,"children":3966},{"style":275},[3967],{"type":15,"value":293},{"type":10,"tag":252,"props":3969,"children":3970},{"style":265},[3971],{"type":15,"value":3972}," pipelineBinaries[i];\n",{"type":10,"tag":252,"props":3974,"children":3975},{"class":254,"line":699},[3976],{"type":10,"tag":252,"props":3977,"children":3978},{"emptyLinePlaceholder":311},[3979],{"type":15,"value":314},{"type":10,"tag":252,"props":3981,"children":3982},{"class":254,"line":721},[3983,3987,3992,3996,4000],{"type":10,"tag":252,"props":3984,"children":3985},{"style":275},[3986],{"type":15,"value":433},{"type":10,"tag":252,"props":3988,"children":3989},{"style":265},[3990],{"type":15,"value":3991}," binaryDataSize ",{"type":10,"tag":252,"props":3993,"children":3994},{"style":275},[3995],{"type":15,"value":293},{"type":10,"tag":252,"props":3997,"children":3998},{"style":296},[3999],{"type":15,"value":2469},{"type":10,"tag":252,"props":4001,"children":4002},{"style":265},[4003],{"type":15,"value":304},{"type":10,"tag":252,"props":4005,"children":4006},{"class":254,"line":730},[4007,4012,4016,4020,4025,4029,4034,4038,4043,4047],{"type":10,"tag":252,"props":4008,"children":4009},{"style":259},[4010],{"type":15,"value":4011}," vkGetPipelineBinaryDataKHR",{"type":10,"tag":252,"props":4013,"children":4014},{"style":265},[4015],{"type":15,"value":2522},{"type":10,"tag":252,"props":4017,"children":4018},{"style":275},[4019],{"type":15,"value":2527},{"type":10,"tag":252,"props":4021,"children":4022},{"style":265},[4023],{"type":15,"value":4024},"binaryInfo, ",{"type":10,"tag":252,"props":4026,"children":4027},{"style":275},[4028],{"type":15,"value":2527},{"type":10,"tag":252,"props":4030,"children":4031},{"style":265},[4032],{"type":15,"value":4033},"binaryKeys[i], ",{"type":10,"tag":252,"props":4035,"children":4036},{"style":275},[4037],{"type":15,"value":2527},{"type":10,"tag":252,"props":4039,"children":4040},{"style":265},[4041],{"type":15,"value":4042},"binaryDataSize, ",{"type":10,"tag":252,"props":4044,"children":4045},{"style":296},[4046],{"type":15,"value":1540},{"type":10,"tag":252,"props":4048,"children":4049},{"style":265},[4050],{"type":15,"value":937},{"type":10,"tag":252,"props":4052,"children":4053},{"class":254,"line":738},[4054,4059,4063,4068,4072],{"type":10,"tag":252,"props":4055,"children":4056},{"style":265},[4057],{"type":15,"value":4058}," vector",{"type":10,"tag":252,"props":4060,"children":4061},{"style":275},[4062],{"type":15,"value":2641},{"type":10,"tag":252,"props":4064,"children":4065},{"style":265},[4066],{"type":15,"value":4067},"uint_8",{"type":10,"tag":252,"props":4069,"children":4070},{"style":275},[4071],{"type":15,"value":2650},{"type":10,"tag":252,"props":4073,"children":4074},{"style":265},[4075],{"type":15,"value":4076}," data;\n",{"type":10,"tag":252,"props":4078,"children":4079},{"class":254,"line":755},[4080,4085,4089],{"type":10,"tag":252,"props":4081,"children":4082},{"style":265},[4083],{"type":15,"value":4084}," binaryData.",{"type":10,"tag":252,"props":4086,"children":4087},{"style":259},[4088],{"type":15,"value":2668},{"type":10,"tag":252,"props":4090,"children":4091},{"style":265},[4092],{"type":15,"value":4093},"(binaryDataSize);\n",{"type":10,"tag":252,"props":4095,"children":4096},{"class":254,"line":763},[4097,4101,4105,4109,4113,4117,4121,4125,4130,4134],{"type":10,"tag":252,"props":4098,"children":4099},{"style":259},[4100],{"type":15,"value":4011},{"type":10,"tag":252,"props":4102,"children":4103},{"style":265},[4104],{"type":15,"value":2522},{"type":10,"tag":252,"props":4106,"children":4107},{"style":275},[4108],{"type":15,"value":2527},{"type":10,"tag":252,"props":4110,"children":4111},{"style":265},[4112],{"type":15,"value":4024},{"type":10,"tag":252,"props":4114,"children":4115},{"style":275},[4116],{"type":15,"value":2527},{"type":10,"tag":252,"props":4118,"children":4119},{"style":265},[4120],{"type":15,"value":4033},{"type":10,"tag":252,"props":4122,"children":4123},{"style":275},[4124],{"type":15,"value":2527},{"type":10,"tag":252,"props":4126,"children":4127},{"style":265},[4128],{"type":15,"value":4129},"binaryDataSize, binaryData.",{"type":10,"tag":252,"props":4131,"children":4132},{"style":259},[4133],{"type":15,"value":2701},{"type":10,"tag":252,"props":4135,"children":4136},{"style":265},[4137],{"type":15,"value":4138},"());\n",{"type":10,"tag":252,"props":4140,"children":4141},{"class":254,"line":779},[4142],{"type":10,"tag":252,"props":4143,"children":4144},{"emptyLinePlaceholder":311},[4145],{"type":15,"value":314},{"type":10,"tag":252,"props":4147,"children":4148},{"class":254,"line":792},[4149,4154,4159],{"type":10,"tag":252,"props":4150,"children":4151},{"style":265},[4152],{"type":15,"value":4153}," ApplicationBinaryCache.",{"type":10,"tag":252,"props":4155,"children":4156},{"style":259},[4157],{"type":15,"value":4158},"insert",{"type":10,"tag":252,"props":4160,"children":4161},{"style":265},[4162],{"type":15,"value":4163},"(binaryKeys[i], binaryData);\n",{"type":10,"tag":252,"props":4165,"children":4166},{"class":254,"line":810},[4167],{"type":10,"tag":252,"props":4168,"children":4169},{"style":265},[4170],{"type":15,"value":2616},{"type":10,"tag":252,"props":4172,"children":4173},{"class":254,"line":819},[4174],{"type":10,"tag":252,"props":4175,"children":4176},{"emptyLinePlaceholder":311},[4177],{"type":15,"value":314},{"type":10,"tag":252,"props":4179,"children":4180},{"class":254,"line":827},[4181],{"type":10,"tag":252,"props":4182,"children":4183},{"style":2585},[4184],{"type":15,"value":4185},"// Store pipeline key -> binary keys mapping\n",{"type":10,"tag":252,"props":4187,"children":4188},{"class":254,"line":846},[4189,4194,4198],{"type":10,"tag":252,"props":4190,"children":4191},{"style":265},[4192],{"type":15,"value":4193},"ApplicationCache.",{"type":10,"tag":252,"props":4195,"children":4196},{"style":259},[4197],{"type":15,"value":4158},{"type":10,"tag":252,"props":4199,"children":4200},{"style":265},[4201],{"type":15,"value":4202},"(pipelineKey, binaryKeys);\n",{"type":10,"tag":252,"props":4204,"children":4205},{"class":254,"line":865},[4206],{"type":10,"tag":252,"props":4207,"children":4208},{"emptyLinePlaceholder":311},[4209],{"type":15,"value":314},{"type":10,"tag":252,"props":4211,"children":4212},{"class":254,"line":891},[4213],{"type":10,"tag":252,"props":4214,"children":4215},{"style":2585},[4216],{"type":15,"value":4217},"// Free any possible resources associated with binary creation for the pipeline\n",{"type":10,"tag":252,"props":4219,"children":4220},{"class":254,"line":917},[4221,4225,4230,4234],{"type":10,"tag":252,"props":4222,"children":4223},{"style":259},[4224],{"type":15,"value":1391},{"type":10,"tag":252,"props":4226,"children":4227},{"style":265},[4228],{"type":15,"value":4229},"(device, graphicsPipeline, ",{"type":10,"tag":252,"props":4231,"children":4232},{"style":296},[4233],{"type":15,"value":1540},{"type":10,"tag":252,"props":4235,"children":4236},{"style":265},[4237],{"type":15,"value":937},{"type":10,"tag":227,"props":4239,"children":4241},{"id":4240},"_get_binaries_from_application_cache",[4242],{"type":15,"value":4243},"Get binaries from application cache",{"type":10,"tag":241,"props":4245,"children":4247},{"className":2093,"code":4246,"language":2095,"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",[4248],{"type":10,"tag":161,"props":4249,"children":4250},{"__ignoreMap":246},[4251,4258,4265,4280,4299,4306,4333,4340,4348,4371,4387,4394,4402,4431,4457,4464,4521,4529,4554],{"type":10,"tag":252,"props":4252,"children":4253},{"class":254,"line":255},[4254],{"type":10,"tag":252,"props":4255,"children":4256},{"style":2585},[4257],{"type":15,"value":3181},{"type":10,"tag":252,"props":4259,"children":4260},{"class":254,"line":271},[4261],{"type":10,"tag":252,"props":4262,"children":4263},{"style":265},[4264],{"type":15,"value":2250},{"type":10,"tag":252,"props":4266,"children":4267},{"class":254,"line":307},[4268,4272,4276],{"type":10,"tag":252,"props":4269,"children":4270},{"style":265},[4271],{"type":15,"value":2258},{"type":10,"tag":252,"props":4273,"children":4274},{"style":275},[4275],{"type":15,"value":293},{"type":10,"tag":252,"props":4277,"children":4278},{"style":265},[4279],{"type":15,"value":2267},{"type":10,"tag":252,"props":4281,"children":4282},{"class":254,"line":317},[4283,4287,4291,4295],{"type":10,"tag":252,"props":4284,"children":4285},{"style":265},[4286],{"type":15,"value":2275},{"type":10,"tag":252,"props":4288,"children":4289},{"style":275},[4290],{"type":15,"value":293},{"type":10,"tag":252,"props":4292,"children":4293},{"style":275},[4294],{"type":15,"value":2284},{"type":10,"tag":252,"props":4296,"children":4297},{"style":265},[4298],{"type":15,"value":2289},{"type":10,"tag":252,"props":4300,"children":4301},{"class":254,"line":336},[4302],{"type":10,"tag":252,"props":4303,"children":4304},{"style":265},[4305],{"type":15,"value":3230},{"type":10,"tag":252,"props":4307,"children":4308},{"class":254,"line":345},[4309,4313,4317,4321,4325,4329],{"type":10,"tag":252,"props":4310,"children":4311},{"style":259},[4312],{"type":15,"value":1044},{"type":10,"tag":252,"props":4314,"children":4315},{"style":265},[4316],{"type":15,"value":2522},{"type":10,"tag":252,"props":4318,"children":4319},{"style":275},[4320],{"type":15,"value":2527},{"type":10,"tag":252,"props":4322,"children":4323},{"style":265},[4324],{"type":15,"value":3250},{"type":10,"tag":252,"props":4326,"children":4327},{"style":275},[4328],{"type":15,"value":2527},{"type":10,"tag":252,"props":4330,"children":4331},{"style":265},[4332],{"type":15,"value":3259},{"type":10,"tag":252,"props":4334,"children":4335},{"class":254,"line":359},[4336],{"type":10,"tag":252,"props":4337,"children":4338},{"emptyLinePlaceholder":311},[4339],{"type":15,"value":314},{"type":10,"tag":252,"props":4341,"children":4342},{"class":254,"line":373},[4343],{"type":10,"tag":252,"props":4344,"children":4345},{"style":2585},[4346],{"type":15,"value":4347},"// Get the binary keys\n",{"type":10,"tag":252,"props":4349,"children":4350},{"class":254,"line":393},[4351,4355,4359,4363,4367],{"type":10,"tag":252,"props":4352,"children":4353},{"style":265},[4354],{"type":15,"value":3806},{"type":10,"tag":252,"props":4356,"children":4357},{"style":275},[4358],{"type":15,"value":2641},{"type":10,"tag":252,"props":4360,"children":4361},{"style":265},[4362],{"type":15,"value":3815},{"type":10,"tag":252,"props":4364,"children":4365},{"style":275},[4366],{"type":15,"value":2650},{"type":10,"tag":252,"props":4368,"children":4369},{"style":265},[4370],{"type":15,"value":3824},{"type":10,"tag":252,"props":4372,"children":4373},{"class":254,"line":402},[4374,4378,4383],{"type":10,"tag":252,"props":4375,"children":4376},{"style":265},[4377],{"type":15,"value":4193},{"type":10,"tag":252,"props":4379,"children":4380},{"style":259},[4381],{"type":15,"value":4382},"get",{"type":10,"tag":252,"props":4384,"children":4385},{"style":265},[4386],{"type":15,"value":4202},{"type":10,"tag":252,"props":4388,"children":4389},{"class":254,"line":410},[4390],{"type":10,"tag":252,"props":4391,"children":4392},{"emptyLinePlaceholder":311},[4393],{"type":15,"value":314},{"type":10,"tag":252,"props":4395,"children":4396},{"class":254,"line":427},[4397],{"type":10,"tag":252,"props":4398,"children":4399},{"style":2585},[4400],{"type":15,"value":4401},"// Get the binary data\n",{"type":10,"tag":252,"props":4403,"children":4404},{"class":254,"line":441},[4405,4409,4413,4417,4422,4426],{"type":10,"tag":252,"props":4406,"children":4407},{"style":382},[4408],{"type":15,"value":2631},{"type":10,"tag":252,"props":4410,"children":4411},{"style":265},[4412],{"type":15,"value":2636},{"type":10,"tag":252,"props":4414,"children":4415},{"style":275},[4416],{"type":15,"value":2641},{"type":10,"tag":252,"props":4418,"children":4419},{"style":265},[4420],{"type":15,"value":4421},"VkPipelineBinaryDataKHR",{"type":10,"tag":252,"props":4423,"children":4424},{"style":275},[4425],{"type":15,"value":2650},{"type":10,"tag":252,"props":4427,"children":4428},{"style":265},[4429],{"type":15,"value":4430}," pipelineDatas;\n",{"type":10,"tag":252,"props":4432,"children":4433},{"class":254,"line":454},[4434,4439,4443,4448,4453],{"type":10,"tag":252,"props":4435,"children":4436},{"style":265},[4437],{"type":15,"value":4438},"pipelineDatas.",{"type":10,"tag":252,"props":4440,"children":4441},{"style":259},[4442],{"type":15,"value":2668},{"type":10,"tag":252,"props":4444,"children":4445},{"style":265},[4446],{"type":15,"value":4447},"(binaryKeys.",{"type":10,"tag":252,"props":4449,"children":4450},{"style":259},[4451],{"type":15,"value":4452},"size",{"type":10,"tag":252,"props":4454,"children":4455},{"style":265},[4456],{"type":15,"value":4138},{"type":10,"tag":252,"props":4458,"children":4459},{"class":254,"line":463},[4460],{"type":10,"tag":252,"props":4461,"children":4462},{"emptyLinePlaceholder":311},[4463],{"type":15,"value":314},{"type":10,"tag":252,"props":4465,"children":4466},{"class":254,"line":471},[4467,4471,4475,4479,4483,4487,4491,4495,4499,4504,4508,4513,4517],{"type":10,"tag":252,"props":4468,"children":4469},{"style":275},[4470],{"type":15,"value":3863},{"type":10,"tag":252,"props":4472,"children":4473},{"style":265},[4474],{"type":15,"value":3868},{"type":10,"tag":252,"props":4476,"children":4477},{"style":275},[4478],{"type":15,"value":3873},{"type":10,"tag":252,"props":4480,"children":4481},{"style":265},[4482],{"type":15,"value":3878},{"type":10,"tag":252,"props":4484,"children":4485},{"style":275},[4486],{"type":15,"value":293},{"type":10,"tag":252,"props":4488,"children":4489},{"style":296},[4490],{"type":15,"value":2469},{"type":10,"tag":252,"props":4492,"children":4493},{"style":265},[4494],{"type":15,"value":3891},{"type":10,"tag":252,"props":4496,"children":4497},{"style":275},[4498],{"type":15,"value":2641},{"type":10,"tag":252,"props":4500,"children":4501},{"style":265},[4502],{"type":15,"value":4503}," binaryKeys.",{"type":10,"tag":252,"props":4505,"children":4506},{"style":259},[4507],{"type":15,"value":4452},{"type":10,"tag":252,"props":4509,"children":4510},{"style":265},[4511],{"type":15,"value":4512},"(); ",{"type":10,"tag":252,"props":4514,"children":4515},{"style":275},[4516],{"type":15,"value":3905},{"type":10,"tag":252,"props":4518,"children":4519},{"style":265},[4520],{"type":15,"value":3910},{"type":10,"tag":252,"props":4522,"children":4523},{"class":254,"line":488},[4524],{"type":10,"tag":252,"props":4525,"children":4526},{"style":2585},[4527],{"type":15,"value":4528}," // Retrieve VkPipelineBinaryKHR handle from cache\n",{"type":10,"tag":252,"props":4530,"children":4531},{"class":254,"line":501},[4532,4536,4540,4545,4549],{"type":10,"tag":252,"props":4533,"children":4534},{"style":265},[4535],{"type":15,"value":4153},{"type":10,"tag":252,"props":4537,"children":4538},{"style":259},[4539],{"type":15,"value":4382},{"type":10,"tag":252,"props":4541,"children":4542},{"style":265},[4543],{"type":15,"value":4544},"(binaryKeys[i], ",{"type":10,"tag":252,"props":4546,"children":4547},{"style":275},[4548],{"type":15,"value":2527},{"type":10,"tag":252,"props":4550,"children":4551},{"style":265},[4552],{"type":15,"value":4553},"pipelineDatas[i]);\n",{"type":10,"tag":252,"props":4555,"children":4556},{"class":254,"line":525},[4557],{"type":10,"tag":252,"props":4558,"children":4559},{"style":265},[4560],{"type":15,"value":2616},{"type":10,"tag":227,"props":4562,"children":4564},{"id":4563},"_create_binaries_from_application_cache_for_a_pipeline_create_info",[4565],{"type":15,"value":4566},"Create binaries from application cache for a pipeline create info",{"type":10,"tag":241,"props":4568,"children":4570},{"className":2093,"code":4569,"language":2095,"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",[4571],{"type":10,"tag":161,"props":4572,"children":4573},{"__ignoreMap":246},[4574,4582,4606,4630,4655,4662,4669,4684,4703,4723,4738,4757,4764,4791,4807,4814,4821,4836,4855,4871,4894,4901],{"type":10,"tag":252,"props":4575,"children":4576},{"class":254,"line":255},[4577],{"type":10,"tag":252,"props":4578,"children":4579},{"style":265},[4580],{"type":15,"value":4581},"VkPipelineBinaryKeysAndDataKHR binaryKeysAndData;\n",{"type":10,"tag":252,"props":4583,"children":4584},{"class":254,"line":271},[4585,4590,4594,4598,4602],{"type":10,"tag":252,"props":4586,"children":4587},{"style":265},[4588],{"type":15,"value":4589},"binaryKeysAndData.binaryCount ",{"type":10,"tag":252,"props":4591,"children":4592},{"style":275},[4593],{"type":15,"value":293},{"type":10,"tag":252,"props":4595,"children":4596},{"style":265},[4597],{"type":15,"value":4503},{"type":10,"tag":252,"props":4599,"children":4600},{"style":259},[4601],{"type":15,"value":4452},{"type":10,"tag":252,"props":4603,"children":4604},{"style":265},[4605],{"type":15,"value":2706},{"type":10,"tag":252,"props":4607,"children":4608},{"class":254,"line":307},[4609,4614,4618,4622,4626],{"type":10,"tag":252,"props":4610,"children":4611},{"style":265},[4612],{"type":15,"value":4613},"binaryKeysAndData.pPipelineBinaryKeys ",{"type":10,"tag":252,"props":4615,"children":4616},{"style":275},[4617],{"type":15,"value":293},{"type":10,"tag":252,"props":4619,"children":4620},{"style":265},[4621],{"type":15,"value":4503},{"type":10,"tag":252,"props":4623,"children":4624},{"style":259},[4625],{"type":15,"value":2701},{"type":10,"tag":252,"props":4627,"children":4628},{"style":265},[4629],{"type":15,"value":2706},{"type":10,"tag":252,"props":4631,"children":4632},{"class":254,"line":317},[4633,4638,4642,4647,4651],{"type":10,"tag":252,"props":4634,"children":4635},{"style":265},[4636],{"type":15,"value":4637},"binaryKeysAndData.pPipelineBinaryData ",{"type":10,"tag":252,"props":4639,"children":4640},{"style":275},[4641],{"type":15,"value":293},{"type":10,"tag":252,"props":4643,"children":4644},{"style":265},[4645],{"type":15,"value":4646}," pipelineDatas.",{"type":10,"tag":252,"props":4648,"children":4649},{"style":259},[4650],{"type":15,"value":2701},{"type":10,"tag":252,"props":4652,"children":4653},{"style":265},[4654],{"type":15,"value":2706},{"type":10,"tag":252,"props":4656,"children":4657},{"class":254,"line":336},[4658],{"type":10,"tag":252,"props":4659,"children":4660},{"emptyLinePlaceholder":311},[4661],{"type":15,"value":314},{"type":10,"tag":252,"props":4663,"children":4664},{"class":254,"line":345},[4665],{"type":10,"tag":252,"props":4666,"children":4667},{"style":265},[4668],{"type":15,"value":2304},{"type":10,"tag":252,"props":4670,"children":4671},{"class":254,"line":359},[4672,4676,4680],{"type":10,"tag":252,"props":4673,"children":4674},{"style":265},[4675],{"type":15,"value":2312},{"type":10,"tag":252,"props":4677,"children":4678},{"style":275},[4679],{"type":15,"value":293},{"type":10,"tag":252,"props":4681,"children":4682},{"style":265},[4683],{"type":15,"value":2321},{"type":10,"tag":252,"props":4685,"children":4686},{"class":254,"line":373},[4687,4691,4695,4699],{"type":10,"tag":252,"props":4688,"children":4689},{"style":265},[4690],{"type":15,"value":2329},{"type":10,"tag":252,"props":4692,"children":4693},{"style":275},[4694],{"type":15,"value":293},{"type":10,"tag":252,"props":4696,"children":4697},{"style":296},[4698],{"type":15,"value":2338},{"type":10,"tag":252,"props":4700,"children":4701},{"style":265},[4702],{"type":15,"value":304},{"type":10,"tag":252,"props":4704,"children":4705},{"class":254,"line":393},[4706,4710,4714,4718],{"type":10,"tag":252,"props":4707,"children":4708},{"style":265},[4709],{"type":15,"value":2350},{"type":10,"tag":252,"props":4711,"children":4712},{"style":275},[4713],{"type":15,"value":293},{"type":10,"tag":252,"props":4715,"children":4716},{"style":275},[4717],{"type":15,"value":2284},{"type":10,"tag":252,"props":4719,"children":4720},{"style":265},[4721],{"type":15,"value":4722},"binaryKeysAndData;\n",{"type":10,"tag":252,"props":4724,"children":4725},{"class":254,"line":402},[4726,4730,4734],{"type":10,"tag":252,"props":4727,"children":4728},{"style":265},[4729],{"type":15,"value":2370},{"type":10,"tag":252,"props":4731,"children":4732},{"style":275},[4733],{"type":15,"value":293},{"type":10,"tag":252,"props":4735,"children":4736},{"style":265},[4737],{"type":15,"value":2379},{"type":10,"tag":252,"props":4739,"children":4740},{"class":254,"line":410},[4741,4745,4749,4753],{"type":10,"tag":252,"props":4742,"children":4743},{"style":265},[4744],{"type":15,"value":2387},{"type":10,"tag":252,"props":4746,"children":4747},{"style":275},[4748],{"type":15,"value":293},{"type":10,"tag":252,"props":4750,"children":4751},{"style":296},[4752],{"type":15,"value":2338},{"type":10,"tag":252,"props":4754,"children":4755},{"style":265},[4756],{"type":15,"value":304},{"type":10,"tag":252,"props":4758,"children":4759},{"class":254,"line":427},[4760],{"type":10,"tag":252,"props":4761,"children":4762},{"emptyLinePlaceholder":311},[4763],{"type":15,"value":314},{"type":10,"tag":252,"props":4765,"children":4766},{"class":254,"line":441},[4767,4771,4775,4779,4783,4787],{"type":10,"tag":252,"props":4768,"children":4769},{"style":382},[4770],{"type":15,"value":2631},{"type":10,"tag":252,"props":4772,"children":4773},{"style":265},[4774],{"type":15,"value":2636},{"type":10,"tag":252,"props":4776,"children":4777},{"style":275},[4778],{"type":15,"value":2641},{"type":10,"tag":252,"props":4780,"children":4781},{"style":265},[4782],{"type":15,"value":1573},{"type":10,"tag":252,"props":4784,"children":4785},{"style":275},[4786],{"type":15,"value":2650},{"type":10,"tag":252,"props":4788,"children":4789},{"style":265},[4790],{"type":15,"value":2655},{"type":10,"tag":252,"props":4792,"children":4793},{"class":254,"line":454},[4794,4798,4802],{"type":10,"tag":252,"props":4795,"children":4796},{"style":265},[4797],{"type":15,"value":2663},{"type":10,"tag":252,"props":4799,"children":4800},{"style":259},[4801],{"type":15,"value":2668},{"type":10,"tag":252,"props":4803,"children":4804},{"style":265},[4805],{"type":15,"value":4806},"(binaryKeysAndData.binaryCount);\n",{"type":10,"tag":252,"props":4808,"children":4809},{"class":254,"line":463},[4810],{"type":10,"tag":252,"props":4811,"children":4812},{"emptyLinePlaceholder":311},[4813],{"type":15,"value":314},{"type":10,"tag":252,"props":4815,"children":4816},{"class":254,"line":471},[4817],{"type":10,"tag":252,"props":4818,"children":4819},{"style":265},[4820],{"type":15,"value":2415},{"type":10,"tag":252,"props":4822,"children":4823},{"class":254,"line":488},[4824,4828,4832],{"type":10,"tag":252,"props":4825,"children":4826},{"style":265},[4827],{"type":15,"value":2423},{"type":10,"tag":252,"props":4829,"children":4830},{"style":275},[4831],{"type":15,"value":293},{"type":10,"tag":252,"props":4833,"children":4834},{"style":265},[4835],{"type":15,"value":2432},{"type":10,"tag":252,"props":4837,"children":4838},{"class":254,"line":501},[4839,4843,4847,4851],{"type":10,"tag":252,"props":4840,"children":4841},{"style":265},[4842],{"type":15,"value":2440},{"type":10,"tag":252,"props":4844,"children":4845},{"style":275},[4846],{"type":15,"value":293},{"type":10,"tag":252,"props":4848,"children":4849},{"style":296},[4850],{"type":15,"value":2338},{"type":10,"tag":252,"props":4852,"children":4853},{"style":265},[4854],{"type":15,"value":304},{"type":10,"tag":252,"props":4856,"children":4857},{"class":254,"line":525},[4858,4862,4866],{"type":10,"tag":252,"props":4859,"children":4860},{"style":265},[4861],{"type":15,"value":2460},{"type":10,"tag":252,"props":4863,"children":4864},{"style":275},[4865],{"type":15,"value":293},{"type":10,"tag":252,"props":4867,"children":4868},{"style":265},[4869],{"type":15,"value":4870}," binaryKeysAndData.binaryCount;\n",{"type":10,"tag":252,"props":4872,"children":4873},{"class":254,"line":547},[4874,4878,4882,4886,4890],{"type":10,"tag":252,"props":4875,"children":4876},{"style":265},[4877],{"type":15,"value":2481},{"type":10,"tag":252,"props":4879,"children":4880},{"style":275},[4881],{"type":15,"value":293},{"type":10,"tag":252,"props":4883,"children":4884},{"style":265},[4885],{"type":15,"value":2696},{"type":10,"tag":252,"props":4887,"children":4888},{"style":259},[4889],{"type":15,"value":2701},{"type":10,"tag":252,"props":4891,"children":4892},{"style":265},[4893],{"type":15,"value":2706},{"type":10,"tag":252,"props":4895,"children":4896},{"class":254,"line":556},[4897],{"type":10,"tag":252,"props":4898,"children":4899},{"emptyLinePlaceholder":311},[4900],{"type":15,"value":314},{"type":10,"tag":252,"props":4902,"children":4903},{"class":254,"line":564},[4904,4908,4913,4917,4921,4925],{"type":10,"tag":252,"props":4905,"children":4906},{"style":259},[4907],{"type":15,"value":838},{"type":10,"tag":252,"props":4909,"children":4910},{"style":265},[4911],{"type":15,"value":4912},"(device, createInfo, ",{"type":10,"tag":252,"props":4914,"children":4915},{"style":296},[4916],{"type":15,"value":1540},{"type":10,"tag":252,"props":4918,"children":4919},{"style":265},[4920],{"type":15,"value":1647},{"type":10,"tag":252,"props":4922,"children":4923},{"style":275},[4924],{"type":15,"value":2527},{"type":10,"tag":252,"props":4926,"children":4927},{"style":265},[4928],{"type":15,"value":2549},{"type":10,"tag":227,"props":4930,"children":4932},{"id":4931},"_create_pipeline_from_binaries",[4933],{"type":15,"value":4934},"Create pipeline from binaries",{"type":10,"tag":241,"props":4936,"children":4938},{"className":2093,"code":4937,"language":2095,"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",[4939],{"type":10,"tag":161,"props":4940,"children":4941},{"__ignoreMap":246},[4942,4958,4966,4978,4986,5003,5010,5017,5037,5044,5051,5058],{"type":10,"tag":252,"props":4943,"children":4944},{"class":254,"line":255},[4945,4950,4954],{"type":10,"tag":252,"props":4946,"children":4947},{"style":265},[4948],{"type":15,"value":4949},"VkPipelineBinaryInfoKHR binaryInfo ",{"type":10,"tag":252,"props":4951,"children":4952},{"style":275},[4953],{"type":15,"value":293},{"type":10,"tag":252,"props":4955,"children":4956},{"style":265},[4957],{"type":15,"value":2120},{"type":10,"tag":252,"props":4959,"children":4960},{"class":254,"line":271},[4961],{"type":10,"tag":252,"props":4962,"children":4963},{"style":265},[4964],{"type":15,"value":4965}," VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR,\n",{"type":10,"tag":252,"props":4967,"children":4968},{"class":254,"line":307},[4969,4974],{"type":10,"tag":252,"props":4970,"children":4971},{"style":296},[4972],{"type":15,"value":4973}," NULL",{"type":10,"tag":252,"props":4975,"children":4976},{"style":265},[4977],{"type":15,"value":862},{"type":10,"tag":252,"props":4979,"children":4980},{"class":254,"line":317},[4981],{"type":10,"tag":252,"props":4982,"children":4983},{"style":265},[4984],{"type":15,"value":4985}," binaryCount,\n",{"type":10,"tag":252,"props":4987,"children":4988},{"class":254,"line":336},[4989,4994,4998],{"type":10,"tag":252,"props":4990,"children":4991},{"style":265},[4992],{"type":15,"value":4993}," pipelineBinaries.",{"type":10,"tag":252,"props":4995,"children":4996},{"style":259},[4997],{"type":15,"value":2701},{"type":10,"tag":252,"props":4999,"children":5000},{"style":265},[5001],{"type":15,"value":5002},"()\n",{"type":10,"tag":252,"props":5004,"children":5005},{"class":254,"line":345},[5006],{"type":10,"tag":252,"props":5007,"children":5008},{"style":265},[5009],{"type":15,"value":3304},{"type":10,"tag":252,"props":5011,"children":5012},{"class":254,"line":359},[5013],{"type":10,"tag":252,"props":5014,"children":5015},{"emptyLinePlaceholder":311},[5016],{"type":15,"value":314},{"type":10,"tag":252,"props":5018,"children":5019},{"class":254,"line":373},[5020,5024,5028,5032],{"type":10,"tag":252,"props":5021,"children":5022},{"style":265},[5023],{"type":15,"value":2329},{"type":10,"tag":252,"props":5025,"children":5026},{"style":275},[5027],{"type":15,"value":293},{"type":10,"tag":252,"props":5029,"children":5030},{"style":275},[5031],{"type":15,"value":2284},{"type":10,"tag":252,"props":5033,"children":5034},{"style":265},[5035],{"type":15,"value":5036},"binaryInfo;\n",{"type":10,"tag":252,"props":5038,"children":5039},{"class":254,"line":393},[5040],{"type":10,"tag":252,"props":5041,"children":5042},{"emptyLinePlaceholder":311},[5043],{"type":15,"value":314},{"type":10,"tag":252,"props":5045,"children":5046},{"class":254,"line":402},[5047],{"type":10,"tag":252,"props":5048,"children":5049},{"style":2585},[5050],{"type":15,"value":3371},{"type":10,"tag":252,"props":5052,"children":5053},{"class":254,"line":410},[5054],{"type":10,"tag":252,"props":5055,"children":5056},{"style":265},[5057],{"type":15,"value":3379},{"type":10,"tag":252,"props":5059,"children":5060},{"class":254,"line":427},[5061,5065,5069,5073,5077,5081,5085,5089,5093,5097,5101,5105],{"type":10,"tag":252,"props":5062,"children":5063},{"style":259},[5064],{"type":15,"value":3387},{"type":10,"tag":252,"props":5066,"children":5067},{"style":265},[5068],{"type":15,"value":2522},{"type":10,"tag":252,"props":5070,"children":5071},{"style":296},[5072],{"type":15,"value":1540},{"type":10,"tag":252,"props":5074,"children":5075},{"style":265},[5076],{"type":15,"value":1647},{"type":10,"tag":252,"props":5078,"children":5079},{"style":296},[5080],{"type":15,"value":3404},{"type":10,"tag":252,"props":5082,"children":5083},{"style":265},[5084],{"type":15,"value":1647},{"type":10,"tag":252,"props":5086,"children":5087},{"style":275},[5088],{"type":15,"value":2527},{"type":10,"tag":252,"props":5090,"children":5091},{"style":265},[5092],{"type":15,"value":2532},{"type":10,"tag":252,"props":5094,"children":5095},{"style":296},[5096],{"type":15,"value":1540},{"type":10,"tag":252,"props":5098,"children":5099},{"style":265},[5100],{"type":15,"value":1647},{"type":10,"tag":252,"props":5102,"children":5103},{"style":275},[5104],{"type":15,"value":2527},{"type":10,"tag":252,"props":5106,"children":5107},{"style":265},[5108],{"type":15,"value":3434},{"type":10,"tag":227,"props":5110,"children":5112},{"id":5111},"_read_internal_cache_for_the_pipeline_binaries",[5113],{"type":15,"value":5114},"Read internal cache for the pipeline binaries",{"type":10,"tag":241,"props":5116,"children":5118},{"className":2093,"code":5117,"language":2095,"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",[5119],{"type":10,"tag":161,"props":5120,"children":5121},{"__ignoreMap":246},[5122,5129,5136,5143,5158,5177,5184,5191,5206,5225,5244,5259,5278,5285,5292,5307,5326,5345,5364,5371,5406,5413,5432,5439,5446,5457,5464,5471,5498,5513,5520,5543,5550],{"type":10,"tag":252,"props":5123,"children":5124},{"class":254,"line":255},[5125],{"type":10,"tag":252,"props":5126,"children":5127},{"style":265},[5128],{"type":15,"value":2235},{"type":10,"tag":252,"props":5130,"children":5131},{"class":254,"line":271},[5132],{"type":10,"tag":252,"props":5133,"children":5134},{"emptyLinePlaceholder":311},[5135],{"type":15,"value":314},{"type":10,"tag":252,"props":5137,"children":5138},{"class":254,"line":307},[5139],{"type":10,"tag":252,"props":5140,"children":5141},{"style":265},[5142],{"type":15,"value":2250},{"type":10,"tag":252,"props":5144,"children":5145},{"class":254,"line":317},[5146,5150,5154],{"type":10,"tag":252,"props":5147,"children":5148},{"style":265},[5149],{"type":15,"value":2258},{"type":10,"tag":252,"props":5151,"children":5152},{"style":275},[5153],{"type":15,"value":293},{"type":10,"tag":252,"props":5155,"children":5156},{"style":265},[5157],{"type":15,"value":2267},{"type":10,"tag":252,"props":5159,"children":5160},{"class":254,"line":336},[5161,5165,5169,5173],{"type":10,"tag":252,"props":5162,"children":5163},{"style":265},[5164],{"type":15,"value":2275},{"type":10,"tag":252,"props":5166,"children":5167},{"style":275},[5168],{"type":15,"value":293},{"type":10,"tag":252,"props":5170,"children":5171},{"style":275},[5172],{"type":15,"value":2284},{"type":10,"tag":252,"props":5174,"children":5175},{"style":265},[5176],{"type":15,"value":2289},{"type":10,"tag":252,"props":5178,"children":5179},{"class":254,"line":345},[5180],{"type":10,"tag":252,"props":5181,"children":5182},{"emptyLinePlaceholder":311},[5183],{"type":15,"value":314},{"type":10,"tag":252,"props":5185,"children":5186},{"class":254,"line":359},[5187],{"type":10,"tag":252,"props":5188,"children":5189},{"style":265},[5190],{"type":15,"value":2304},{"type":10,"tag":252,"props":5192,"children":5193},{"class":254,"line":373},[5194,5198,5202],{"type":10,"tag":252,"props":5195,"children":5196},{"style":265},[5197],{"type":15,"value":2312},{"type":10,"tag":252,"props":5199,"children":5200},{"style":275},[5201],{"type":15,"value":293},{"type":10,"tag":252,"props":5203,"children":5204},{"style":265},[5205],{"type":15,"value":2321},{"type":10,"tag":252,"props":5207,"children":5208},{"class":254,"line":393},[5209,5213,5217,5221],{"type":10,"tag":252,"props":5210,"children":5211},{"style":265},[5212],{"type":15,"value":2329},{"type":10,"tag":252,"props":5214,"children":5215},{"style":275},[5216],{"type":15,"value":293},{"type":10,"tag":252,"props":5218,"children":5219},{"style":296},[5220],{"type":15,"value":2338},{"type":10,"tag":252,"props":5222,"children":5223},{"style":265},[5224],{"type":15,"value":304},{"type":10,"tag":252,"props":5226,"children":5227},{"class":254,"line":402},[5228,5232,5236,5240],{"type":10,"tag":252,"props":5229,"children":5230},{"style":265},[5231],{"type":15,"value":2350},{"type":10,"tag":252,"props":5233,"children":5234},{"style":275},[5235],{"type":15,"value":293},{"type":10,"tag":252,"props":5237,"children":5238},{"style":296},[5239],{"type":15,"value":2338},{"type":10,"tag":252,"props":5241,"children":5242},{"style":265},[5243],{"type":15,"value":304},{"type":10,"tag":252,"props":5245,"children":5246},{"class":254,"line":410},[5247,5251,5255],{"type":10,"tag":252,"props":5248,"children":5249},{"style":265},[5250],{"type":15,"value":2370},{"type":10,"tag":252,"props":5252,"children":5253},{"style":275},[5254],{"type":15,"value":293},{"type":10,"tag":252,"props":5256,"children":5257},{"style":265},[5258],{"type":15,"value":2379},{"type":10,"tag":252,"props":5260,"children":5261},{"class":254,"line":427},[5262,5266,5270,5274],{"type":10,"tag":252,"props":5263,"children":5264},{"style":265},[5265],{"type":15,"value":2387},{"type":10,"tag":252,"props":5267,"children":5268},{"style":275},[5269],{"type":15,"value":293},{"type":10,"tag":252,"props":5271,"children":5272},{"style":275},[5273],{"type":15,"value":2284},{"type":10,"tag":252,"props":5275,"children":5276},{"style":265},[5277],{"type":15,"value":2400},{"type":10,"tag":252,"props":5279,"children":5280},{"class":254,"line":441},[5281],{"type":10,"tag":252,"props":5282,"children":5283},{"emptyLinePlaceholder":311},[5284],{"type":15,"value":314},{"type":10,"tag":252,"props":5286,"children":5287},{"class":254,"line":454},[5288],{"type":10,"tag":252,"props":5289,"children":5290},{"style":265},[5291],{"type":15,"value":2415},{"type":10,"tag":252,"props":5293,"children":5294},{"class":254,"line":463},[5295,5299,5303],{"type":10,"tag":252,"props":5296,"children":5297},{"style":265},[5298],{"type":15,"value":2423},{"type":10,"tag":252,"props":5300,"children":5301},{"style":275},[5302],{"type":15,"value":293},{"type":10,"tag":252,"props":5304,"children":5305},{"style":265},[5306],{"type":15,"value":2432},{"type":10,"tag":252,"props":5308,"children":5309},{"class":254,"line":471},[5310,5314,5318,5322],{"type":10,"tag":252,"props":5311,"children":5312},{"style":265},[5313],{"type":15,"value":2440},{"type":10,"tag":252,"props":5315,"children":5316},{"style":275},[5317],{"type":15,"value":293},{"type":10,"tag":252,"props":5319,"children":5320},{"style":296},[5321],{"type":15,"value":2338},{"type":10,"tag":252,"props":5323,"children":5324},{"style":265},[5325],{"type":15,"value":304},{"type":10,"tag":252,"props":5327,"children":5328},{"class":254,"line":488},[5329,5333,5337,5341],{"type":10,"tag":252,"props":5330,"children":5331},{"style":265},[5332],{"type":15,"value":2460},{"type":10,"tag":252,"props":5334,"children":5335},{"style":275},[5336],{"type":15,"value":293},{"type":10,"tag":252,"props":5338,"children":5339},{"style":296},[5340],{"type":15,"value":2469},{"type":10,"tag":252,"props":5342,"children":5343},{"style":265},[5344],{"type":15,"value":304},{"type":10,"tag":252,"props":5346,"children":5347},{"class":254,"line":501},[5348,5352,5356,5360],{"type":10,"tag":252,"props":5349,"children":5350},{"style":265},[5351],{"type":15,"value":2481},{"type":10,"tag":252,"props":5353,"children":5354},{"style":275},[5355],{"type":15,"value":293},{"type":10,"tag":252,"props":5357,"children":5358},{"style":296},[5359],{"type":15,"value":2338},{"type":10,"tag":252,"props":5361,"children":5362},{"style":265},[5363],{"type":15,"value":304},{"type":10,"tag":252,"props":5365,"children":5366},{"class":254,"line":525},[5367],{"type":10,"tag":252,"props":5368,"children":5369},{"emptyLinePlaceholder":311},[5370],{"type":15,"value":314},{"type":10,"tag":252,"props":5372,"children":5373},{"class":254,"line":547},[5374,5378,5382,5386,5390,5394,5398,5402],{"type":10,"tag":252,"props":5375,"children":5376},{"style":259},[5377],{"type":15,"value":838},{"type":10,"tag":252,"props":5379,"children":5380},{"style":265},[5381],{"type":15,"value":2522},{"type":10,"tag":252,"props":5383,"children":5384},{"style":275},[5385],{"type":15,"value":2527},{"type":10,"tag":252,"props":5387,"children":5388},{"style":265},[5389],{"type":15,"value":2532},{"type":10,"tag":252,"props":5391,"children":5392},{"style":296},[5393],{"type":15,"value":1540},{"type":10,"tag":252,"props":5395,"children":5396},{"style":265},[5397],{"type":15,"value":1647},{"type":10,"tag":252,"props":5399,"children":5400},{"style":275},[5401],{"type":15,"value":2527},{"type":10,"tag":252,"props":5403,"children":5404},{"style":265},[5405],{"type":15,"value":2549},{"type":10,"tag":252,"props":5407,"children":5408},{"class":254,"line":556},[5409],{"type":10,"tag":252,"props":5410,"children":5411},{"emptyLinePlaceholder":311},[5412],{"type":15,"value":314},{"type":10,"tag":252,"props":5414,"children":5415},{"class":254,"line":564},[5416,5420,5424,5428],{"type":10,"tag":252,"props":5417,"children":5418},{"style":275},[5419],{"type":15,"value":2564},{"type":10,"tag":252,"props":5421,"children":5422},{"style":265},[5423],{"type":15,"value":2569},{"type":10,"tag":252,"props":5425,"children":5426},{"style":275},[5427],{"type":15,"value":2574},{"type":10,"tag":252,"props":5429,"children":5430},{"style":265},[5431],{"type":15,"value":2579},{"type":10,"tag":252,"props":5433,"children":5434},{"class":254,"line":581},[5435],{"type":10,"tag":252,"props":5436,"children":5437},{"style":2585},[5438],{"type":15,"value":2588},{"type":10,"tag":252,"props":5440,"children":5441},{"class":254,"line":590},[5442],{"type":10,"tag":252,"props":5443,"children":5444},{"style":2585},[5445],{"type":15,"value":2596},{"type":10,"tag":252,"props":5447,"children":5448},{"class":254,"line":608},[5449,5453],{"type":10,"tag":252,"props":5450,"children":5451},{"style":275},[5452],{"type":15,"value":2604},{"type":10,"tag":252,"props":5454,"children":5455},{"style":265},[5456],{"type":15,"value":304},{"type":10,"tag":252,"props":5458,"children":5459},{"class":254,"line":617},[5460],{"type":10,"tag":252,"props":5461,"children":5462},{"style":265},[5463],{"type":15,"value":2616},{"type":10,"tag":252,"props":5465,"children":5466},{"class":254,"line":625},[5467],{"type":10,"tag":252,"props":5468,"children":5469},{"emptyLinePlaceholder":311},[5470],{"type":15,"value":314},{"type":10,"tag":252,"props":5472,"children":5473},{"class":254,"line":642},[5474,5478,5482,5486,5490,5494],{"type":10,"tag":252,"props":5475,"children":5476},{"style":382},[5477],{"type":15,"value":2631},{"type":10,"tag":252,"props":5479,"children":5480},{"style":265},[5481],{"type":15,"value":2636},{"type":10,"tag":252,"props":5483,"children":5484},{"style":275},[5485],{"type":15,"value":2641},{"type":10,"tag":252,"props":5487,"children":5488},{"style":265},[5489],{"type":15,"value":1573},{"type":10,"tag":252,"props":5491,"children":5492},{"style":275},[5493],{"type":15,"value":2650},{"type":10,"tag":252,"props":5495,"children":5496},{"style":265},[5497],{"type":15,"value":2655},{"type":10,"tag":252,"props":5499,"children":5500},{"class":254,"line":651},[5501,5505,5509],{"type":10,"tag":252,"props":5502,"children":5503},{"style":265},[5504],{"type":15,"value":2663},{"type":10,"tag":252,"props":5506,"children":5507},{"style":259},[5508],{"type":15,"value":2668},{"type":10,"tag":252,"props":5510,"children":5511},{"style":265},[5512],{"type":15,"value":2673},{"type":10,"tag":252,"props":5514,"children":5515},{"class":254,"line":668},[5516],{"type":10,"tag":252,"props":5517,"children":5518},{"emptyLinePlaceholder":311},[5519],{"type":15,"value":314},{"type":10,"tag":252,"props":5521,"children":5522},{"class":254,"line":690},[5523,5527,5531,5535,5539],{"type":10,"tag":252,"props":5524,"children":5525},{"style":265},[5526],{"type":15,"value":2481},{"type":10,"tag":252,"props":5528,"children":5529},{"style":275},[5530],{"type":15,"value":293},{"type":10,"tag":252,"props":5532,"children":5533},{"style":265},[5534],{"type":15,"value":2696},{"type":10,"tag":252,"props":5536,"children":5537},{"style":259},[5538],{"type":15,"value":2701},{"type":10,"tag":252,"props":5540,"children":5541},{"style":265},[5542],{"type":15,"value":2706},{"type":10,"tag":252,"props":5544,"children":5545},{"class":254,"line":699},[5546],{"type":10,"tag":252,"props":5547,"children":5548},{"emptyLinePlaceholder":311},[5549],{"type":15,"value":314},{"type":10,"tag":252,"props":5551,"children":5552},{"class":254,"line":721},[5553,5557,5561,5565,5569,5573,5577,5581],{"type":10,"tag":252,"props":5554,"children":5555},{"style":259},[5556],{"type":15,"value":838},{"type":10,"tag":252,"props":5558,"children":5559},{"style":265},[5560],{"type":15,"value":2522},{"type":10,"tag":252,"props":5562,"children":5563},{"style":275},[5564],{"type":15,"value":2527},{"type":10,"tag":252,"props":5566,"children":5567},{"style":265},[5568],{"type":15,"value":2532},{"type":10,"tag":252,"props":5570,"children":5571},{"style":296},[5572],{"type":15,"value":1540},{"type":10,"tag":252,"props":5574,"children":5575},{"style":265},[5576],{"type":15,"value":1647},{"type":10,"tag":252,"props":5578,"children":5579},{"style":275},[5580],{"type":15,"value":2527},{"type":10,"tag":252,"props":5582,"children":5583},{"style":265},[5584],{"type":15,"value":2549},{"type":10,"tag":17,"props":5586,"children":5588},{"id":5587},"_interactions_with_other_extensions",[5589],{"type":15,"value":5590},"Interactions with other extensions",{"type":10,"tag":11,"props":5592,"children":5593},{},[5594,5599],{"type":10,"tag":161,"props":5595,"children":5597},{"className":5596},[],[5598],{"type":15,"value":2759},{"type":15,"value":5600}," 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":5602,"children":5603},{},[5604],{"type":15,"value":5605},"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":5607,"children":5608},{},[5609,5611,5616,5618,5624],{"type":15,"value":5610},"Another useful interaction is that ",{"type":10,"tag":161,"props":5612,"children":5614},{"className":5613},[],[5615],{"type":15,"value":1044},{"type":15,"value":5617},"\ncan generate a key for pipeline stages\nwhich just take a ",{"type":10,"tag":161,"props":5619,"children":5621},{"className":5620},[],[5622],{"type":15,"value":5623},"VkPipelineShaderStageModuleIdentifierCreateInfoEXT",{"type":15,"value":1608},{"type":10,"tag":11,"props":5626,"children":5627},{},[5628,5630,5635],{"type":15,"value":5629},"When using ",{"type":10,"tag":161,"props":5631,"children":5633},{"className":5632},[],[5634],{"type":15,"value":2788},{"type":15,"value":5636},", 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":5638,"children":5640},{"id":5639},"_issues",[5641],{"type":15,"value":5642},"Issues",{"type":10,"tag":227,"props":5644,"children":5646},{"id":5645},"_resolved_fixed_size_keys",[5647],{"type":15,"value":5648},"RESOLVED: Fixed size keys",{"type":10,"tag":11,"props":5650,"children":5651},{},[5652,5654,5659],{"type":15,"value":5653},"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":5655,"children":5657},{"className":5656},[],[5658],{"type":15,"value":2759},{"type":15,"value":1608},{"type":10,"tag":227,"props":5661,"children":5663},{"id":5662},"_resolved_should_implementations_be_able_to_advertise_in_some_way_what_a_keydata_pair_are_associated_with",[5664,5666,5671],{"type":15,"value":5665},"RESOLVED: Should implementations be able to advertise in some way ",{"type":10,"tag":153,"props":5667,"children":5668},{},[5669],{"type":15,"value":5670},"what",{"type":15,"value":5672}," a key/data pair are associated with?",{"type":10,"tag":11,"props":5674,"children":5675},{},[5676],{"type":15,"value":5677},"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":5679,"children":5680},{},[5681],{"type":15,"value":5682},"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":5684,"children":5685},{},[5686],{"type":15,"value":5687},"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":5689,"children":5690},{},[5691],{"type":15,"value":5692},"Marking as resolved as it was decided that implementations would not generate non-final binaries.",{"type":10,"tag":227,"props":5694,"children":5696},{"id":5695},"_resolved_can_we_avoid_copies_everywhere",[5697],{"type":15,"value":5698},"RESOLVED: Can we avoid copies everywhere?",{"type":10,"tag":11,"props":5700,"children":5701},{},[5702],{"type":15,"value":5703},"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":5705,"children":5706},{},[5707],{"type":15,"value":5708},"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":5710,"children":5711},{},[5712],{"type":15,"value":5713},"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":5715,"children":5717},{"id":5716},"_resolved_can_we_avoid_recomputing_keys_on_each_run",[5718],{"type":15,"value":5719},"RESOLVED: Can we avoid recomputing keys on each run?",{"type":10,"tag":11,"props":5721,"children":5722},{},[5723],{"type":15,"value":5724},"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":5726,"props":5727,"children":5728},"style",{},[5729],{"type":15,"value":5730},"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":5732},[5733,5734,5735,5738,5748,5749],{"id":19,"depth":271,"text":22},{"id":35,"depth":271,"text":38},{"id":133,"depth":271,"text":136,"children":5736},[5737],{"id":229,"depth":307,"text":232},{"id":3049,"depth":271,"text":3052,"children":5739},[5740,5741,5742,5743,5744,5745,5746,5747],{"id":3060,"depth":307,"text":3063},{"id":3149,"depth":307,"text":3152},{"id":3262,"depth":307,"text":3265},{"id":3437,"depth":307,"text":3440},{"id":4240,"depth":307,"text":4243},{"id":4563,"depth":307,"text":4566},{"id":4931,"depth":307,"text":4934},{"id":5111,"depth":307,"text":5114},{"id":5587,"depth":271,"text":5590},{"id":5639,"depth":271,"text":5642,"children":5750},[5751,5752,5754,5755],{"id":5645,"depth":307,"text":5648},{"id":5662,"depth":307,"text":5753},"RESOLVED: Should implementations be able to advertise in some way what a key/data pair are associated with?",{"id":5695,"depth":307,"text":5698},{"id":5716,"depth":307,"text":5719},"markdown",[5758,5763,5766,5769,5772,5775,5778,5781,5784,5787,5790,5793,5796,5799,5802,5805,5808,5811,5814,5817,5820,5823,5826,5829,5832,5835,5838,5841,5844,5847,5850,5853,5856,5859,5862,5865,5868,5871,5874,5877,5880,5883,5886,5889,5892,5895,5897,5900,5903,5906,5909,5912,5915,5918,5921,5924,5927,5930,5933],{"index":5759,"title":5760,"id":5761,"appendix":5762},0,"Preamble","preamble",false,{"index":255,"title":5764,"id":5765,"appendix":5762},"Introduction","introduction",{"index":271,"title":5767,"id":5768,"appendix":5762},"Fundamentals","fundamentals",{"index":307,"title":5770,"id":5771,"appendix":5762},"Initialization","initialization",{"index":317,"title":5773,"id":5774,"appendix":5762},"Devices and Queues","devsandqueues",{"index":336,"title":5776,"id":5777,"appendix":5762},"Command Buffers","commandbuffers",{"index":345,"title":5779,"id":5780,"appendix":5762},"Synchronization and Cache Control","synchronization",{"index":359,"title":5782,"id":5783,"appendix":5762},"Render Pass","renderpass",{"index":373,"title":5785,"id":5786,"appendix":5762},"Shaders","shaders",{"index":393,"title":5788,"id":5789,"appendix":5762},"Pipelines","pipelines",{"index":402,"title":5791,"id":5792,"appendix":5762},"Memory Allocation","memory",{"index":410,"title":5794,"id":5795,"appendix":5762},"Resource Creation","resources",{"index":427,"title":5797,"id":5798,"appendix":5762},"Samplers","samplers",{"index":441,"title":5800,"id":5801,"appendix":5762},"Resource Descriptors","descriptorsets",{"index":454,"title":5803,"id":5804,"appendix":5762},"Shader Interfaces","interfaces",{"index":463,"title":5806,"id":5807,"appendix":5762},"Image Operations","textures",{"index":471,"title":5809,"id":5810,"appendix":5762},"Fragment Density Map Operations","fragmentdensitymapops",{"index":488,"title":5812,"id":5813,"appendix":5762},"Queries","queries",{"index":501,"title":5815,"id":5816,"appendix":5762},"Clear Commands","clears",{"index":525,"title":5818,"id":5819,"appendix":5762},"Copy Commands","copies",{"index":547,"title":5821,"id":5822,"appendix":5762},"Drawing Commands","drawing",{"index":556,"title":5824,"id":5825,"appendix":5762},"Fixed-Function Vertex Processing","fxvertex",{"index":564,"title":5827,"id":5828,"appendix":5762},"Tessellation","tessellation",{"index":581,"title":5830,"id":5831,"appendix":5762},"Geometry Shading","geometry",{"index":590,"title":5833,"id":5834,"appendix":5762},"Mesh Shading","mesh",{"index":608,"title":5836,"id":5837,"appendix":5762},"Cluster Culling Shading","cluster-culling",{"index":617,"title":5839,"id":5840,"appendix":5762},"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":625,"title":5842,"id":5843,"appendix":5762},"Rasterization","primsrast",{"index":642,"title":5845,"id":5846,"appendix":5762},"Fragment Operations","fragops",{"index":651,"title":5848,"id":5849,"appendix":5762},"The Framebuffer","framebuffer",{"index":668,"title":5851,"id":5852,"appendix":5762},"Dispatching Commands","dispatch",{"index":690,"title":5854,"id":5855,"appendix":5762},"Device-Generated Commands","device-generated-commands",{"index":699,"title":5857,"id":5858,"appendix":5762},"Sparse Resources","sparsememory",{"index":721,"title":5860,"id":5861,"appendix":5762},"Window System Integration (WSI)","wsi",{"index":730,"title":5863,"id":5864,"appendix":5762},"Deferred Host Operations","deferred-host-operations",{"index":738,"title":5866,"id":5867,"appendix":5762},"Private Data","private-data",{"index":755,"title":5869,"id":5870,"appendix":5762},"Acceleration Structures","acceleration-structure",{"index":763,"title":5872,"id":5873,"appendix":5762},"Micromap","micromap",{"index":779,"title":5875,"id":5876,"appendix":5762},"Ray Traversal","ray-traversal",{"index":792,"title":5878,"id":5879,"appendix":5762},"Ray Tracing","ray-tracing",{"index":810,"title":5881,"id":5882,"appendix":5762},"Memory Decompression","memory-decompression",{"index":819,"title":5884,"id":5885,"appendix":5762},"Video Coding","video-coding",{"index":827,"title":5887,"id":5888,"appendix":5762},"Optical Flow","opticalflow",{"index":846,"title":5890,"id":5891,"appendix":5762},"Execution Graphs","executiongraphs",{"index":865,"title":5893,"id":5894,"appendix":5762},"Extending Vulkan","extendingvulkan",{"index":891,"title":1996,"id":5896,"appendix":5762},"features",{"index":917,"title":5898,"id":5899,"appendix":5762},"Limits","limits",{"index":940,"title":5901,"id":5902,"appendix":5762},"Formats","formats",{"index":948,"title":5904,"id":5905,"appendix":5762},"Additional Capabilities","capabilities",{"index":966,"title":5907,"id":5908,"appendix":5762},"Debugging","debugging",{"index":5759,"title":5910,"id":5911,"appendix":311},"Vulkan Environment for SPIR-V","spirvenv",{"index":255,"title":5913,"id":5914,"appendix":311},"Memory Model","memory-model",{"index":271,"title":5916,"id":5917,"appendix":311},"Compressed Image Formats","compressed_image_formats",{"index":307,"title":5919,"id":5920,"appendix":311},"Core Revisions (Informative)","versions",{"index":317,"title":5922,"id":5923,"appendix":311},"Layers & Extensions (Informative)","extensions",{"index":336,"title":5925,"id":5926,"appendix":311},"API Boilerplate","boilerplate",{"index":345,"title":5928,"id":5929,"appendix":311},"Invariance","invariance",{"index":359,"title":5931,"id":5932,"appendix":311},"Lexicon","lexicon",{"index":373,"title":5934,"id":5935,"appendix":311},"Credits (Informative)","credits",[5937,5944,5948,5953,5957,5962,5965,5968,5971,5975,5979,5982,5985,5988,5990,5992,5995,5998,6002,6004,6008,6010,6013,6015,6018,6026,6030,6036,6040,6045,6047,6051,6057,6063,6069,6071,6073,6079,6082,6086,6092,6096,6100,6105,6109,6112,6115,6121,6124,6127,6131,6135,6139,6142,6144,6148,6153,6159,6162,6166,6169,6175,6178,6182,6185,6189,6192,6196,6199,6204,6208,6211,6216,6219,6222,6225,6229,6234,6239,6243,6246,6250,6254,6258,6262,6266,6269,6272,6276,6279,6282,6285,6289,6294,6298,6301,6305,6310,6314,6319,6322,6325,6330,6335,6339,6342,6346,6351,6354,6359,6364,6367,6370,6374,6378,6382,6387,6391,6394,6398,6402,6405,6409,6413,6417,6420,6422,6426,6429,6432,6435,6438,6441,6444,6447,6450,6453,6456,6460,6463,6466,6468,6470,6473,6476,6480,6484,6488,6491,6495,6498,6500,6503,6505,6509,6514,6517,6521,6523,6527,6530,6537,6541,6545,6549,6555,6557,6561,6565,6568,6571,6575,6580,6586,6590,6592,6596,6599,6604,6608,6613,6617,6621,6623,6626,6629,6631,6636,6639,6642,6647,6651,6655,6660,6664,6667,6668,6670,6673,6675,6678,6681,6685,6689,6691,6695,6698,6701,6703,6704,6706,6709,6710,6713,6715,6718,6721,6725,6728,6731,6732,6735,6737,6740,6744,6747,6749,6751,6753,6754,6758,6760,6763,6768,6772,6775,6777,6779,6781,6785,6788,6791,6794,6798,6801,6806,6810,6813,6817,6820,6823,6827,6831,6833,6838,6841,6845,6848,6850,6853,6855,6858,6862,6865,6869,6872,6876,6880,6883,6886,6889,6892,6896,6898,6901,6903,6908,6909,6913,6916,6919,6922,6925,6927,6931,6934,6937,6940,6944,6946,6948,6952,6954,6957,6961,6964,6966,6970,6973,6976,6979,6982,6986,6991,6996,7000,7005,7009,7012,7016,7020,7023,7027,7031,7034,7038,7040,7045,7049,7051,7057,7060,7063,7066,7070,7073,7077,7081,7084,7085,7088,7090,7092,7094,7096,7099,7102,7105,7108,7111,7114,7116,7120,7124,7128,7132,7135,7138,7142,7145,7149,7151,7155,7159,7162,7165,7168,7171,7174,7177,7180,7183,7186,7189,7192,7195,7198,7200,7204,7207,7211,7215,7218,7221,7224,7227,7230,7233,7237,7240,7243,7249,7253,7257,7261],{"number":5938,"type":857,"author":5939,"provisional":311,"depends":5940,"platform":5941,"contact":5942,"extension":5943,"proposal":311},135,"AMD","(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4","provisional","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":5945,"type":857,"author":5939,"provisional":5762,"contact":5946,"extension":5947,"proposal":311},477,"Stu Smith","VK_AMD_anti_lag",{"number":5949,"type":857,"author":5939,"provisional":5762,"specialuse":5950,"contact":5951,"extension":5952,"proposal":5762},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":5954,"type":857,"author":5939,"provisional":5762,"depends":5955,"contact":5942,"extension":5956,"proposal":5762},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":5958,"type":857,"author":5939,"provisional":5762,"depends":5959,"contact":5960,"extension":5961,"proposal":5762},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":5939,"promotedto":5963,"provisional":5762,"contact":5951,"extension":5964,"proposal":5762},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":617,"type":857,"author":5939,"provisional":5762,"contact":5966,"extension":5967,"proposal":5762},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":763,"type":857,"author":5939,"deprecatedby":5969,"provisional":5762,"contact":5966,"extension":5970,"proposal":5762},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":5972,"type":857,"author":5939,"deprecatedby":5969,"provisional":5762,"contact":5973,"extension":5974,"proposal":5762},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":5976,"type":857,"author":5939,"provisional":5762,"contact":5977,"extension":5978,"proposal":5762},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":5980,"type":857,"author":5939,"provisional":5762,"contact":5960,"extension":5981,"proposal":5762},137,"VK_AMD_mixed_attachment_samples",{"number":755,"type":857,"author":5939,"obsoletedby":5983,"provisional":5762,"contact":5960,"extension":5984,"proposal":5762},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":5986,"type":857,"author":5939,"provisional":5762,"contact":5960,"extension":5987,"proposal":5762},184,"VK_AMD_pipeline_compiler_control",{"number":525,"type":857,"author":5939,"provisional":5762,"contact":5951,"extension":5989,"proposal":5762},"VK_AMD_rasterization_order",{"number":779,"type":857,"author":5939,"provisional":5762,"contact":5966,"extension":5991,"proposal":5762},"VK_AMD_shader_ballot",{"number":5993,"type":857,"author":5939,"provisional":5762,"depends":5955,"contact":5977,"extension":5994,"proposal":5762},186,"VK_AMD_shader_core_properties",{"number":5996,"type":857,"author":5939,"provisional":5762,"depends":5994,"contact":5960,"extension":5997,"proposal":5762},228,"VK_AMD_shader_core_properties2",{"number":5999,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":5942,"extension":6001,"proposal":311},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":564,"type":857,"author":5939,"provisional":5762,"contact":5973,"extension":6003,"proposal":5762},"VK_AMD_shader_explicit_vertex_parameter",{"number":6005,"type":857,"author":5939,"provisional":5762,"contact":6006,"extension":6007,"proposal":5762},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":940,"type":857,"author":5939,"provisional":5762,"contact":5966,"extension":6009,"proposal":5762},"VK_AMD_shader_image_load_store_lod",{"number":846,"type":857,"author":5939,"provisional":5762,"specialuse":5950,"contact":6011,"extension":6012,"proposal":5762},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":556,"type":857,"author":5939,"provisional":5762,"contact":5973,"extension":6014,"proposal":5762},"VK_AMD_shader_trinary_minmax",{"number":827,"type":857,"author":5939,"provisional":5762,"depends":5955,"contact":6016,"extension":6017,"proposal":5762},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":6019,"type":857,"author":6020,"provisional":5762,"depends":6021,"platform":6022,"specialuse":6023,"contact":6024,"extension":6025,"proposal":311},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":6027,"type":857,"author":6020,"provisional":5762,"depends":6028,"platform":6022,"contact":6029,"extension":6021,"proposal":5762},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":6031,"type":857,"author":6032,"promotedto":6033,"provisional":5762,"depends":5955,"contact":6034,"extension":6035,"proposal":5762},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":6037,"type":857,"author":6032,"provisional":5762,"depends":6038,"contact":6034,"extension":6039,"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":6041,"type":857,"author":6032,"provisional":5762,"depends":6042,"contact":6043,"extension":6044,"proposal":5762},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":6046,"type":857,"author":6032,"provisional":5762,"depends":5955,"contact":6043,"extension":6042,"proposal":5762},498,{"number":6048,"type":857,"author":6032,"provisional":5762,"depends":6049,"contact":6034,"extension":6050,"proposal":5762},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":6052,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6055,"extension":6056,"proposal":5762},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":6058,"type":6059,"author":6000,"provisional":5762,"depends":6060,"contact":6061,"extension":6062,"proposal":5762},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":6064,"type":6059,"author":6065,"provisional":5762,"depends":6060,"platform":6066,"contact":6067,"extension":6068,"proposal":5762},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":6070,"proposal":5762},"VK_EXT_application_parameters",{"number":1271,"type":857,"author":6032,"provisional":5762,"depends":5955,"contact":6034,"extension":6072,"proposal":5762},"VK_EXT_astc_decode_mode",{"number":6074,"type":857,"author":6000,"provisional":5762,"depends":6075,"ratified":6076,"contact":6077,"extension":6078,"proposal":311},525,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_attachment_feedback_loop_layout","vulkan","Mike Blumenkrantz @zmike","VK_EXT_attachment_feedback_loop_dynamic_state",{"number":6080,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"contact":6055,"extension":6081,"proposal":311},340,"VK_EXT_attachment_feedback_loop_layout",{"number":6083,"type":857,"author":6065,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6085,"proposal":5762},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":6087,"type":857,"author":6000,"provisional":5762,"depends":6088,"specialuse":6089,"contact":6090,"extension":6091,"proposal":5762},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":6093,"type":857,"author":6065,"deprecatedby":6094,"provisional":5762,"depends":5955,"contact":6084,"extension":6095,"proposal":5762},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":6097,"type":857,"author":6000,"promotedto":6098,"provisional":5762,"depends":5955,"contact":5951,"extension":6099,"proposal":311},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":6101,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6102,"contact":6103,"extension":6104,"proposal":5762},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":6106,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":6107,"extension":6108,"proposal":5762},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":6110,"type":857,"author":6065,"provisional":5762,"depends":5955,"ratified":6076,"contact":6090,"extension":6111,"proposal":5762},102,"VK_EXT_conservative_rasterization",{"number":6113,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6102,"specialuse":6089,"contact":6114,"extension":6088,"proposal":5762},288,"Liam Middlebrook @liam-middlebrook",{"number":581,"type":857,"author":6116,"promotedto":6117,"provisional":5762,"depends":6118,"specialuse":5908,"contact":6119,"extension":6120,"proposal":5762},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":427,"type":6059,"author":6122,"deprecatedby":6117,"provisional":5762,"specialuse":5908,"contact":6123,"extension":6118,"proposal":5762},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":6125,"type":6059,"author":6000,"provisional":5762,"specialuse":5908,"contact":6126,"extension":6117,"proposal":5762},129,"Mark Young @marky-lunarg",{"number":6128,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":6129,"contact":6055,"extension":6130,"proposal":311},284,"d3demulation","VK_EXT_depth_bias_control",{"number":6132,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6133,"extension":6134,"proposal":5762},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":6136,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":6023,"contact":6137,"extension":6138,"proposal":5762},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":6140,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6102,"specialuse":6129,"contact":6090,"extension":6141,"proposal":5762},103,"VK_EXT_depth_clip_enable",{"number":454,"type":857,"author":6065,"provisional":5762,"ratified":6102,"contact":6090,"extension":6143,"proposal":5762},"VK_EXT_depth_range_unrestricted",{"number":6145,"type":857,"author":6000,"provisional":5762,"depends":6146,"contact":5942,"extension":6147,"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":6149,"type":857,"author":6065,"promotedto":6150,"provisional":5762,"depends":6151,"contact":6084,"extension":6152,"proposal":5762},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":6154,"type":857,"author":6000,"provisional":5762,"depends":6155,"specialuse":6156,"contact":6157,"extension":6158,"proposal":5762},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":6160,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6157,"extension":6161,"proposal":311},342,"VK_EXT_device_fault",{"number":6163,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":5950,"contact":6164,"extension":6165,"proposal":5762},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":6167,"type":6059,"author":6065,"provisional":5762,"depends":6168,"contact":6067,"extension":6060,"proposal":5762},89,"VK_KHR_display",{"number":6170,"type":6059,"author":6000,"provisional":5762,"depends":6171,"platform":6172,"contact":6173,"extension":6174,"proposal":5762},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":6176,"type":857,"author":6065,"provisional":5762,"depends":5955,"ratified":6102,"contact":6090,"extension":6177,"proposal":5762},100,"VK_EXT_discard_rectangles",{"number":6179,"type":857,"author":6065,"provisional":5762,"depends":6180,"ratified":6076,"contact":6067,"extension":6181,"proposal":5762},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":6183,"type":6059,"author":6065,"provisional":5762,"depends":6168,"ratified":6076,"contact":6067,"extension":6184,"proposal":5762},91,"VK_EXT_display_surface_counter",{"number":6186,"type":857,"author":6000,"provisional":5762,"depends":6187,"ratified":6076,"contact":6090,"extension":6188,"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":6190,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6090,"extension":6191,"proposal":5762},268,"VK_EXT_extended_dynamic_state",{"number":6193,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6194,"extension":6195,"proposal":5762},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":6197,"type":857,"author":6065,"provisional":5762,"depends":5955,"ratified":6076,"contact":6090,"extension":6198,"proposal":311},456,"VK_EXT_extended_dynamic_state3",{"number":6200,"type":857,"author":6000,"provisional":5762,"depends":6201,"ratified":6076,"contact":6202,"extension":6203,"proposal":311},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":6205,"type":857,"author":6000,"provisional":5762,"depends":6206,"ratified":6102,"contact":6202,"extension":6207,"proposal":5762},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":6209,"type":857,"author":6000,"provisional":5762,"depends":6201,"ratified":6102,"contact":5951,"extension":6210,"proposal":5762},179,"VK_EXT_external_memory_host",{"number":6212,"type":857,"author":6213,"provisional":5762,"ratified":6076,"contact":6214,"extension":6215,"proposal":5762},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":6217,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6214,"extension":6218,"proposal":5762},219,"VK_EXT_fragment_density_map",{"number":6220,"type":857,"author":6000,"provisional":5762,"depends":6218,"contact":6214,"extension":6221,"proposal":5762},333,"VK_EXT_fragment_density_map2",{"number":6223,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6090,"extension":6224,"proposal":5762},252,"VK_EXT_fragment_shader_interlock",{"number":6226,"type":857,"author":6000,"provisional":5762,"ratified":6076,"contact":6227,"extension":6228,"proposal":311},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":6230,"type":857,"author":6000,"provisional":5762,"depends":6231,"platform":6232,"ratified":6076,"contact":6067,"extension":6233,"proposal":5762},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":6235,"type":857,"author":6000,"promotedto":6236,"provisional":5762,"contact":6237,"extension":6238,"proposal":5762},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":6240,"type":857,"author":6000,"promotedto":6236,"provisional":5762,"depends":6241,"contact":6164,"extension":6242,"proposal":5762},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":6244,"type":857,"author":5939,"provisional":5762,"depends":6245,"contact":5942,"extension":2788,"proposal":311},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library",{"number":6247,"type":857,"author":6122,"provisional":5762,"depends":6248,"ratified":6102,"contact":6123,"extension":6249,"proposal":5762},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":6251,"type":6059,"author":6000,"provisional":5762,"depends":6171,"contact":6252,"extension":6253,"proposal":5762},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":6255,"type":857,"author":6000,"provisional":5762,"depends":6256,"ratified":6076,"contact":6137,"extension":6257,"proposal":311},271,"((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":6259,"type":857,"author":6000,"promotedto":6150,"provisional":5762,"depends":5955,"contact":6260,"extension":6261,"proposal":5762},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":6263,"type":857,"author":6000,"provisional":5762,"depends":6264,"specialuse":6023,"contact":6077,"extension":6265,"proposal":5762},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":6267,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6034,"extension":6268,"proposal":311},339,"VK_EXT_image_compression_control",{"number":6270,"type":857,"author":6000,"provisional":5762,"depends":6268,"contact":6034,"extension":6271,"proposal":5762},438,"VK_EXT_image_compression_control_swapchain",{"number":6273,"type":857,"author":6000,"provisional":5762,"depends":6274,"ratified":6076,"contact":6202,"extension":6275,"proposal":5762},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":6277,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6133,"extension":6278,"proposal":5762},336,"VK_EXT_image_robustness",{"number":6280,"type":857,"author":6000,"provisional":5762,"depends":6264,"specialuse":6129,"contact":6077,"extension":6281,"proposal":311},419,"VK_EXT_image_sliced_view_of_3d",{"number":6283,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6055,"extension":6284,"proposal":5762},392,"VK_EXT_image_view_min_lod",{"number":6286,"type":857,"author":6000,"promotedto":6287,"provisional":5762,"depends":5955,"contact":6090,"extension":6288,"proposal":5762},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":6290,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":6291,"contact":6292,"extension":6293,"proposal":5762},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":6295,"type":6059,"author":6000,"provisional":5762,"ratified":6076,"contact":6296,"extension":6297,"proposal":311},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":6299,"type":857,"author":6000,"provisional":5762,"depends":5955,"specialuse":6023,"contact":6137,"extension":6300,"proposal":311},466,"VK_EXT_legacy_dithering",{"number":6302,"type":857,"author":6000,"provisional":5762,"depends":6303,"ratified":6076,"specialuse":6023,"contact":6077,"extension":6304,"proposal":311},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":6306,"type":857,"author":6000,"promotedto":6307,"provisional":5762,"depends":5955,"specialuse":6308,"contact":6084,"extension":6309,"proposal":5762},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":6311,"type":857,"author":6000,"promotedto":6312,"provisional":5762,"ratified":6076,"contact":6137,"extension":6313,"proposal":5762},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":6315,"type":857,"author":6000,"provisional":5762,"depends":6316,"ratified":6076,"contact":6317,"extension":6318,"proposal":311},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":6320,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6321,"proposal":5762},238,"VK_EXT_memory_budget",{"number":6323,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6324,"proposal":5762},239,"VK_EXT_memory_priority",{"number":6326,"type":857,"author":6000,"provisional":5762,"depends":6327,"contact":6328,"extension":6329,"proposal":311},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":6331,"type":857,"author":6000,"provisional":5762,"platform":6332,"contact":6333,"extension":6334,"proposal":311},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":6336,"type":6059,"author":6000,"provisional":5762,"depends":6171,"platform":6332,"contact":6337,"extension":6338,"proposal":5762},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":6340,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6077,"extension":6341,"proposal":5762},393,"VK_EXT_multi_draw",{"number":6343,"type":857,"author":6000,"provisional":5762,"depends":6344,"contact":6137,"extension":6345,"proposal":311},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":6347,"type":857,"author":6000,"provisional":5762,"depends":6348,"specialuse":6129,"contact":6349,"extension":6350,"proposal":311},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":6352,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"contact":6090,"extension":6353,"proposal":5762},452,"VK_EXT_nested_command_buffer",{"number":6355,"type":857,"author":6000,"provisional":5762,"depends":5955,"specialuse":6356,"contact":6357,"extension":6358,"proposal":311},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":6360,"type":857,"author":6000,"provisional":5762,"depends":6361,"ratified":6076,"contact":6362,"extension":6363,"proposal":311},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":6365,"type":857,"author":6000,"provisional":5762,"depends":6324,"contact":6090,"extension":6366,"proposal":5762},413,"VK_EXT_pageable_device_local_memory",{"number":6368,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6102,"contact":5960,"extension":6369,"proposal":5762},213,"VK_EXT_pci_bus_info",{"number":6371,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6372,"extension":6373,"proposal":5762},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":6375,"type":857,"author":5939,"promotedto":6053,"provisional":5762,"depends":5955,"contact":6376,"extension":6377,"proposal":5762},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":6379,"type":857,"author":6122,"promotedto":6053,"provisional":5762,"specialuse":5950,"contact":6380,"extension":6381,"proposal":5762},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":6383,"type":857,"author":6000,"provisional":5762,"depends":6384,"contact":6385,"extension":6386,"proposal":311},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":6388,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6389,"extension":6390,"proposal":5762},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":6392,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6137,"extension":6393,"proposal":311},467,"VK_EXT_pipeline_protected_access",{"number":1289,"type":857,"author":6395,"provisional":5762,"depends":5955,"contact":6396,"extension":6397,"proposal":5762},"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":6399,"type":857,"author":6065,"provisional":5762,"ratified":6076,"contact":6400,"extension":6401,"proposal":5762},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":6403,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":6023,"contact":6137,"extension":6404,"proposal":5762},357,"VK_EXT_primitive_topology_list_restart",{"number":6406,"type":857,"author":6000,"provisional":5762,"depends":6407,"specialuse":6023,"contact":6137,"extension":6408,"proposal":311},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":6410,"type":857,"author":6065,"promotedto":6053,"provisional":5762,"depends":5955,"contact":6411,"extension":6412,"proposal":5762},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":6414,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":6023,"contact":6415,"extension":6416,"proposal":5762},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":6418,"type":857,"author":6000,"provisional":5762,"depends":6201,"ratified":6102,"contact":6202,"extension":6419,"proposal":5762},127,"VK_EXT_queue_family_foreign",{"number":6421,"type":857,"author":6032,"provisional":5762,"depends":5955,"contact":6034,"extension":6033,"proposal":311},464,{"number":6423,"type":857,"author":6000,"provisional":5762,"depends":6424,"contact":6034,"extension":6425,"proposal":5762},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":6427,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6102,"contact":6114,"extension":6428,"proposal":5762},287,"VK_EXT_robustness2",{"number":6430,"type":857,"author":5939,"provisional":5762,"depends":5955,"ratified":6102,"contact":5951,"extension":6431,"proposal":5762},144,"VK_EXT_sample_locations",{"number":6433,"type":857,"author":6065,"promotedto":6150,"provisional":5762,"depends":5955,"contact":6084,"extension":6434,"proposal":5762},131,"VK_EXT_sampler_filter_minmax",{"number":6436,"type":857,"author":6000,"promotedto":6150,"provisional":5762,"depends":5955,"contact":5942,"extension":6437,"proposal":5762},222,"VK_EXT_scalar_block_layout",{"number":6439,"type":857,"author":6000,"promotedto":6150,"provisional":5762,"contact":5951,"extension":6440,"proposal":5762},247,"VK_EXT_separate_stencil_usage",{"number":6442,"type":857,"author":6065,"provisional":5762,"depends":5955,"ratified":6102,"contact":6194,"extension":6443,"proposal":5762},261,"VK_EXT_shader_atomic_float",{"number":6445,"type":857,"author":6000,"provisional":5762,"depends":6443,"ratified":6076,"contact":6317,"extension":6446,"proposal":5762},274,"VK_EXT_shader_atomic_float2",{"number":6448,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6084,"extension":6449,"proposal":5762},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":6451,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"contact":5942,"extension":6452,"proposal":5762},235,"VK_EXT_shader_image_atomic_int64",{"number":6454,"type":857,"author":6000,"provisional":5762,"depends":6455,"contact":6385,"extension":2759,"proposal":311},463,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_pipeline_creation_cache_control),VK_VERSION_1_3",{"number":6457,"type":857,"author":6000,"provisional":5762,"depends":6187,"ratified":6076,"contact":6458,"extension":6459,"proposal":311},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":6461,"type":857,"author":6000,"provisional":5762,"ratified":6076,"contact":6043,"extension":6462,"proposal":311},565,"VK_EXT_shader_replicated_composites",{"number":6464,"type":857,"author":6000,"provisional":5762,"ratified":6102,"contact":5966,"extension":6465,"proposal":5762},141,"VK_EXT_shader_stencil_export",{"number":1207,"type":857,"author":6065,"deprecatedby":6150,"provisional":5762,"contact":6400,"extension":6467,"proposal":5762},"VK_EXT_shader_subgroup_ballot",{"number":1224,"type":857,"author":6065,"deprecatedby":6049,"provisional":5762,"contact":6400,"extension":6469,"proposal":5762},"VK_EXT_shader_subgroup_vote",{"number":6471,"type":857,"author":6000,"provisional":5762,"depends":6053,"ratified":6076,"contact":6034,"extension":6472,"proposal":311},396,"VK_EXT_shader_tile_image",{"number":6474,"type":857,"author":6065,"promotedto":6150,"provisional":5762,"contact":6400,"extension":6475,"proposal":5762},163,"VK_EXT_shader_viewport_index_layer",{"number":6477,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":6049,"ratified":6054,"contact":6478,"extension":6479,"proposal":5762},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":6481,"type":857,"author":6000,"provisional":5762,"depends":5955,"contact":6482,"extension":6483,"proposal":311},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":6485,"type":6059,"author":6000,"provisional":5762,"depends":6486,"contact":6137,"extension":6487,"proposal":311},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":6489,"type":6059,"author":6122,"provisional":5762,"depends":6171,"contact":6123,"extension":6490,"proposal":5762},105,"VK_EXT_swapchain_colorspace",{"number":6492,"type":857,"author":6000,"provisional":5762,"depends":6493,"contact":6137,"extension":6494,"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":6496,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6084,"extension":6497,"proposal":5762},282,"VK_EXT_texel_buffer_alignment",{"number":1250,"type":857,"author":6032,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6054,"contact":6034,"extension":6499,"proposal":5762},"VK_EXT_texture_compression_astc_hdr",{"number":6501,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"contact":5942,"extension":6502,"proposal":5762},246,"VK_EXT_tooling_info",{"number":651,"type":857,"author":6065,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":6504,"contact":6090,"extension":6407,"proposal":5762},"glemulation,d3demulation,devtools",{"number":6506,"type":857,"author":6122,"provisional":5762,"contact":6507,"extension":6508,"proposal":5762},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":6510,"type":6059,"author":6511,"deprecatedby":6297,"provisional":5762,"specialuse":5908,"contact":6512,"extension":6513,"proposal":5762},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":1173,"type":6059,"author":6122,"deprecatedby":6297,"provisional":5762,"specialuse":5908,"contact":6515,"extension":6516,"proposal":5762},"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":6518,"type":857,"author":6065,"promotedto":6519,"provisional":5762,"depends":5955,"contact":6107,"extension":6520,"proposal":5762},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":6522,"type":857,"author":6000,"provisional":5762,"depends":5955,"ratified":6076,"contact":6090,"extension":6303,"proposal":5762},353,{"number":6524,"type":857,"author":6000,"promotedto":6053,"provisional":5762,"depends":6424,"ratified":6054,"contact":6525,"extension":6526,"proposal":5762},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":6528,"type":857,"author":6000,"provisional":5762,"depends":6424,"ratified":6102,"contact":6090,"extension":6529,"proposal":5762},253,"VK_EXT_ycbcr_image_arrays",{"number":6531,"type":857,"author":6532,"provisional":5762,"depends":6533,"platform":6534,"contact":6535,"extension":6536,"proposal":5762},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":6538,"type":857,"author":6532,"provisional":5762,"depends":6539,"platform":6534,"contact":6535,"extension":6540,"proposal":5762},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":6542,"type":857,"author":6532,"provisional":5762,"depends":6543,"platform":6534,"contact":6535,"extension":6544,"proposal":5762},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":6546,"type":6059,"author":6532,"provisional":5762,"depends":6171,"platform":6534,"contact":6547,"extension":6548,"proposal":5762},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":6550,"type":857,"author":6551,"provisional":5762,"depends":6552,"platform":6553,"contact":6380,"extension":6554,"proposal":5762},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":983,"type":6059,"author":6551,"provisional":5762,"depends":6171,"platform":6553,"contact":6380,"extension":6556,"proposal":5762},"VK_GGP_stream_descriptor_surface",{"number":6558,"type":857,"author":6122,"provisional":5762,"contact":6559,"extension":6560,"proposal":5762},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":6562,"type":857,"author":6122,"provisional":5762,"depends":6248,"contact":6563,"extension":6564,"proposal":5762},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":6566,"type":857,"author":6122,"provisional":5762,"contact":6559,"extension":6567,"proposal":5762},224,"VK_GOOGLE_hlsl_functionality1",{"number":6569,"type":6059,"author":6122,"provisional":5762,"depends":6171,"specialuse":6023,"contact":6137,"extension":6570,"proposal":311},434,"VK_GOOGLE_surfaceless_query",{"number":6572,"type":857,"author":6122,"provisional":5762,"contact":6573,"extension":6574,"proposal":5762},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":6576,"type":857,"author":6577,"provisional":5762,"depends":5955,"contact":6578,"extension":6579,"proposal":311},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":6581,"type":857,"author":6582,"provisional":5762,"depends":6583,"contact":6584,"extension":6585,"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":6587,"type":857,"author":6577,"provisional":5762,"depends":6588,"contact":6584,"extension":6589,"proposal":5762},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":6395,"provisional":5762,"contact":5942,"extension":6591,"proposal":5762},"VK_IMG_filter_cubic",{"number":1068,"type":857,"author":6395,"deprecatedby":6593,"provisional":5762,"contact":6594,"extension":6595,"proposal":5762},null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":6597,"type":857,"author":6395,"provisional":5762,"depends":5955,"specialuse":6023,"contact":6227,"extension":6598,"proposal":5762},111,"VK_IMG_relaxed_line_rasterization",{"number":6600,"type":857,"author":6601,"provisional":5762,"specialuse":5950,"contact":6602,"extension":6603,"proposal":5762},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":6605,"type":857,"author":6601,"provisional":5762,"depends":5955,"contact":6606,"extension":6607,"proposal":5762},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":6609,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6611,"ratified":6076,"contact":6034,"extension":6612,"proposal":5762},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":6614,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6611,"ratified":6076,"contact":6615,"extension":6616,"proposal":5762},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":6618,"type":857,"author":6610,"provisional":5762,"depends":6619,"ratified":6076,"contact":6400,"extension":6620,"proposal":5762},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":6059,"author":6610,"provisional":5762,"depends":6171,"platform":6022,"ratified":6076,"contact":6029,"extension":6622,"proposal":5762},"VK_KHR_android_surface",{"number":6624,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":5942,"extension":6625,"proposal":5762},158,"VK_KHR_bind_memory2",{"number":6627,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6628,"ratified":6076,"contact":6084,"extension":6094,"proposal":5762},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":6630,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"contact":6292,"extension":6098,"proposal":5762},544,{"number":6632,"type":857,"author":6610,"provisional":5762,"depends":6633,"ratified":6076,"contact":6634,"extension":6635,"proposal":311},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":6637,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6076,"contact":6043,"extension":6638,"proposal":311},507,"VK_KHR_cooperative_matrix",{"number":6640,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6102,"contact":6214,"extension":6641,"proposal":5762},338,"VK_KHR_copy_commands2",{"number":6643,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6644,"ratified":6076,"contact":6645,"extension":6646,"proposal":5762},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":6648,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6649,"ratified":6076,"contact":6067,"extension":6650,"proposal":5762},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":6652,"type":857,"author":6610,"provisional":5762,"ratified":6076,"contact":6653,"extension":6654,"proposal":5762},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":6656,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6657,"ratified":6076,"contact":6658,"extension":6659,"proposal":5762},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":6661,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6662,"extension":6663,"proposal":5762},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":1164,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6665,"ratified":6076,"contact":6084,"extension":6666,"proposal":5762},"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":1314,"type":6059,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6084,"extension":6665,"proposal":5762},{"number":307,"type":6059,"author":6610,"provisional":5762,"depends":6171,"ratified":6102,"contact":6669,"extension":6168,"proposal":5762},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":317,"type":857,"author":6610,"provisional":5762,"depends":6671,"ratified":6102,"contact":6067,"extension":6672,"proposal":5762},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":6674,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"ratified":6076,"contact":6090,"extension":5963,"proposal":5762},170,{"number":6676,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":5951,"extension":6677,"proposal":5762},197,"VK_KHR_driver_properties",{"number":891,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":6679,"ratified":6076,"contact":5942,"extension":6680,"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":6682,"type":857,"author":5939,"provisional":5762,"depends":6683,"ratified":6076,"contact":5942,"extension":6684,"proposal":311},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":6686,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6687,"ratified":6076,"contact":6029,"extension":6688,"proposal":5762},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":6690,"type":6059,"author":6610,"promotedto":6049,"provisional":5762,"depends":5955,"ratified":6076,"contact":6029,"extension":6687,"proposal":5762},113,{"number":6692,"type":857,"author":6610,"provisional":5762,"depends":6693,"ratified":6102,"contact":6029,"extension":6694,"proposal":5762},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":6696,"type":857,"author":6610,"provisional":5762,"depends":6688,"platform":6232,"ratified":6076,"contact":6029,"extension":6697,"proposal":5762},115,"VK_KHR_external_fence_win32",{"number":1339,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6699,"ratified":6076,"contact":6067,"extension":6700,"proposal":5762},"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":1331,"type":6059,"author":6610,"promotedto":6049,"provisional":5762,"depends":5955,"ratified":6076,"contact":6067,"extension":6702,"proposal":5762},"VK_KHR_external_memory_capabilities",{"number":1364,"type":857,"author":6610,"provisional":5762,"depends":6201,"ratified":6102,"contact":6067,"extension":6206,"proposal":5762},{"number":1355,"type":857,"author":6610,"provisional":5762,"depends":6201,"platform":6232,"ratified":6076,"contact":6067,"extension":6705,"proposal":5762},"VK_KHR_external_memory_win32",{"number":1398,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6707,"ratified":6076,"contact":6067,"extension":6708,"proposal":5762},"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":1381,"type":6059,"author":6610,"promotedto":6049,"provisional":5762,"depends":5955,"ratified":6076,"contact":6067,"extension":6707,"proposal":5762},{"number":1440,"type":857,"author":6610,"provisional":5762,"depends":6711,"ratified":6102,"contact":6067,"extension":6712,"proposal":5762},"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":1414,"type":857,"author":6610,"provisional":5762,"depends":6708,"platform":6232,"ratified":6076,"contact":6067,"extension":6714,"proposal":5762},"VK_KHR_external_semaphore_win32",{"number":6716,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6076,"contact":6602,"extension":6717,"proposal":5762},361,"VK_KHR_format_feature_flags2",{"number":6719,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6076,"contact":5946,"extension":6720,"proposal":311},323,"VK_KHR_fragment_shader_barycentric",{"number":6722,"type":857,"author":6610,"provisional":5762,"depends":6723,"ratified":6102,"contact":5942,"extension":6724,"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":6726,"type":6059,"author":6610,"provisional":5762,"depends":6168,"ratified":6102,"contact":6067,"extension":6727,"proposal":5762},122,"VK_KHR_get_display_properties2",{"number":6729,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6317,"extension":6730,"proposal":5762},147,"VK_KHR_get_memory_requirements2",{"number":1148,"type":6059,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6084,"extension":6633,"proposal":5762},{"number":6733,"type":6059,"author":6610,"provisional":5762,"depends":6171,"ratified":6102,"contact":6067,"extension":6734,"proposal":5762},120,"VK_KHR_get_surface_capabilities2",{"number":6736,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"contact":5942,"extension":6236,"proposal":5762},189,{"number":6738,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"ratified":6076,"contact":6317,"extension":6739,"proposal":5762},148,"VK_KHR_image_format_list",{"number":6741,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6742,"ratified":6076,"contact":6645,"extension":6743,"proposal":5762},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":6745,"type":857,"author":6610,"provisional":5762,"depends":6248,"ratified":6102,"contact":6563,"extension":6746,"proposal":5762},85,"VK_KHR_incremental_present",{"number":6748,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"contact":6090,"extension":6287,"proposal":5762},534,{"number":6750,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"contact":6090,"extension":6307,"proposal":5762},535,{"number":6752,"type":857,"author":6610,"provisional":5762,"ratified":6076,"contact":6137,"extension":6312,"proposal":311},527,{"number":1306,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6090,"extension":5983,"proposal":5762},{"number":6755,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6756,"extension":6757,"proposal":5762},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":6759,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6348,"proposal":5762},169,{"number":6761,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":6049,"ratified":6076,"contact":6090,"extension":6762,"proposal":5762},414,"VK_KHR_maintenance4",{"number":6764,"type":857,"author":6610,"provisional":5762,"depends":6765,"ratified":6076,"contact":6766,"extension":6767,"proposal":311},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":6769,"type":857,"author":6610,"provisional":5762,"depends":6049,"ratified":6076,"contact":6770,"extension":6771,"proposal":311},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":6773,"type":857,"author":6610,"provisional":5762,"depends":6049,"ratified":6076,"contact":6077,"extension":6774,"proposal":311},563,"VK_KHR_maintenance7",{"number":6776,"type":857,"author":6610,"provisional":5762,"ratified":6076,"contact":6317,"extension":6316,"proposal":311},272,{"number":1051,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6778,"proposal":5762},"VK_KHR_multiview",{"extension":6780,"proposal":5762},"VK_KHR_object_refresh",{"number":6782,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"specialuse":5950,"contact":6783,"extension":6784,"proposal":5762},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":6786,"type":857,"author":6610,"provisional":5762,"depends":6767,"ratified":6076,"contact":6766,"extension":6787,"proposal":311},484,"VK_KHR_pipeline_binary",{"number":6789,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6076,"specialuse":5950,"contact":6317,"extension":6790,"proposal":5762},270,"VK_KHR_pipeline_executable_properties",{"number":6792,"type":857,"author":6610,"provisional":5762,"ratified":6076,"contact":6328,"extension":6793,"proposal":5762},291,"VK_KHR_pipeline_library",{"number":6795,"type":6059,"author":6610,"provisional":5762,"ratified":6076,"contact":6796,"extension":6797,"proposal":5762},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":6799,"type":857,"author":6610,"provisional":311,"depends":5955,"platform":5941,"ratified":6076,"contact":6333,"extension":6800,"proposal":5762},164,"VK_KHR_portability_subset",{"number":6802,"type":857,"author":6610,"provisional":5762,"depends":6803,"ratified":6076,"contact":6804,"extension":6805,"proposal":5762},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":6807,"type":857,"author":6610,"provisional":5762,"depends":6808,"ratified":6076,"contact":6804,"extension":6809,"proposal":5762},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":6811,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6812,"proposal":5762},81,"VK_KHR_push_descriptor",{"number":6814,"type":857,"author":6610,"provisional":5762,"depends":6815,"ratified":6076,"contact":6400,"extension":6816,"proposal":5762},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":6818,"type":857,"author":6610,"provisional":5762,"depends":6620,"ratified":6076,"contact":6400,"extension":6819,"proposal":5762},387,"VK_KHR_ray_tracing_maintenance1",{"number":6821,"type":857,"author":6610,"provisional":5762,"depends":6815,"ratified":6076,"contact":6400,"extension":6822,"proposal":5762},348,"VK_KHR_ray_tracing_pipeline",{"number":6824,"type":857,"author":6610,"provisional":5762,"depends":6620,"ratified":6076,"contact":6825,"extension":6826,"proposal":311},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":6828,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6829,"extension":6830,"proposal":5762},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":463,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"ratified":6076,"contact":5942,"extension":6832,"proposal":5762},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":6834,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6835,"ratified":6076,"contact":6836,"extension":6837,"proposal":5762},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":6839,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6723,"ratified":6076,"contact":6090,"extension":6840,"proposal":5762},242,"VK_KHR_separate_depth_stencil_layouts",{"number":6842,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":6843,"extension":6844,"proposal":5762},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":6846,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"contact":6843,"extension":6847,"proposal":5762},182,"VK_KHR_shader_clock",{"number":1190,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6400,"extension":6849,"proposal":5762},"VK_KHR_shader_draw_parameters",{"number":6851,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6076,"contact":6043,"extension":6852,"proposal":311},545,"VK_KHR_shader_expect_assume",{"number":6854,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":6615,"extension":5969,"proposal":5762},83,{"number":6856,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":6615,"extension":6857,"proposal":5762},198,"VK_KHR_shader_float_controls",{"number":6859,"type":857,"author":6610,"provisional":5762,"depends":6860,"ratified":6076,"contact":6133,"extension":6861,"proposal":311},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":6863,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6076,"contact":6043,"extension":6864,"proposal":311},281,"VK_KHR_shader_integer_dot_product",{"number":6866,"type":857,"author":6610,"provisional":5762,"depends":6049,"ratified":6076,"contact":6867,"extension":6868,"proposal":311},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":6870,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"ratified":6076,"contact":6119,"extension":6871,"proposal":5762},294,"VK_KHR_shader_non_semantic_info",{"number":6873,"type":857,"author":6610,"provisional":5762,"depends":6874,"ratified":6076,"contact":5942,"extension":6875,"proposal":311},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":6877,"type":857,"author":6610,"provisional":5762,"ratified":6076,"contact":6878,"extension":6879,"proposal":311},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":6881,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6049,"ratified":6076,"contact":6478,"extension":6882,"proposal":5762},176,"VK_KHR_shader_subgroup_extended_types",{"number":6884,"type":857,"author":6610,"provisional":5762,"ratified":6076,"contact":6043,"extension":6885,"proposal":311},417,"VK_KHR_shader_subgroup_rotate",{"number":6887,"type":857,"author":6610,"provisional":5762,"depends":6049,"ratified":6076,"contact":6867,"extension":6888,"proposal":5762},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":6890,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6102,"contact":6029,"extension":6891,"proposal":5762},216,"VK_KHR_shader_terminate_invocation",{"number":6893,"type":857,"author":6610,"provisional":5762,"depends":6894,"ratified":6102,"contact":6783,"extension":6895,"proposal":5762},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":6897,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":6860,"ratified":6076,"contact":6029,"extension":6327,"proposal":5762},237,{"number":6899,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"ratified":6076,"contact":6615,"extension":6900,"proposal":5762},132,"VK_KHR_storage_buffer_storage_class",{"number":255,"type":6059,"author":6610,"provisional":5762,"ratified":6102,"contact":6902,"extension":6171,"proposal":5762},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":6904,"type":6059,"author":6610,"provisional":5762,"depends":6905,"ratified":6076,"contact":6906,"extension":6907,"proposal":5762},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":271,"type":857,"author":6610,"provisional":5762,"depends":6171,"ratified":6102,"contact":6902,"extension":6248,"proposal":5762},{"number":6910,"type":857,"author":6610,"provisional":5762,"depends":6911,"ratified":6102,"contact":5951,"extension":6912,"proposal":5762},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":6914,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6102,"contact":5942,"extension":6915,"proposal":5762},315,"VK_KHR_synchronization2",{"number":6917,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":6317,"extension":6918,"proposal":5762},208,"VK_KHR_timeline_semaphore",{"number":6920,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":6133,"extension":6921,"proposal":5762},254,"VK_KHR_uniform_buffer_standard_layout",{"number":6923,"type":857,"author":6610,"promotedto":6049,"provisional":5762,"depends":6611,"ratified":6076,"contact":6029,"extension":6924,"proposal":5762},121,"VK_KHR_variable_pointers",{"number":6926,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6102,"contact":6137,"extension":6519,"proposal":311},526,{"number":6928,"type":857,"author":6610,"provisional":5762,"depends":6929,"ratified":6076,"contact":6292,"extension":6930,"proposal":311},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":819,"type":857,"author":6610,"provisional":5762,"depends":6929,"ratified":6076,"contact":6932,"extension":6933,"proposal":311},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":6935,"type":857,"author":6610,"provisional":5762,"depends":6929,"ratified":6076,"contact":6932,"extension":6936,"proposal":311},188,"VK_KHR_video_decode_h265",{"number":608,"type":857,"author":6610,"provisional":5762,"depends":6938,"ratified":6076,"contact":6939,"extension":6929,"proposal":311},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":792,"type":857,"author":6610,"provisional":5762,"depends":6941,"ratified":6076,"contact":6942,"extension":6943,"proposal":311},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":810,"type":857,"author":6610,"provisional":5762,"depends":6941,"ratified":6076,"contact":6942,"extension":6945,"proposal":311},"VK_KHR_video_encode_h265",{"number":6947,"type":857,"author":6610,"provisional":5762,"depends":6938,"ratified":6076,"contact":6942,"extension":6941,"proposal":311},300,{"number":6949,"type":857,"author":6610,"provisional":5762,"depends":6950,"ratified":6076,"contact":6292,"extension":6951,"proposal":311},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":590,"type":857,"author":6610,"provisional":5762,"depends":6953,"ratified":6076,"contact":6525,"extension":6950,"proposal":311},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":6955,"type":857,"author":6610,"promotedto":6150,"provisional":5762,"depends":5955,"ratified":6076,"contact":6084,"extension":6956,"proposal":5762},212,"VK_KHR_vulkan_memory_model",{"number":359,"type":6059,"author":6610,"provisional":5762,"depends":6171,"platform":6958,"ratified":6076,"contact":6959,"extension":6960,"proposal":5762},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":1373,"type":857,"author":6610,"provisional":5762,"depends":6705,"platform":6232,"ratified":6076,"contact":6962,"extension":6963,"proposal":5762},"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":402,"type":6059,"author":6610,"provisional":5762,"depends":6171,"platform":6232,"ratified":6076,"contact":6959,"extension":6965,"proposal":5762},"VK_KHR_win32_surface",{"number":6967,"type":857,"author":6610,"provisional":5762,"depends":5955,"ratified":6076,"contact":6968,"extension":6969,"proposal":5762},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":345,"type":6059,"author":6610,"provisional":5762,"depends":6171,"platform":6971,"ratified":6076,"contact":6959,"extension":6972,"proposal":5762},"xcb","VK_KHR_xcb_surface",{"number":336,"type":6059,"author":6610,"provisional":5762,"depends":6171,"platform":6974,"ratified":6076,"contact":6959,"extension":6975,"proposal":5762},"xlib","VK_KHR_xlib_surface",{"number":6977,"type":857,"author":6610,"promotedto":6053,"provisional":5762,"depends":5955,"ratified":6076,"contact":6867,"extension":6978,"proposal":5762},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":6980,"type":6059,"author":6511,"provisional":5762,"contact":6796,"extension":6981,"proposal":311},460,"VK_LUNARG_direct_driver_loading",{"number":6983,"type":857,"author":6984,"provisional":5762,"depends":5955,"specialuse":6129,"contact":6385,"extension":6985,"proposal":5762},576,"MESA","VK_MESA_image_alignment_control",{"number":6987,"type":857,"author":6988,"provisional":5762,"depends":5955,"contact":6989,"extension":6990,"proposal":311},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":6992,"type":6059,"author":6993,"deprecatedby":6338,"provisional":5762,"depends":6171,"platform":6994,"contact":6333,"extension":6995,"proposal":5762},123,"MVK","ios","VK_MVK_ios_surface",{"number":6997,"type":6059,"author":6993,"deprecatedby":6338,"provisional":5762,"depends":6171,"platform":6998,"contact":6333,"extension":6999,"proposal":5762},124,"macos","VK_MVK_macos_surface",{"number":1182,"type":6059,"author":7001,"provisional":5762,"depends":6171,"platform":7002,"contact":7003,"extension":7004,"proposal":5762},"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":668,"type":857,"author":7006,"provisional":5762,"contact":7007,"extension":7008,"proposal":5762},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":690,"type":857,"author":7006,"provisional":5762,"contact":7010,"extension":7011,"proposal":5762},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":7013,"type":857,"author":7006,"provisional":5762,"depends":7014,"contact":6084,"extension":7015,"proposal":5762},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":7017,"type":857,"author":6065,"provisional":5762,"depends":6060,"platform":6232,"contact":7018,"extension":7019,"proposal":5762},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":7021,"type":857,"author":6065,"provisional":5762,"contact":7010,"extension":7022,"proposal":5762},88,"VK_NV_clip_space_w_scaling",{"number":7024,"type":857,"author":6065,"provisional":5762,"contact":7025,"extension":7026,"proposal":5762},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":7028,"type":857,"author":6065,"promotedto":6635,"provisional":5762,"depends":5955,"contact":7029,"extension":7030,"proposal":5762},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":7032,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":6084,"extension":7033,"proposal":5762},250,"VK_NV_cooperative_matrix",{"number":7035,"type":857,"author":6065,"provisional":5762,"depends":7036,"contact":6194,"extension":7037,"proposal":5762},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":6065,"provisional":5762,"depends":5955,"contact":6400,"extension":7039,"proposal":5762},"VK_NV_corner_sampled_image",{"number":7041,"type":857,"author":6065,"provisional":5762,"depends":7042,"contact":7043,"extension":7044,"proposal":5762},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":7046,"type":857,"author":6065,"provisional":311,"contact":7047,"extension":7048,"proposal":5762},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":625,"type":857,"author":6065,"deprecatedby":6650,"provisional":5762,"contact":6084,"extension":7050,"proposal":5762},"VK_NV_dedicated_allocation",{"number":7052,"type":857,"author":7053,"provisional":5762,"depends":7054,"contact":7055,"extension":7056,"proposal":5762},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":7058,"type":857,"author":6065,"provisional":5762,"depends":6049,"contact":6090,"extension":7059,"proposal":5762},547,"VK_NV_descriptor_pool_overallocation",{"number":7061,"type":857,"author":7053,"provisional":5762,"depends":5955,"contact":7055,"extension":7062,"proposal":5762},207,"VK_NV_device_diagnostic_checkpoints",{"number":7064,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":7043,"extension":7065,"proposal":5762},301,"VK_NV_device_diagnostics_config",{"number":7067,"type":857,"author":6065,"provisional":5762,"depends":7068,"contact":6328,"extension":7069,"proposal":5762},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":7071,"type":857,"author":6065,"provisional":5762,"depends":7069,"contact":6194,"extension":7072,"proposal":5762},429,"VK_NV_device_generated_commands_compute",{"number":7074,"type":857,"author":6065,"provisional":311,"depends":6363,"platform":5941,"contact":7075,"extension":7076,"proposal":5762},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":7078,"type":857,"author":6065,"provisional":5762,"contact":7079,"extension":7080,"proposal":5762},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":1115,"type":857,"author":6065,"deprecatedby":6700,"provisional":5762,"depends":7082,"contact":6067,"extension":7083,"proposal":5762},"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":1093,"type":6059,"author":6065,"deprecatedby":6702,"provisional":5762,"contact":6067,"extension":7082,"proposal":5762},{"number":7086,"type":857,"author":6065,"provisional":5762,"depends":6201,"contact":6962,"extension":7087,"proposal":5762},372,"VK_NV_external_memory_rdma",{"extension":7089,"proposal":5762},"VK_NV_external_memory_sci_buf",{"number":1123,"type":857,"author":6065,"deprecatedby":6705,"provisional":5762,"depends":7083,"platform":6232,"contact":6067,"extension":7091,"proposal":5762},"VK_NV_external_memory_win32",{"extension":7093,"proposal":5762},"VK_NV_external_sci_sync",{"extension":7095,"proposal":5762},"VK_NV_external_sci_sync2",{"number":7097,"type":857,"author":6065,"provisional":5762,"contact":6084,"extension":7098,"proposal":5762},154,"VK_NV_fill_rectangle",{"number":7100,"type":857,"author":6065,"provisional":5762,"contact":6084,"extension":7101,"proposal":5762},150,"VK_NV_fragment_coverage_to_color",{"number":7103,"type":857,"author":6065,"promotedto":6720,"provisional":5762,"depends":5955,"contact":7029,"extension":7104,"proposal":5762},204,"VK_NV_fragment_shader_barycentric",{"number":7106,"type":857,"author":6065,"provisional":5762,"depends":6724,"contact":7029,"extension":7107,"proposal":5762},327,"VK_NV_fragment_shading_rate_enums",{"number":7109,"type":857,"author":6065,"provisional":5762,"contact":6084,"extension":7110,"proposal":5762},153,"VK_NV_framebuffer_mixed_samples",{"number":7112,"type":857,"author":6065,"provisional":5762,"contact":6400,"extension":7113,"proposal":5762},96,"VK_NV_geometry_shader_passthrough",{"number":441,"type":857,"author":6065,"deprecatedby":6593,"provisional":5762,"contact":6090,"extension":7115,"proposal":5762},"VK_NV_glsl_shader",{"number":7117,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":7118,"extension":7119,"proposal":5762},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":7121,"type":857,"author":7053,"provisional":5762,"depends":5955,"contact":7122,"extension":7123,"proposal":5762},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":7125,"type":857,"author":6065,"provisional":5762,"contact":7126,"extension":7127,"proposal":5762},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":7129,"type":857,"author":6065,"provisional":5762,"depends":7130,"contact":7126,"extension":7131,"proposal":5762},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":7133,"type":857,"author":6065,"provisional":5762,"depends":7036,"contact":6194,"extension":7134,"proposal":5762},428,"VK_NV_memory_decompression",{"number":7136,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":6328,"extension":7137,"proposal":5762},203,"VK_NV_mesh_shader",{"number":7139,"type":857,"author":6065,"provisional":5762,"depends":7140,"contact":6962,"extension":7141,"proposal":5762},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":7143,"type":857,"author":6065,"provisional":5762,"depends":6771,"contact":6090,"extension":7144,"proposal":5762},517,"VK_NV_per_stage_descriptor_set",{"number":7146,"type":857,"author":6065,"provisional":5762,"depends":6231,"contact":7147,"extension":7148,"proposal":5762},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":7150,"proposal":5762},"VK_NV_private_vendor_info",{"number":7152,"type":857,"author":6065,"provisional":5762,"contact":7153,"extension":7154,"proposal":5762},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":7156,"type":857,"author":6065,"deprecatedby":6822,"provisional":5762,"depends":7157,"contact":7010,"extension":7158,"proposal":5762},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":7160,"type":857,"author":6065,"provisional":5762,"depends":6822,"contact":7010,"extension":7161,"proposal":5762},491,"VK_NV_ray_tracing_invocation_reorder",{"number":7163,"type":857,"author":6065,"provisional":5762,"depends":6822,"contact":6825,"extension":7164,"proposal":5762},328,"VK_NV_ray_tracing_motion_blur",{"number":7166,"type":857,"author":6065,"provisional":5762,"contact":6194,"extension":7167,"proposal":311},569,"VK_NV_ray_tracing_validation",{"number":7169,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":7043,"extension":7170,"proposal":5762},167,"VK_NV_representative_fragment_test",{"number":7172,"type":857,"author":6065,"provisional":5762,"contact":6090,"extension":7173,"proposal":5762},95,"VK_NV_sample_mask_override_coverage",{"number":7175,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":7029,"extension":7176,"proposal":5762},206,"VK_NV_scissor_exclusive",{"number":7178,"type":857,"author":6065,"provisional":5762,"contact":6084,"extension":7179,"proposal":5762},564,"VK_NV_shader_atomic_float16_vector",{"number":7181,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":7029,"extension":7182,"proposal":5762},205,"VK_NV_shader_image_footprint",{"number":7184,"type":857,"author":6065,"provisional":5762,"depends":6049,"contact":6400,"extension":7185,"proposal":5762},155,"VK_NV_shader_sm_builtins",{"number":7187,"type":857,"author":6065,"provisional":5762,"depends":6049,"contact":6084,"extension":7188,"proposal":5762},199,"VK_NV_shader_subgroup_partitioned",{"number":7190,"type":857,"author":6065,"provisional":5762,"depends":5955,"contact":7029,"extension":7191,"proposal":5762},165,"VK_NV_shading_rate_image",{"number":7193,"type":857,"author":6065,"provisional":5762,"contact":6400,"extension":7194,"proposal":5762},97,"VK_NV_viewport_array2",{"number":7196,"type":857,"author":6065,"provisional":5762,"contact":6090,"extension":7197,"proposal":5762},99,"VK_NV_viewport_swizzle",{"number":1140,"type":857,"author":6065,"promotedto":6963,"provisional":5762,"depends":7091,"platform":6232,"contact":6962,"extension":7199,"proposal":5762},"VK_NV_win32_keyed_mutex",{"number":7201,"type":857,"author":6213,"provisional":5762,"depends":7202,"contact":6214,"extension":7203,"proposal":5762},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":7205,"type":857,"author":6213,"provisional":5762,"depends":6215,"contact":6214,"extension":7206,"proposal":5762},520,"VK_QCOM_filter_cubic_weights",{"number":7208,"type":857,"author":6213,"provisional":5762,"depends":7209,"contact":6214,"extension":7210,"proposal":5762},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":7212,"type":857,"author":6213,"provisional":5762,"depends":7213,"contact":6214,"extension":7214,"proposal":311},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":7216,"type":857,"author":6213,"provisional":5762,"depends":7214,"contact":6214,"extension":7217,"proposal":5762},519,"VK_QCOM_image_processing2",{"number":7219,"type":857,"author":6213,"provisional":5762,"contact":6214,"extension":7220,"proposal":5762},511,"VK_QCOM_multiview_per_view_render_areas",{"number":7222,"type":857,"author":6213,"provisional":5762,"depends":5955,"contact":6214,"extension":7223,"proposal":5762},489,"VK_QCOM_multiview_per_view_viewports",{"number":7225,"type":857,"author":6213,"provisional":5762,"contact":6214,"extension":7226,"proposal":5762},172,"VK_QCOM_render_pass_shader_resolve",{"number":7228,"type":857,"author":6213,"provisional":5762,"contact":6214,"extension":7229,"proposal":5762},302,"VK_QCOM_render_pass_store_ops",{"number":7231,"type":857,"author":6213,"provisional":5762,"contact":6214,"extension":7232,"proposal":5762},283,"VK_QCOM_render_pass_transform",{"number":7234,"type":857,"author":6213,"provisional":5762,"depends":7235,"contact":6214,"extension":7236,"proposal":5762},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":7238,"type":857,"author":6213,"provisional":5762,"depends":5955,"contact":6214,"extension":7239,"proposal":311},485,"VK_QCOM_tile_properties",{"number":7241,"type":857,"author":6213,"provisional":5762,"contact":6214,"extension":7242,"proposal":5762},521,"VK_QCOM_ycbcr_degamma",{"number":7244,"type":857,"author":7245,"provisional":5762,"depends":6028,"platform":7246,"contact":7247,"extension":7248,"proposal":5762},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":7250,"type":6059,"author":7245,"provisional":5762,"depends":6171,"platform":7246,"contact":7251,"extension":7252,"proposal":5762},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":7254,"type":857,"author":7255,"provisional":5762,"depends":5955,"contact":6157,"extension":7256,"proposal":5762},486,"SEC","VK_SEC_amigo_profiling",{"number":7258,"type":857,"author":7259,"provisional":5762,"depends":5955,"specialuse":6129,"contact":6385,"extension":7260,"proposal":5762},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":7262,"type":857,"author":7259,"promotedto":6350,"provisional":5762,"depends":6348,"specialuse":6129,"contact":6349,"extension":7263,"proposal":5762},352,"VK_VALVE_mutable_descriptor_type",1725732670429]